sphinx-2.2.11-release/0000755000175000017500000000000012743402012014057 5ustar alexeyalexeysphinx-2.2.11-release/win/0000755000175000017500000000000012743402012014654 5ustar alexeyalexeysphinx-2.2.11-release/win/wordbreaker13.vcxproj0000644000175000017500000002052712743402012020752 0ustar alexeyalexey Debug Win32 Debug x64 Release Win32 Release x64 wordbreaker {D16E0BAE-B9A5-439C-B9F1-CC92F6AED103} wordbreaker Win32Proj Application v120 MultiByte false Application v120 MultiByte Application v120 MultiByte false Application v120 MultiByte <_ProjectFileVersion>11.0.61030.0 $(SolutionDir)/bin/$(Configuration)\ $(SolutionDir)/junk/$(Configuration)\ true $(SolutionDir)/bin/$(Configuration)\ $(SolutionDir)/junk/$(Configuration)\ true $(SolutionDir)/bin/$(Configuration)\ $(SolutionDir)/junk/$(Configuration)\ false $(SolutionDir)/bin/$(Configuration)\ $(SolutionDir)/junk/$(Configuration)\ false Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug Level3 ProgramDatabase true Console false MachineX86 Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug Level3 ProgramDatabase true Console false MachineX86 WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded Level3 ProgramDatabase true Console true true false MachineX86 WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded Level3 ProgramDatabase true Console true true false MachineX64 sphinx-2.2.11-release/win/wordbreaker12.vcxproj0000644000175000017500000002052412743402012020746 0ustar alexeyalexey Debug Win32 Debug x64 Release Win32 Release x64 wordbreaker {D16E0BAE-B9A5-439C-B9F1-CC92F6AED103} wordbreaker Win32Proj Application v110_xp MultiByte false Application v110 MultiByte Application v110_xp MultiByte false Application v110 MultiByte <_ProjectFileVersion>11.0.61030.0 $(SolutionDir)/bin/$(Configuration)\ $(SolutionDir)/junk/$(Configuration)\ true $(SolutionDir)/bin/$(Configuration)\ $(SolutionDir)/junk/$(Configuration)\ true $(SolutionDir)/bin/$(Configuration)\ $(SolutionDir)/junk/$(Configuration)\ false $(SolutionDir)/bin/$(Configuration)\ $(SolutionDir)/junk/$(Configuration)\ false Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug Level3 ProgramDatabase true Console false MachineX86 Disabled _DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug Level3 ProgramDatabase true Console false MachineX86 WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded Level3 ProgramDatabase true Console true true false MachineX86 WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded Level3 ProgramDatabase true Console true true false MachineX64 sphinx-2.2.11-release/win/tests13.vcxproj0000644000175000017500000003015712743402012017605 0ustar alexeyalexey Debug Win32 Debug x64 Release Win32 Release x64 tests {B47166A1-4827-4D80-97E3-743BDE61146F} tests Win32Proj Application MultiByte v120 Application MultiByte v120 Application v120 Application v120 <_ProjectFileVersion>10.0.30319.1 $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ true $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ false $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ true $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ false AllRules.ruleset AllRules.ruleset AllRules.ruleset AllRules.ruleset Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug $(IntDir) Level4 ProgramDatabase false $(OutDir)tests.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true $(OutDir)tests.pdb Console false MachineX86 MaxSpeed WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded $(IntDir) Level4 ProgramDatabase $(OutDir)tests.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true Console true true false MachineX86 Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug $(IntDir) Level4 ProgramDatabase false $(OutDir)tests.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true $(OutDir)tests.pdb Console false MachineX64 MaxSpeed WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded $(IntDir) Level4 ProgramDatabase $(OutDir)tests.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true Console true true false MachineX64 {6a1685de-0265-4243-965f-96cb53ebbca6} false sphinx-2.2.11-release/win/tests12.vcxproj0000644000175000017500000003015712743402012017604 0ustar alexeyalexey Debug Win32 Debug x64 Release Win32 Release x64 tests {B47166A1-4827-4D80-97E3-743BDE61146F} tests Win32Proj Application MultiByte v110_xp Application MultiByte v110 Application v110_xp Application v110 <_ProjectFileVersion>10.0.30319.1 $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ true $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ false $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ true $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ false AllRules.ruleset AllRules.ruleset AllRules.ruleset AllRules.ruleset Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug $(IntDir) Level4 ProgramDatabase false $(OutDir)tests.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true $(OutDir)tests.pdb Console false MachineX86 MaxSpeed WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded $(IntDir) Level4 ProgramDatabase $(OutDir)tests.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true Console true true false MachineX86 Disabled _DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug $(IntDir) Level4 ProgramDatabase false $(OutDir)tests.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true $(OutDir)tests.pdb Console false MachineX64 MaxSpeed WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded $(IntDir) Level4 ProgramDatabase $(OutDir)tests.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true Console true true false MachineX64 {6a1685de-0265-4243-965f-96cb53ebbca6} false sphinx-2.2.11-release/win/testrt13.vcxproj0000644000175000017500000002773412743402012017777 0ustar alexeyalexey Debug Win32 Debug x64 Release Win32 Release x64 testrt {651CEFE5-9BDB-4003-9D35-8D05FA2C06D7} testrt Win32Proj Application MultiByte v120 Application MultiByte v120 Application v120 Application v120 <_ProjectFileVersion>10.0.30319.1 $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ true $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ false $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ true $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ false AllRules.ruleset AllRules.ruleset AllRules.ruleset AllRules.ruleset Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug $(IntDir) Level4 ProgramDatabase false $(OutDir)testrt.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true $(OutDir)testrt.pdb Console false MachineX86 MaxSpeed WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded $(IntDir) Level4 ProgramDatabase $(OutDir)testrt.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true Console true true false MachineX86 Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug $(IntDir) Level4 ProgramDatabase false $(OutDir)testrt.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true $(OutDir)testrt.pdb Console false MachineX64 MaxSpeed WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded $(IntDir) Level4 ProgramDatabase $(OutDir)testrt.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true Console true true false MachineX64 {6a1685de-0265-4243-965f-96cb53ebbca6} false sphinx-2.2.11-release/win/testrt12.vcxproj0000644000175000017500000002773412743402012017776 0ustar alexeyalexey Debug Win32 Debug x64 Release Win32 Release x64 testrt {651CEFE5-9BDB-4003-9D35-8D05FA2C06D7} testrt Win32Proj Application MultiByte v110_xp Application MultiByte v110 Application v110_xp Application v110 <_ProjectFileVersion>10.0.30319.1 $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ true $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ false $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ true $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ false AllRules.ruleset AllRules.ruleset AllRules.ruleset AllRules.ruleset Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug $(IntDir) Level4 ProgramDatabase false $(OutDir)testrt.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true $(OutDir)testrt.pdb Console false MachineX86 MaxSpeed WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded $(IntDir) Level4 ProgramDatabase $(OutDir)testrt.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true Console true true false MachineX86 Disabled _DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug $(IntDir) Level4 ProgramDatabase false $(OutDir)testrt.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true $(OutDir)testrt.pdb Console false MachineX64 MaxSpeed WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded $(IntDir) Level4 ProgramDatabase $(OutDir)testrt.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true Console true true false MachineX64 {6a1685de-0265-4243-965f-96cb53ebbca6} false sphinx-2.2.11-release/win/spelldump13.vcxproj0000644000175000017500000002773312743402012020456 0ustar alexeyalexey Debug Win32 Debug x64 Release Win32 Release x64 spelldump {AE5236EB-62AC-4AD9-81A3-F4BDC85D3876} spelldump Win32Proj Application MultiByte v120 Application MultiByte v120 Application v120 Application v120 <_ProjectFileVersion>10.0.30319.1 $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ true $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ false $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ true $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ false AllRules.ruleset AllRules.ruleset AllRules.ruleset AllRules.ruleset Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug $(IntDir) Level4 ProgramDatabase false $(OutDir)spelldump.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration);%(AdditionalLibraryDirectories) true $(OutDir)spelldump.pdb Console false MachineX86 MaxSpeed WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded $(IntDir) Level4 ProgramDatabase $(OutDir)spelldump.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration);%(AdditionalLibraryDirectories) true Console true true false MachineX86 Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug $(IntDir) Level4 ProgramDatabase false $(OutDir)spelldump.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration);%(AdditionalLibraryDirectories) true $(OutDir)spelldump.pdb Console false MachineX64 MaxSpeed WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded $(IntDir) Level4 ProgramDatabase $(OutDir)spelldump.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration);%(AdditionalLibraryDirectories) true Console true true false MachineX64 {6a1685de-0265-4243-965f-96cb53ebbca6} false sphinx-2.2.11-release/win/spelldump12.vcxproj0000644000175000017500000002773312743402012020455 0ustar alexeyalexey Debug Win32 Debug x64 Release Win32 Release x64 spelldump {AE5236EB-62AC-4AD9-81A3-F4BDC85D3876} spelldump Win32Proj Application MultiByte v110_xp Application MultiByte v110 Application v110_xp Application v110 <_ProjectFileVersion>10.0.30319.1 $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ true $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ false $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ true $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ false AllRules.ruleset AllRules.ruleset AllRules.ruleset AllRules.ruleset Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug $(IntDir) Level4 ProgramDatabase false $(OutDir)spelldump.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration);%(AdditionalLibraryDirectories) true $(OutDir)spelldump.pdb Console false MachineX86 MaxSpeed WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded $(IntDir) Level4 ProgramDatabase $(OutDir)spelldump.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration);%(AdditionalLibraryDirectories) true Console true true false MachineX86 Disabled _DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug $(IntDir) Level4 ProgramDatabase false $(OutDir)spelldump.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration);%(AdditionalLibraryDirectories) true $(OutDir)spelldump.pdb Console false MachineX64 MaxSpeed WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded $(IntDir) Level4 ProgramDatabase $(OutDir)spelldump.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration);%(AdditionalLibraryDirectories) true Console true true false MachineX64 {6a1685de-0265-4243-965f-96cb53ebbca6} false sphinx-2.2.11-release/win/searchd13.vcxproj0000644000175000017500000003077112743402012020056 0ustar alexeyalexey Debug Win32 Debug x64 Release Win32 Release x64 searchd {0BBD34CB-5891-477F-B665-3D7C9FC22A02} searchd Win32Proj Application MultiByte v120 Application MultiByte v120 Application v120 Application v120 <_ProjectFileVersion>10.0.30319.1 $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ true $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ false $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ true $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ false AllRules.ruleset AllRules.ruleset AllRules.ruleset AllRules.ruleset Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug $(IntDir) Level4 ProgramDatabase false wsock32.lib;%(AdditionalDependencies) $(OutDir)searchd.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true $(OutDir)searchd.pdb Console false MachineX86 MaxSpeed WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded $(IntDir) Level4 ProgramDatabase wsock32.lib;%(AdditionalDependencies) $(OutDir)searchd.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true Console true true false MachineX86 Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug $(IntDir) Level4 ProgramDatabase false wsock32.lib;%(AdditionalDependencies) $(OutDir)searchd.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true $(OutDir)searchd.pdb Console false MachineX64 MaxSpeed WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded $(IntDir) Level4 ProgramDatabase wsock32.lib;%(AdditionalDependencies) $(OutDir)searchd.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true Console true true false MachineX64 {6a1685de-0265-4243-965f-96cb53ebbca6} false sphinx-2.2.11-release/win/searchd12.vcxproj0000644000175000017500000002634312743402012020055 0ustar alexeyalexey Debug Win32 Debug x64 Release Win32 Release x64 searchd {0BBD34CB-5891-477F-B665-3D7C9FC22A02} searchd Win32Proj Application MultiByte v110_xp Application MultiByte v110 Application v110_xp Application v110 <_ProjectFileVersion>10.0.30319.1 $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ true $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ false $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ true $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ false AllRules.ruleset AllRules.ruleset AllRules.ruleset AllRules.ruleset Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug $(IntDir) Level4 ProgramDatabase false wsock32.lib;%(AdditionalDependencies) $(OutDir)searchd.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true $(OutDir)searchd.pdb Console false MachineX86 MaxSpeed WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded $(IntDir) Level4 ProgramDatabase false wsock32.lib;%(AdditionalDependencies) $(OutDir)searchd.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true Console true true false MachineX86 MultiThreaded Level4 true WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) false $(IntDir) $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) $(OutDir)searchd.exe true Console true true false MultiThreadedDebug WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) EnableFastChecks Disabled Console true {6a1685de-0265-4243-965f-96cb53ebbca6} false sphinx-2.2.11-release/win/libsphinx13.vcxproj0000644000175000017500000003060512743402012020441 0ustar alexeyalexey Debug Win32 Debug x64 Release Win32 Release x64 libsphinx {6A1685DE-0265-4243-965F-96CB53EBBCA6} libsphinx Win32Proj StaticLibrary MultiByte v120 StaticLibrary MultiByte v120 StaticLibrary v120 StaticLibrary v120 <_ProjectFileVersion>10.0.30319.1 $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ AllRules.ruleset AllRules.ruleset AllRules.ruleset AllRules.ruleset Disabled $(SolutionDir)/libstemmer_c/include; $(SolutionDir)/libexpat/lib;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug $(IntDir) Level4 ProgramDatabase false $(OutDir)libsphinx.lib MaxSpeed $(SolutionDir)/libstemmer_c/include; $(SolutionDir)/libexpat/lib;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) MultiThreaded $(IntDir) Level4 ProgramDatabase $(OutDir)libsphinx.lib MaxSpeed $(SolutionDir)/libstemmer_c/include; $(SolutionDir)/libexpat/lib;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) MultiThreaded $(IntDir) Level4 ProgramDatabase Disabled $(SolutionDir)/libstemmer_c/include; $(SolutionDir)/libexpat/lib;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug $(IntDir) Level4 ProgramDatabase false $(SolutionDir)\src\git_commit_id.cmd $(SolutionDir)\src\nonexistent;%(Outputs) $(SolutionDir)\src\git_commit_id.cmd $(SolutionDir)\src\nonexistent;%(Outputs) $(SolutionDir)\src\git_commit_id.cmd $(SolutionDir)\src\nonexistent;%(Outputs) $(SolutionDir)\src\git_commit_id.cmd $(SolutionDir)\src\nonexistent;%(Outputs) sphinx-2.2.11-release/win/libsphinx12.vcxproj0000644000175000017500000002632112743402012020440 0ustar alexeyalexey Debug Win32 Debug x64 Release Win32 Release x64 libsphinx {6A1685DE-0265-4243-965F-96CB53EBBCA6} libsphinx Win32Proj StaticLibrary MultiByte v110_xp StaticLibrary MultiByte v110 StaticLibrary v110_xp StaticLibrary v110 <_ProjectFileVersion>10.0.30319.1 $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ AllRules.ruleset AllRules.ruleset AllRules.ruleset AllRules.ruleset Disabled $(SolutionDir)/libstemmer_c/include; $(SolutionDir)/libexpat/lib;%(AdditionalIncludeDirectories) WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug $(IntDir) Level4 ProgramDatabase false $(OutDir)libsphinx.lib MaxSpeed $(SolutionDir)/libstemmer_c/include; $(SolutionDir)/libexpat/lib;%(AdditionalIncludeDirectories) WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) MultiThreaded $(IntDir) Level4 ProgramDatabase $(OutDir)libsphinx.lib MultiThreaded WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) MultiThreadedDebug $(SolutionDir)\src\git_commit_id.cmd $(SolutionDir)\src\nonexistent;%(Outputs) $(SolutionDir)\src\git_commit_id.cmd $(SolutionDir)\src\nonexistent;%(Outputs) $(SolutionDir)\src\git_commit_id.cmd $(SolutionDir)\src\nonexistent;%(Outputs) $(SolutionDir)\src\git_commit_id.cmd $(SolutionDir)\src\nonexistent;%(Outputs) sphinx-2.2.11-release/win/indextool13.vcxproj0000644000175000017500000003022312743402012020442 0ustar alexeyalexey Debug Win32 Debug x64 Release Win32 Release x64 indextool {6A78A67D-A743-4594-858A-A4F1C536A8C1} indextool Win32Proj Application MultiByte v120 Application MultiByte v120 Application v120 Application v120 <_ProjectFileVersion>10.0.30319.1 $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ true $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ false $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ true $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ false AllRules.ruleset AllRules.ruleset AllRules.ruleset AllRules.ruleset Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug $(IntDir) Level4 ProgramDatabase false $(OutDir)indextool.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true $(OutDir)indextool.pdb Console false MachineX86 MaxSpeed WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded $(IntDir) Level4 ProgramDatabase $(OutDir)indextool.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true Console true true false MachineX86 Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug $(IntDir) Level4 ProgramDatabase false $(OutDir)indextool.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true $(OutDir)indextool.pdb Console false MachineX64 MaxSpeed WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded $(IntDir) Level4 ProgramDatabase $(OutDir)indextool.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true Console true true false MachineX64 {6a1685de-0265-4243-965f-96cb53ebbca6} false sphinx-2.2.11-release/win/indextool12.vcxproj0000644000175000017500000003022312743402012020441 0ustar alexeyalexey Debug Win32 Debug x64 Release Win32 Release x64 indextool {6A78A67D-A743-4594-858A-A4F1C536A8C1} indextool Win32Proj Application MultiByte v110_xp Application MultiByte v110 Application v110_xp Application v110 <_ProjectFileVersion>10.0.30319.1 $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ true $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ false $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ true $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ false AllRules.ruleset AllRules.ruleset AllRules.ruleset AllRules.ruleset Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug $(IntDir) Level4 ProgramDatabase false $(OutDir)indextool.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true $(OutDir)indextool.pdb Console false MachineX86 MaxSpeed WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded $(IntDir) Level4 ProgramDatabase $(OutDir)indextool.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true Console true true false MachineX86 Disabled _DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug $(IntDir) Level4 ProgramDatabase false $(OutDir)indextool.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true $(OutDir)indextool.pdb Console false MachineX64 MaxSpeed WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded $(IntDir) Level4 ProgramDatabase $(OutDir)indextool.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true Console true true false MachineX64 {6a1685de-0265-4243-965f-96cb53ebbca6} false sphinx-2.2.11-release/win/indexer13.vcxproj0000644000175000017500000003020212743402012020070 0ustar alexeyalexey Debug Win32 Debug x64 Release Win32 Release x64 indexer {405619C7-CC22-4FB8-9237-B196CB897355} indexer Win32Proj Application MultiByte v120 Application MultiByte v120 Application v120 Application v120 <_ProjectFileVersion>10.0.30319.1 $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ true $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ false $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ true $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ false AllRules.ruleset AllRules.ruleset AllRules.ruleset AllRules.ruleset Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug $(IntDir) Level4 ProgramDatabase false $(OutDir)indexer.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true $(OutDir)indexer.pdb Console false MachineX86 MaxSpeed WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded $(IntDir) Level4 ProgramDatabase $(OutDir)indexer.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true Console true true false MachineX86 Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug $(IntDir) Level4 ProgramDatabase false $(OutDir)indexer.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true $(OutDir)indexer.pdb Console false MachineX64 MaxSpeed WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded $(IntDir) Level4 ProgramDatabase $(OutDir)indexer.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true Console true true false MachineX64 {6a1685de-0265-4243-965f-96cb53ebbca6} false sphinx-2.2.11-release/win/indexer12.vcxproj0000644000175000017500000003020712743402012020074 0ustar alexeyalexey Debug Win32 Debug x64 Release Win32 Release x64 indexer {405619C7-CC22-4FB8-9237-B196CB897355} indexer Win32Proj Application MultiByte v110_xp Application MultiByte v110 Application v110_xp Application v110 <_ProjectFileVersion>10.0.30319.1 $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ true $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ false $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ true $(SolutionDir)\bin\$(Configuration)\ $(SolutionDir)\junk\$(Configuration)\$(ProjectName)\ false AllRules.ruleset AllRules.ruleset AllRules.ruleset AllRules.ruleset Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug $(IntDir) Level4 ProgramDatabase false $(OutDir)indexer.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true $(OutDir)indexer.pdb Console false MachineX86 MaxSpeed WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded $(IntDir) Level4 ProgramDatabase $(OutDir)indexer.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true Console true true false MachineX86 Disabled WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true EnableFastChecks MultiThreadedDebug $(IntDir) Level4 ProgramDatabase false $(OutDir)indexer.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true $(OutDir)indexer.pdb Console false MachineX64 MaxSpeed WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreaded $(IntDir) Level4 ProgramDatabase $(OutDir)indexer.exe $(SolutionDir)/libstemmer_c/lib/$(Configuration); $(SolutionDir)/libexpat/lib/$(Configuration);%(AdditionalLibraryDirectories) true Console true true false MachineX64 {6a1685de-0265-4243-965f-96cb53ebbca6} false sphinx-2.2.11-release/test/0000755000175000017500000000000012743402012015036 5ustar alexeyalexeysphinx-2.2.11-release/test/wordforms.txt0000644000175000017500000000017412743402012017623 0ustar alexeyalexeyfolded > wrapped shortform > SomeWhatMoreLongFormThatWouldOverflowShortFormBuffer antediluvian clumsy shandrydan > fordt sphinx-2.2.11-release/test/ubertest.php0000644000175000017500000002143612743402012017412 0ustar alexeyalexey [OPTIONS] [TESTDIRS ...]\n" ); print ( "\nModes are:\n" ); print ( "g, gen\t\t\tgenerate reference ('model') test results\n" ); print ( "t, test\t\t\trun tests and compare results to reference\n" ); print ( "qt\t\t\tsame as test, but skips user-configured slow tests\n" ); print ( "\nOptions are:\n" ); print ( "-u, --user \tuse 'USER' as MySQL user\n" ); print ( "-p, --password \tuse 'PASS' as MySQL password\n" ); print ( "-i, --indexer \tpath to indexer\n" ); print ( "-s, --searchd \tpath to searchd\n" ); print ( "--strict\t\tterminate on the first failure (for automatic runs)\n" ); print ( "--strict-verbose\tterminate on the first failure and copy the last report to report.txt (for automatic runs)\n" ); print ( "--managed\t\tdon't run searchd during test (for debugging)\n" ); print ( "--skip-indexer\t\tskip DB creation and indexer stages and go directly to queries/custom tests\n"); print ( "--rt\t\t\ttest RT backend (auto-convert all local indexes)\n" ); print ( "--no-drop-db\t\tKeep test db tables after the test (for debugging)\n"); print ( "--no-demo\t\tJust skip all tests without models. Else - run them, but never fail (for debugging)\n"); print ( "--no-marks\t\tDon't mark the output of every test in the logs.\n"); print ( "--ignore-weights\tIgnore differences in weights. (Useful for testing that reference database changes are ok.)\n" ); print ( "--cwd\t\t\tchange directory to ubertest.php location (for git bisect)\n" ); print ( "\nEnvironment variables are:\n" ); print ( "DBUSER\t\t\tuse 'USER' as MySQL user\n" ); print ( "DBPASS\t\t\tuse 'PASS' as MySQL password\n" ); print ( "\nTests can be specified by full name, or list of IDs, or range of IDs.\n" ); print ( "\nUsage examples:\n" ); print ( "php ubertest.php gen\n" ); print ( "php ubertest.php t --user test --password test\n" ); print ( "php ubertest.php t test_015\n" ); print ( "php ubertest.php t 31 37 41 53-64\n" ); print ( "DBPASS=test make check\n" ); exit ( 0 ); } $locals = array(); $locals['rt_mode'] = false; if ( array_key_exists ( "DBUSER", $_ENV ) && $_ENV["DBUSER"] ) $locals['db-user'] = $_ENV["DBUSER"]; if ( array_key_exists ( "DBPASS", $_ENV ) && $_ENV["DBPASS"] ) $locals['db-password'] = $_ENV["DBPASS"]; $run = false; $test_dirs = array(); $test_range = array(); $user_skip = false; for ( $i=0; $iclose(); } $t = MyMicrotime (); // build test lists $tests = array (); $dh = opendir ( "." ); $user_skipped = 0; while ( $entry=readdir($dh) ) { if ( substr ( $entry, 0, 5 )!="test_" ) continue; $test_id = (int) substr ( $entry, 5 ); if ( $user_skip && isset ( $g_locals["skip-tests"] ) && in_array ( $test_id, $g_locals["skip-tests"] ) ) { $user_skipped++; continue; } if ( ( empty($test_dirs) && empty($test_range) ) || in_array ( $entry, $test_dirs ) || ( $test_range && $test_id>=$test_range[0] && $test_id<=$test_range[1] ) ) { $tests[] = $entry; } } sort ( $tests ); // full name to short alias function ShortTestName ( $full ) { if ( substr ( $full,0,5 )=="test_" ) return substr ( $full, 5 ); return $full; } // run tests $total_tests = 0; $total_tests_failed = 0; $total_subtests = 0; $total_subtests_failed = 0; $total_skipped = $user_skipped; $failed_tests = array(); foreach ( $tests as $test ) { if ( $windows && !$sd_managed_searchd ) { // avoid an issue with daemons stuck in exit(0) for some seconds $sd_port += 10; $agent_port += 10; $agent_port_sql += 10; $agents = array ( array ( "address" => $sd_address, "port" => $sd_port, "sqlport" => $sd_sphinxql_port ), array ( "address" => $agent_address, "port" => $agent_port, "sqlport" => $agent_port_sql ), array ( "address" => $agent_address, "port" => $agent_port+1, "sqlport" => $agent_port_sql+1 ) ); } if ( file_exists ( $test."/test.xml" ) ) { $total_tests++; $res = RunTest ( $test, $g_skipdemo, $g_usemarks ); if ( !is_array($res) ) { // failed to run that test at all $total_tests_failed++; $failed_tests[] = ShortTestName ( $test ); continue; } $total_subtests += $res["tests_total"]; $total_skipped += $res["tests_skipped"]; if ( $res["tests_failed"] ) { $total_tests_failed++; $total_subtests_failed += $res["tests_failed"]; $failed_tests[] = ShortTestName ( $test ); if ( $g_strict ) { if ( $g_strictverbose ) { $report = file_get_contents ( "$test/report.txt" ); $report.= "\n Test $test failed\n"; file_put_contents("report.txt",$report); $report = ""; } break; } } } elseif ( file_exists ( $test."/test.inc" ) ) { $run_func = create_function ( '$test_path', file_get_contents ( $test."/test.inc" ) ); $total_tests++; $total_subtests++; if ( !$run_func ( $test ) ) { $total_tests_failed++; $total_subtests_failed++; $failed_tests[] = ShortTestName ( $test ); } } } // cleanup @unlink ( "config.conf" ); @unlink ( "error.txt" ); $nfile = 1; while ( file_exists ( "config_$nfile.conf" ) ) { @unlink ( "config_$nfile.conf" ); $nfile++; } $nfile = 1; while ( file_exists ( "error_$nfile.txt" ) ) { // FIXME? not when there were actual errors? @unlink ( "error_$nfile.txt" ); $nfile++; } // summarize if ( $total_tests_failed ) { printf ( "\nTo re-run failed tests only:\nphp ubertest.php t %s\n", join ( " ", $failed_tests ) ); printf ( "\n%d of %d tests and %d of %d subtests failed, %d tests skipped, %.2f sec elapsed\nTHERE WERE FAILURES!\n", $total_tests_failed, $total_tests, $total_subtests_failed, $total_subtests,$total_skipped, MyMicrotime()-$t ); exit ( 1 ); } else { printf ( "\n%d tests and %d subtests succesful, %d tests skipped, %.2f sec elapsed\nALL OK\n", $total_tests, $total_subtests, $total_skipped, MyMicrotime()-$t ); exit ( 0 ); } // // $Id$ // ?> sphinx-2.2.11-release/test/test_rlp.conf0000644000175000017500000000024512743402012017542 0ustar alexeyalexeyindexer { mem_limit = 16M } source test { type = xmlpipe2 xmlpipe_command = } index test { source = test path = data/test morphology = rlp_chinese } sphinx-2.2.11-release/test/test_re.conf0000644000175000017500000000024212743402012017350 0ustar alexeyalexeyindexer { mem_limit = 16M } source test { type = xmlpipe2 xmlpipe_command = } index test { source = test path = data/test regexp_filter = a => b } sphinx-2.2.11-release/test/test_odbc.conf0000644000175000017500000000022512743402012017652 0ustar alexeyalexeyindexer { mem_limit = 16M } source test { type = odbc odbc_dsn = sql_query = select 1 } index test { source = test path = data/test } sphinx-2.2.11-release/test/test_257/0000755000175000017500000000000012743402012016412 5ustar alexeyalexeysphinx-2.2.11-release/test/test_257/test.xml0000644000175000017500000000434212743402012020116 0ustar alexeyalexey sv-base indexing 1 indexer { mem_limit = 16M } searchd { } source src11 { type = xmlpipe2 xmlpipe_command = cat /data1.xml xmlpipe_field = title xmlpipe_field = content xmlpipe_attr_uint = gid xmlpipe_attr_uint = uid xmlpipe_attr_uint = gid } index xml11 { source = src11 path = /xml11 docinfo = extern dict = keywords } source src12 { type = xmlpipe2 xmlpipe_command = cat /data1.xml xmlpipe_field = title xmlpipe_field = content xmlpipe_attr_uint = gid xmlpipe_attr_uint = uid } index xml12 { source = src12 path = /xml12 docinfo = extern dict = keywords } source src21 { type = tsvpipe tsvpipe_command = cat /data1.tsv tsvpipe_field = title tsvpipe_field = content tsvpipe_attr_uint = gid tsvpipe_attr_uint = uid tsvpipe_attr_uint = gid } index tsv21 { source = src21 path = /tsv21 docinfo = extern dict = keywords } source src22 { type = tsvpipe tsvpipe_command = cat /data1.tsv tsvpipe_field = title tsvpipe_field = content tsvpipe_attr_uint = gid tsvpipe_attr_uint = uid } index tsv22 { source = src22 path = /tsv22 docinfo = extern dict = keywords } source src31 { type = csvpipe csvpipe_command = cat /data1.csv csvpipe_field = title csvpipe_field = content csvpipe_attr_uint = gid csvpipe_attr_uint = uid csvpipe_attr_uint = gid } index csv31 { source = src31 path = /csv31 docinfo = extern dict = keywords } source src32 { type = csvpipe csvpipe_command = cat /data1.csv csvpipe_field = title csvpipe_field = content csvpipe_attr_uint = gid csvpipe_attr_uint = uid } index csv32 { source = src32 path = /csv32 docinfo = extern dict = keywords } SELECT * FROM xml11 ORDER BY id asc SELECT * FROM xml12 ORDER BY id asc SELECT * FROM tsv21 ORDER BY id asc SELECT * FROM tsv22 ORDER BY id asc SELECT * FROM csv31 ORDER BY id asc SELECT * FROM csv32 ORDER BY id asc sphinx-2.2.11-release/test/test_257/model.bin0000644000175000017500000000217612743402012020212 0ustar alexeyalexeya:1:{i:0;a:6:{i:0;a:3:{s:8:"sphinxql";s:35:"SELECT * FROM xml11 ORDER BY id asc";s:5:"error";s:34:"no enabled local indexes to search";s:5:"errno";i:1064;}i:1;a:3:{s:8:"sphinxql";s:35:"SELECT * FROM xml12 ORDER BY id asc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:3:"uid";s:2:"11";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:2:"12";s:3:"uid";s:2:"12";}}}i:2;a:3:{s:8:"sphinxql";s:35:"SELECT * FROM tsv21 ORDER BY id asc";s:5:"error";s:34:"no enabled local indexes to search";s:5:"errno";i:1064;}i:3;a:3:{s:8:"sphinxql";s:35:"SELECT * FROM tsv22 ORDER BY id asc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:3:"uid";s:2:"11";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:2:"12";s:3:"uid";s:2:"12";}}}i:4;a:3:{s:8:"sphinxql";s:35:"SELECT * FROM csv31 ORDER BY id asc";s:5:"error";s:34:"no enabled local indexes to search";s:5:"errno";i:1064;}i:5;a:3:{s:8:"sphinxql";s:35:"SELECT * FROM csv32 ORDER BY id asc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:3:"uid";s:2:"11";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:2:"12";s:3:"uid";s:2:"12";}}}}}sphinx-2.2.11-release/test/test_257/data1.xml0000644000175000017500000000064212743402012020130 0ustar alexeyalexey test one this is my test document number one. also checking search within phrases. 11 11 test two this is my test document number two 12 12 sphinx-2.2.11-release/test/test_257/data1.tsv0000644000175000017500000000015512743402012020143 0ustar alexeyalexey1 test one this is my test document number one 11 11 2 test two this is my test document number two 12 12 sphinx-2.2.11-release/test/test_257/data1.csv0000644000175000017500000000017012743402012020117 0ustar alexeyalexey1, test one,this is my test document number one, 11, 11 2, test two, this "is my"" test "document number two, 12, 12 sphinx-2.2.11-release/test/test_255/0000755000175000017500000000000012743402012016410 5ustar alexeyalexeysphinx-2.2.11-release/test/test_255/wf1.txt0000644000175000017500000000001312743402012017640 0ustar alexeyalexeytofu > soy sphinx-2.2.11-release/test/test_255/test.xml0000644000175000017500000000433312743402012020114 0ustar alexeyalexey RECONFIGURE in RT indexes searchd { binlog_path = workers = threads } index rt1 { type = rt path = /rt1 charset_table = a..z, _, A..Z->a..z dict = keywords rt_field = name rt_attr_uint = idd morphology = stem_en wordforms = /wf1.txt } source src_dummy { type = mysql sql_query = SELECT id, gid, text FROM test_table sql_attr_uint = gid } index test_dummy { source = src_dummy path = /test_dummy } drop table if exists test_table create table test_table ( id int not null, text varchar(255) not null, gid int ); insert into test_table values ( 1, 'first', 1 ) Reconnect(); $results[] = 'initial commit'; $results[] = "\n" . $ql->Query ( "REPLACE INTO rt1 (id, name, idd) VALUES (1, 'TOFU', 1)" ); $results[] = 'query SOY'; $results[] = "\n" . $ql->Query ( "SELECT * FROM rt1 WHERE MATCH ( 'SOY' )" ); $results[] = 'query TOFU'; $results[] = "\n" . $ql->Query ( "SELECT * FROM rt1 WHERE MATCH ( 'TOFU' )" ); $orig_conf = file('config.conf'); $new_conf = ''; foreach ( $orig_conf as $line ) { if ( strstr ( $line, 'wordforms' ) ) { $line = '#' . $line; } $new_conf .= $line; } file_put_contents('config.conf', $new_conf); $results[] = "\n" . $ql->Query ( "ALTER RTINDEX rt1 RECONFIGURE" ); $results[] = 'add 2nd doc'; $results[] = "\n" . $ql->Query ( "REPLACE INTO rt1 (id, name, idd) VALUES (2, 'TOFU', 1)" ); $results[] = 'query SOY'; $results[] = "\n" . $ql->Query ( "SELECT * FROM rt1 WHERE MATCH ( 'SOY' )" ); $results[] = 'query TOFU'; $results[] = "\n" . $ql->Query ( "SELECT * FROM rt1 WHERE MATCH ( 'TOFU' )" ); $results[] = 'replace 1st doc'; $results[] = "\n" . $ql->Query ( "REPLACE INTO rt1 (id, name, idd) VALUES (1, 'TOFU', 1)" ); $results[] = 'query SOY'; $results[] = "\n" . $ql->Query ( "SELECT * FROM rt1 WHERE MATCH ( 'SOY' )" ); $results[] = 'query TOFU'; $results[] = "\n" . $ql->Query ( "SELECT * FROM rt1 WHERE MATCH ( 'TOFU' )" ); ]]> sphinx-2.2.11-release/test/test_255/model.bin0000644000175000017500000000070112743402012020200 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:19:{i:0;s:14:"initial commit";i:1;s:3:" OK";i:2;s:9:"query SOY";i:3;s:13:" 1 | 1 1 rows";i:4;s:10:"query TOFU";i:5;s:13:" 1 | 1 1 rows";i:6;s:3:" OK";i:7;s:11:"add 2nd doc";i:8;s:3:" OK";i:9;s:9:"query SOY";i:10;s:13:" 1 | 1 1 rows";i:11;s:10:"query TOFU";i:12;s:19:" 2 | 1 1 | 1 2 rows";i:13;s:15:"replace 1st doc";i:14;s:3:" OK";i:15;s:9:"query SOY";i:16;s:7:" 0 rows";i:17;s:10:"query TOFU";i:18;s:19:" 1 | 1 2 | 1 2 rows";}}}sphinx-2.2.11-release/test/test_251/0000755000175000017500000000000012743402012016404 5ustar alexeyalexeysphinx-2.2.11-release/test/test_251/test.xml0000644000175000017500000000207212743402012020106 0ustar alexeyalexey subtree cache qpos indexer { mem_limit = 16M } searchd { workers = threads binlog_path = # subtree_docs_cache = 128k subtree_hits_cache = 128k } source test1 { type = mysql sql_query = SELECT 1 id, 'test1 test2 test3 test4 test5 test6 test7' body, 11 idd UNION SELECT 2 id, 'test1 test02 test03 test4 test05 test06 test7' body, 12 idd UNION SELECT 3 id, 'test1 test2 test3 test04 test05 test6 test7', 13 idd sql_attr_uint = gid } index test1 { source = test1 path = /test1 charset_table = 0..9, A..Z->a..z, _, a..z } SELECT id, packedfactors() p FROM test1 WHERE MATCH ('(test1 test3 test4 test4 test7) (test1 test2 test7)') OPTION ranker=expr('1') sphinx-2.2.11-release/test/test_251/model.bin0000644000175000017500000000131012743402012020171 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:3:{s:8:"sphinxql";s:131:"SELECT id, packedfactors() p FROM test1 WHERE MATCH ('(test1 test3 test4 test4 test7) (test1 test2 test7)') OPTION ranker=expr('1')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:1:"p";s:448:"bm25=427, bm25a=0.378080, field_mask=1, doc_word_count=5, field0=(lcs=2, hit_count=5, word_count=5, tf_idf=-0.158496, min_idf=-0.079248, max_idf=0.000000, sum_idf=-0.158496, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=2, exact_order=1, lccs=2, wlccs=0.000000, atc=0.002182), word0=(tf=1, idf=-0.079248), word1=(tf=1, idf=0.000000), word2=(tf=1, idf=0.000000), word4=(tf=1, idf=-0.079248), word6=(tf=1, idf=0.000000)";}}}}}sphinx-2.2.11-release/test/test_246/0000755000175000017500000000000012743402012016410 5ustar alexeyalexeysphinx-2.2.11-release/test/test_246/test.xml0000644000175000017500000000426612743402012020121 0ustar alexeyalexey re-enable indexes using rotation searchd { binlog_path = workers = threads seamless_rotate = 0 seamless_rotate = 1 } source sql1 { type = mysql sql_query = select id, text, mode from test_table where mode=1 sql_attr_uint = mode } index plain1 { source = sql1 path = /plain1 docinfo = extern } source sql2 { type = mysql sql_query = select id, text, mode from test_table where mode=2 sql_attr_uint = mode } index plain2 { source = sql2 path = /plain2 docinfo = extern } drop table if exists test_table create table test_table ( id int not null, text varchar(255) not null, mode int ); insert into test_table values ( 1, 'first', 1 ), ( 2, 'second', 1 ), ( 3, 'third', 1 ), ( 4, 'fourth', 1 ), ( 5, 'fifth', 1 ), ( 10, 'one', 2 ), ( 11, 'two', 2 ), ( 12, 'three', 2 ) Reconnect(); $results[] = 'all index presents'; $results[] = "\n" . $ql->Query ( "SHOW tables" ); $results[] = "\n" . $ql->Query ( "SELECT * FROM plain1, plain2" ); $orig_conf = file('config.conf'); $new_conf = ''; $got_idx2 = false; foreach ( $orig_conf as $line ) { if ( $got_idx2 || strstr ( $line, 'index plain2' ) ) { if ( strstr ( $line, 'index plain2' ) ) $got_idx2 = true; if ( $got_idx2 && strstr ( $line, '}' ) ) $got_idx2 = false; $line = '#' . $line; } $new_conf .= $line; } file_put_contents('config.conf', $new_conf); RunIndexer ( $errors, '--rotate plain1' ); // just to send SIGHUP to daemon sleep(2); $results[] = 'plain2 disabled'; $results[] = "\n" . $ql->Query ( "SHOW tables" ); file_put_contents('config.conf', $orig_conf); RunIndexer ( $errors, '--rotate plain1' ); // just to send SIGHUP to daemon sleep(2); $results[] = 'plain2 re-enabled'; $results[] = "\n" . $ql->Query ( "SHOW tables" ); $results[] = "\n" . $ql->Query ( "SELECT * FROM plain1, plain2" ); ]]> sphinx-2.2.11-release/test/test_246/model.bin0000644000175000017500000000137212743402012020205 0ustar alexeyalexeya:2:{i:0;a:1:{i:0;a:8:{i:0;s:18:"all index presents";i:1;s:37:" plain1 | local plain2 | local 2 rows";i:2;s:58:" 1 | 1 2 | 1 3 | 1 4 | 1 5 | 1 10 | 2 11 | 2 12 | 2 8 rows";i:3;s:15:"plain2 disabled";i:4;s:22:" plain1 | local 1 rows";i:5;s:17:"plain2 re-enabled";i:6;s:37:" plain1 | local plain2 | local 2 rows";i:7;s:58:" 1 | 1 2 | 1 3 | 1 4 | 1 5 | 1 10 | 2 11 | 2 12 | 2 8 rows";}}i:1;a:1:{i:0;a:8:{i:0;s:18:"all index presents";i:1;s:37:" plain1 | local plain2 | local 2 rows";i:2;s:58:" 1 | 1 2 | 1 3 | 1 4 | 1 5 | 1 10 | 2 11 | 2 12 | 2 8 rows";i:3;s:15:"plain2 disabled";i:4;s:22:" plain1 | local 1 rows";i:5;s:17:"plain2 re-enabled";i:6;s:37:" plain1 | local plain2 | local 2 rows";i:7;s:58:" 1 | 1 2 | 1 3 | 1 4 | 1 5 | 1 10 | 2 11 | 2 12 | 2 8 rows";}}}sphinx-2.2.11-release/test/test_245/0000755000175000017500000000000012743402012016407 5ustar alexeyalexeysphinx-2.2.11-release/test/test_245/test.xml0000644000175000017500000000304012743402012020105 0ustar alexeyalexey n best group by with packedfactors indexer { mem_limit = 28M } searchd { workers = threads } source src_xml1 { type = xmlpipe2 xmlpipe_command = cat /data.xml } index idx_factors { source = src_xml1 path = /idx_factors docinfo = extern } source src_xml_rev { type = xmlpipe2 xmlpipe_command = cat /data_rev.xml } index idx_factors_rev { source = src_xml_rev path = /idx_factors_rev docinfo = extern } select id, groupby() g, count(*) c, t, packedfactors() p from idx_factors_rev where match ('this') group 2 by gid option max_matches=5, ranker=expr('1') select id, groupby() g, count(*) c, t, packedfactors() p from idx_factors_rev where match ('this') group 3 by gid option max_matches=17, ranker=expr('1') select id, groupby() g, count(*) c, t, packedfactors() p from idx_factors where match ('this') group 20 by gid option max_matches=1000, ranker=expr('1') select id, groupby() g, count(*) c, t, packedfactors() p from idx_factors where match ('this') group 2 by gid option max_matches=5, ranker=expr('1') select id, groupby() g, count(*) c, t, packedfactors() p from idx_factors where match ('this') group 3 by gid option max_matches=17, ranker=expr('1') sphinx-2.2.11-release/test/test_245/model.bin0000644000175000017500000007140412743402012020207 0ustar alexeyalexeya:1:{i:0;a:5:{i:0;a:3:{s:8:"sphinxql";s:152:"select id, groupby() g, count(*) c, t, packedfactors() p from idx_factors_rev where match ('this') group 2 by gid option max_matches=5, ranker=expr('1')";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:5:{s:2:"id";s:1:"1";s:1:"g";s:7:"1107024";s:1:"c";s:1:"4";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:1;a:5:{s:2:"id";s:1:"2";s:1:"g";s:7:"1107024";s:1:"c";s:1:"4";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:2;a:5:{s:2:"id";s:1:"5";s:1:"g";s:7:"1107004";s:1:"c";s:2:"10";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:3;a:5:{s:2:"id";s:1:"6";s:1:"g";s:7:"1107004";s:1:"c";s:2:"10";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:4;a:5:{s:2:"id";s:2:"15";s:1:"g";s:7:"1106984";s:1:"c";s:1:"7";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}}}i:1;a:3:{s:8:"sphinxql";s:153:"select id, groupby() g, count(*) c, t, packedfactors() p from idx_factors_rev where match ('this') group 3 by gid option max_matches=17, ranker=expr('1')";s:10:"total_rows";i:17;s:4:"rows";a:17:{i:0;a:5:{s:2:"id";s:1:"1";s:1:"g";s:7:"1107024";s:1:"c";s:1:"4";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:1;a:5:{s:2:"id";s:1:"2";s:1:"g";s:7:"1107024";s:1:"c";s:1:"4";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:2;a:5:{s:2:"id";s:1:"3";s:1:"g";s:7:"1107024";s:1:"c";s:1:"4";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:3;a:5:{s:2:"id";s:1:"5";s:1:"g";s:7:"1107004";s:1:"c";s:2:"10";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:4;a:5:{s:2:"id";s:1:"6";s:1:"g";s:7:"1107004";s:1:"c";s:2:"10";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:5;a:5:{s:2:"id";s:1:"7";s:1:"g";s:7:"1107004";s:1:"c";s:2:"10";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:6;a:5:{s:2:"id";s:2:"15";s:1:"g";s:7:"1106984";s:1:"c";s:1:"7";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:7;a:5:{s:2:"id";s:2:"16";s:1:"g";s:7:"1106984";s:1:"c";s:1:"7";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:8;a:5:{s:2:"id";s:2:"17";s:1:"g";s:7:"1106984";s:1:"c";s:1:"7";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:9;a:5:{s:2:"id";s:2:"22";s:1:"g";s:7:"1107017";s:1:"c";s:1:"4";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:10;a:5:{s:2:"id";s:2:"23";s:1:"g";s:7:"1107017";s:1:"c";s:1:"4";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:11;a:5:{s:2:"id";s:2:"24";s:1:"g";s:7:"1107017";s:1:"c";s:1:"4";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:12;a:5:{s:2:"id";s:2:"26";s:1:"g";s:7:"1106993";s:1:"c";s:1:"7";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:13;a:5:{s:2:"id";s:2:"27";s:1:"g";s:7:"1106993";s:1:"c";s:1:"7";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:14;a:5:{s:2:"id";s:2:"28";s:1:"g";s:7:"1106993";s:1:"c";s:1:"7";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:15;a:5:{s:2:"id";s:2:"33";s:1:"g";s:7:"1106997";s:1:"c";s:1:"9";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:16;a:5:{s:2:"id";s:2:"34";s:1:"g";s:7:"1106997";s:1:"c";s:1:"9";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}}}i:2;a:3:{s:8:"sphinxql";s:152:"select id, groupby() g, count(*) c, t, packedfactors() p from idx_factors where match ('this') group 20 by gid option max_matches=1000, ranker=expr('1')";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:5:{s:2:"id";s:1:"1";s:1:"g";s:7:"1107024";s:1:"c";s:1:"4";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:1;a:5:{s:2:"id";s:1:"2";s:1:"g";s:7:"1107024";s:1:"c";s:1:"4";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:2;a:5:{s:2:"id";s:1:"3";s:1:"g";s:7:"1107024";s:1:"c";s:1:"4";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:3;a:5:{s:2:"id";s:1:"4";s:1:"g";s:7:"1107024";s:1:"c";s:1:"4";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:4;a:5:{s:2:"id";s:1:"5";s:1:"g";s:7:"1107004";s:1:"c";s:2:"10";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:5;a:5:{s:2:"id";s:1:"6";s:1:"g";s:7:"1107004";s:1:"c";s:2:"10";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:6;a:5:{s:2:"id";s:1:"7";s:1:"g";s:7:"1107004";s:1:"c";s:2:"10";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:7;a:5:{s:2:"id";s:1:"8";s:1:"g";s:7:"1107004";s:1:"c";s:2:"10";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:8;a:5:{s:2:"id";s:1:"9";s:1:"g";s:7:"1107004";s:1:"c";s:2:"10";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:9;a:5:{s:2:"id";s:2:"10";s:1:"g";s:7:"1107004";s:1:"c";s:2:"10";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:10;a:5:{s:2:"id";s:2:"11";s:1:"g";s:7:"1107004";s:1:"c";s:2:"10";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:11;a:5:{s:2:"id";s:2:"12";s:1:"g";s:7:"1107004";s:1:"c";s:2:"10";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:12;a:5:{s:2:"id";s:2:"13";s:1:"g";s:7:"1107004";s:1:"c";s:2:"10";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:13;a:5:{s:2:"id";s:2:"14";s:1:"g";s:7:"1107004";s:1:"c";s:2:"10";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:14;a:5:{s:2:"id";s:2:"15";s:1:"g";s:7:"1106984";s:1:"c";s:1:"7";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:15;a:5:{s:2:"id";s:2:"16";s:1:"g";s:7:"1106984";s:1:"c";s:1:"7";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:16;a:5:{s:2:"id";s:2:"17";s:1:"g";s:7:"1106984";s:1:"c";s:1:"7";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:17;a:5:{s:2:"id";s:2:"18";s:1:"g";s:7:"1106984";s:1:"c";s:1:"7";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:18;a:5:{s:2:"id";s:2:"19";s:1:"g";s:7:"1106984";s:1:"c";s:1:"7";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:19;a:5:{s:2:"id";s:2:"20";s:1:"g";s:7:"1106984";s:1:"c";s:1:"7";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}}}i:3;a:3:{s:8:"sphinxql";s:148:"select id, groupby() g, count(*) c, t, packedfactors() p from idx_factors where match ('this') group 2 by gid option max_matches=5, ranker=expr('1')";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:5:{s:2:"id";s:1:"1";s:1:"g";s:7:"1107024";s:1:"c";s:1:"4";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:1;a:5:{s:2:"id";s:1:"2";s:1:"g";s:7:"1107024";s:1:"c";s:1:"4";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:2;a:5:{s:2:"id";s:1:"5";s:1:"g";s:7:"1107004";s:1:"c";s:2:"10";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:3;a:5:{s:2:"id";s:1:"6";s:1:"g";s:7:"1107004";s:1:"c";s:2:"10";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:4;a:5:{s:2:"id";s:2:"15";s:1:"g";s:7:"1106984";s:1:"c";s:1:"7";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}}}i:4;a:3:{s:8:"sphinxql";s:149:"select id, groupby() g, count(*) c, t, packedfactors() p from idx_factors where match ('this') group 3 by gid option max_matches=17, ranker=expr('1')";s:10:"total_rows";i:17;s:4:"rows";a:17:{i:0;a:5:{s:2:"id";s:1:"1";s:1:"g";s:7:"1107024";s:1:"c";s:1:"4";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:1;a:5:{s:2:"id";s:1:"2";s:1:"g";s:7:"1107024";s:1:"c";s:1:"4";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:2;a:5:{s:2:"id";s:1:"3";s:1:"g";s:7:"1107024";s:1:"c";s:1:"4";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:3;a:5:{s:2:"id";s:1:"5";s:1:"g";s:7:"1107004";s:1:"c";s:2:"10";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:4;a:5:{s:2:"id";s:1:"6";s:1:"g";s:7:"1107004";s:1:"c";s:2:"10";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:5;a:5:{s:2:"id";s:1:"7";s:1:"g";s:7:"1107004";s:1:"c";s:2:"10";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:6;a:5:{s:2:"id";s:2:"15";s:1:"g";s:7:"1106984";s:1:"c";s:1:"7";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:7;a:5:{s:2:"id";s:2:"16";s:1:"g";s:7:"1106984";s:1:"c";s:1:"7";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:8;a:5:{s:2:"id";s:2:"17";s:1:"g";s:7:"1106984";s:1:"c";s:1:"7";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:9;a:5:{s:2:"id";s:2:"22";s:1:"g";s:7:"1107017";s:1:"c";s:1:"4";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:10;a:5:{s:2:"id";s:2:"23";s:1:"g";s:7:"1107017";s:1:"c";s:1:"4";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:11;a:5:{s:2:"id";s:2:"24";s:1:"g";s:7:"1107017";s:1:"c";s:1:"4";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:12;a:5:{s:2:"id";s:2:"26";s:1:"g";s:7:"1106993";s:1:"c";s:1:"7";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:13;a:5:{s:2:"id";s:2:"27";s:1:"g";s:7:"1106993";s:1:"c";s:1:"7";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:14;a:5:{s:2:"id";s:2:"28";s:1:"g";s:7:"1106993";s:1:"c";s:1:"7";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:15;a:5:{s:2:"id";s:2:"33";s:1:"g";s:7:"1106997";s:1:"c";s:1:"9";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}i:16;a:5:{s:2:"id";s:2:"34";s:1:"g";s:7:"1106997";s:1:"c";s:1:"9";s:1:"t";s:7:"this is";s:1:"p";s:337:"bm25=272, bm25a=0.115395, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.499987, min_idf=-0.499987, max_idf=-0.499987, sum_idf=-0.499987, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.499987, atc=0.000000), word0=(tf=1, idf=-0.499987)";}}}}}sphinx-2.2.11-release/test/test_245/data_rev.xml0000644000175000017500000126161312743402012020730 0ustar alexeyalexey 1107024this is 1106423this is 1106423this is 1106423this is 1106423this is 1106423this is 1106423this is 1106423this is 1106423this is 1106423this is 1106423this is 1106423this is 1106423this is 1106423this is 1106423this is 1106423this is 1106402this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106507this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106509this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106571this is 1106546this is 1106443this is 1106443this is 1106443this is 1106443this is 1106443this is 1106443this is 1106443this is 1106443this is 1106443this is 1106443this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106414this is 1106414this is 1106414this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106370this is 1106508this is 1106508this is 1106508this is 1106508this is 1106508this is 1106508this is 1106508this is 1106508this is 1106508this is 1106508this is 1106508this is 1106508this is 1106508this is 1106508this is 1106508this is 1106508this is 1106529this is 1106508this is 1106529this is 1106508this is 1106529this is 1106508this is 1106508this is 1106529this is 1106508this is 1106529this is 1106508this is 1106529this is 1106508this is 1106529this is 1106508this is 1106529this is 1106508this is 1106529this is 1106529this is 1106529this is 1106529this is 1106529this is 1106529this is 1106529this is 1106529this is 1106529this is 1106529this is 1106529this is 1106529this is 1106529this is 1106529this is 1106529this is 1106529this is 1106529this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106464this is 1106464this is 1106464this is 1106527this is 1106527this is 1106527this is 1106527this is 1106527this is 1106440this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106390this is 1106390this is 1106390this is 1106390this is 1106484this is 1106484this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106457this is 1106457this is 1106457this is 1106591this is 1106591this is 1106591this is 1106591this is 1106591this is 1106591this is 1106591this is 1106591this is 1106591this is 1106591this is 1106591this is 1106591this is 1106518this is 1106518this is 1106518this is 1106518this is 1106518this is 1106518this is 1106518this is 1106518this is 1106518this is 1106518this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106442this is 1106442this is 1106483this is 1106483this is 1106483this is 1106483this is 1106483this is 1106536this is 1106536this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106504this is 1106504this is 1106611this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106485this is 1106485this is 1106485this is 1106485this is 1106485this is 1106485this is 1106485this is 1106485this is 1106581this is 1106606this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106462this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106631this is 1106631this is 1106631this is 1106631this is 1106631this is 1106631this is 1106631this is 1106631this is 1106631this is 1106631this is 1106631this is 1106631this is 1106631this is 1106631this is 1106631this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106595this is 1106595this is 1106595this is 1106595this is 1106595this is 1106595this is 1106595this is 1106595this is 1106595this is 1106519this is 1106519this is 1106519this is 1106519this is 1106519this is 1106519this is 1106519this is 1106519this is 1106519this is 1106519this is 1106519this is 1106519this is 1106519this is 1106519this is 1106519this is 1106538this is 1106538this is 1106538this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106500this is 1106500this is 1106500this is 1106500this is 1106500this is 1106500this is 1106500this is 1106500this is 1106500this is 1106500this is 1106500this is 1106500this is 1106500this is 1106500this is 1106500this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106513this is 1106513this is 1106513this is 1106513this is 1106513this is 1106513this is 1106513this is 1106513this is 1106567this is 1106567this is 1106567this is 1106567this is 1106567this is 1106567this is 1106567this is 1106567this is 1106482this is 1106482this is 1106482this is 1106482this is 1106482this is 1106482this is 1106482this is 1106482this is 1106558this is 1106558this is 1106576this is 1106615this is 1106430this is 1106430this is 1106430this is 1106430this is 1106430this is 1106430this is 1106430this is 1106430this is 1106430this is 1106430this is 1106430this is 1106430this is 1106430this is 1106430this is 1106430this is 1106430this is 1106430this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106651this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106587this is 1106587this is 1106587this is 1106587this is 1106587this is 1106523this is 1106523this is 1106523this is 1106523this is 1106523this is 1106523this is 1106523this is 1106520this is 1106533this is 1106533this is 1106533this is 1106533this is 1106533this is 1106533this is 1106607this is 1106450this is 1106579this is 1106522this is 1106522this is 1106548this is 1106548this is 1106548this is 1106505this is 1106505this is 1106540this is 1106540this is 1106540this is 1106540this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106627this is 1106557this is 1106543this is 1106543this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106599this is 1106599this is 1106599this is 1106599this is 1106599this is 1106514this is 1106514this is 1106514this is 1106514this is 1106514this is 1106514this is 1106514this is 1106514this is 1106514this is 1106514this is 1106490this is 1106490this is 1106490this is 1106490this is 1106490this is 1106490this is 1106490this is 1106490this is 1106490this is 1106490this is 1106490this is 1106490this is 1106490this is 1106490this is 1106525this is 1106525this is 1106671this is 1106671this is 1106671this is 1106671this is 1106671this is 1106671this is 1106671this is 1106671this is 1106671this is 1106671this is 1106671this is 1106671this is 1106671this is 1106671this is 1106671this is 1106671this is 1106584this is 1106584this is 1106584this is 1106584this is 1106584this is 1106584this is 1106584this is 1106584this is 1106584this is 1106584this is 1106584this is 1106584this is 1106584this is 1106584this is 1106584this is 1106598this is 1106647this is 1106647this is 1106647this is 1106647this is 1106647this is 1106647this is 1106647this is 1106647this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106563this is 1106563this is 1106563this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106619this is 1106568this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106646this is 1106629this is 1106629this is 1106629this is 1106629this is 1106629this is 1106629this is 1106629this is 1106604this is 1106596this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106580this is 1106639this is 1106655this is 1106583this is 1106583this is 1106583this is 1106583this is 1106583this is 1106583this is 1106583this is 1106583this is 1106583this is 1106583this is 1106583this is 1106649this is 1106649this is 1106553this is 1106616this is 1106545this is 1106545this is 1106618this is 1106618this is 1106618this is 1106618this is 1106618this is 1106618this is 1106608this is 1106608this is 1106608this is 1106711this is 1106711this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106554this is 1106554this is 1106554this is 1106554this is 1106554this is 1106554this is 1106554this is 1106554this is 1106554this is 1106554this is 1106554this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106530this is 1106530this is 1106530this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106565this is 1106565this is 1106565this is 1106565this is 1106638this is 1106638this is 1106638this is 1106638this is 1106638this is 1106638this is 1106638this is 1106638this is 1106638this is 1106638this is 1106638this is 1106636this is 1106636this is 1106636this is 1106679this is 1106679this is 1106679this is 1106679this is 1106679this is 1106679this is 1106573this is 1106573this is 1106573this is 1106731this is 1106731this is 1106550this is 1106550this is 1106574this is 1106574this is 1106574this is 1106574this is 1106574this is 1106574this is 1106592this is 1106592this is 1106592this is 1106592this is 1106592this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106648this is 1106648this is 1106620this is 1106699this is 1106699this is 1106699this is 1106699this is 1106699this is 1106699this is 1106699this is 1106699this is 1106699this is 1106699this is 1106699this is 1106699this is 1106699this is 1106699this is 1106699this is 1106699this is 1106699this is 1106664this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106562this is 1106585this is 1106585this is 1106594this is 1106594this is 1106594this is 1106594this is 1106594this is 1106594this is 1106594this is 1106594this is 1106594this is 1106594this is 1106594this is 1106594this is 1106594this is 1106594this is 1106594this is 1106594this is 1106594this is 1106640this is 1106623this is 1106623this is 1106623this is 1106623this is 1106623this is 1106623this is 1106623this is 1106623this is 1106623this is 1106623this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106570this is 1106570this is 1106570this is 1106570this is 1106570this is 1106570this is 1106570this is 1106570this is 1106686this is 1106686this is 1106668this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106643this is 1106643this is 1106643this is 1106643this is 1106643this is 1106643this is 1106643this is 1106643this is 1106643this is 1106643this is 1106632this is 1106605this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106602this is 1106602this is 1106602this is 1106602this is 1106602this is 1106602this is 1106602this is 1106602this is 1106602this is 1106602this is 1106602this is 1106602this is 1106602this is 1106602this is 1106602this is 1106602this is 1106602this is 1106681this is 1106709this is 1106709this is 1106709this is 1106709this is 1106709this is 1106709this is 1106709this is 1106709this is 1106709this is 1106709this is 1106709this is 1106663this is 1106663this is 1106663this is 1106663this is 1106663this is 1106614this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106719this is 1106719this is 1106719this is 1106719this is 1106660this is 1106660this is 1106660this is 1106660this is 1106660this is 1106660this is 1106660this is 1106660this is 1106660this is 1106660this is 1106688this is 1106688this is 1106688this is 1106688this is 1106688this is 1106688this is 1106688this is 1106688this is 1106688this is 1106688this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106696this is 1106613this is 1106684this is 1106683this is 1106634this is 1106739this is 1106739this is 1106739this is 1106739this is 1106739this is 1106739this is 1106739this is 1106739this is 1106739this is 1106739this is 1106739this is 1106739this is 1106739this is 1106701this is 1106701this is 1106729this is 1106729this is 1106729this is 1106729this is 1106729this is 1106729this is 1106708this is 1106708this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106622this is 1106622this is 1106622this is 1106622this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106716this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106637this is 1106637this is 1106637this is 1106637this is 1106704this is 1106704this is 1106704this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106791this is 1106791this is 1106728this is 1106728this is 1106703this is 1106703this is 1106703this is 1106703this is 1106703this is 1106703this is 1106703this is 1106749this is 1106642this is 1106645this is 1106645this is 1106645this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106657this is 1106657this is 1106657this is 1106747this is 1106747this is 1106633this is 1106633this is 1106633this is 1106633this is 1106633this is 1106633this is 1106654this is 1106654this is 1106654this is 1106610this is 1106746this is 1106748this is 1106748this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106769this is 1106662this is 1106662this is 1106662this is 1106662this is 1106718this is 1106718this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106712this is 1106712this is 1106712this is 1106712this is 1106712this is 1106712this is 1106712this is 1106712this is 1106712this is 1106712this is 1106712this is 1106674this is 1106674this is 1106674this is 1106674this is 1106674this is 1106674this is 1106674this is 1106674this is 1106674this is 1106674this is 1106674this is 1106674this is 1106674this is 1106674this is 1106755this is 1106755this is 1106755this is 1106766this is 1106766this is 1106766this is 1106766this is 1106766this is 1106766this is 1106766this is 1106766this is 1106766this is 1106766this is 1106766this is 1106766this is 1106766this is 1106665this is 1106665this is 1106665this is 1106665this is 1106665this is 1106665this is 1106665this is 1106665this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106767this is 1106767this is 1106653this is 1106653this is 1106653this is 1106653this is 1106740this is 1106740this is 1106740this is 1106740this is 1106740this is 1106740this is 1106740this is 1106740this is 1106740this is 1106740this is 1106740this is 1106740this is 1106740this is 1106740this is 1106740this is 1106740this is 1106740this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106741this is 1106741this is 1106741this is 1106741this is 1106741this is 1106741this is 1106741this is 1106741this is 1106741this is 1106741this is 1106741this is 1106741this is 1106673this is 1106673this is 1106673this is 1106673this is 1106775this is 1106682this is 1106682this is 1106682this is 1106682this is 1106682this is 1106682this is 1106682this is 1106682this is 1106682this is 1106682this is 1106682this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106685this is 1106685this is 1106685this is 1106685this is 1106685this is 1106685this is 1106685this is 1106685this is 1106685this is 1106685this is 1106685this is 1106685this is 1106756this is 1106756this is 1106756this is 1106756this is 1106756this is 1106756this is 1106756this is 1106756this is 1106756this is 1106756this is 1106756this is 1106756this is 1106756this is 1106756this is 1106756this is 1106756this is 1106789this is 1106789this is 1106789this is 1106789this is 1106789this is 1106759this is 1106759this is 1106759this is 1106759this is 1106759this is 1106759this is 1106759this is 1106759this is 1106759this is 1106759this is 1106759this is 1106759this is 1106759this is 1106759this is 1106759this is 1106759this is 1106759this is 1106786this is 1106677this is 1106677this is 1106677this is 1106677this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106650this is 1106650this is 1106650this is 1106650this is 1106650this is 1106705this is 1106788this is 1106788this is 1106788this is 1106788this is 1106788this is 1106788this is 1106788this is 1106760this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106779this is 1106779this is 1106779this is 1106779this is 1106779this is 1106779this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106851this is 1106851this is 1106851this is 1106851this is 1106851this is 1106697this is 1106697this is 1106697this is 1106697this is 1106697this is 1106697this is 1106697this is 1106697this is 1106697this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106713this is 1106713this is 1106713this is 1106713this is 1106713this is 1106713this is 1106713this is 1106713this is 1106713this is 1106713this is 1106713this is 1106713this is 1106713this is 1106713this is 1106713this is 1106807this is 1106725this is 1106725this is 1106725this is 1106725this is 1106725this is 1106725this is 1106725this is 1106725this is 1106725this is 1106761this is 1106761this is 1106714this is 1106714this is 1106714this is 1106714this is 1106714this is 1106714this is 1106714this is 1106714this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106780this is 1106780this is 1106780this is 1106743this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106795this is 1106795this is 1106795this is 1106795this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106772this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106826this is 1106733this is 1106733this is 1106781this is 1106733this is 1106781this is 1106733this is 1106781this is 1106733this is 1106781this is 1106733this is 1106733this is 1106781this is 1106733this is 1106781this is 1106733this is 1106733this is 1106781this is 1106733this is 1106781this is 1106733this is 1106781this is 1106733this is 1106781this is 1106733this is 1106781this is 1106733this is 1106781this is 1106733this is 1106733this is 1106733this is 1106733this is 1106733this is 1106733this is 1106733this is 1106733this is 1106733this is 1106717this is 1106717this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106829this is 1106829this is 1106829this is 1106829this is 1106829this is 1106829this is 1106829this is 1106829this is 1106829this is 1106829this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106827this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106754this is 1106754this is 1106754this is 1106754this is 1106754this is 1106754this is 1106754this is 1106754this is 1106754this is 1106754this is 1106754this is 1106754this is 1106754this is 1106816this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106763this is 1106763this is 1106763this is 1106763this is 1106763this is 1106763this is 1106763this is 1106763this is 1106763this is 1106763this is 1106763this is 1106763this is 1106764this is 1106764this is 1106764this is 1106764this is 1106764this is 1106764this is 1106764this is 1106764this is 1106764this is 1106764this is 1106764this is 1106764this is 1106764this is 1106764this is 1106753this is 1106798this is 1106798this is 1106798this is 1106798this is 1106798this is 1106798this is 1106798this is 1106798this is 1106774this is 1106690this is 1106690this is 1106690this is 1106690this is 1106690this is 1106690this is 1106690this is 1106690this is 1106690this is 1106690this is 1106690this is 1106690this is 1106690this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106846this is 1106846this is 1106846this is 1106762this is 1106783this is 1106783this is 1106849this is 1106849this is 1106849this is 1106849this is 1106849this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106828this is 1106828this is 1106800this is 1106800this is 1106800this is 1106800this is 1106800this is 1106800this is 1106800this is 1106800this is 1106773this is 1106773this is 1106773this is 1106773this is 1106773this is 1106773this is 1106773this is 1106821this is 1106710this is 1106710this is 1106710this is 1106710this is 1106710this is 1106710this is 1106710this is 1106710this is 1106866this is 1106866this is 1106866this is 1106866this is 1106866this is 1106737this is 1106737this is 1106737this is 1106737this is 1106737this is 1106737this is 1106737this is 1106737this is 1106737this is 1106737this is 1106815this is 1106815this is 1106848this is 1106848this is 1106784this is 1106784this is 1106765this is 1106765this is 1106765this is 1106765this is 1106765this is 1106839this is 1106730this is 1106730this is 1106730this is 1106730this is 1106730this is 1106730this is 1106792this is 1106792this is 1106792this is 1106792this is 1106792this is 1106792this is 1106792this is 1106792this is 1106792this is 1106792this is 1106814this is 1106814this is 1106814this is 1106814this is 1106814this is 1106814this is 1106814this is 1106814this is 1106814this is 1106814this is 1106814this is 1106814this is 1106814this is 1106814this is 1106814this is 1106757this is 1106757this is 1106757this is 1106757this is 1106757this is 1106757this is 1106757this is 1106757this is 1106757this is 1106757this is 1106757this is 1106757this is 1106757this is 1106757this is 1106757this is 1106757this is 1106757this is 1106804this is 1106804this is 1106804this is 1106835this is 1106835this is 1106835this is 1106835this is 1106835this is 1106835this is 1106835this is 1106835this is 1106835this is 1106835this is 1106841this is 1106841this is 1106841this is 1106841this is 1106841this is 1106841this is 1106836this is 1106820this is 1106891this is 1106891this is 1106891this is 1106891this is 1106891this is 1106891this is 1106891this is 1106891this is 1106867this is 1106867this is 1106867this is 1106867this is 1106867this is 1106867this is 1106867this is 1106867this is 1106867this is 1106867this is 1106867this is 1106812this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106886this is 1106886this is 1106886this is 1106886this is 1106793this is 1106793this is 1106793this is 1106861this is 1106861this is 1106861this is 1106861this is 1106861this is 1106861this is 1106861this is 1106861this is 1106861this is 1106861this is 1106861this is 1106861this is 1106856this is 1106911this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106834this is 1106834this is 1106834this is 1106834this is 1106834this is 1106834this is 1106805this is 1106805this is 1106805this is 1106855this is 1106823this is 1106823this is 1106823this is 1106823this is 1106823this is 1106823this is 1106823this is 1106823this is 1106823this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106881this is 1106881this is 1106881this is 1106859this is 1106859this is 1106859this is 1106813this is 1106813this is 1106813this is 1106813this is 1106813this is 1106813this is 1106813this is 1106813this is 1106813this is 1106813this is 1106860this is 1106860this is 1106860this is 1106860this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106931this is 1106931this is 1106888this is 1106888this is 1106888this is 1106888this is 1106888this is 1106888this is 1106876this is 1106876this is 1106876this is 1106876this is 1106876this is 1106876this is 1106876this is 1106876this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106750this is 1106832this is 1106832this is 1106832this is 1106921this is 1106921this is 1106921this is 1106921this is 1106869this is 1106869this is 1106869this is 1106869this is 1106869this is 1106838this is 1106825this is 1106825this is 1106825this is 1106825this is 1106842this is 1106874this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106797this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106907this is 1106907this is 1106907this is 1106907this is 1106907this is 1106907this is 1106907this is 1106852this is 1106852this is 1106852this is 1106852this is 1106852this is 1106852this is 1106852this is 1106852this is 1106852this is 1106852this is 1106852this is 1106852this is 1106852this is 1106852this is 1106889this is 1106843this is 1106843this is 1106843this is 1106843this is 1106862this is 1106862this is 1106862this is 1106862this is 1106862this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106900this is 1106900this is 1106900this is 1106900this is 1106900this is 1106900this is 1106900this is 1106900this is 1106900this is 1106900this is 1106900this is 1106770this is 1106770this is 1106770this is 1106770this is 1106770this is 1106770this is 1106770this is 1106833this is 1106833this is 1106833this is 1106833this is 1106833this is 1106833this is 1106833this is 1106833this is 1106833this is 1106833this is 1106941this is 1106941this is 1106941this is 1106941this is 1106941this is 1106941this is 1106941this is 1106896this is 1106896this is 1106896this is 1106896this is 1106908this is 1106951this is 1106951this is 1106951this is 1106844this is 1106844this is 1106844this is 1106844this is 1106916this is 1106858this is 1106875this is 1106863this is 1106863this is 1106863this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106837this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106790this is 1106790this is 1106790this is 1106790this is 1106790this is 1106790this is 1106790this is 1106790this is 1106790this is 1106790this is 1106790this is 1106790this is 1106872this is 1106934this is 1106895this is 1106895this is 1106895this is 1106895this is 1106895this is 1106895this is 1106895this is 1106895this is 1106895this is 1106895this is 1106895this is 1106971this is 1106971this is 1106971this is 1106971this is 1106971this is 1106971this is 1106971this is 1106971this is 1106971this is 1106971this is 1106971this is 1106971this is 1106971this is 1106892this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106928this is 1106884this is 1106884this is 1106884this is 1106884this is 1106884this is 1106884this is 1106884this is 1106884this is 1106884this is 1106884this is 1106893this is 1106893this is 1106893this is 1106893this is 1106893this is 1106936this is 1106939this is 1106939this is 1106939this is 1106939this is 1106939this is 1106939this is 1106939this is 1106922this is 1106922this is 1106922this is 1106922this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106877this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106929this is 1106929this is 1106929this is 1106929this is 1106929this is 1106929this is 1106929this is 1106929this is 1106929this is 1106929this is 1106929this is 1106883this is 1106883this is 1106865this is 1106865this is 1106865this is 1106865this is 1106865this is 1106865this is 1106865this is 1106865this is 1106865this is 1106865this is 1106865this is 1106865this is 1106956this is 1106960this is 1106960this is 1106960this is 1106960this is 1106960this is 1106960this is 1106960this is 1106960this is 1106960this is 1106960this is 1106960this is 1106960this is 1106960this is 1106960this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106897this is 1106897this is 1106897this is 1106897this is 1106897this is 1106897this is 1106948this is 1106948this is 1106948this is 1106948this is 1106948this is 1106948this is 1106948this is 1106948this is 1106948this is 1106948this is 1106948this is 1106952this is 1106885this is 1106959this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106980this is 1106980this is 1106980this is 1106980this is 1106981this is 1106981this is 1106981this is 1106981this is 1106981this is 1106981this is 1106981this is 1106981this is 1106981this is 1106981this is 1106981this is 1106981this is 1106850this is 1106850this is 1106850this is 1106850this is 1106850this is 1106850this is 1106850this is 1106850this is 1106850this is 1106850this is 1106850this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106923this is 1106923this is 1106923this is 1106974this is 1106974this is 1106974this is 1106974this is 1106968this is 1106905this is 1106913this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1107000this is 1107000this is 1106979this is 1106979this is 1106979this is 1106979this is 1106979this is 1106979this is 1106979this is 1106979this is 1106979this is 1106979this is 1106979this is 1106979this is 1106967this is 1106967this is 1106967this is 1106967this is 1106967this is 1106967this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106933this is 1106933this is 1106933this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106987this is 1106994this is 1106994this is 1106994this is 1106994this is 1106994this is 1106994this is 1107001this is 1106890this is 1106890this is 1106890this is 1106890this is 1106890this is 1106890this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106976this is 1106982this is 1106982this is 1106982this is 1106938this is 1106938this is 1106938this is 1106938this is 1106938this is 1106938this is 1106938this is 1106938this is 1106938this is 1106938this is 1106938this is 1106938this is 1106938this is 1106955this is 1106955this is 1106955this is 1106955this is 1106955this is 1106955this is 1106986this is 1106986this is 1106986this is 1106986this is 1106986this is 1106986this is 1106986this is 1106986this is 1106996this is 1106996this is 1106996this is 1106996this is 1106996this is 1106996this is 1106996this is 1106996this is 1106996this is 1106996this is 1106996this is 1106953this is 1106953this is 1106953this is 1106953this is 1106953this is 1106945this is 1106945this is 1106945this is 1106945this is 1106945this is 1106945this is 1106945this is 1106945this is 1106992this is 1106992this is 1106992this is 1106992this is 1107007this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1107011this is 1107011this is 1107011this is 1107011this is 1107011this is 1107011this is 1107011this is 1107011this is 1107011this is 1107011this is 1107011this is 1107011this is 1107011this is 1107011this is 1107011this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1106910this is 1106910this is 1106910this is 1106910this is 1106910this is 1106910this is 1106973this is 1106973this is 1106973this is 1106973this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1106963this is 1106963this is 1106963this is 1106963this is 1106963this is 1106963this is 1106963this is 1106963this is 1106963this is 1106963this is 1106963this is 1106963this is 1106963this is 1106963this is 1106963this is 1106930this is 1106950this is 1106950this is 1106950this is 1106950this is 1106950this is 1106950this is 1106950this is 1106924this is 1106985this is 1106985this is 1106985this is 1106985this is 1106985this is 1106985this is 1106985this is 1106985this is 1106985this is 1106985this is 1106985this is 1106985this is 1106985this is 1106985this is 1106985this is 1106985this is 1106985this is 1106970this is 1106970this is 1106970this is 1106983this is 1106983this is 1106983this is 1106983this is 1106983this is 1106983this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106998this is 1106998this is 1106998this is 1106998this is 1106998this is 1106998this is 1106998this is 1106998this is 1106998this is 1106998this is 1106998this is 1106998this is 1106998this is 1106998this is 1106998this is 1106998this is 1106998this is 1107016this is 1107016this is 1107016this is 1107016this is 1107016this is 1107016this is 1107016this is 1107016this is 1107014this is 1107014this is 1107014this is 1107014this is 1107014this is 1107014this is 1107014this is 1107014this is 1107014this is 1107014this is 1107014this is 1106995this is 1106995this is 1106995this is 1106995this is 1106995this is 1106995this is 1106995this is 1106995this is 1107012this is 1107012this is 1107012this is 1107012this is 1106944this is 1106944this is 1106944this is 1106944this is 1106944this is 1106944this is 1106944this is 1106944this is 1106944this is 1106944this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1107003this is 1107003this is 1107003this is 1107018this is 1107010this is 1107010this is 1106964this is 1107005this is 1107005this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107028this is 1107028this is 1107028this is 1107028this is 1107028this is 1107028this is 1107028this is 1107028this is 1107028this is 1107028this is 1107028this is 1107028this is 1107028this is 1107028this is 1107028this is 1107028this is 1107028this is 1107023this is 1107023this is 1107023this is 1107023this is 1107023this is 1107023this is 1107023this is 1107023this is 1107023this is 1107026this is 1107026this is 1107026this is 1107026this is 1107026this is 1107026this is 1107026this is 1107026this is 1107026this is 1107026this is 1107026this is 1107026this is 1107026this is 1107029this is 1107029this is 1107029this is 1107029this is 1107029this is 1107029this is 1107029this is 1107029this is 1107029this is 1107029this is 1107027this is 1107027this is 1107027this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106997this is 1106997this is 1106997this is 1106997this is 1106997this is 1106997this is 1106997this is 1106997this is 1106997this is 1106993this is 1106993this is 1106993this is 1106993this is 1106993this is 1106993this is 1106993this is 1107017this is 1107017this is 1107017this is 1107017this is 1106984this is 1106984this is 1106984this is 1106984this is 1106984this is 1106984this is 1106984this is 1107004this is 1107004this is 1107004this is 1107004this is 1107004this is 1107004this is 1107004this is 1107004this is 1107004this is 1107004this is 1107024this is 1107024this is 1107024this is sphinx-2.2.11-release/test/test_245/data.xml0000644000175000017500000126161312743402012020054 0ustar alexeyalexey 1107024this is 1107024this is 1107024this is 1107024this is 1107004this is 1107004this is 1107004this is 1107004this is 1107004this is 1107004this is 1107004this is 1107004this is 1107004this is 1107004this is 1106984this is 1106984this is 1106984this is 1106984this is 1106984this is 1106984this is 1106984this is 1107017this is 1107017this is 1107017this is 1107017this is 1106993this is 1106993this is 1106993this is 1106993this is 1106993this is 1106993this is 1106993this is 1106997this is 1106997this is 1106997this is 1106997this is 1106997this is 1106997this is 1106997this is 1106997this is 1106997this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1106977this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107030this is 1107027this is 1107027this is 1107027this is 1107029this is 1107029this is 1107029this is 1107029this is 1107029this is 1107029this is 1107029this is 1107029this is 1107029this is 1107029this is 1107026this is 1107026this is 1107026this is 1107026this is 1107026this is 1107026this is 1107026this is 1107026this is 1107026this is 1107026this is 1107026this is 1107026this is 1107026this is 1107023this is 1107023this is 1107023this is 1107023this is 1107023this is 1107023this is 1107023this is 1107023this is 1107023this is 1107028this is 1107028this is 1107028this is 1107028this is 1107028this is 1107028this is 1107028this is 1107028this is 1107028this is 1107028this is 1107028this is 1107028this is 1107028this is 1107028this is 1107028this is 1107028this is 1107028this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107019this is 1107005this is 1107005this is 1106964this is 1107010this is 1107010this is 1107018this is 1107003this is 1107003this is 1107003this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106990this is 1106944this is 1106944this is 1106944this is 1106944this is 1106944this is 1106944this is 1106944this is 1106944this is 1106944this is 1106944this is 1107012this is 1107012this is 1107012this is 1107012this is 1106995this is 1106995this is 1106995this is 1106995this is 1106995this is 1106995this is 1106995this is 1106995this is 1107014this is 1107014this is 1107014this is 1107014this is 1107014this is 1107014this is 1107014this is 1107014this is 1107014this is 1107014this is 1107014this is 1107016this is 1107016this is 1107016this is 1107016this is 1107016this is 1107016this is 1107016this is 1107016this is 1106998this is 1106998this is 1106998this is 1106998this is 1106998this is 1106998this is 1106998this is 1106998this is 1106998this is 1106998this is 1106998this is 1106998this is 1106998this is 1106998this is 1106998this is 1106998this is 1106998this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106978this is 1106983this is 1106983this is 1106983this is 1106983this is 1106983this is 1106983this is 1106970this is 1106970this is 1106970this is 1106985this is 1106985this is 1106985this is 1106985this is 1106985this is 1106985this is 1106985this is 1106985this is 1106985this is 1106985this is 1106985this is 1106985this is 1106985this is 1106985this is 1106985this is 1106985this is 1106985this is 1106924this is 1106950this is 1106950this is 1106950this is 1106950this is 1106950this is 1106950this is 1106950this is 1106930this is 1106963this is 1106963this is 1106963this is 1106963this is 1106963this is 1106963this is 1106963this is 1106963this is 1106963this is 1106963this is 1106963this is 1106963this is 1106963this is 1106963this is 1106963this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1107008this is 1106973this is 1106973this is 1106973this is 1106973this is 1106910this is 1106910this is 1106910this is 1106910this is 1106910this is 1106910this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107002this is 1107011this is 1107011this is 1107011this is 1107011this is 1107011this is 1107011this is 1107011this is 1107011this is 1107011this is 1107011this is 1107011this is 1107011this is 1107011this is 1107011this is 1107011this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1106937this is 1107007this is 1106992this is 1106992this is 1106992this is 1106992this is 1106945this is 1106945this is 1106945this is 1106945this is 1106945this is 1106945this is 1106945this is 1106945this is 1106953this is 1106953this is 1106953this is 1106953this is 1106953this is 1106996this is 1106996this is 1106996this is 1106996this is 1106996this is 1106996this is 1106996this is 1106996this is 1106996this is 1106996this is 1106996this is 1106986this is 1106986this is 1106986this is 1106986this is 1106986this is 1106986this is 1106986this is 1106986this is 1106955this is 1106955this is 1106955this is 1106955this is 1106955this is 1106955this is 1106938this is 1106938this is 1106938this is 1106938this is 1106938this is 1106938this is 1106938this is 1106938this is 1106938this is 1106938this is 1106938this is 1106938this is 1106938this is 1106982this is 1106982this is 1106982this is 1106976this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106943this is 1106890this is 1106890this is 1106890this is 1106890this is 1106890this is 1106890this is 1107001this is 1106994this is 1106994this is 1106994this is 1106994this is 1106994this is 1106994this is 1106987this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106972this is 1106933this is 1106933this is 1106933this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106969this is 1106967this is 1106967this is 1106967this is 1106967this is 1106967this is 1106967this is 1106979this is 1106979this is 1106979this is 1106979this is 1106979this is 1106979this is 1106979this is 1106979this is 1106979this is 1106979this is 1106979this is 1106979this is 1107000this is 1107000this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106917this is 1106913this is 1106905this is 1106968this is 1106974this is 1106974this is 1106974this is 1106974this is 1106923this is 1106923this is 1106923this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106918this is 1106850this is 1106850this is 1106850this is 1106850this is 1106850this is 1106850this is 1106850this is 1106850this is 1106850this is 1106850this is 1106850this is 1106981this is 1106981this is 1106981this is 1106981this is 1106981this is 1106981this is 1106981this is 1106981this is 1106981this is 1106981this is 1106981this is 1106981this is 1106980this is 1106980this is 1106980this is 1106980this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106935this is 1106959this is 1106885this is 1106952this is 1106948this is 1106948this is 1106948this is 1106948this is 1106948this is 1106948this is 1106948this is 1106948this is 1106948this is 1106948this is 1106948this is 1106897this is 1106897this is 1106897this is 1106897this is 1106897this is 1106897this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106942this is 1106960this is 1106960this is 1106960this is 1106960this is 1106960this is 1106960this is 1106960this is 1106960this is 1106960this is 1106960this is 1106960this is 1106960this is 1106960this is 1106960this is 1106956this is 1106865this is 1106865this is 1106865this is 1106865this is 1106865this is 1106865this is 1106865this is 1106865this is 1106865this is 1106865this is 1106865this is 1106865this is 1106883this is 1106883this is 1106929this is 1106929this is 1106929this is 1106929this is 1106929this is 1106929this is 1106929this is 1106929this is 1106929this is 1106929this is 1106929this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106954this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106810this is 1106877this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106915this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106898this is 1106922this is 1106922this is 1106922this is 1106922this is 1106939this is 1106939this is 1106939this is 1106939this is 1106939this is 1106939this is 1106939this is 1106936this is 1106893this is 1106893this is 1106893this is 1106893this is 1106893this is 1106884this is 1106884this is 1106884this is 1106884this is 1106884this is 1106884this is 1106884this is 1106884this is 1106884this is 1106884this is 1106928this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106857this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106940this is 1106892this is 1106971this is 1106971this is 1106971this is 1106971this is 1106971this is 1106971this is 1106971this is 1106971this is 1106971this is 1106971this is 1106971this is 1106971this is 1106971this is 1106895this is 1106895this is 1106895this is 1106895this is 1106895this is 1106895this is 1106895this is 1106895this is 1106895this is 1106895this is 1106895this is 1106934this is 1106872this is 1106790this is 1106790this is 1106790this is 1106790this is 1106790this is 1106790this is 1106790this is 1106790this is 1106790this is 1106790this is 1106790this is 1106790this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106927this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106853this is 1106837this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106845this is 1106863this is 1106863this is 1106863this is 1106875this is 1106858this is 1106916this is 1106844this is 1106844this is 1106844this is 1106844this is 1106951this is 1106951this is 1106951this is 1106908this is 1106896this is 1106896this is 1106896this is 1106896this is 1106941this is 1106941this is 1106941this is 1106941this is 1106941this is 1106941this is 1106941this is 1106833this is 1106833this is 1106833this is 1106833this is 1106833this is 1106833this is 1106833this is 1106833this is 1106833this is 1106833this is 1106770this is 1106770this is 1106770this is 1106770this is 1106770this is 1106770this is 1106770this is 1106900this is 1106900this is 1106900this is 1106900this is 1106900this is 1106900this is 1106900this is 1106900this is 1106900this is 1106900this is 1106900this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106894this is 1106862this is 1106862this is 1106862this is 1106862this is 1106862this is 1106843this is 1106843this is 1106843this is 1106843this is 1106889this is 1106852this is 1106852this is 1106852this is 1106852this is 1106852this is 1106852this is 1106852this is 1106852this is 1106852this is 1106852this is 1106852this is 1106852this is 1106852this is 1106852this is 1106907this is 1106907this is 1106907this is 1106907this is 1106907this is 1106907this is 1106907this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106880this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106926this is 1106797this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106879this is 1106874this is 1106842this is 1106825this is 1106825this is 1106825this is 1106825this is 1106838this is 1106869this is 1106869this is 1106869this is 1106869this is 1106869this is 1106921this is 1106921this is 1106921this is 1106921this is 1106832this is 1106832this is 1106832this is 1106750this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106854this is 1106876this is 1106876this is 1106876this is 1106876this is 1106876this is 1106876this is 1106876this is 1106876this is 1106888this is 1106888this is 1106888this is 1106888this is 1106888this is 1106888this is 1106931this is 1106931this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106822this is 1106860this is 1106860this is 1106860this is 1106860this is 1106813this is 1106813this is 1106813this is 1106813this is 1106813this is 1106813this is 1106813this is 1106813this is 1106813this is 1106813this is 1106859this is 1106859this is 1106859this is 1106881this is 1106881this is 1106881this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106818this is 1106823this is 1106823this is 1106823this is 1106823this is 1106823this is 1106823this is 1106823this is 1106823this is 1106823this is 1106855this is 1106805this is 1106805this is 1106805this is 1106834this is 1106834this is 1106834this is 1106834this is 1106834this is 1106834this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106887this is 1106911this is 1106856this is 1106861this is 1106861this is 1106861this is 1106861this is 1106861this is 1106861this is 1106861this is 1106861this is 1106861this is 1106861this is 1106861this is 1106861this is 1106793this is 1106793this is 1106793this is 1106886this is 1106886this is 1106886this is 1106886this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106868this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106785this is 1106812this is 1106867this is 1106867this is 1106867this is 1106867this is 1106867this is 1106867this is 1106867this is 1106867this is 1106867this is 1106867this is 1106867this is 1106891this is 1106891this is 1106891this is 1106891this is 1106891this is 1106891this is 1106891this is 1106891this is 1106820this is 1106836this is 1106841this is 1106841this is 1106841this is 1106841this is 1106841this is 1106841this is 1106835this is 1106835this is 1106835this is 1106835this is 1106835this is 1106835this is 1106835this is 1106835this is 1106835this is 1106835this is 1106804this is 1106804this is 1106804this is 1106757this is 1106757this is 1106757this is 1106757this is 1106757this is 1106757this is 1106757this is 1106757this is 1106757this is 1106757this is 1106757this is 1106757this is 1106757this is 1106757this is 1106757this is 1106757this is 1106757this is 1106814this is 1106814this is 1106814this is 1106814this is 1106814this is 1106814this is 1106814this is 1106814this is 1106814this is 1106814this is 1106814this is 1106814this is 1106814this is 1106814this is 1106814this is 1106792this is 1106792this is 1106792this is 1106792this is 1106792this is 1106792this is 1106792this is 1106792this is 1106792this is 1106792this is 1106730this is 1106730this is 1106730this is 1106730this is 1106730this is 1106730this is 1106839this is 1106765this is 1106765this is 1106765this is 1106765this is 1106765this is 1106784this is 1106784this is 1106848this is 1106848this is 1106815this is 1106815this is 1106737this is 1106737this is 1106737this is 1106737this is 1106737this is 1106737this is 1106737this is 1106737this is 1106737this is 1106737this is 1106866this is 1106866this is 1106866this is 1106866this is 1106866this is 1106710this is 1106710this is 1106710this is 1106710this is 1106710this is 1106710this is 1106710this is 1106710this is 1106821this is 1106773this is 1106773this is 1106773this is 1106773this is 1106773this is 1106773this is 1106773this is 1106800this is 1106800this is 1106800this is 1106800this is 1106800this is 1106800this is 1106800this is 1106800this is 1106828this is 1106828this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106871this is 1106849this is 1106849this is 1106849this is 1106849this is 1106849this is 1106783this is 1106783this is 1106762this is 1106846this is 1106846this is 1106846this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106847this is 1106690this is 1106690this is 1106690this is 1106690this is 1106690this is 1106690this is 1106690this is 1106690this is 1106690this is 1106690this is 1106690this is 1106690this is 1106690this is 1106774this is 1106798this is 1106798this is 1106798this is 1106798this is 1106798this is 1106798this is 1106798this is 1106798this is 1106753this is 1106764this is 1106764this is 1106764this is 1106764this is 1106764this is 1106764this is 1106764this is 1106764this is 1106764this is 1106764this is 1106764this is 1106764this is 1106764this is 1106764this is 1106763this is 1106763this is 1106763this is 1106763this is 1106763this is 1106763this is 1106763this is 1106763this is 1106763this is 1106763this is 1106763this is 1106763this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106801this is 1106816this is 1106754this is 1106754this is 1106754this is 1106754this is 1106754this is 1106754this is 1106754this is 1106754this is 1106754this is 1106754this is 1106754this is 1106754this is 1106754this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106745this is 1106827this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106808this is 1106829this is 1106829this is 1106829this is 1106829this is 1106829this is 1106829this is 1106829this is 1106829this is 1106829this is 1106829this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106819this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106778this is 1106717this is 1106717this is 1106733this is 1106733this is 1106733this is 1106733this is 1106733this is 1106733this is 1106733this is 1106733this is 1106733this is 1106781this is 1106733this is 1106781this is 1106733this is 1106781this is 1106733this is 1106781this is 1106733this is 1106781this is 1106733this is 1106781this is 1106733this is 1106733this is 1106781this is 1106733this is 1106781this is 1106733this is 1106733this is 1106781this is 1106733this is 1106781this is 1106733this is 1106781this is 1106733this is 1106781this is 1106733this is 1106733this is 1106826this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106734this is 1106772this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106796this is 1106795this is 1106795this is 1106795this is 1106795this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106670this is 1106743this is 1106780this is 1106780this is 1106780this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106758this is 1106714this is 1106714this is 1106714this is 1106714this is 1106714this is 1106714this is 1106714this is 1106714this is 1106761this is 1106761this is 1106725this is 1106725this is 1106725this is 1106725this is 1106725this is 1106725this is 1106725this is 1106725this is 1106725this is 1106807this is 1106713this is 1106713this is 1106713this is 1106713this is 1106713this is 1106713this is 1106713this is 1106713this is 1106713this is 1106713this is 1106713this is 1106713this is 1106713this is 1106713this is 1106713this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106702this is 1106697this is 1106697this is 1106697this is 1106697this is 1106697this is 1106697this is 1106697this is 1106697this is 1106697this is 1106851this is 1106851this is 1106851this is 1106851this is 1106851this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106806this is 1106779this is 1106779this is 1106779this is 1106779this is 1106779this is 1106779this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106809this is 1106760this is 1106788this is 1106788this is 1106788this is 1106788this is 1106788this is 1106788this is 1106788this is 1106705this is 1106650this is 1106650this is 1106650this is 1106650this is 1106650this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106752this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106693this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106738this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106787this is 1106677this is 1106677this is 1106677this is 1106677this is 1106786this is 1106759this is 1106759this is 1106759this is 1106759this is 1106759this is 1106759this is 1106759this is 1106759this is 1106759this is 1106759this is 1106759this is 1106759this is 1106759this is 1106759this is 1106759this is 1106759this is 1106759this is 1106789this is 1106789this is 1106789this is 1106789this is 1106789this is 1106756this is 1106756this is 1106756this is 1106756this is 1106756this is 1106756this is 1106756this is 1106756this is 1106756this is 1106756this is 1106756this is 1106756this is 1106756this is 1106756this is 1106756this is 1106756this is 1106685this is 1106685this is 1106685this is 1106685this is 1106685this is 1106685this is 1106685this is 1106685this is 1106685this is 1106685this is 1106685this is 1106685this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106732this is 1106682this is 1106682this is 1106682this is 1106682this is 1106682this is 1106682this is 1106682this is 1106682this is 1106682this is 1106682this is 1106682this is 1106775this is 1106673this is 1106673this is 1106673this is 1106673this is 1106741this is 1106741this is 1106741this is 1106741this is 1106741this is 1106741this is 1106741this is 1106741this is 1106741this is 1106741this is 1106741this is 1106741this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106724this is 1106740this is 1106740this is 1106740this is 1106740this is 1106740this is 1106740this is 1106740this is 1106740this is 1106740this is 1106740this is 1106740this is 1106740this is 1106740this is 1106740this is 1106740this is 1106740this is 1106740this is 1106653this is 1106653this is 1106653this is 1106653this is 1106767this is 1106767this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106694this is 1106665this is 1106665this is 1106665this is 1106665this is 1106665this is 1106665this is 1106665this is 1106665this is 1106766this is 1106766this is 1106766this is 1106766this is 1106766this is 1106766this is 1106766this is 1106766this is 1106766this is 1106766this is 1106766this is 1106766this is 1106766this is 1106755this is 1106755this is 1106755this is 1106674this is 1106674this is 1106674this is 1106674this is 1106674this is 1106674this is 1106674this is 1106674this is 1106674this is 1106674this is 1106674this is 1106674this is 1106674this is 1106674this is 1106712this is 1106712this is 1106712this is 1106712this is 1106712this is 1106712this is 1106712this is 1106712this is 1106712this is 1106712this is 1106712this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106811this is 1106718this is 1106718this is 1106662this is 1106662this is 1106662this is 1106662this is 1106769this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106630this is 1106748this is 1106748this is 1106746this is 1106610this is 1106654this is 1106654this is 1106654this is 1106633this is 1106633this is 1106633this is 1106633this is 1106633this is 1106633this is 1106747this is 1106747this is 1106657this is 1106657this is 1106657this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106735this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106672this is 1106645this is 1106645this is 1106645this is 1106642this is 1106749this is 1106703this is 1106703this is 1106703this is 1106703this is 1106703this is 1106703this is 1106703this is 1106728this is 1106728this is 1106791this is 1106791this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106727this is 1106704this is 1106704this is 1106704this is 1106637this is 1106637this is 1106637this is 1106637this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106716this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106715this is 1106622this is 1106622this is 1106622this is 1106622this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106652this is 1106708this is 1106708this is 1106729this is 1106729this is 1106729this is 1106729this is 1106729this is 1106729this is 1106701this is 1106701this is 1106739this is 1106739this is 1106739this is 1106739this is 1106739this is 1106739this is 1106739this is 1106739this is 1106739this is 1106739this is 1106739this is 1106739this is 1106739this is 1106634this is 1106683this is 1106684this is 1106613this is 1106696this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106625this is 1106688this is 1106688this is 1106688this is 1106688this is 1106688this is 1106688this is 1106688this is 1106688this is 1106688this is 1106688this is 1106660this is 1106660this is 1106660this is 1106660this is 1106660this is 1106660this is 1106660this is 1106660this is 1106660this is 1106660this is 1106719this is 1106719this is 1106719this is 1106719this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106676this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106617this is 1106614this is 1106663this is 1106663this is 1106663this is 1106663this is 1106663this is 1106709this is 1106709this is 1106709this is 1106709this is 1106709this is 1106709this is 1106709this is 1106709this is 1106709this is 1106709this is 1106709this is 1106681this is 1106602this is 1106602this is 1106602this is 1106602this is 1106602this is 1106602this is 1106602this is 1106602this is 1106602this is 1106602this is 1106602this is 1106602this is 1106602this is 1106602this is 1106602this is 1106602this is 1106602this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106771this is 1106605this is 1106632this is 1106643this is 1106643this is 1106643this is 1106643this is 1106643this is 1106643this is 1106643this is 1106643this is 1106643this is 1106643this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106687this is 1106668this is 1106686this is 1106686this is 1106570this is 1106570this is 1106570this is 1106570this is 1106570this is 1106570this is 1106570this is 1106570this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106656this is 1106623this is 1106623this is 1106623this is 1106623this is 1106623this is 1106623this is 1106623this is 1106623this is 1106623this is 1106623this is 1106640this is 1106594this is 1106594this is 1106594this is 1106594this is 1106594this is 1106594this is 1106594this is 1106594this is 1106594this is 1106594this is 1106594this is 1106594this is 1106594this is 1106594this is 1106594this is 1106594this is 1106594this is 1106585this is 1106585this is 1106562this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106675this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106751this is 1106664this is 1106699this is 1106699this is 1106699this is 1106699this is 1106699this is 1106699this is 1106699this is 1106699this is 1106699this is 1106699this is 1106699this is 1106699this is 1106699this is 1106699this is 1106699this is 1106699this is 1106699this is 1106620this is 1106648this is 1106648this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106689this is 1106592this is 1106592this is 1106592this is 1106592this is 1106592this is 1106574this is 1106574this is 1106574this is 1106574this is 1106574this is 1106574this is 1106550this is 1106550this is 1106731this is 1106731this is 1106573this is 1106573this is 1106573this is 1106679this is 1106679this is 1106679this is 1106679this is 1106679this is 1106679this is 1106636this is 1106636this is 1106636this is 1106638this is 1106638this is 1106638this is 1106638this is 1106638this is 1106638this is 1106638this is 1106638this is 1106638this is 1106638this is 1106638this is 1106565this is 1106565this is 1106565this is 1106565this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106603this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106669this is 1106530this is 1106530this is 1106530this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106644this is 1106554this is 1106554this is 1106554this is 1106554this is 1106554this is 1106554this is 1106554this is 1106554this is 1106554this is 1106554this is 1106554this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106577this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106600this is 1106711this is 1106711this is 1106608this is 1106608this is 1106608this is 1106618this is 1106618this is 1106618this is 1106618this is 1106618this is 1106618this is 1106545this is 1106545this is 1106616this is 1106553this is 1106649this is 1106649this is 1106583this is 1106583this is 1106583this is 1106583this is 1106583this is 1106583this is 1106583this is 1106583this is 1106583this is 1106583this is 1106583this is 1106655this is 1106639this is 1106580this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106510this is 1106596this is 1106604this is 1106629this is 1106629this is 1106629this is 1106629this is 1106629this is 1106629this is 1106629this is 1106646this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106691this is 1106568this is 1106619this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106534this is 1106563this is 1106563this is 1106563this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106560this is 1106647this is 1106647this is 1106647this is 1106647this is 1106647this is 1106647this is 1106647this is 1106647this is 1106598this is 1106584this is 1106584this is 1106584this is 1106584this is 1106584this is 1106584this is 1106584this is 1106584this is 1106584this is 1106584this is 1106584this is 1106584this is 1106584this is 1106584this is 1106584this is 1106671this is 1106671this is 1106671this is 1106671this is 1106671this is 1106671this is 1106671this is 1106671this is 1106671this is 1106671this is 1106671this is 1106671this is 1106671this is 1106671this is 1106671this is 1106671this is 1106525this is 1106525this is 1106490this is 1106490this is 1106490this is 1106490this is 1106490this is 1106490this is 1106490this is 1106490this is 1106490this is 1106490this is 1106490this is 1106490this is 1106490this is 1106490this is 1106514this is 1106514this is 1106514this is 1106514this is 1106514this is 1106514this is 1106514this is 1106514this is 1106514this is 1106514this is 1106599this is 1106599this is 1106599this is 1106599this is 1106599this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106552this is 1106543this is 1106543this is 1106557this is 1106627this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106470this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106564this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106635this is 1106540this is 1106540this is 1106540this is 1106540this is 1106505this is 1106505this is 1106548this is 1106548this is 1106548this is 1106522this is 1106522this is 1106579this is 1106450this is 1106607this is 1106533this is 1106533this is 1106533this is 1106533this is 1106533this is 1106533this is 1106520this is 1106523this is 1106523this is 1106523this is 1106523this is 1106523this is 1106523this is 1106523this is 1106587this is 1106587this is 1106587this is 1106587this is 1106587this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106601this is 1106651this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106502this is 1106430this is 1106430this is 1106430this is 1106430this is 1106430this is 1106430this is 1106430this is 1106430this is 1106430this is 1106430this is 1106430this is 1106430this is 1106430this is 1106430this is 1106430this is 1106430this is 1106430this is 1106615this is 1106576this is 1106558this is 1106558this is 1106482this is 1106482this is 1106482this is 1106482this is 1106482this is 1106482this is 1106482this is 1106482this is 1106567this is 1106567this is 1106567this is 1106567this is 1106567this is 1106567this is 1106567this is 1106567this is 1106513this is 1106513this is 1106513this is 1106513this is 1106513this is 1106513this is 1106513this is 1106513this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106524this is 1106500this is 1106500this is 1106500this is 1106500this is 1106500this is 1106500this is 1106500this is 1106500this is 1106500this is 1106500this is 1106500this is 1106500this is 1106500this is 1106500this is 1106500this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106503this is 1106538this is 1106538this is 1106538this is 1106519this is 1106519this is 1106519this is 1106519this is 1106519this is 1106519this is 1106519this is 1106519this is 1106519this is 1106519this is 1106519this is 1106519this is 1106519this is 1106519this is 1106519this is 1106595this is 1106595this is 1106595this is 1106595this is 1106595this is 1106595this is 1106595this is 1106595this is 1106595this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106497this is 1106631this is 1106631this is 1106631this is 1106631this is 1106631this is 1106631this is 1106631this is 1106631this is 1106631this is 1106631this is 1106631this is 1106631this is 1106631this is 1106631this is 1106631this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106556this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106547this is 1106462this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106499this is 1106606this is 1106581this is 1106485this is 1106485this is 1106485this is 1106485this is 1106485this is 1106485this is 1106485this is 1106485this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106569this is 1106611this is 1106504this is 1106504this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106460this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106477this is 1106536this is 1106536this is 1106483this is 1106483this is 1106483this is 1106483this is 1106483this is 1106442this is 1106442this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106454this is 1106518this is 1106518this is 1106518this is 1106518this is 1106518this is 1106518this is 1106518this is 1106518this is 1106518this is 1106518this is 1106591this is 1106591this is 1106591this is 1106591this is 1106591this is 1106591this is 1106591this is 1106591this is 1106591this is 1106591this is 1106591this is 1106591this is 1106457this is 1106457this is 1106457this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106566this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106493this is 1106484this is 1106484this is 1106390this is 1106390this is 1106390this is 1106390this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106561this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106434this is 1106440this is 1106527this is 1106527this is 1106527this is 1106527this is 1106527this is 1106464this is 1106464this is 1106464this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106463this is 1106529this is 1106529this is 1106529this is 1106529this is 1106529this is 1106529this is 1106529this is 1106529this is 1106529this is 1106529this is 1106529this is 1106529this is 1106529this is 1106529this is 1106529this is 1106529this is 1106529this is 1106508this is 1106529this is 1106508this is 1106529this is 1106508this is 1106529this is 1106508this is 1106529this is 1106508this is 1106529this is 1106508this is 1106508this is 1106529this is 1106508this is 1106529this is 1106508this is 1106529this is 1106508this is 1106508this is 1106508this is 1106508this is 1106508this is 1106508this is 1106508this is 1106508this is 1106508this is 1106508this is 1106508this is 1106508this is 1106508this is 1106508this is 1106508this is 1106508this is 1106370this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106422this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106473this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106420this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106437this is 1106414this is 1106414this is 1106414this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106535this is 1106443this is 1106443this is 1106443this is 1106443this is 1106443this is 1106443this is 1106443this is 1106443this is 1106443this is 1106443this is 1106546this is 1106571this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106445this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106488this is 1106509this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106453this is 1106507this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106350this is 1106402this is 1106423this is 1106423this is 1106423this is 1106423this is 1106423this is 1106423this is 1106423this is 1106423this is 1106423this is 1106423this is 1106423this is 1106423this is 1106423this is 1106423this is 1106423this is sphinx-2.2.11-release/test/test_242/0000755000175000017500000000000012743402012016404 5ustar alexeyalexeysphinx-2.2.11-release/test/test_242/test.xml0000644000175000017500000027671012743402012020122 0ustar alexeyalexey wildcard indexer { mem_limit = 28M } searchd { } source src1 { type = mysql sql_query_pre = SET NAMES utf8 sql_query = SELECT id, 11 idd, text from test_table sql_attr_uint = idd } index idx1 { source = src1 path = /idx1 docinfo = extern dict = keywords charset_table = 0..9, a..z, _, A..Z->a..z, U+00C0->a, U+00C1->a,U+00C2->a, U+00C3->a, U+00C4->a, U+00C5->a, U+00C7->c, U+00C8->e,U+00C9->e, U+00CA->e, U+00CB->e, U+00CC->i, U+00CD->i, U+00CE->i,U+00CF->i, U+00D1->n, U+00D2->o, U+00D3->o, U+00D4->o, U+00D5->o,U+00D6->o, U+00D8->o, U+00D9->u, U+00DA->u, U+00DB->u, U+00DC->u,U+00DD->y, U+00E0->a, U+00E1->a, U+00E2->a, U+00E3->a, U+00E4->a,U+00E5->a, U+00E7->c, U+00E8->e, U+00E9->e, U+00EA->e, U+00EB->e,U+00EC->i, U+00ED->i, U+00EE->i, U+00EF->i, U+00F1->n, U+00F2->o,U+00F3->o, U+00F4->o, U+00F5->o, U+00F6->o, U+00F8->o, U+00F9->u,U+00FA->u, U+00FB->u, U+00FC->u, U+00FD->y, U+00FF->y, U+0100->a,U+0101->a, U+0102->a, U+0103->a, U+0104->a, U+0105->a, U+0106->c,U+0107->c, U+0108->c, U+0109->c, U+010A->c, U+010B->c, U+010C->c,U+010D->c, U+010E->d, U+010F->d, U+0112->e, U+0113->e, U+0114->e,U+0115->e, U+0116->e, U+0117->e, U+0118->e, U+0119->e, U+011A->e,U+011B->e, U+011C->g, U+011D->g, U+011E->g, U+011F->g, U+0120->g,U+0121->g, U+0122->g, U+0123->g, U+0124->h, U+0125->h, U+0128->i,U+0129->i, U+0131->i, U+012A->i, U+012B->i, U+012C->i, U+012D->i,U+012E->i, U+012F->i, U+0130->i, U+0134->j, U+0135->j, U+0136->k,U+0137->k, U+0139->l, U+013A->l, U+013B->l, U+013C->l, U+013D->l,U+013E->l, U+0141->l, U+0142->l, U+0143->n, U+0144->n, U+0145->n,U+0146->n, U+0147->n, U+0148->n, U+014C->o, U+014D->o, U+014E->o,U+014F->o, U+0150->o, U+0151->o, U+0154->r, U+0155->r, U+0156->r,U+0157->r, U+0158->r, U+0159->r, U+015A->s, U+015B->s, U+015C->s,U+015D->s, U+015E->s, U+015F->s, U+0160->s, U+0161->s, U+0162->t,U+0163->t, U+0164->t, U+0165->t, U+0168->u, U+0169->u, U+016A->u,U+016B->u, U+016C->u, U+016D->u, U+016E->u, U+016F->u, U+0170->u,U+0171->u, U+0172->u, U+0173->u, U+0174->w, U+0175->w, U+0176->y,U+0177->y, U+0178->y, U+0179->z, U+017A->z, U+017B->z, U+017C->z,U+017D->z, U+017E->z, U+01A0->o, U+01A1->o, U+01AF->u, U+01B0->u,U+01CD->a, U+01CE->a, U+01CF->i, U+01D0->i, U+01D1->o, U+01D2->o,U+01D3->u, U+01D4->u, U+01D5->u, U+01D6->u, U+01D7->u, U+01D8->u,U+01D9->u, U+01DA->u, U+01DB->u, U+01DC->u, U+01DE->a, U+01DF->a,U+01E0->a, U+01E1->a, U+01E6->g, U+01E7->g, U+01E8->k, U+01E9->k,U+01EA->o, U+01EB->o, U+01EC->o, U+01ED->o, U+01F0->j, U+01F4->g,U+01F5->g, U+01F8->n, U+01F9->n, U+01FA->a, U+01FB->a, U+0200->a,U+0201->a, U+0202->a, U+0203->a, U+0204->e, U+0205->e, U+0206->e,U+0207->e, U+0208->i, U+0209->i, U+020A->i, U+020B->i, U+020C->o,U+020D->o, U+020E->o, U+020F->o, U+0210->r, U+0211->r, U+0212->r,U+0213->r, U+0214->u, U+0215->u, U+0216->u, U+0217->u, U+0218->s,U+0219->s, U+021A->t, U+021B->t, U+021E->h, U+021F->h, U+0226->a,U+0227->a, U+0228->e, U+0229->e, U+022A->o, U+022B->o, U+022C->o,U+022D->o, U+022E->o, U+022F->o, U+0230->o, U+0231->o, U+0232->y,U+0233->y, U+1E00->a, U+1E01->a, U+1E02->b, U+1E03->b, U+1E04->b,U+1E05->b, U+1E06->b, U+1E07->b, U+1E08->c, U+1E09->c, U+1E0A->d,U+1E0B->d, U+1E0C->d, U+1E0D->d, U+1E0E->d, U+1E0F->d, U+1E10->d,U+1E11->d, U+1E12->d, U+1E13->d, U+1E14->e, U+1E15->e, U+1E16->e,U+1E17->e, U+1E18->e, U+1E19->e, U+1E1A->e, U+1E1B->e, U+1E1C->e,U+1E1D->e, U+1E1E->f, U+1E1F->f, U+1E20->g, U+1E21->g, U+1E22->h,U+1E23->h, U+1E24->h, U+1E25->h, U+1E26->h, U+1E27->h, U+1E28->h,U+1E29->h, U+1E2A->h, U+1E2B->h, U+1E2C->i, U+1E2D->i, U+1E2E->i,U+1E2F->i, U+1E30->k, U+1E31->k, U+1E32->k, U+1E33->k, U+1E34->k,U+1E35->k, U+1E36->l, U+1E37->l, U+1E38->l, U+1E39->l, U+1E3A->l,U+1E3B->l, U+1E3C->l, U+1E3D->l, U+1E3E->m, U+1E3F->m, U+1E40->m,U+1E41->m, U+1E42->m, U+1E43->m, U+1E44->n, U+1E45->n, U+1E46->n,U+1E47->n, U+1E48->n, U+1E49->n, U+1E4A->n, U+1E4B->n, U+1E4C->o,U+1E4D->o, U+1E4E->o, U+1E4F->o, U+1E50->o, U+1E51->o, U+1E52->o,U+1E53->o, U+1E54->p, U+1E55->p, U+1E56->p, U+1E57->p, U+1E58->r,U+1E59->r, U+1E5A->r, U+1E5B->r, U+1E5C->r, U+1E5D->r, U+1E5E->r,U+1E5F->r, U+1E60->s, U+1E61->s, U+1E62->s, U+1E63->s, U+1E64->s,U+1E65->s, U+1E66->s, U+1E67->s, U+1E68->s, U+1E69->s, U+1E6A->t,U+1E6B->t, U+1E6C->t, U+1E6D->t, U+1E6E->t, U+1E6F->t, U+1E70->t,U+1E71->t, U+1E72->u, U+1E73->u, U+1E74->u, U+1E75->u, U+1E76->u,U+1E77->u, U+1E78->u, U+1E79->u, U+1E7A->u, U+1E7B->u, U+1E7C->v,U+1E7D->v, U+1E7E->v, U+1E7F->v, U+1E80->w, U+1E81->w, U+1E82->w,U+1E83->w, U+1E84->w, U+1E85->w, U+1E86->w, U+1E87->w, U+1E88->w,U+1E89->w, U+1E8A->x, U+1E8B->x, U+1E8C->x, U+1E8D->x, U+1E8E->y,U+1E8F->y, U+1E96->h, U+1E97->t, U+1E98->w, U+1E99->y, U+1EA0->a,U+1EA1->a, U+1EA2->a, U+1EA3->a, U+1EA4->a, U+1EA5->a, U+1EA6->a,U+1EA7->a, U+1EA8->a, U+1EA9->a, U+1EAA->a, U+1EAB->a, U+1EAC->a,U+1EAD->a, U+1EAE->a, U+1EAF->a, U+1EB0->a, U+1EB1->a, U+1EB2->a,U+1EB3->a, U+1EB4->a, U+1EB5->a, U+1EB6->a, U+1EB7->a, U+1EB8->e,U+1EB9->e, U+1EBA->e, U+1EBB->e, U+1EBC->e, U+1EBD->e, U+1EBE->e,U+1EBF->e, U+1EC0->e, U+1EC1->e, U+1EC2->e, U+1EC3->e, U+1EC4->e,U+1EC5->e, U+1EC6->e, U+1EC7->e, U+1EC8->i, U+1EC9->i, U+1ECA->i,U+1ECB->i, U+1ECC->o, U+1ECD->o, U+1ECE->o, U+1ECF->o, U+1ED0->o,U+1ED1->o, U+1ED2->o, U+1ED3->o, U+1ED4->o, U+1ED5->o, U+1ED6->o,U+1ED7->o, U+1ED8->o, U+1ED9->o, U+1EDA->o, U+1EDB->o, U+1EDC->o,U+1EDD->o, U+1EDE->o, U+1EDF->o, U+1EE0->o, U+1EE1->o, U+1EE2->o,U+1EE3->o, U+1EE4->u, U+1EE5->u, U+1EE6->u, U+1EE7->u, U+1EE8->u,U+1EE9->u, U+1EEA->u, U+1EEB->u, U+1EEC->u, U+1EED->u, U+1EEE->u,U+1EEF->u, U+1EF0->u, U+1EF1->u, U+1EF2->y, U+1EF3->y, U+1EF4->y,U+1EF5->y, U+1EF6->y, U+1EF7->y, U+1EF8->y, U+1EF9->y, U+00DF->U+00DF, U+003A->U+00A0, U+410..U+42F->U+430..U+44F, U+430..U+44F, U+401->U+451, U+451 min_word_len = 1 min_infix_len = 2 } CREATE TABLE `test_table` ( `id` int(11) NOT NULL, `text` varchar(16384) CHARACTER SET utf8 NOT NULL ) DROP TABLE IF EXISTS `test_table` SET NAMES utf8 INSERT INTO `test_table` ( `id`, `text` ) VALUES ( 1, 'aacoiiue ,aaiue ,aaoue ,aargauer ,aashique ,aaue ,aauuei ,aayiiue ,abbauen ,abendteuer ,abenteuer ,abenteuer1900 ,abenteuer2 ,abenteuer20 ,abenteuerburg ,abenteuerfahrt ,abenteuergeschichten ,abenteuerland ,abenteuerliche ,abenteuerlichen ,abenteuerliches ,abenteuerlust ,abenteuermusical ,abenteuern ,abenteuerreise ,abenteuers ,abenteuerspielplatz ,aberteuer ,abesque ,abgehauen ,abschiedbrueder ,absolue ,absolues ,abuela ,abuelita ,abuelitas ,abuelo ,abuelos ,aburguesad ,abusue ,accadueo ,accordeonesque ,accoustique ,accoustique1997 ,accueille ,acerquemonos ,acousmatique ,acousmatiques ,acoustique ,acoustique1 ,acoustique1927 ,acoustique2 ,acoustique2002 ,acoustique2007 ,acoustiques ,acque ,acquele ,actueel ,actueel97 ,actuel ,actuelle1990 ,actuelles ,acuerda ,acuerdas ,acuerdate ,acuerdo ,acuerdos ,acumuer ,acustiques ,adenauer ,adenauer1876 ,adenauers ,adoque ,adriatique ,adventuers ,adventues ,aeaaiue ,aeeaeiue ,aeiue ,aeoeciaouee ,aeonblue ,aeronautique ,aeropuerto ,aeue ,affluent ,affluenza ,afluentes ,afluenza ,africanesque ,afrique ,afrique15 ,afrique17 ,afrique2 ,afroblue ,afronesque ,afroplastique ,afterblue ,afuera ,afueras ,aguaquefluye ,aguejor ,agueli ,aguenta ,aguero ,aguerridos ,ahuenna ,aiaeuiue ,aiaooueaeao ,aiiue ,aiuei ,aiueiai ,aiueo ,akopalueze ,aktuell ,aktuell1 ,aktuell14 ,aktuell2 ,aktuell2000 ,aktuell2001 ,aktuell3 ,aktuell4 ,aktuell6 ,aktuell8 ,aktuelle ,aktuellen ,aktuelles ,aktuellt13 ,alajuela ,albequerque ,albuquerque ,albuquerque02 ,albuquerque07 ,albuquerque09 ,albuquerque10 ,albuquerque16 ,albuquerque1976 ,albuquerque1989 ,albuquerque2 ,albuquerque25 ,albuquerque29 ,alburquerque ,alguem ,alguero ,aliveburquerque ,allblues ,allegoriques ,allgauer ,alluets ,almafuerte ,almanaque ,almaqueloide ,almuedano ,almuen ,almuerzo ,alouette ,alouettes ,alpengruess ,alpuente ,alquezar ,alsxiquets3 ,aluguel ,amargue ,amatuer ,amayaguena ,amazoniaque ,ambilique ,amerique ,amerique1960 ,ameriques ,amormuerte ,amuedo ,amuel ,amusique ,analogique ,analogoue ,analogue ,analogues ,analogue ,1 ,anectodique ,anfeuern ,angbatsblues ,angekuendigt ,angelique ,angeliques ,angelique ,2 ,animalseuell ,anique ,anjelique ,anktuelle ,anniversarioduemila ,annuelle2003 ,anologue ,anplaqued ,antastique ,antemasque ,antequera ,anthologique ,anticuerpos ,antiguedad ,antipolitique ,antique ,antique96 ,antiqueno ,antiquera ,antiques ,antoinique ,antraigues ,anuea ,anueea ,anuei ,anueio ,aoiue ,aonaeuee ,aouellos ,apagueis ,apokruefen ,applique ,apuesta ,apuesta22 ,apuestas ,apueste ,aquatique ,aquatiques ,aque ,aquecendo ,aquecimento ,aqueduct ,aqueel ,aquel ,aquela ,aquelarre ,aquelas ,aquele ,aquell ,aquella ,aquellas ,aquelles ,aquello ,aquellos ,aquellos80 ,aquemini ,aquero ,aques ,aquest ,aquesta ,araberque ,arabesque ,arabesque2002 ,arabesque4 ,arabesques ,arabique ,arabisque ,araluen ,aranjuey ,aranjuez ,aranjuez2000 ,arbeitsscheue ,archaiques ,archiduque ,arcueil ,argue ,argued ,arguelles ,argue ,1 ,armagueddon ,armaguedon ,armoniques ,armorique ,arnaque ,arnjuez ,aroque ,arparelampagueando ,arque ,arqueologos ,arquer ,arques ,arquette ,arquettes ,arranque ,artguelar ,artichoque ,artigues94 ,artigues95 ,artistiques ,arueira ,ascetique ,aseguebu ,asguebba ,asianblue ,asilique ,asondeguerra ,asquerosa ,asquerosidades ,assiques ,assuefatto ,astelaguel ,astique ,astroqueen ,asutusalue ,atabaque ,ataque ,aterqueens ,atlantique ,atmospherique ,atmospheriques ,atomique ,atrapasuenos ,atrocetomique ,attaque ,attaque77 ,attaquees ,attaquent ,attaque ,1 ,attendue ,attituede ,audiomatique ,audioquest ,audioquest1991 ,audiovisuelles ,aue ,auea ,aueaa ,auee ,auei ,aueia2003 ,aueiaoa ,aueii ,auelque ,auen ,auen1 ,auenkirche ,auenthal ,auer ,auerauege ,auerbach ,auerbachtal ,auerland ,auero ,aues ,aueu ,auey ,aufbauen ,aunque ,auraepuella ,aurumque ,ausgefuehrt ,austronatuen ,auszuege ,authentique ,authentiques ,autobiographique ,autoblues ,automatique ,automatiques ,avampuest ,avecduet ,avenue ,avenue1945 ,avenue2 ,avenue2001 ,avenue4 ,avenue69 ,avenues ,avenuew ,avenue ,1 ,avoue ,ayaueto ,azdeguen ,azougue ,azteques ,azuendt ,babyblues ,bachandhighbaroque03 ,bachandhighbaroque04 ,bachandhighbaroque09 ,bachandhighbaroque10 ,bachandhighbaroque11 ,bacharengue ,bacharengue12 ,bachatarengue2 ,bachatarengue2006 ,bachblueten ,backcatalogue ,backcatalogue1981 ,badulaque ,baguette ,baguettes ,balbuena ,baldaoue ,balkanblues ,balkanique ,balkaniques ,balladesque ,balletesque ,baltique ,baltringue ,bananaqueen ,bandwagonesque ,banguela ,banjonique ,banlieue ,banlieue13 ,banlieue1931 ,banlieues ,banque ,banquells ,banquero ,banquest ,banquet ,banquet1610 ,banquet5 ,banquete ,banquets ,banuelos ,baoque ,baque ,baquedenovomundo ,baqueiro ,baqueria ,barbaresque ,barbecue ,barbecued ,barbeque ,barbiecue ,barbue ,barique ,baroque ,baroque1 ,baroque100 ,baroque2 ,baroque3 ,baroqueesprit10 ,baroquefest ,baroques ,baroquesplendor ,baroque ,1 ,baroquue ,barque ,barqueiro ,barquejant ,barquera ,barques ,barranqueadas ,barraque ,barrionuevo ,barrique ,barroque ,barrueco ,basilique ,basisuebungen1 ,basque ,basqueland ,basques ,bassgefluester ,bastringue ,bastringues ,batequeiro ,batuque ,batuqueiro ,batuquere ,batuques ,bauen ,bauenrhof ,bauer ,bauer2006 ,baueresque ,bauerlein ,bauerliche ,bauern ,bauernbuam ,bauernfanger ,bauerngr ,bauernhochzeit ,bauernhof ,bauernhofgeschichten ,bauernkantate ,bauernkapelle ,bauernmarkt ,bauernmesse ,bauernmusik ,bauernoper ,bauernpunk ,bauernregeln ,bauernstand ,bauernstub ,bauernstube ,bauernstubn ,bauerntanze ,bauerstube ,bauer ,2 ,baumkuehen ,bbblues ,bblues1982 ,bbqueen ,bbuesa ,beautifluep ,beautifuel '), ( 2, ' beautique ,beblueselt ,bechsteinfluegel ,becquet ,becquet2010 ,bedeque ,beenue ,befluegelt ,beggarsbanquet9992 ,beginenfeuer ,belcique ,belgigue04 ,belgique ,belgique06 ,belgique15 ,belgique19 ,belgique1998 ,belgique2000 ,belgique3 ,bellavue ,bellevue ,belqgique ,belvauer ,benediktbeuern ,benguell ,benguerel ,bentboutique ,benteuer ,bequem ,bequest ,berbecue ,berberblues ,bereue ,bereuen ,bergamansque ,bergamasque ,bergamasques ,bergamasuque ,bergamesque ,bergfeuer ,bergquell ,berguebza ,berimblues ,berloqueux ,berlue ,bernauer ,bernauerin ,beruehmte ,beruehmten ,beruehre ,beruemte ,berzingue ,bescheuert ,bescheuerten ,beschuetzer ,beteuerten ,betique ,betreuer ,beuel ,beuelsche ,beunique ,bezique ,bhuet ,bhuetdi ,bibliotheque ,bibliques ,bielergruess ,bienvenue ,bienvienue ,bigbluefox ,bihoue ,bilboquet ,bildhauerin ,bilingue ,bilsteinfeuer ,binquedos ,biologique ,bioniques ,bisquera ,bitterblue ,bizaque ,bkues ,blacque ,blague ,blanqueada ,blanquer ,blanques ,blaque ,blassblaue ,blaue ,blauem ,blauen ,blauensee ,blauer ,blaues ,blaueste ,blaueswunder ,blazblue ,bleue ,bleue04 ,bleue06 ,bleues ,bleuets ,bllueprint ,blodsockerblues ,bloozbluzeblues ,bloque ,bloque6 ,bloqueio ,bloquera ,bloues ,blue ,blue01 ,blue02 ,blue1 ,blue11 ,blue12 ,blue1967 ,blue1972 ,blue1978 ,blue1993 ,blue2 ,blue2000 ,blue2002 ,blue2003 ,blue2007 ,blue2009 ,blue22 ,blue24 ,blue26 ,blue27 ,blue28 ,blue3 ,blue37 ,blue372 ,blue4 ,blue45 ,blue46 ,blue5 ,blue6 ,blue7 ,blue88 ,bluea ,blueaaargh ,bluealbum ,blueallrise ,blueball ,blueballsology ,bluebeard ,bluebeards ,bluebeat ,bluebeatz ,bluebell ,bluebells ,blueberrie ,blueberries ,blueberry ,bluebilly ,bluebird ,bluebird1 ,bluebird1992 ,bluebirds ,bluebird ,2 ,blueblood ,bluebob ,bluebone ,bluebonnet ,bluebook ,bluebop ,bluebottle ,bluebox ,bluebox1983 ,blueboy ,blueburger ,bluebus ,bluecaps ,bluecheese ,bluechild ,bluechips ,bluecoat ,bluecoats ,bluecoronet1969 ,bluecox ,bluecubism ,1 ,blued ,blueday ,bluedays ,bluedogs ,blueeyesblue ,bluefields ,bluefinger ,bluefish ,blueflame ,bluefoot ,blueforms ,bluefuse ,bluegarden ,bluegate ,bluegill ,blueglass ,bluegras ,bluegrass ,bluegrass1 ,bluegrass101 ,bluegrass1944 ,bluegrass1946 ,bluegrass1950 ,bluegrass1956 ,bluegrass1959 ,bluegrass1963 ,bluegrass2 ,bluegrass20 ,bluegrass2000 ,bluegrass2001 ,bluegrass3 ,bluegrass4 ,bluegrass43 ,bluegrass99 ,bluegrassed ,bluegrassy ,bluegrass ,5 ,bluegrass 80 ,bluegrazer ,bluegreass ,bluegreen ,bluehand ,bluehipnotik ,bluehorns ,bluehouse ,blueht ,blueiceblack ,blueish ,bluejay ,bluejean ,bluejeans ,bluejt ,blueland ,bluelero ,bluelight ,blueline ,bluelines ,bluelisted ,bluella ,bluella ,1 ,bluelove ,bluemagnolia ,bluemax ,bluemchen ,blueme ,bluemefeld ,bluemel ,bluemeweg ,bluemind ,bluemonday ,bluemoon ,bluemountains ,bluenatic ,blueness ,bluenose ,bluenote ,bluenote11 ,bluenote12 ,bluenote13 ,bluenote15 ,bluenote1543 ,bluenote1564 ,bluenote17 ,bluenote74216 ,bluenote84030 ,bluenotecdp7 ,bluenotedpro79866 ,bluenotes ,bluenothing ,blueoceansuite ,blueonelove ,bluephoria ,blueplicity ,blueport ,blueprint ,blueprint2 ,blueprint2 ,8 ,blueprint3 ,blueprints ,blueprintsfortheblackmarket ,blueprint ,1 ,bluer ,blueraboo ,bluerell ,blueridge ,blueridgecelticfusion ,bluero ,bluerock ,blueroom ,bluerose ,bluerosenuggets46 ,bluerunners ,blues ,blues01 ,blues03 ,blues04 ,blues05 ,blues06 ,blues1 ,blues10 ,blues1000 ,blues11 ,blues11947 ,blues12 ,blues13 ,blues14 ,blues15 ,blues16 ,blues17 ,blues18 ,blues19 ,blues1920 ,blues1923 ,blues1924 ,blues1925 ,blues1926 ,blues1927 ,blues1928 ,blues1929 ,blues1932 ,blues1934 ,blues1935 ,blues1936 ,blues1937 ,blues1940 ,blues1942 ,blues1943 ,blues1944 ,blues1945 ,blues1946 ,blues1947 ,blues1948 ,blues1949 ,blues1951 ,blues1952 ,blues1953 ,blues1955 ,blues1956 ,blues1957 ,blues1959 ,blues1960 ,blues1961 ,blues1962 ,blues1963 ,blues1964 ,blues19641969 ,blues1966 ,blues1967 ,blues1968 ,blues1970 ,blues1972 ,blues1973 ,blues1974 ,blues1982 ,blues1987 ,blues1988 ,blues1994 ,blues1999 ,blues2 ,blues20 ,blues2000 ,blues2001 ,blues2003 ,blues2004 ,blues2005 ,blues2007 ,blues2010 ,blues2011 ,blues2012 ,blues24 ,blues26 ,blues3 ,blues31121975 ,blues38 ,blues39 ,blues4 ,blues40 ,blues43 ,blues47 ,blues4 ,1 ,blues5 ,blues50 ,blues6 ,blues60 ,blues7 ,blues70 ,blues8 ,blues88 ,blues9 ,blues90 ,bluesa ,bluesa3 ,bluesabilly ,bluesadic ,bluesaholics ,bluesairmen ,bluesak ,bluesalive ,bluesamba ,bluesamericana ,bluesand ,bluesanova ,bluesativa ,bluesaxe ,bluesball ,bluesbaltica ,bluesband ,bluesberries ,bluesberry ,bluesblocket ,bluesbolhak ,bluesbox ,bluesbrakers ,bluesbreaker ,bluesbreakers ,bluesbreakers1964 ,bluesbreakers ,1 ,bluesbreaking ,bluesbreakout ,bluesbreakout1971 ,bluesbrothercastro ,bluesbusters ,bluesbutchers ,bluescafe ,bluescape ,bluescat ,bluescats ,bluescollection ,bluescorner ,bluescorner2 ,bluesdaddy ,bluesday ,bluesdorozhye ,bluesdragora ,bluesdusters ,blueseando ,bluesectomy ,bluesed ,bluesed ,2 ,bluesem ,blueser ,blueses ,bluesette ,blueseum ,blueseye ,bluesfeast ,bluesfeeling ,bluesfest ,bluesfest090715 ,bluesfest2005 ,bluesfest2006 ,bluesfest2008 ,bluesfest2009 ,bluesfest2010 ,bluesfest2011 ,bluesfest2012 ,bluesfest2015 ,bluesfestival ,bluesfestival1981 ,bluesfestival2002 ,bluesfestival2003 ,bluesfestival2005 ,bluesfestival2008 ,bluesfinger ,bluesfriends ,bluesgarage ,bluesgeschichte ,bluesgittarre ,bluesgrass ,bluesguitar ,blueshand65 ,bluesharp ,bluesheart ,blueshift ,blueshound ,blueshouse ,bluesi ,bluesiana ,bluesianatriangle ,bluesianna ,bluesicians ,blueside ,bluesified ,bluesify ,bluesilk ,bluesin ,bluesine ,bluesinschwarzrotgold ,bluesion ,blueskitchen ,bluesklubb25 ,blueskrieg ,blueskvarter ,bluesky ,blueskye ,blueskywell ,blueslabel ' ), ( 3, ' bluesland ,bluesletter ,blueslike ,bluesliv ,blueslivinghollerin ,bluesmachine ,bluesmagie ,bluesman ,bluesman57 ,bluesmana ,bluesmania ,bluesmaniac ,bluesmann ,bluesman ,1 ,bluesmaschine ,bluesmaster ,bluesmastered ,bluesmasters ,bluesmen ,bluesmen1998 ,bluesmenty ,bluesmith ,bluesmobile ,bluesmusikk ,bluesnapper ,bluesness ,bluesnews ,bluesnick ,bluesnight ,bluesnik ,bluesnote ,bluesographie ,bluesography1980 ,bluesoloblues ,bluesology ,bluesongo ,bluesons ,bluesoul ,bluesowa ,bluesowe ,bluesoz ,bluespheres ,bluespirits ,bluesplayers ,bluesport ,bluespower ,bluespower2001 ,bluesprint ,bluesprints ,bluespumpm ,bluesquest ,bluesrivers ,bluesrock ,bluesrudy ,bluesrunstig ,bluess ,bluesskies ,bluessongs ,bluesstars ,bluest ,bluestar ,bluestars ,bluestate ,bluesteel38 ,bluestem ,bluester ,bluestime ,bluestone ,bluestoned ,bluestones ,bluestools ,bluestop ,bluestories ,bluestory ,bluestown ,bluestracks ,bluestreak ,bluestring ,bluestrings ,bluestrology ,bluestruck ,bluesugar ,bluesugyi ,bluesului ,bluesvibes ,bluesville ,bluesville1962 ,bluesw ,blueswailing ,blueswalzer ,bluesway ,bluesweb ,blueswomen ,bluesworkshop ,bluesworscht ,blueswurz ,bluesy ,bluesymental ,bluesymentales ,bluesyndrome ,blues ,142 ,blues 18 ,blues 1923 ,blues 1927 ,blues 1945 ,blues 1946 ,blues 1955 ,blues 1964 ,blues 1968 ,blues 1989 ,blues 50 ,bluet ,bluetality ,bluetango ,bluetape ,bluethings ,bluetones ,bluetonic ,bluetooth ,bluetory ,bluette ,bluetunes ,bluevelvet ,bluevenus ,blueville ,bluevolution ,bluewater ,blueways ,bluewolf ,blueworld ,bluey ,bluez ,bluezin ,bluezone1 ,blue ,27 ,blue 1921 ,blue 75 ,blutfeuer ,bluues ,bmues ,bocquero ,bodoque ,bodoquena ,bogue ,bogues ,boguet ,bohorquez ,bolchevique ,bombenbauer ,bommelmuetze ,bonduelle ,bonquet ,boomkatalogue ,booquet ,boqueirao ,boquet ,borinquen ,borinquena ,bosque ,bosques ,botanique ,botanique1999 ,botanique2007 ,botanique2008 ,botanique2009 ,botaniques ,botijuela ,bouddhique ,boue ,boued ,bouette ,bouguet ,bouquet ,bouquet1 ,bouquet2 ,bouquetot ,bouquets ,bourgue ,bourlingue ,bourlingues ,bourrasque ,boutigue ,boutiqque ,boutique ,boutique002 ,boutique10 ,boutique2000 ,boutique2007 ,boutique3 ,boutiques ,boutique ,3 ,bouygues ,bragueta ,brandaktuell ,brandauer ,brandenburgueses ,brandmauer ,brandneue ,brandneuen ,branques ,braque ,braquet ,braqueuses ,braroque ,brauer ,brauerei ,brauereifrei ,brauers ,bravogue ,brazilique ,breque ,brillouet ,bringue ,brinquedo ,brinquedos ,brique ,briques ,britannique ,brizuela ,1 ,brogues ,broque ,brouette ,brouettes ,bruchstueck ,brue ,bruecke ,bruecken ,brueckner ,brueder ,bruederlichkeit ,brueggergosman ,bruel ,bruel3 ,bruelet ,bruennlein ,bruenorz ,bsuech ,buarque ,buarque1 ,buarque1984 ,buarque2 ,buarque3 ,buarque4 ,buarque5 ,buarque6 ,buarque7 ,buarque8 ,bucolique ,bue ,bueb ,bueba ,buebe ,buebetroim ,buechner ,bueck ,buehl ,buehler ,buehlertann ,buehn ,buehnenblut ,buehnenfestspiel ,buek2002 ,buekorpsmarsjene ,bueleszto ,buell ,bueller ,buellgrass ,buellton ,bueltan ,buempliz ,buen ,buena ,buena2005 ,buena2006 ,buena4 ,buenagente ,buenaonda ,buenas ,buenaventura ,buenavista ,buendner ,buene ,buenek ,buenes ,buenisimo ,buenissimas ,bueno ,bueno1 ,bueno18 ,bueno3 ,buenos ,buenosaireando ,buenri ,buenri2 ,bueons ,bueos ,buero ,bues ,buesa ,buesnos ,buesugar ,buey ,bullerengue ,buntuek ,buque ,burebuebli ,burguesa ,burguesia ,burleque ,burlesque ,burlesquers ,burque ,busque ,busqueda ,busques ,butique ,butterfliesunique ,butterqueen ,buttsqueezer ,buuetje ,byablue ,caacaaue ,caacaiue ,cabaretiques ,cabruera ,cacahouete ,cacahouetes ,cacahuete ,cacique ,caciques ,cadaques ,cadaquez ,caguetou ,cahuelm ,cahuelmo ,calhambeque ,calhambeque ,1 ,callejuela ,calopueno ,calssique ,camaguey ,camagueyana ,camargue ,camuendo ,candongueiro ,cannonblues ,canoue ,canoueiii ,cantajuego ,cantajuego2 ,cantajuego4 ,cantajuego6 ,cantajuegos ,cantajuegos3 ,cantajuegos4 ,cantajuegos5 ,canticuentos ,cantique ,cantiques ,canuel ,canyengue ,canyengue1 ,canyengue2 ,canyengue3 ,caranguejo ,carapeguenos ,carnavalesque ,carpuela ,carraguera ,carranguera ,carue ,cascanueces ,cascanueses ,casque ,casquette ,cassetiquette ,cassique ,castanuelas ,castelnuevo ,catafalque ,catalogue ,catalogue1980 ,catalogue1985 ,catalogue2002 ,catalogue2007 ,catalogue63 ,catalogues ,catalogue ,3 ,catchaquera ,catelogue ,catgotyatongue ,catholique ,catholiques ,catingueira ,catingueiras ,catniques ,cauet ,cazuela ,ceciliasegue ,cegueira ,ceiaauea ,celitque ,celtique ,celtique2 ,celtique4 ,celtiques ,centocinque ,centrafrique ,centueuna ,cercueil ,cerquetti ,cerquetti1956 ,cerquetti1960 ,chachablue ,chamamerengue ,chamamerengues ,chamanique ,chantuelle ,chaotique ,chaouen ,chaque ,chaquenadas ,chaqueno ,chaquetones ,characteristique ,charangueando ,charanguero ,charismatique ,charrasqueado ,charrues ,charrues1999 ,charrues2001 ,charrues2007 ,charrues2008 ,charrues2010 ,charrues23 ,chaupiques ,chegue ,cheguei ,chelique ,chengue ,cheque ,chequerboard ,chequered ,cheques ,chicuelos ,chiemgauer ,chihuahuense ,chimerique ,chimeriques ,chimique ,chimiquement ,chimiques ,chincoteague ,chique ,chiqueros ,chiquetete ,chiunque ,chlausezauerli ,chniques ,chnoques ,choque ,choquette ,choquette ,1 ,chouermusek ,chouette ,chouettes ,chrangueando ,christique ,chromatique ,chronique ,chronique2001 ,chroniques ,chroniques2010 ,chroniques4 ,chronologique1929 ,chtarbmusique ,chue ,chuecas ,chuecos ,chuelee ,chuelet ,chuen ,chueng ,chuer ,chuquisaqueno ,cienfuegos ,cifique ,cincue ,cincuenta ,cincuentenario ,cinefantastique ,cinemagique ,cinematheque ,cinemathique ,cinematique ,cinematique2 ,cineteque ,cinque ,cinquecentina ' ), ( 4, ' cinquecento ,cinquemilaquarantatre ,cinquentao ,cinquentenario ,cinquetti ,circue ,circumfluence ,cirque ,cirque13 ,cirques ,ciruela ,ciruelo ,citronique ,ciudadblues ,ciue ,ciue6 ,clacosmique ,claque ,claques ,claqueur ,clarique ,claroquesi ,clasicosnuestrotiempo ,clasique ,clasiqueando ,classicques ,classique ,classique02 ,classique1 ,classique10 ,classique1988 ,classique3 ,classique386 ,classique393 ,classique4 ,classique92 ,classiques ,classiques1900 ,classiques2 ,classiques2012 ,classiques80 ,classique ,11 ,classqiue ,classqiues ,classque ,climatique ,clinique ,clique ,clique1998 ,clique2 ,cliques ,cliquety ,cloaque ,cloue ,clue ,clue11 ,clue4 ,clue5 ,clue9 ,clueless ,clueless ,1 ,cluemanati ,clues ,clueso ,cluetrain ,clue ,4 ,coatlicue ,cojuelo ,colisuem ,colleague ,colleagues ,collegue ,collegues ,colliue ,comique ,comiques ,communique ,communique1985 ,communiques ,communiquez ,communoque ,comoqualqueroutracoisa ,comosuena ,comparengue ,complique ,compliquee ,compliquees ,compliques ,compuer ,compuesto ,comunque ,concequences ,confluence ,confluence2007 ,confluences ,confluence ,1 ,confluencia ,confluent ,confondues ,conguero ,congueros ,connue ,conque ,conquer ,conquer1976 ,conquer4 ,1 ,conquered ,conquerer ,conquering ,conqueroo ,conqueror ,conqueroring ,conquerors ,conqueros ,conquers ,conquer ,9 ,conquest ,conquest1453 ,conquesta ,conquestadores ,conquests ,conquete ,consecuencia ,consecuencias ,conseguenza ,conseguenze ,consequence ,consequence1 ,consequences ,consequencias ,consequense ,consequenseces ,consequenses ,consequential ,consequently ,consequenz ,consequenze ,constituency ,constituent ,construed ,consuela ,consuelo ,consuetudine ,consuetudines ,continiues ,continue ,continue2 ,continued ,continuer ,continuero ,continues ,continues 1993 ,continues 1995 ,continuez ,conuersation ,conuiuencia ,copenhague ,coqueiral ,coquelicot ,coquelicots ,coqueliquot ,coquering ,coqueros ,coqueta ,coquetel ,coquetones ,coquette ,coquettish ,coqueville ,cordoue21 ,cornebique ,cornemusiques ,cosaques ,cosculluela ,cosmetique ,cosmique ,cosmiques ,cosmoafrique ,cosmophonique ,cotique ,coue ,coueffe ,couer ,couette ,countrybluesrock ,countryduetter ,cousmatique ,coyahue ,cques ,craoued ,creeque ,criques ,criquets ,critique ,critique01624 ,critiquem ,critiquen ,croniques ,croque ,croquefer ,croquemitaines ,croquer ,croquet ,crue ,cruel ,cruelant ,cruelest ,cruella ,cruelles ,cruellest ,cruelty ,cruentus ,crues ,crueshal ,cruesin ,crueso ,cruet ,cryptonique ,csardasfuerstin ,ctuel ,cualquer ,cuantovaquere ,cue ,cue115 ,cue117 ,cue118 ,cue125 ,cue139 ,cue141 ,cue145 ,cue146 ,cue147 ,cue148 ,cue149 ,cue150 ,cue151 ,cue152 ,cue155 ,cue158 ,cue159 ,cue160 ,cue161 ,cue163 ,cue164 ,cue165 ,cue166 ,cue167 ,cue168 ,cue169 ,cue170 ,cue172 ,cue173 ,cue175 ,cue176 ,cue180 ,cue183 ,cue188 ,cue199 ,cue2 ,cue226 ,cue229 ,cue234 ,cue235 ,cuea30 ,cueca ,cuecas ,cuecas ,1 ,cuece ,cuecken ,cueillette ,cuellar ,cuello ,cuenca ,cuenco ,cuenod ,cuenta ,cuentacuentos ,cuentale ,cuentalo ,cuentame ,cuentamelo ,cuentan ,cuentas ,cuente ,cuenteme ,cuentes ,cuento ,cuento1 ,cuento2 ,cuentopos ,cuentos ,cuentos1 ,cuentos2 ,cuentos3 ,cueo ,cuequero ,cuer ,cueras ,cuerda ,cuerda01 ,cuerdas ,cuerdazos ,cuerdeando ,cuerdos ,cuerito ,cuernavaca ,cuerno ,cuernos ,cuero ,cueros ,cuerpito ,cuerpo ,cuerpo1988 ,cuerpomente2 ,cuerpos ,cuerto ,cuervo ,cuervonation ,cuervos ,cues ,cuesta ,cuestarriba ,cueste ,cuestion ,cuetame ,cueto ,cueva ,cuevas ,cuevas ,2 ,cuezero ,cultue ,cumbiarengue ,cumue ,cusquena ,cuzquena ,cyclique ,cyclique2 ,cynique ,cyniques ,cyrenaiques ,cyrillique ,cyrrillique ,daemonioque ,dafuer ,danque ,dansbandsduetter ,daquele ,darque ,darueber ,dasparfuem ,datenschauer ,dauen ,dauer ,dauerberenner ,dauerbrenner ,dauercamper ,dauerhaft ,dauerhits ,dauerlutscher ,dauern ,dauernd ,dauert ,davevalentinliveatthebluenote ,davidbuendlertaenzen ,dazoque ,deathkoteque ,deathplagued ,debarquement ,debloque ,debuet ,decalogue ,deceaquent ,dechues ,decouertes ,dedique ,dedopingue ,defueld ,deguello ,deguelo ,degueulis ,dejouer ,delerue ,delerue ,1 ,delincuencia ,delincuente ,delinquency ,delinquent ,delinquentes ,delinquents ,delinquescence ,deliquent ,deliquents ,deliquescence ,deliquescent ,deluex ,demagogue ,demagoguery ,demarque ,democratique ,demogogue ,demographique ,demonblues ,demuer ,dengue ,denouement ,dequello ,derduerch ,desague ,descompuesto ,descueque ,desencuentro ,desencuentros ,desenvuelva ,desjardinsymphonique ,despegue2 ,despique ,despue ,despues ,desqueyroux ,dessauer ,detckue ,detraques ,devenue ,devenues ,devogue ,devouement ,devuelvame ,devuelvan ,devuelve ,devuelveme ,dezembertraueme ,diabolique ,diaboliques ,dialectique ,dialogue ,dialogue12001 ,dialogue1800 ,dialoguemos ,dialogues ,dialogues ,2 ,dialogue ,2 ,diatonique ,diatoniques ,dicotheque11 ,didyoueverdoubtthis ,dienstagsfrauen ,digilogue ,digue ,diguen ,dillinquents ,dilogue ,diminuendo ,dinfluences ,dingue ,dingues ,dinosauerne ,diphoniques ,diptyque ,discgrotesque ,discogrotesque ,discontinued ,discoqueen ,discoteque ,discoteque12 ,discoteque72 ,discoteque98 ,discotheque ,discotheque1 ,discotheque100 ,discotheque2 ,discotheque3 ,discotheque4 ,discotheque71 ,discotheque73 ,discotheque75 ,discotheque8 ,discotheques ,discothque ,discotique ,discottantadue ,discrotesque ,diseues ,diskatheque ,disloquer ,disotheque ,dispuesta ,dispuestas ,dispuesto ,disque ,disque01 ,disque02 ,disque03 ,disque04 ,disque05 ,disque06 ,disque07 ,disque08 ,disque09 ,disque1 ,disque10 ' ), ( 5, ' disque12 ,disque1 ,2 ,disque2 ,disque2009 ,disque3 ,disque30 ,disque4 ,disque5 ,disque6 ,disque7 ,disquera ,disqueria ,disques ,disques1 ,disques1928 ,disques2 ,disquet ,distingue ,disuelven ,diuen ,diuex ,divablue ,dizcotheque ,djiguedon ,djuer ,djurdjurassique ,dlues ,dogologues ,dogues ,dokuenkai ,dollarqueen ,dolomitenfeuer ,dombauer ,domenique ,domestique ,domestiques ,domingueira ,domingueiro ,dominguera ,dominguez ,dominique ,donahue ,donaueschinen2003 ,donaueschingen ,donaueschingen1981 ,donaueschinger ,donoghue ,donohue ,dopoguerra ,doppoguerra ,doudingue ,doudingue3 ,doues ,drachenfeuer ,drachenfeuers ,dragqueenpornstar ,dragueuse ,dramaqueens ,dramatique ,dramatiques ,drastique ,dreadnautique ,dreamquest ,dreamsequence3 ,driguez ,drogue ,droue1 ,drouet ,drueber ,drueberuus ,druecken ,druer ,druques ,drzue ,dschungelbuech ,duanguense ,dubmatique ,due ,duece ,dueces ,duecy ,dued ,duel ,duel20 ,duela ,duele ,duelen ,duelenn ,dueles ,duelin ,dueling ,duelist ,duell ,duell94 ,duelle ,duelli ,duellieren ,duellin ,duelling ,duellists ,duello ,duelo ,duelo1 ,duels ,duelsaga ,duemila ,duemilaquattro ,duemilatre ,duemilatrecentouno ,duemste ,duena ,duende ,duende1 ,duende28091998 ,duendes ,duenede ,duenn ,duenna ,dueno ,duenos ,duente ,dueos ,dueparole ,duerf ,duerma ,duerman ,duerme ,duermen ,duermes ,duermete ,duermevela ,duermo ,duernes ,duero ,dues ,dues3 ,duesenberg ,duesenberg2 ,duesenberg20 ,duesseldor ,duesseldorf ,duesseldorf12 ,duest ,duesterland ,duests ,duet ,duet1 ,duet2 ,duet3 ,dueta ,dueta2 ,dueta70 ,duete ,dueteronomy2 ,duetes ,dueti ,dueti1985 ,dueti2 ,dueti2000 ,dueti62009 ,duetid ,duetid4 ,dueto ,duetos ,duetos1 ,duetos2 ,duetov ,duets ,duets1 ,duets18 ,duets1943 ,duets1965 ,duets1976 ,duets1987 ,duets2 ,duets2002 ,duets2003 ,duets24 ,duets3 ,duets4 ,duets93 ,duetschler ,duets ,15 ,duett ,duett1 ,duett2 ,duette ,duette1977 ,duettek ,duetten ,duettenalbum ,duetter ,duetterna ,duetti ,duetti2 ,1 ,duettini ,duettino ,duettissimo ,duettistes ,duetto ,duettos ,duetts ,duettsanger ,duety ,duety2 ,duet ,3 ,duevel ,duewel ,duex ,duexieme ,duex ,1 ,duey ,duezmal ,duffhues ,dunkelgraue ,dunkelgruen ,dunkerque ,dunque ,duologue ,duologues ,duophonique ,duoteque ,duque ,duquende ,duranguense ,duranguense1 ,duranguenses ,duranguenses4 ,duranguense ,1 ,durchschaue ,durspelduell ,duzue ,dylanesque ,dynamique ,eague ,eaiaunuec ,eaneiaue ,eaueiy ,eaueu ,eboueur ,echenique ,echoues ,eclectique ,eclectiques ,eclogue ,eclogues ,ecologique ,economique ,economiquement ,ecue ,ecuerdos ,edelfrauen ,edelstueck ,edifiquemos ,edinburghjazzbluesfestival2004 ,eduquer ,eeaiiaue ,eeaiueia ,eeaue ,eeue ,eeuei ,effilogue ,eglogues ,egues ,eguez ,ehue ,eiaaiue ,eieeaeoeiiiue ,einfuehrung ,eingemauert ,einriquez ,einstuerzend ,einstuerzende ,einueiai ,eioaeiue ,eisenhauer ,eiueiuruks ,ekoue ,elastique ,elbosque ,electigues ,electique ,electique3 ,electlogue01 ,electlogue02 ,electrigue ,electrique ,electriques ,electroacoustique ,electroacoustiques ,electroduendes ,electronique ,electronique03 ,electronique1 ,electronique10 ,electronique11 ,electronique13 ,electronique14 ,electronique15 ,electronique2 ,electronique22 ,electronique3 ,electronique4 ,electronique5 ,electronique6 ,electronique7 ,electronique8 ,electronique9 ,electroniques ,electroniques1 ,electroniques2 ,electroniques3 ,electroniques4 ,electroniques5 ,electroniques6 ,electronique ,1 ,electrophrenique ,electropique ,electropique2 ,electrotechnique ,electrotheque ,elegiaque ,elfiques ,elfquest ,eliagique ,ellenesque ,eloquence ,eloquence2 ,eloquence3 ,eloquence4428287 ,eloquence4428557 ,eloquence476232 ,eloquence4800049 ,eloquence4800382 ,eloquence4800447 ,eloquence4800475 ,eloquence4800713 ,eloquence4800814 ,eloquence4802327 ,eloquence4802328 ,eloquence4802403 ,eloquence ,1 ,eloquent ,eloquente ,eloquentia ,eloquently ,eloquentpoetry ,eloquent ,1 ,elspiritblue ,elue ,elvenquest ,emanuel ,emanuel2007 ,emanuela ,emanuelle ,emanuelowi ,embarque ,embarquement ,embarquez ,emblematiques ,emboladue ,embreguetes ,embriaguez ,emmannuel ,emmanuel ,emmanuel2 ,emmanuele ,emmanuelle ,emmanuelle2 ,emmanuel ,5 ,emmatrue ,emowuerstchen ,empirique ,encuento ,encuentra ,encuentro ,encuentros ,encuentros200 ,encuentros2008 ,encuentro ,1 ,encuero ,endesque ,energethique ,energetique ,energique ,enfantastiques ,enfoque ,enguera ,engueuler ,enhorabuena ,enigmatique ,enloqueces ,enloqueciendo ,enlouquecer ,enoaeuiue ,enquentro ,enquete ,enquetes ,enrique ,enrique7 ,enriqueciendo ,enriqueguzman ,enriqueta ,enriquez ,enruedados ,ensanguentadas ,ensueno ,ensueno1 ,ensueno2 ,ensueno3 ,ensuenos ,ensues ,entendues ,entfuehrung ,entrefuegos ,entregue ,entrevue ,entrevues ,entspannungsuebungen ,enue ,enuec1 ,enuec2 ,envergue ,epilogue ,epilogues ,epilogue ,1 ,epique ,epoque ,epoque1960 ,epoque1980 ,epoque2 ,epoque3 ,epoque5 ,epoque ,1 ,eque ,equestrian ,equivoque ,equivoquen ,equivoques ,erfreuen ,erguei ,erguete ,ergueu ,ermineuei ,erneuere ,erneuert ,erneuerung ,erotheque ,erotique ,erotiques ,escuela ,escuelas ,esegue ,esfuerzo ,espilue ,espuelas ,espuelerico ,esque ,esquecas ,esquece ,esquecer ,esquecerei ,esqueceu ,esqueci ,esquecidos ,esqueco ,esqueixada ,esqueleto ,esqueletos ,esquema ,esquemas ,esquena ,esquentando ,esquentou ,esquerda ,esquerita ,essensuel ,essensuell ,estaque ,esthaetique ,esthetique ,esthetiques ,estoesloquesoy ,estoques ,estruendo ,etendue ,ethiopiques ,ethiopiques10 ,1 ,ethiopiques15 ,1 ,ethiopiques16 ,1 ,ethiopiques18 ,1 ,ethiopiques19 ,ethiopiques21 ,ethiopiques3 ,1 ,ethiopiques4 ,ethiopiques5 ,ethiopiques6 ,ethiopiques ,1 ,ethipiques22 ' ), ( 6, ' ethique ,ethnique ,ethnosonique ,etique ,etiqueta ,etiquette ,eucharistique ,eue ,eueaioa ,eueaoc ,eueaooa ,eueeeia ,euen ,euer ,euern ,euertagwerk ,eues ,eunique ,euromantique ,europique ,eurotiue ,evacuez ,eventuell ,everblue ,everblue1 ,everblue2 ,everquest ,everquest ,1 ,evoluerend ,exbluesion ,exbluesiv ,excentrique ,excentriques ,excued ,exotheque ,exotique ,exotiques ,explique ,expliquee ,expliquee1 ,expliquee2 ,expliquee3 ,expuesta ,extatique ,ezequel ,fabrique ,fabriquee ,fabriquer ,faguet ,fahrvergnuegen ,faltriqueira ,famousbaroqueconcerti ,famousblueraincoat ,fanatique ,fanatiques ,fandangueira ,fandangueiro ,fantanstique ,fantaseique ,fantasiestuecke ,fantasique ,fantasmagorique ,fantasmagoriques ,fantasmogoriques ,fantasque ,fantastique ,fantastique3003 ,fantastiques ,fantastique ,1 ,fantastque ,farfelues ,fatigue ,fatigued ,fatiguees ,fatique ,faugues ,featues ,feerique ,fegefeuer ,fehlgesteuert ,feleque ,femmesque ,fequency ,ferngesteuert ,festiblues2003 ,festouvertuere ,feuer ,feuerabend ,feueralarm ,feuerbarde ,feuerblume ,feuerbluten ,feuerbraut ,feuerdamons ,feuerduft ,feuerelfen ,feuerengel ,feuerewerke ,feuerfalter ,feuerfarbe ,feuerfeder ,feuerfest ,feuergeist ,feuergott ,feuergottin3 ,feuergottin4 ,feuergottin6 ,feuerhand ,feuerherz ,feuerhex ,feuerkelch ,feuerkreiner ,feuerland ,feuerloschen ,feuermann ,feuermohn ,feuermonche ,feuermond ,feuermord ,feuernix ,feuerofens ,feuerpriesterin ,feuerprobe ,feuerproben ,feuerquallen ,feuerquell ,feuerreiter ,feuerrosen ,feuerross ,feuerrote ,feuerroten ,feuerroß,1 ,feuers ,feuersaga ,feuersalamander ,feuersnot ,feuersnot2 ,feuerspiel ,feuerspringer ,feuerspuk ,feuerspuren ,feuerstadt ,feuerstein ,feuersteine ,feuersteins ,feuerstrom ,feuersturm ,feuert ,feuertal ,feuertanz ,feuertanzer ,feuertaufe ,feuerteufel ,feuertochter ,feuerturm ,feuervogel ,feuervogels ,feuerwache ,feuerwasser ,feuerwasser10 ,feuerwehr ,feuerwehrgeschichten ,feuerwehrmann ,feuerwehrmarsch ,feuerwek ,feuerwerk ,feuerwerk5 ,feuerwerks ,feuerwerksmusik ,feuerzangenbowle ,feuerzauber ,feuerzauber97 ,feuerzeug ,fichue ,fiesque ,fievstuecker ,figue ,figueira ,figueiredo ,figueras ,figueredo ,figueroa ,filmotheque ,finkenauer ,fique ,fiquet ,fishcotheque ,fizheuer ,flaguer ,flaqueza ,fleischhauerball ,fliegerrevue ,flingue ,flinguees ,flingueurs ,flotenduette ,flue ,fluechtiger ,fluegel ,fluegelhorn ,fluegeln ,fluengel ,fluent ,fluenz ,fluesse ,fluet ,fluete ,fluteromantique ,foerderungswuerdiges ,fogueira ,foguete ,folkandblueswednesday ,folkdingue ,folkloiques ,folklorique ,folkloriques ,folkoriques ,folque ,fondue ,fonque ,foqueira ,formigues ,forqueray ,forqueray ,1 ,fosques ,fouer ,fougue ,fougues ,fougueuse ,fouquet ,fousque ,foutue ,francafrique ,francisque ,francomusiques2013 ,franquette ,franqueza ,frasques ,fraue ,frauefuessball ,frauen ,frauen4 ,frauenarzt ,frauenbart ,frauenchor ,frauendorf ,frauenfeld ,frauenflusterer ,frauenflusterer2 ,frauengeschichten ,frauengestalten ,frauenhande ,frauenhasser ,frauenhaus ,frauenhofer ,frauenjager ,frauenkirche ,frauenkirche2005 ,frauenklostern ,frauenknast ,frauenliebe ,frauenlob ,frauenluder ,frauenmorder ,frauenpower ,frauenpower2 ,frauenrock ,frauensaiten ,frauenschrift ,frauenschwarm ,frauenstein ,frauenstimmen ,frauentimmer ,frauenversteher ,frauenverwohntag ,frauenzimmer ,freakqueen ,freakquency ,freakuencies ,freaquency ,freaquenseize ,frecuencia ,frecuencias ,frecuency ,frecuente ,frederique ,freischuetz ,fremdgesteuert ,frenetique ,frequence ,frequences ,frequencia ,frequencies ,frequencies03 ,frequencies2 ,frequencies3 ,frequencies4 ,frequencies ,2 ,frequency ,frequency001 ,frequency1 ,frequency2 ,frequency2002 ,frequency5000 ,frequency99 ,frequencylib ,frequency ,1 ,frequenstar ,frequent ,frequentait ,frequentations ,frequentflyer ,frequently ,frequentz ,frequenz ,frequenzberatung2006 ,frequenze ,frequenzen ,frequenzfieber ,frequenzies ,frequenzklang ,frequenzy ,fresquecito ,fresques ,freudenfeuer ,freue ,freuen ,freuet ,freundenfeuer ,frique ,frisquettes ,froliqueux ,fromablueplanet ,frontfeuer ,frostfeuer ,fruechte ,frueh ,fruehe ,fruehen ,frueher ,fruehere ,fruehjahr1997 ,fruehjahr2009 ,fruehjahr2010 ,fruehjahrskonzert15 ,fruehjahrskonzert2003 ,fruehling ,fruehlings ,fruehlingserwachen ,fruehlingsfest ,fruehlingsgefuehle ,fruehlingshits ,fruehlingskonzert2013 ,fruehlingsparade ,fruehner ,fruehstueck ,fruehstyxradio ,fruen ,fruendae ,fruener ,fruenf ,fruer ,fruesch ,fruestuecken ,fuckmorgue ,fue ,fueco ,fuecu ,fuegel ,fuegio ,fuego ,fuego2002 ,fuego2006 ,fuego9 ,fuegos ,fuegt ,fueguitos ,fuehl ,fuehle ,fuehlt ,fuehr ,fuehrer ,fuehrsch ,fuehrt ,fuehrung ,fuehrungskraefte ,fuehrungsrolle ,fuehrungsstaerke ,fuel ,fuel1 ,fuel2 ,fuel2000 ,fueled ,fueler ,fuelin ,fueling ,fuelled ,fuels ,fuenf ,fuenfte ,fuenfzehn ,fuenfzehnjaehrige ,fuenfziger ,fuengo ,fuenllana ,fuente ,fuentes ,fuentes1 ,fuentez ,fuer ,fuer1001 ,fuer12 ,fuer3 ,fuera ,fueran ,fueranos ,fueras ,fuerchten ,fuere ,fuerig ,fueron ,fuers ,fuerst ,fuerstenhoefen ,fuertas ,fuerte ,fuertes ,fuertes2 ,fuerteventura ,fuerza ,fuerza2 ,fuerzal ,fuerzas ,fuess ,fuessballticket ,fuesse ,fuessnote ,fuetere ,fuette ,fuettern ,fueye ,fueye ,1 ,fugue ,fugue2 ,fuguee ,fugues ,fugues11 ,fugues3 ,fugues9 ,fugues ,1 ,fugue ,2 ,fumue ,funalogue ,fundiziyue ,funkadelique ,funkenfeuer ,funque ,furuer ,futue ,futuer ,gadoue ,gakuen ,gakuensai ,gakuensenki ,gakuentengoku ,galactique ,galguen ,galue ,gananoque ,gardenesque ,garrigues ,gasenhauer ,gassebhauer ,gassehauer ,gassenhauer ,gassenhauer1 ,gassenhauer1906 ,gassenhauer1912 ,gassenhauer2 ,gassenhauer3 ,gassenhauer4 ,gastroblues ,gatorblues ,gauean ,gaueko ,gebauer ,gebrueder ,gebruellt ,geburtstagsueberraschung ,gecuete ,gefluegelte ,gefuehl ,gefuehle ,gefuehlen ,gefuehlsecht ,gefuehrt ,gefuele ,gehbauer ,gekuerzt ,gemauer ' ), ( 7, ' genauer ,generique ,generiques ,genetique ,genique ,genuegt ,geographique ,geruechte ,gesteuertes ,getreue ,gfuehlsweid ,ghettoguerillatactiks ,ghuaue ,gialorgues ,gicquel ,gigue ,gigues ,gigueux ,gigue ,1 ,gipfelstuermer ,girouet ,gitarrenduette ,gitarresque ,glafrique ,glagolitique ,gletscherbuebe ,glogauer ,glorifiquemos ,glue ,gluebellies ,glueboxxx ,gluecifer ,glueck ,gluecklich ,glueckliche ,gluecklichen ,gluecklicheres ,gluecks ,gluecksgefuehle ,gluecksmomente ,gluecksrad ,glueckwunsch ,glued ,gluehendsten ,gluehwuermchen ,glueniverse ,gluepot ,gluey ,glue ,1 ,gmuees ,gmuend ,gmues ,gmuet ,gmuetlich ,gmuetliche ,gnadauer ,gnostique ,gnrique2 ,gnue ,goguen ,goldstuecke ,gongue ,goraguer ,gosmerbueba ,gossenhauer ,gotchique ,gothique ,gothiques ,goue ,gouel20 ,goues ,gouez ,graduel ,graduell ,grafenauer ,granduer ,grasanklingsblues ,graue ,grauem ,grauen ,grauengaards ,grauenjaegers ,grauenjagers ,grauens ,grauer ,graues ,greatestduets ,greatqueen ,grecque ,grecques ,greenblue ,grenzfrequenz ,gresque ,grooblue ,groschenblues ,grotesque ,grotesqueries ,grotesques ,grue ,gruederlich ,gruelash ,gruen ,gruenbaers ,gruenberg ,gruenberg ,1 ,gruende ,gruene ,grueneberger ,1 ,gruenen ,gruener ,grueni ,gruenling ,grues ,gruesa ,grueso ,gruesomania ,gruesome ,gruesomology1985 ,gruess ,gruessa ,gruessau ,gruesse ,gruessen ,gruessen2 ,gruesst ,grueszt ,gruezi ,grundblues ,grundblues2 ,gruppenabenteuer ,gsuecht ,guaqueros ,guateque ,guateques ,gue ,gue1723 ,guebos ,guebwiller ,gueddan ,gueden ,guedes ,guedes01 ,guedes02 ,guedes03 ,guedes04 ,guedes05 ,guedes06 ,guedes07 ,guedes09 ,guedes11 ,guedes12 ,guedes13 ,guedes14 ,guedes15 ,guedes16 ,guedes17 ,guedes18 ,guedes20 ,guedes23 ,guedes24 ,guedes25 ,guedes26 ,guedes27 ,guedes28 ,guedes29 ,guedes3 ,guedes30 ,guedes31 ,guedes32 ,guedes4 ,guedes5 ,guedes50 ,guedes6 ,guedes7 ,guedes9 ,guedon ,guedron ,gueej ,gueen ,gueio ,gueiteiros ,gueko ,guela ,guelaguetza ,guelder ,guelfi ,guell ,guelle ,guelph ,gueluence ,guem ,guemes ,guen ,guena ,guenstlichem ,guent ,guenta ,guentando ,guenter ,guenther ,guents ,guepe ,guepes ,guer ,guera ,guerandaise ,guerau ,guerber ,guercoeur ,guerilla ,guerilla2011 ,guerillamix ,guerillas ,guerillaton ,guerillatree ,guerillaz ,guerillero ,guerilleros ,guerin ,guerini ,1 ,guerir ,guerir4 ,guerirai ,guerison ,guerit ,guermantes ,guermantes1 ,guermantes2 ,guern ,guerncia ,guernica ,guernsey ,guernseyer ,guero ,guerolito ,gueros ,guerra ,guerra4 ,guerra440 ,guerras ,guerre ,guerre1942 ,guerre1944 ,guerreira ,guerreiro ,guerreiros ,guerrense ,guerrera ,guerreras ,guerrerense ,guerrero ,guerreros ,guerrero ,5 ,guerrers ,guerres ,guerre ,1 ,guerrier ,guerriere ,guerrieres ,guerrieri ,guerriero ,guerriers ,guerriglia ,guerrila ,guerrilheiro ,guerrilla ,guerrilla2 ,guerrillas ,guerrilla ,2 ,guerrillera ,guerrillero ,guerrilleros ,guerro ,guerulaitis ,gues ,guesch ,guesnon ,gueso ,guess ,guessed ,guesses ,guessin ,guessing ,guessong ,guesss ,guesswork ,guest ,guest1 ,guest2 ,guestbook ,guesthouse ,guestlist ,guestmix11 ,guestroom ,guests ,guests1 ,guests2 ,guests55 ,guestspot ,guestures ,guest ,3 ,guet ,guetary ,guete ,guetho ,gueti ,guetnachtgschichte ,gueto ,guets ,guetta ,guette ,guetteur ,guetto ,gueule ,gueuledeloup ,gueuler ,gueules ,guevara ,guevarra ,guevas ,guevera ,guevo ,guevos ,guew ,guewel ,guey ,guez ,guigues ,guiguettes ,guinguette ,guinguette4 ,guinguettes ,guitaresque ,guschlbauer ,gutterbillyblues ,gymnastique ,gyreueis ,gyrovague ,habichuela ,habichuelas ,haduetim ,hague ,hague12 ,hague2007 ,haguebau ,haguen ,hamburguer ,hammerauer ,handorgelduett ,haque ,hardsequencer ,hardsequencers ,harmoniques ,harzbluet ,hashfuel ,hauen ,hauenfiomiume ,hauer ,hauer ,1 ,hausfrauentraum ,havfrue ,havfruen ,hebraique ,hebraiques ,heidenauer ,heimatgruesse ,heimattreue ,helenistique ,hellfueled ,hellomundocruel ,henjueke ,henneguet ,henrique ,henriques ,henriquez ,herbstfeuer ,heretique ,heretiques ,herllfueled ,heroique ,heroiques ,heroiques2 ,heroique ,1 ,herzbluet ,herzfrequenz ,herzgesteuert ,heterosexuell ,hexablue ,hidalguense ,1 ,hierbabuena ,himmelblaue ,himmelblauen ,himmelsfeuer ,himmelsstuermer ,hindoues ,hipermerengues ,hipnotique ,hirosue ,histoirefantastiques ,historique ,historiques ,historiques1928 ,hnique ,hoamatblues ,hochsauerland ,hochzeitsabenteuer ,hochzeitsblues ,hoerbuecher ,hoervergnuegen ,hofbauer ,hogue ,hoguera ,hogueras ,holledauer ,hollenfeuer ,holzbauer ,holzschueh ,homeopathiques ,hominumque ,homologue ,homoresque ,honouer ,hoquei ,hormiguero ,hosue ,hotelabenteuer ,houen ,houese2009 ,houjoue ,houseguest ,hoyues ,huahuquey ,huapangueando ,huapanguera ,hue ,hueber ,huebner ,hueca ,huecco ,hueco ,huecos ,huehndervogu ,huehnerstall ,huehuecuicatl ,huejazz ,huele ,huelen ,huelga ,huelgas ,huelgas ,1 ,huella ,huellas ,hueller ,huelo ,huelsenbecks ,huelva ,huemer ,huendchen ,huerfana ,huerfanas ,huerfanito ,huerta ,huerta ,1 ,huerto ,hueru ,hues ,huesca ,huesch ,huesen ,huesito ,hueso ,huesos ,huesped ,huet ,hueter ,hueterin ,huette ,huettenhits ,huettenkracher ,huettensause ,hueveuz ,huevo ,huevos ,huey ,huezo ,hueß,1 ,huguenots ,hugues ,huguet ,huguette ,humahuaqueno ,humanesque ,humoresque ,humoresques ,humoristique ,humoristiques ,hungerkuenstler ,huusfroue ,hyperythmique ,hypnagogue ' ), ( 8, ' hypnagogues ,hypnagogue ,1 ,hypnofugue ,hypnotique ,hypnotiques ,hypocondriaque ,iaaeaiiue ,iaaeiooue ,iaauea ,iaaueao ,iaauec ,iaauei ,iaaueie ,iaciaeiiue ,iaeaiueay ,iaeaiueea ,iaeaiueee ,iaecaanoiue ,iaeneiaeuiue ,iaeuiue ,iaiaaeyaiue ,iaiaiiue ,ialogue ,ianoiyueo ,iaoeaiue ,iaoue ,iaueee ,iberique ,iberiques ,ibirapuera ,iciaue ,ideuei ,ieaaeeuiue ,ieyoouea ,ifuerte ,iiaeeuiue ,iiaue ,iiaue11 ,iiceoeaiue ,iieiue ,ikenoue ,illgauer ,illgauergruess ,illgauermusig ,ilmenauer ,imanuel ,imblued ,immanuel ,immanuelkerk ,immergruen ,imnauer ,imprevue ,impuesto ,inbluesstation ,incestueuses ,inclued ,incongrue ,incongruent ,inconnue ,inconnues ,inconsequence ,inconsequente ,inconsequential ,inconsuete ,indianerabenteuer ,individuel ,individuell ,individuelle ,individuellos ,indoues ,induelo ,induetime ,ineloquent ,inesquec ,inesqueciveis ,inesqueciveis3 ,inesquecivel ,inesquesivel ,ineue ,influenca ,influencable ,influence ,influence1 ,influence3 ,influenced ,influencer ,influences ,influences ,2 ,influence ,2 ,influencia ,influenciado ,influencias ,influencing ,influential ,influentials ,influentual ,influenz ,influenza ,influessence ,infrequent ,infrequentable ,ingenue ,ingluences ,initiatique ,inkaquenas ,innuendo ,innuendos ,inoue ,inoue2000 ,inqiueto ,inquebrantable ,inquebrante ,inquest ,inseguendo ,insomniaques ,instruental ,instrumentalstuecke ,insuersables ,intecnique ,intellectuelle ,intellektuelle ,interceltique ,intoxiques ,intrigue ,intriguer ,intrigues ,introdjuezz ,inue ,inuea ,inueeo ,inuendo ,investiguem ,iocuea ,iocuea30 ,iocueaeo ,iocueaeo2 ,iocueaeo2004 ,iocueaeuiay ,iocueaeuiia ,iocueaeuiue ,iocueaio ,iocueaioia ,iocueaiou ,iocuee ,iocueo ,ioeiue ,ioiaiue ,ioniques ,iooue ,ioueia ,ique ,iques ,iquique ,irtue ,isaque ,ishkuess ,ishque ,islamique ,isques3 ,issue ,issue0 ,issue005 ,issue01 ,issue012 ,issue02 ,issue03 ,issue03 ,1 ,issue04 ,issue04 ,1 ,issue05 ,issue059 ,issue06 ,issue06 ,1 ,issue07 ,issue08 ,issue08 ,1 ,issue09 ,issue1 ,issue10 ,issue104 ,issue105 ,issue106 ,issue107 ,issue109 ,issue11 ,issue112 ,issue113 ,issue116 ,issue117 ,issue118 ,issue119 ,issue12 ,issue120 ,issue121 ,issue123 ,issue124 ,issue125 ,issue12 ,1 ,issue13 ,issue131 ,issue135 ,issue14 ,issue141 ,issue143 ,issue14 ,1 ,issue15 ,issue153 ,issue15 ,1 ,issue16 ,issue161 ,issue168 ,issue16 ,1 ,issue17 ,issue177 ,issue178 ,issue18 ,issue180 ,issue187 ,issue19 ,issue198 ,issue2 ,issue200 ,issue2006 ,issue2007 ,issue2008 ,issue2011 ,issue2012 ,issue2013 ,issue2014 ,issue206 ,issue20 ,1 ,issue21 ,issue219 ,issue22 ,issue220 ,issue221 ,issue221994 ,issue222 ,issue224 ,issue225 ,issue226 ,issue227 ,issue228 ,issue229 ,issue23 ,issue230 ,issue231 ,issue232 ,issue233 ,issue234 ,issue235 ,issue236 ,issue237 ,issue238 ,issue24 ,issue240 ,issue241 ,issue242 ,issue243 ,issue244 ,issue245 ,issue246 ,issue247 ,issue248 ,issue24 ,1 ,issue250 ,issue251 ,issue252 ,issue253 ,issue254 ,issue255 ,issue256 ,issue257 ,issue258 ,issue259 ,issue260 ,issue261 ,issue262 ,issue263 ,issue264 ,issue265 ,issue266 ,issue267 ,issue268 ,issue269 ,issue27 ,issue270 ,issue271 ,issue272 ,issue273 ,issue275 ,issue276 ,issue277 ,issue278 ,issue280 ,issue281 ,issue282 ,issue29 ,issue298 ,issue3 ,issue30 ,issue305 ,issue307 ,issue317 ,issue32 ,issue321996 ,issue327 ,issue33 ,issue334 ,issue34 ,issue342 ,issue343 ,issue35 ,issue36 ,issue37 ,issue38 ,issue39 ,issue4 ,issue40 ,issue42 ,issue43 ,issue44 ,issue45 ,issue46 ,issue47 ,issue48 ,issue5 ,issue50 ,issue51 ,issue52 ,issue53 ,issue56 ,issue57 ,issue59 ,issue6 ,issue61 ,issue62 ,issue65 ,issue69 ,issue7 ,issue70 ,issue71 ,issue72 ,issue74 ,issue75 ,issue77 ,issue78 ,issue8 ,issue80 ,issue81 ,issue82 ,issue83 ,issue86 ,issue87 ,issue9 ,issue90 ,issue91 ,issue92 ,issue93 ,issue94 ,issue95 ,issue96 ,issue98 ,issued ,issued2 ,issued2001 ,issued2003 ,issued3 ,issues ,issue ,8 ,issue 01 ,issue 11 ,istanblues ,ithaque ,iue ,iyoeoaieuiue ,iyoue ,jachuene ,jackiesbluesbag ,jacque ,jacqueen ,jacqueline ,jacquelines ,jacqueline ,1 ,jacquerie ,jacques ,jacquesa ,jacquet ,jacueline ,jagdgruenden ,jamaique ,japanesque ,japiaguer ,japonesque ,jaque ,jaquedu ,jaqueline ,jaquemart ,jaques ,jaquet ,jaquez ,jarque ,jasszboutique ,jasuen ,jazzactuel ,jazzblues ,jazzbluessoul1963 ,jazzboutique ,jazzbuehne ,jazzfunkbluessoulcool ,jazzuela ,jegue ,jemaroque ,jerique ,jeue ,jilguerillas ,jilguero ,jilgueros ,jnesqueveis ,jocque ,jodelduett ,jodlerduette ,jodlergrues ,joue ,joue50 ,jouent ,jouer ,jouer1 ,jouer2 ,joues ,jouet ,jouets ,jouets2 ,joueur ,joueurs ,joueuse ,jouez ,joue ,1 ,jouluenkeli ,jue ,juega ,juegalo ,juegan ,jueges ,juego ,juegolandia ,juegos ,juegues ,juel ,juelsgade ,juengste ,juengsten ,juent ,juepa ,juerga ,juerga2 ,juergasmoan ,juergen ,juergens1972 ,juergensen ,juergenz2009 ,jueus ,jueves ,juez ,jugendsuenden ,jugue ,juguemos ,juguero ,juguete ,juguetes ,juhlakonserttikiertue ,juillaguet ,jumblequeen ,jungfrauenchor ,jungfrauenspiel ,junoesque ,junqueira ,jurafuess ,juridique ,juridiques ,kaiserreichstreue ,kakaduduett ,kalauer ,kaminfeuer ,kamnueng2 ,kamnueng3 ,karnatique ,karnatiques ,katalogue ,katerfruehstueck ,katinguele15 ,katuen ,kauempana ,kawablues ,kazue ,keadue ,kebuenas ,kegelduette ,keinezeitfuertraenen ,khluen ' ), ( 9, ' kiertue2012 ,kiertuebandit ,kiertueella ,kihntinued ,kilaueas ,kinderclique ,kingsqueens ,kingtinued ,kinkkuelamaa ,kiosque ,kiosque1900 ,kirchenbauer ,kitzbuehel ,kjue ,klangfeuer ,klassique ,klauen ,klauers ,klavierfeuer ,klavierstuecke ,klezsqueeze ,kloboueku1995 ,klostermauerr ,kluegsten ,knuedler1995 ,knueller ,kochduell ,koduouel ,kohuept ,konsequent ,konsequenz ,konteuei ,kontinues ,konversationsstueck ,konzertstuecke ,korakuen ,koreanrockblues ,korguelaal ,kosovablues ,kouen ,kouevuur ,kozue ,kraftblues ,kraftquelle ,krakauer ,kreuzfeuer ,kriegsuerbrerhen ,krippenblues ,kronauer ,krueger ,kruel ,kruelty ,krueng ,kruetzer ,krumenauer ,kuchibue ,kue ,kueche ,kuechenlieder ,kuederjuegd ,kuehe ,kuehl ,kuehler ,kuehlschank ,kuei ,kuemmerling ,kuen ,kuenste ,kuenstler ,kuentos ,kuentz ,kuenzi ,kuepper ,kuer ,kueraobend ,kuerpos ,kuerti ,kuess ,kuesse ,kuessen ,kuesser ,kuesst ,kuetu ,kulturbrauerei ,kuntueni ,kuruez ,kuuekumnendad ,kyuen ,labchueche ,labegueri ,labeque ,labrecque ,lacquer ,lacquered ,ladue ,lafuerza ,lagerfeuer ,lagerfeuergeschichten ,lagerfeuerhits ,lagerfeuertraume ,lague ,laguepe ,laguerre ,laique ,laitue ,laitues ,lamarque ,lamcque ,lamusique ,lamusiquerusseauxviiisiecle ,landauer ,languagues ,langue ,languedoc ,langues ,lansquenets ,laptopmusique ,laque ,laquer ,laquered ,larguez ,larocque ,larue ,latinesque ,latinique ,laue ,lauer ,lauerer ,lauerntz ,lauersen ,leaague ,league ,league3 ,leagues ,league ,4 ,lebegue ,lechimpatomique ,lectroniques ,lefonque ,legestuesange ,leguero ,legueros ,leichenbeschouer ,leluelamaa ,lemarque ,lemarque1 ,lemarque2 ,lemuel ,leque ,lequel ,letzebuerg ,letzebuerger ,letzebuergesch ,leuchtfeuer ,levesque ,levesque1 ,levesque3 ,levesque4 ,levesque5 ,levesque7 ,levesque8 ,levesque9 ,levitique ,lexique ,lharmonique ,lichtschmerzkerzenleidfeuer ,liebesduette ,liebesgruesse ,liebestraeueme ,liederabenteuer ,liederrevue ,lieues ,ligabue ,limanueva ,lindembergue ,lintuinfluenssa ,lique ,liquefaction ,liquefied ,liquefy ,liquenes ,liquer ,liqueur ,lissauer ,lisztronique ,litaniques ,litauen ,lithurgiques ,liturgique ,liturgiques ,liturgiques4 ,liturgiques7 ,llegue ,llengues ,llucalquelba ,llueva ,llueve ,logique ,logiques ,logue ,logues ,logue ,1 ,lomakiertue ,longue ,longue96 ,longues ,longuest ,longuet ,longueuil ,longueur ,longueurs ,lonquen ,lonquen ,1 ,loppuelama ,loppuelaman ,loque ,loqueando ,loquebantur ,loquera ,loquero ,lorsque ,lotsatuen ,louer ,louer4 ,louer6 ,louez ,loufoque ,loufoqueries ,loungeelectique ,loungues ,loustiques ,louvesque ,lubrique ,lucifuego ,lue ,luebbeaudio ,luebeard ,luebeck ,luebo ,luedeke ,lueders ,lueg ,luegada ,luege ,luegen ,luegenlieder ,luegner ,luego ,luego2001 ,luegrass ,luek ,luella ,luem ,luening ,lueprints01 ,luerence ,lues ,luesta ,lues ,2 ,lueti ,luetz ,lueuet ,lueur ,lueurs ,lullabluebe ,lullablues ,lunatique ,lunatiques ,luriques ,lusbueb ,lyeique ,lyrikwuerfel15 ,lyrikwuerfel16 ,lyrique ,lyriques ,lyriques1 ,lyriques2 ,lyriques3 ,lyrque ,lytique ,macgruer ,machinique ,maconnique ,maconniques ,macque ,madrague ,maedchenbluete ,magique ,magique2 ,magiques ,magiques72 ,magnafique ,magnetique ,magnetique4 ,magnetiques ,magnifique ,magnifique400 ,magnifiques ,magnifique ,1 ,magnigique ,maguelone ,maguelonne ,maieutique ,majestique ,majorleague ,majorstuen ,malague ,malaguena ,malaguenas ,malaguena ,1 ,malagueta ,malelingue ,mancruel ,mancuerda ,mandigues ,mandingue ,mandingueiro ,mandingues ,mandolinquents ,mangue ,mangueira ,manguerere ,manique ,mannequeen ,mannigueta ,mannuel ,manosque ,manouevres ,manque ,manquee ,manquer ,manques ,mantique ,mantique1 ,mantique12 ,mantique15 ,mantique19 ,mantique20 ,mantiqueira ,mantoue ,manuel ,manuela ,manuela1 ,manuelita ,manuelito ,manuell ,manuelle ,manuels ,manuever ,manuguerra ,maouez ,maquee ,maquereaux ,maqueta ,maqueta1 ,maqueta15 ,maqueta2001 ,maqueta2002 ,maqueta2003 ,maqueta2004 ,maqueta2005 ,maqueta2006 ,maqueta2007 ,maqueta2009 ,maqueta3 ,maquetas ,maquetas2005 ,maquetas40 ,maquete ,maquete2003 ,maquetes ,maquette ,maquette01 ,maquette1 ,maquette2005 ,maquette2007 ,maquettes ,maraquero ,marenque ,marguerit ,marguerite ,margueritten ,marguerre ,marineblues ,maripuera ,marque ,marquee ,marquee18 ,marquee19 ,marquee1969 ,marquee1973 ,marquee1975 ,marquee1980 ,marquee1982 ,marquee2 ,marquee24 ,marquee29 ,marquee30 ,marquee ,1 ,marquer ,marques ,marques50 ,marqueson ,marquess ,marquet ,marquez ,martinique ,maruecko01 ,marycue ,masaique ,masque ,masquefa ,masquenada ,masquenade ,masquerade ,masquerade2034 ,masquerade3 ,masqueradea ,masquerades ,masquerade ,3 ,masquerading ,masques ,masque ,1 ,massaguer ,massue ,masuemusical ,matengue ,mathematique ,matique ,matkalaukkuelamaa ,matraque ,matsuei ,matsuev ,maue ,mauer ,mauerbau ,mauern ,mauern2 ,mauersberger ,mauerspechte ,mauerspechte2 ,mausique ,maxiafrique ,mazue ,mbique ,mbuetete ,mceuen ,mckuen ,mcqueen ,mcqueens ,mecanique ,mecaniques ,mechanique ,mecnique ,meconnues ,mecque ,mediatique ,mediatiques ,meerjungfrauen ,megablues ,megaphonique ,megatonnique ,megengue ,meisterstuecke ,mejoueva ,melancolique ,melancoliques ,melancosmiaque ,melue ,menengue ,meniques ,menschenfuehrung ,mentaltrainingfuerfortgeschrittene ,menue ,menuet ,menuetler ,menuets ,menuett ,menuette ,menuetti ,menuetto ,merangue ,meregue ,merenggue ,merengue ,merengue04 ,merengue06 ,merengue1 ,merengue15 ,merengue16 ,merengue17 ,merengue18 ,merengue19 ,merengue2 ,merengue20 ,merengue2000 ,merengue2001 ,merengue2002 ,merengue2003 ,merengue2004 ,merengue2005 ,merengue2007 ,merengue2010 ,merengue3 ,merengue96 ,merengue99 ,merengueame ,merengueando ,merengueando2000 ,merenguemania ,merenguemania2002 ,merenguera ,merenguera2005 ,merenguera98 ,merenguero ,merenguero20 ,merenguero2003 ,merenguero2004 ,merengueros ,merengues ,merengues2 ,merengues2003 ,merengues80 ,merengues 15 ,merenguew ,merenguez ,merengue ,1 ,merenque ,merenque2000 ,mergengue ,mergengues ,meringue ,merkwuerdigen ,merlicoquet ,mernegues ,merngue ,metahue ,metalbopblues ,metalique ,metallique ,metalliques ,metalnesque ,metatuque ,meteque ,methuen ,metropolique ,mexique ,mezzosangue ,microscopique ,midnightblue ,mielparque ,miguel ,miguel2 ,miguel2002 ,miguel2003 ,miguel2006 ,miguel20081 ,miguel20082 ,miguelito ,miguelo ,miguel ,1 ,miguez ,milongueando ,milonguear ,milongueiro ,milonguenado ,milonguera ,milongueras ,milonguero ,milongueros ,milquetoast ,mimetique ,minguet ,mingyue ,minilogue ,minitheque ,minitheque1 ,minitheque23 ,minitheque6 ,minogue ,minogue ,1 ,minue ,minuet ,minuetos ,minuets ,minuette ,minuetto ,minyue3 ,miouei ,miquel ,miquest ,miqueu ,miroque ,miroque13 ,miroque4 ,misanthropique ,miscues ,misericorddiaque ,misericordiaque ,missingblue ,mistinguett ,mistique ,mitarbeitervertrauen ,mitsue ,miusiques ,mobilehomecomingqueen ,mocambique ,mocambique2004 ,mocbgugehue ,moccatongue ,modernique ,mogue ,moleque ,molique ,monarque ,monastique ,monastiques ,monchique ,mondsuechtig ,moneydue ,mongue ,mongueles ,monique ,monodiques ,monologue ,monologues ,monroesque ,monstrueuse ,montague ,montagues ,montmarquette ,montruex ,moonshineblues ,moque ,moquer ,moquera ,moquerie ,moqueur ,moragues ,mordue ,morengueira ,morengueira64 ,morgengrauen ,morgengrauen1 ,morgue ,morgue ,2 ,morphologique ,mosaique ,mosaiques ,mosambique ,mosibueba ,moskauer ,mosque ,mosque01 ,mosquee ,mosqueo ,mosques ,mosqueteros ,mosseguen ,mothertongue ,mothertoungue ,motoqueiro ,moue ,mouette ,mouettes ,mouez ,mouezhiou ,mourrrue ,mousique ,mousquetaires ,moustique ,mozaique ,mozaique2007 ,mozaique2008 ,mozaique2009 ,mozaique2010 ,mozambique ,mozambique10 ,mozambique1955 ,mozambiques ,mphtongue ,mqsque ,mue ,mueassts ,mueat ,muebles ,muecas ,muecke ,muede ,muedersproak1 ,muedigkeit ,muehe ,muehlenweiler ,muel ,mueller ,muellerin ,muellers ,muenchen ,muenchen9 ,muenchhausens ,muenchinger ,muenchner ,muendu ,muenich ,muenster ,muenster12 ,muenstereifel ,muera ,mueran ,mueranse ,mueras ,muerase ,muerdago ,muerden ,muerdete ,muerdo ,muere ,mueren ,mueres ,muero ,muert ,muerta ,muertas ,muerte ,muerto ,muertos ,muertozzz ,mues ,muesch ,muesette ,muess ,muesste ,muestik ,muestra ,muestrame ,muestras ,muet ,mueter ,mueterchue ,mueterland ,mueti ,muets ,muette ,muetters ,muetti ,muetze ,muevas ,mueve ,muevelo ,muevelo2000 ,muevente ,mueves ,muevese ,muevete ,muevo ,muezzin ,muguet ,muisque ,mujerzuela ,muleque2 ,munichblues ,munique ,murguentica ,murguera ,muscque ,musicotheque ,musicque ,musicuentos ,musiggruess ,musikrevue ,musikrevue125 ,musipue ,musique ,musique0404 ,musique1 ,musique1980 ,musique1981 ,musique1998 ,musique2 ,musique2001 ,musique2003 ,musique2005 ,musique2006 ,musique27 ,musique28 ,musique3 ,musique94 ,musique95 ,musique96 ,musique98 ,musiqueando ,musiquedestziganesderoumanie ,musiqueplus ,musiqueries ,musiques ,musiques2 ,musiques2004 ,musiques2006 ,musiques2007 ,musiques2008 ,musiques92 ,musiquetes ,musique ,2 ,musiue ,musqiue ,musque ,musques ,mustique ,mustique2006 ,mutuel ,muzique ,mvsicque ,myllyblues ,mystagogue ,mystique ,mystique2 ,mystique3 ,mystiques ,mytheque ,mythique ,mythiques ,mythiques07 ,nachtfeuern ,nachtmusique ,nadalenques ,nague ,naguere ,nahuel ,naiaeiue ,naiue ,napoleonbuesten ,naquele ,naruelich ,natrue ,naturequest ,naveguen ,naviguer ,nbolesque ,ndgrauen ,nederblues ,negerkuesse ,nehuen ,neieuei ,neque ,neue ,neueinspielungen ,neueinsteiger2007 ,neueinsteiger2008 ,neueinsteiger26 ,neuem ,neuen ,neuenkirchen ,neuentdeckte ,neuentdeckung ,neuer ,neuere ,neuerscheinung ,neues ,neuese ,neueste ,neuesten ,neuester ,neueun ,neuquen ,neurotiques ,nfluence '), ( 10, ' nfluences ,ngrauen ,ngue ,nicarague ,nicaraguense ,nichibutsuearlycollection ,nightblue ,nightquest ,nimrodiabolique ,ningueim ,ninguem ,nique ,niqueis ,niques ,niquet ,nirvanesque ,nochebuena ,noctourniquet ,nogueira ,noiresque ,1 ,nonnenfuerze ,nonologues ,nonsequence ,nordique ,nordiques ,nordseekueste ,nortenasyrancherasque ,northernblues ,noruega ,noruegako ,norueguesas ,noseque ,nosmokenobluepaint ,nostalgique ,nostalgique1937 ,nostalgiques ,nostoquen ,notwendfeuer ,nriquelon ,ntambue ,ntastique ,ntinue ,ntinues ,ntoue ,ntoueta ,nue ,nueba ,nueces ,nuech ,nueche ,nuecht ,nuee ,nueit ,nueitas ,nuel ,nuemro ,nuendo ,nuer ,nuernberg ,nuernberger ,nuerstro ,nues ,nuesa ,nuesto ,nuestra ,nuestra1 ,nuestra30 ,nuestras ,nuestras12 ,nuestras30 ,nuestro ,nuestro1 ,nuestro2 ,nuestro20 ,nuestro2003 ,nuestro2004 ,nuestro2005 ,nuestro2006 ,nuestros ,nuestros100 ,nuestros26 ,nuestros30 ,nuestro 20 ,nuet ,nuetras ,nuets ,nueuo ,nueva ,nueva2003 ,nueva2009 ,nuevabossanova ,nuevamente ,nuevas ,nueve ,nuevenoventaicinco ,nueves2 ,nuevo ,nuevo1 ,nuevo2012 ,nuevos ,nuevosmedios ,nuevosmedioscoleccion ,nuevotrioporteno ,nuevu ,nuez ,numerique ,numeriques2 ,nusique ,oaeaoiiiue ,oaeeiaue ,oaeuee ,oaioaaaeuiue ,oaiue ,oaue ,oaxaquena ,oaxaquenos ,obertauern ,oblicue ,oblique ,obliques ,obreque ,obseques ,oceanavenue ,oceanique ,ochsefuer ,odalisque ,oeieaoiaue ,oeptuem ,oeuea ,oeuvrevue ,offusques ,ogooue ,ogrue ,oieuei ,oiue ,oktalogue ,olympique ,olympiques ,onaeuuee ,onceinabluemoon ,ondabuena ,onique ,oniques ,onirique ,oniriques ,ontologique ,ooiaueaei ,opaque ,operettenfeuerwerk ,operettenfeuerwerk2 ,operettenfeuerwerk20 ,operettenfeuerwerk3 ,operettenquerschnitt ,operettenquerschnitte ,opernduette ,opernquerschnitte ,operorue ,optimistique ,optimystique ,opuesto ,opuestos ,oque ,oquendo ,orchesterstuecke ,orenoque ,organique ,orgasmiques ,orgelbuechlein ,orgelbuechlein2 ,orgelfeuerwerk ,orgue ,orgue13 ,orgue14 ,orgue1 ,1 ,orgue2 ,orgue5 ,orguee ,orgues ,orgues3 ,orgue ,2 ,orihuela ,ornithologiques ,orque ,orques ,orquesta ,orquesta1946 ,orquesta40 ,orquestado ,orquestados ,orquestal ,orquestales ,orquestas ,orquestas40 ,orquestra ,orquestra6 ,orquestradas ,orquestral ,orquestrales ,orquestras ,orquestras2 ,orquestras4 ,orqueta ,orquetas ,ortigueira ,osnabrueck ,osnabruecker ,otaque ,otsue ,oue ,oued ,ouee ,oueen ,oueens ,ouelele ,ouellet ,ouellette ,ouelli ,ouen ,ouen1969 ,oueo ,ouessant ,ouest ,ouevre ,ousmatique ,ouvertuere ,ouvertueren ,ouvertueren1 ,ouvertueren3 ,overdue ,overdue ,1 ,overtuere ,overtueren ,ovunque ,pachangueo ,pachanguerisimo ,pachanguero ,pachiqueli ,pacifique ,pacifiques ,packetzustellerblues ,paderquellgebiet ,pafuera ,pafumotheque ,pague ,pague12 ,paguen ,paguer ,palanque ,palastrevue ,paldauer ,palenque ,palenque20 12 ,pamelasuemann ,panflue ,panique ,paniquer ,pantagruel ,panuelo ,panuelos ,papabue ,papercues ,papertongues ,paque ,paquebots ,paquera ,paquerette ,paquerettes ,paques ,paquet ,paquetazo ,paquete ,paquete2 ,paquetito ,paquette ,parabolique ,paraboliques ,paradisiaque ,paranaue ,paraquedas ,paraquenopares ,paraquenopares2 ,paraquenopares6 ,paraquenopares7 ,paraquenopares8 ,paraquenopares9 ,parceque ,pardessues ,paripueira ,parodisiaques ,parque ,parquer ,parques ,parquet ,parquets ,partyfeuerwerk ,pasques ,pasquet ,pasqueyes ,passauer ,pataqueta ,pathethique ,pathetique ,pathetique ,1 ,pathetque ,patriotiques ,patrologique ,pauer ,pearlesque ,pechuers ,pedagogique ,pedagogue ,peggysueandthepirates ,pegue ,peguei ,peittoalueen ,peloqueros ,pelsue ,peluquero ,pentatoniques ,penuel ,peque ,pequena ,pequenas ,pequenikes ,pequenina ,pequenino ,pequeninos ,pequenita ,pequeno ,pequenos ,peques ,percuseuers ,percutronique ,perdue ,perdues ,periodique ,peripherique ,periquera ,perkuenya ,perlgruen4 ,perpetuel ,perpetuelle ,perque ,perroquets ,persigue ,persiguen ,perstechnique ,persued ,petanque ,peuerl ,pflichtstuecke ,phantastique ,phantomesque ,philarmonique ,philharmonique ,phillharmonique ,philosophique ,phondue ,phonetique ,phonique ,phoniques ,phonogenique ,phonographique ,phoque ,physique ,physiques ,pianistique ,pianistiques ,picaresque ,pichuqueando ,pictue ,pictuer ,pictues ,picturesque ,pimsluer ,piqantique ,piquantique ,pique ,piquemal ,piquenique ,piquer ,piquer1 ,piqueteros ,piqueur ,pirarublue ,pirouet3020 ,pirouette ,pirouettes ,pirque ,pirquet ,1 ,piruet ,pirueta ,piruetas ,pitblues ,pittoresque ,pittoresques ,plague ,plague2 ,plaguebearer ,plagued ,plagues ,plaguewielder ,plague ,1 ,plankalkuel ,planque ,plaque ,plaques ,plastique ,plastiquez ,platiques ,plattenkueche ,plauen ,plauener ,plazuela ,plearue ,ploue ,plouen ,pluer ,pluutonique ,podeststuecke ,poeloue ,poetique ,poetiques ,pogue ,pogues ,poguetry ,poiesique ,poiesiques ,politique ,politiquement ,politiqueria ,politiques ,politiques1188 ,polylogue ,polyphonicomique ,polyphonique ,polyphoniques ,polyphonque ,polyptique ,polytechnique ,pongauerisch ,popduette ,popsuey ,poque ,pornographique ,porque ,porqueria ,porquerolles2010 ,porques ,porques3 ,porsupueston ,portugues ,portugues1980 ,portugues1985 ,portugues2 ,portuguesa ,portuguesa1997 ,portuguesas ,portuguese ,portugueses ,portuquese ,porugues ,postblues ,potugues ,poue ,powderblue ,powerfrauen ,powerquest ,1 ,practique ,prague ,prague1 ,prague15 ,prague16 ,prague17 ,prague1967 ,prague2009 ,prague21 ,prague23 ,prague24 ,prague29 ,prague7 ,prague92 ,praguedren ,pragueso ,prague ,1 ,praque ,pratique ,pratiquer ,pratiques ,pratiquez ,prehistorique ,prenzlauer ,prequeal ,prequel ,presque ,presque2 ,pressue ,prevue ,prevue2 ,prisiouera ,prodigue ,prolgue ,prolifique ,prologue ,prologue1 ,prologue1984 ,prologue2 ,prologue ,5 ,prophetiques ,propuesta ,propuestas ,proque ,prossegue ,protorhythmiques ,proue ,prue ,prueba ,pruebalo ,pruebame ,pruebas ,pruebe ,pruefungen ,psique ,psuedo ,psuedoparasyntheticish ,psycheblues ,psychedelique ,psychedeliques ,psychedeliques 1966 ,psychique ,psychotique ,ptyque ,publique ,publiques ,pudahuel ,pudiques ,pue ,puebla ,puebla2007 ,puebla4 ,puebla6 ,puebla7 ,puebla92 ,puebliquin ,pueblito ,pueblo ,pueblo1997 ,pueblo2 ,pueblo29 ,pueblo3 ,pueblo4 ,pueblos ,pueblu ,pueda ,puedan ,puedas ,puede ,pueden ,puedes ,puedo ,puela ,puella ,puenktlichkeit ,puente ,puentes ,puente ,2 ,pueppchen ,puer ,puerca ,puercos ,pueri ,puericultrices ,puerile ,puerisque ,pueri ,1 ,puerko ,puerta ,puertabierta ,puertas ,puerto ,puertolas ,puertonuevo ,puertorican ,puertorico ,puertorriquena ,puertorriquenas ,puertorriqueno ,puertorriquenos ,puertos ,puerto ,1 ,pues ,puesia ,puesrtas ,puesta ,puestas ,puesto ,pueyo ,puisque ,puistoblues ,puistoblues2002 ,pulgueiro ,pulque ,punktgenaue ,punque ,purdue ,pursue ,pursued ,pursuer ,pursues ,putzfrauensongs ,pylonesque ,quadrastique ,quadrivelogue ,quadrologue '), ( 11, ' quadrologues ,quadrophoniquekikz ,qualquer ,qualunque ,quantique ,quantiques ,quaquer ,quarque ,quattordicidodicizerodue ,que ,que1 ,que100 ,que123 ,que2 ,que20 ,queaf ,queasy ,queatit ,quebec ,quebec1 ,quebec1964 ,quebec1977 ,quebec1979 ,quebec2 ,quebec2003 ,quebec2004 ,quebec2005 ,quebec2006 ,quebec2008 ,quebec28 ,quebec30 ,quebec6 ,quebecissime ,quebecois ,quebecoise ,quebecor ,quebectronique80 ,quebec ,1 ,quebra ,quebrada ,quebradas ,quebradeira ,quebradeno ,quebradita ,quebraditas ,quebradito ,quebrado ,quebrados ,quebrando ,quebranguladas ,quebrantado ,quebrantahuesos ,quebrar ,quebraram ,quebre ,quechua ,quechuas ,quecksilber ,queco ,quecumbar ,qued ,queda ,quedamos ,quedan ,quedar ,quedaras ,quedare ,quedarse ,quedas ,quedaste ,quedate ,quede ,quedemonos ,quedes ,quedlinburg ,quedo ,quee ,queen ,queen1 ,queen2 ,queen222 ,queen4 ,queendom ,queene ,queenie ,queens ,queensberry ,queensbound ,queensbridge ,queensdale ,queensday2000 ,queensday2004 ,queensland ,queensra ,queensryche ,queenstown ,queenstown2007 ,queensway ,queens ,4 ,queentet ,queen ,10 ,queer ,queerbeet ,queereality ,queered ,queerheart ,queers ,queery ,queesch ,queffelec ,quehaceres ,quehanna ,quei ,queima ,queimada ,queimando ,queiol ,queira ,queires ,queiro ,queiron ,queixas ,queixumes ,quejas ,quejio ,quejo ,quel ,quelconque ,quele ,queler ,queljoe ,quell ,quella ,quelle ,quelle75 ,quellen ,quellenbaumusik ,quelle ,1 ,quelli ,quellideglialtri ,quellish ,quello ,quells ,quelqu ,quelqua ,quelque ,quelquechose ,quelques ,quels ,quem ,quema ,quemada ,quemados ,quemame ,quemando ,quemantes ,quemao ,quemar ,quemarme ,quemas ,quemaste ,quemdeuadeusapolvora ,quemo ,quen ,quena ,quenas ,quena ,1 ,quenca ,quence ,quench ,quencher ,quenchie ,quenching ,quendo ,quendolin ,quene ,queneau ,quenmahu ,quenn ,queno ,quenouilles ,quent ,quentadharken ,quentche ,quente ,quente2 ,quentes ,quentevol ,quentin ,quento ,quequette ,quer ,quer1 ,querais ,queramus ,querandi ,queras ,querbeat ,querbeat97 ,querbeet ,querbeet1 ,querbeet2 ,querbeet3 ,querbeet4 ,querbeet60 ,querbeet70 ,querbeet80 ,querbeet90 ,quercus ,quere ,querelas ,querelen ,querella ,querelle ,querem ,quereme ,queremos ,querencia ,querencias ,querendo ,querer ,querer2 ,quererme ,querernos ,quererte ,queres ,queretaro ,queretaro1999 ,querfeldein ,querfloete2 ,querflote ,querflote2 ,querflotenbuch ,querflotenschule ,querflotentaxi ,querflotentrio ,querfloteund ,querfurt ,queria ,querian ,querias ,queribins ,querida ,queridas ,queridisimo ,querido ,querido2 ,queridos ,queriendo ,queriendote ,querir ,querk ,querkopfe ,quermos ,quero ,querol ,queros ,querox ,querra ,querras ,querrec ,querro ,querschlag ,querschlager ,querschnitt ,querschnitt2 ,querschnitt77 ,querschnitte ,querschntt ,querstand2004 ,querubim ,querubin ,querubines ,querubins ,querulous ,ques ,quesas ,quesat ,quesela ,queskia ,queso ,quest ,quest02 ,quest08 ,quest1 ,quest10 ,quest11 ,quest12 ,quest14 ,quest15 ,quest17 ,quest18 ,quest19 ,quest2 ,quest20 ,quest23 ,quest24 ,quest25 ,quest26 ,quest2 ,1 ,quest3 ,quest4 ,quest5 ,quest6 ,quest92 ,questa ,questafly ,questamation ,questao ,queste ,queste2 ,queste4 ,questembert ,questeron ,questi ,question ,question2011 ,questionable ,questionable1970 ,questionary ,questione ,questioned ,questioning ,questionmark ,questionnaire ,questionnaires ,questions ,questions1 ,questions2 ,questo ,questq ,questral ,questrions ,questron ,quest ,6 ,quetaine ,quetal ,quete ,quetev ,quetoos ,quetsch ,quetschkommod ,quette ,quetzal ,quetzalcoatl ,quetzel ,queue ,queues ,queuleuleu ,quex ,queyras ,quezergue ,quezerque ,quiconque ,quinque ,quique ,quisquellano ,quisqueya ,quisqueyano ,quisqueyano100 ,quogue ,quoque ,quuens ,raamattuluennot1 ,rabenteuer ,rabequeiros ,rachefeuer ,radioabenteuer ,radioavenue ,radiophonique ,radiophonique1976 ,radiophoniques ,rakuen ,rakuen ,1 ,raparigueiro ,raqueado ,raquel ,raquero ,rasgue ,rasgueado ,rasqueado ,ratamacue ,raue ,rauen ,rauque ,rayuela ,rebeque ,reconquer ,reconquering ,reconquest ,recrue ,recuedos ,recuedros ,recueerdos ,recueil ,recueils ,recueils3 ,recuento ,recuerda ,recuerdame ,recuerdan ,recuerdas ,recuerdo ,recuerdonan ,recuerdos ,recuerdos3 ,redandblue ,reencuentro ,reencuentros ,refuel ,regenschauer ,reggue ,reggueaton2005 ,reggueton ,regnbuem9 ,regnbuen ,regnbuen1 ,regnbuen2 ,regue ,reguenga ,reguera ,reguest ,regueton ,regueton2008 ,reguetones ,reguetonto ,reichenauer ,reiseabenteuer ,reisefuehrer ,reissue ,reissue1986 ,reissue1987 ,reissue1988 ,reissue1989 ,reissue1990 ,reissue1991 ,reissue1992 ,reissue1993 ,reissue1994 ,reissue1995 ,reissue1996 ,reissue1997 ,reissue1998 ,reissue1999 ,reissue2000 ,reissue2001 ,reissue2002 ,reissue2003 ,reissue2004 ,reissue2005 ,reissue2006 ,reissue2007 ,reissue2008 ,reissue2009 ,reissue2010 ,reissue2011 ,reissue2012 ,reissue2013 ,reissue2014 ,reissue91 ,reissued ,reissued1984 ,reissued1986 ,reissued1987 ,reissued1988 ,reissued1989 ,reissued1990 ,reissued1991 ,reissued1992 ,reissued1993 ,reissued1994 ,reissued1996 ,reissued1997 ,reissued1998 ,reissued1999 ,reissued2000 ,reissued2001 ,reissued2002 ,reissued2003 ,reissued2004 ,reissued2005 ,reissued2006 ,reissued2007 ,reissued2008 ,reissued2009 ,reissued2010 ,reissued2011 ,reissued2012 ,reissued2013 ,reissues ,reissue ,1 ,reiussue2006 ,rekrued ,relampagueando ,relampagueando2 ,relique ,reliques ,reluque ,remarque ,remue ,remuer ,rencuentro ,rengue ,rentoutuen ,renuevame ,renuevanos ,renuevo ,repique ,replique ,republique ,republiques ,reqiuem ,reqiuembryo ,requebra ,requebrar ,requeiem ,requeim ,requerdo ,requerdos ,requesound ,request ,request1 ,request10 ,request15 ,request2 ,request32 ,requested ,requested1 ,requested2 ,requested2005 ,requestfully ,requesting ,requestline ,requests ,requests01 ,requests02 ,requests03 ,requests04 ,requests1 ,requests1984 ,requests2014 ,requests39 ,requests6 ,requests ,1 ,request ,7 ,request 18 ,requeteguapa ,requeton2009 ,requezsts ,rescue ,rescue916 ,rescued ,rescuers ,rescues ,rescue ,2 ,resequenced ,residue ,residues ,respuesta ,respuestas ,resque ,resuelta ,rethorique ,retoques ,retrofoguetes ,retronuevo ,reue ,reuelations ,reuental ,revenue ,reveue ,revue ,revue2 ,revue2010 ,revue5 ,revue95 ,revuelo ,revuelta ,revueltas ,revueltasthe ,revuelto ,revueltos ,revues ,revue 40 ,rezidue ,rgoue ,rgue ,rheinauen ,riachuelo ,ribouldingue ,rigeueurmortis ,rigueurmortis ,rimbauer ,ripspique ,rique ,riqueni ,riques1 ,riquewihr ,riqueza ,riquezas ,risque ,risquee ,risques ,risquez ,ritterabenteuer ,ritueel ,rituel ,rituelles ,rituels ,riveresque ,rlesque ,rlighetsduetter ,rlighetsduetter2 ,roadblues ,robotique ,rocketfuel13 ,rocketqueen ,rockfluence ,rockmantique6 ,rocktheblues ,rocque ,rodentagogue ,1 ,rodgriguez ,rodguez ,rodioguez ,rodrigue ,rodrigues ,rodriguez ,rodriguez2 ,rodriguez ,1 ,rodriquez ,rogue ,roguery ,rogues ,roguetown ,roguetrip ,romanesque ,romantique ,romantique1 ,romantique3 ,romantiques ,romantique ,2 ,romatique ,romentique ,rompehuesos ,roque ,roquebrou2003 ,roquebrou2004 ,roquebrou2005 ,roquebrune ,roquefort ,roquer ,roquerio ,roques ,roqueville ,rossegueta ,roue ,rouei ,rouen ,rouen2002 ,rouergue ,roues ,rouet ,rouflaquettes ,rougequeues ,royalbluemoon ,rquer ,rquest ,rubenesque ,rue ,rue1 ,rue1968 ,rueben ,rueberkommen ,ruechenschule ,rueckblick ,rueckblick2 ,rueckblick4 ,ruecken ,rueckenwind ,rueckert ,rueckfuehrung ,rueckkehr ,rueckspiegel ,rueckwaerts ,rued ,rueda ,rueda2002 ,ruedas ,ruedi ,rueditas ,ruedo ,ruef ,rueff ,ruegggen ,ruego ,rueh ,ruehmen ,rueil ,ruella ,ruelle ,ruelles2012 ,rueng ,ruera ,rues ,ruesselsheim ,rue ,1 ,rumbauer ,rustique ,rvanesque ,rythmandblues ,rythmique ,rythmiques ,rytmique ,saarbrueck ,saarbruecken ,saattue ,sacqueboute ,sacqueboutes ,sacqueboutiers ,saeue ,sahnestuecke ,saitenduette ,saitenfeuer ,saitenspruenge ,salamanquenado ,salamanquera ,salbuespena ,salgueiro ,salsarengue ,salsipuedes ,saltimbanque ,saltimbanques ,salue ,saluet ,samblues ,samue ,samue1 ,samuel ,samuel1 ,samuel12 1 ,samuel15 ,samuel16 ,samuel17 14 ,samuel18 ,samuel2 ,samuel20 ,samuel23 ,samuel3 ,samuel4 ,samuela ,samuele ,samuels ,samuelsen ,samuelsens ,samuelson ,samuez ,sandue ,sandunguera ,sandunguero ,sandunguero2 ,sangrenueva ,sangue ,sangueaudiencia ,sanguefreddo ,sanguepazzo ,sanguesinos ,sanitatshausblues ,sansuel ,sansuena ,santiaguena ,santiaguenas ,santiagueno ,santiaguenos ,santiaguera ,santiaguero ,santiagues ,saphique ,sapphique ,saque ,saqueando ,saquela ,sargue ,sasquehanna ,satanique ,satyrblues ,saue ,sauer ,sauer1906 ,sauerdall ,sauerei ,sauereien ,saueressig ,sauerkraut ,sauerland ,sauerlanddialoge ,sauerlander ,sauerlandlinie ,sauermarsch ,sauguet ,saxotangueando ,saxuelle ,sayhueque ,sblues ,scenographique ,sceptique ,schallmauer ,schamgefuehle ,schattenbauern ,schatztrue ,schaue ,schauen ,schauens ,schauer ,schauergeschichten ,schauergeschichten01 ,schauerliche ,schauermaerchen ,schauermuhle ,schauerromantik ,schauerte ,schauet ,scheuer ,schihuetten ,schlabbaduerst003 ,schlabbaduerst004 ,schlabbaduerst006 ,schlabbaduerst01 ,schlabbaduerst03 ,schlagerduette ,schlagerevue ,schlagerfeuerwerk2014 ,schlagerrevue ,schlagertruempfe ,schlaue ,schlauer ,schlossgruess ,schluempfe ,schmerzfrequenz ,schmidauer ,schmidbauers ,schneefeuer ,schonauer ,schopenhauer ,schreckmuempfeli ,schreckmuempfeli1 ,schreckmuempfeli2 ,schreckmuempfeli3 ,schreckmuempfeli4 ,schreckmuempfeli5 ,schue ,schuel ,schuelhits ,schuelreis ,schuelwag ,schuemacher ,schuert ,schuerzenjaeger ,schuerzenjaegerzeit ,schuetz ,schuetze ,schuetzenfest ,schuetzenhaus ,schuetzenmaersche ,schuetz ,1 ,schulchablues ,scuela ,seaquest ,seckauer ,secoue ,secue ,secuencia ,secuencias ,secuestro ,seelenfeuer ,seelenfuehrern ,seestuecke ,seeungeheuer ,segue ,segued ,segueix ,seguendo ,seguerra ,segueu ,sekuencias ,selbstvertrauen ,selbstvertrauenfindenundsichschutzenlernen ,selbstvetrauen ,senanque ,sensuel ,sensuelle ,sensuellement ,sentimentuen ,sentirlonuestro ,seque ,sequeira ,sequel ,sequel3 ,sequela ,sequelles ,sequels ,sequence ,sequence1 ,sequenced ,sequenced1 ,sequencees ,sequencer ,sequencer ,1 ,sequences ,sequences14 ,sequences15 ,sequences17 ,sequences1961 ,sequences21 ,sequences22 ,sequences23 ,sequences72 ,sequence ,1 ,sequenchial ,sequencia ,sequencial ,sequenct ,sequenduagite ,sequens ,sequentia ,sequentia2 ,sequentiae ,sequentiagite ,sequential ,sequentiels ,sequentrips ,sequenza ,sequenzas ,sequenzas3 ,sequenze ,sequenzen ,sequenzer ,sequenzer ,1 ,sequera ,sequeri ,sequest ,sequestered ,sequestration ,seringueiro ,serioues ,serues ,setsuei ,settantaseiduemila ,seuenos ,sexuel ,sexuele ,sexuelle ,sexuellen ,sexueller ,shamaniques ,shapeshifterbirthblues ,shaquedelique ,shauerroman ,shenmue ,shenmue ,1 ,shmuel ,shue ,siddique ,signatue ,sigue ,sigueme ,siguen ,silhouet ,silhouets ,silhouette ,silhouettechopinpolonaises ,silhouetted ,silhouetten ,silhouettes ,silhuette ,silhuetter ,silhuettes ,sillhouettes ,sillouette ,silouette ,silueta ,siluetas ,siluete ,siluetes ,siluetler ,siluetter ,siluety '), ( 12, ' silverblue ,silveresque ,silvertongue ,silvertongued ,silvertonguedevils ,simastuen ,simorgue ,sinuelo ,sinuendo ,sinverguensuranzas ,sinverguenza ,sique ,siques ,sirinoque ,siruguet ,sjuende ,skatalogue ,skuela ,skuespillere ,skuesville ,skyblue ,slauerhoff ,slaughterhoues ,slovaque ,slowblues ,slugqueenrecords ,snakeblues ,sobrefuego ,sobriquets ,softsqueaking ,soguel ,soliloque ,soloduett ,solostuecke ,solotheque ,solquemia ,somethingblues ,somethingprettysomethingtrue ,sommersuenden ,somniloque ,sonique ,soniquete ,sonnenfeuer ,sonotheque ,sonquest ,sophistique ,sopranduette ,soquel ,sorginduen ,sotaque ,sotaques ,souerei ,soukoue ,soundquest ,soundvenue ,souquez ,sovietique ,spaceguerilla ,spaguetti ,spandauer ,spastique ,sperrmuell ,spherique ,spielplatzblues ,spirituel ,spirituele ,spirituelle ,spirituellen ,spirituelles ,spirituels ,spirituels ,1 ,splittergranatendauerbombardement ,sprachguete ,sprague ,sprechendebuecher ,springuel ,sprueche ,spruenge ,sque1 ,sque2 ,sque3 ,squeak ,squeakquel ,squeaks ,squeaky ,squeak ,1 ,squeal ,squealed ,squealer ,squealfish ,squeals ,squeamish ,squeech ,squeeeze ,squeegee ,squeek ,squeeler ,squeez ,squeeze ,squeezebox ,squeezeboxing ,squeezed ,squeezer ,squeezeville ,squeeze ,1 ,squeezin ,squeezing ,squeezins ,squeezy ,squekquel ,squelch ,squelch3 ,1 ,squelched ,squelchy ,squelch ,1 ,squelch 01 ,squent ,squer ,squere ,squerez ,squerz ,squezze ,squezzy ,ssatyryblues ,stablue ,stadtfeuer ,starduell ,statique ,statistiques ,statue ,statues ,statuesque ,statuette ,statuettes ,steadluer ,steeltongued ,stereophonique ,sternenfeuer ,sternquell ,steuerfahnder ,steuerfluchtlinge ,steuermann ,steuern ,steuernagel ,steuerpolitik ,steuerrecht ,steuersong ,steuertricks ,stimmenfeuer ,stimmfluegerl ,stimmungsrevue ,stique ,stoersequenz ,storfrequenz1 ,storfrequenz2 ,storfrequenz3 ,storfrequenz4 ,storfrequenz5 ,storfrequenz6 ,stormquest ,streue ,struensee ,stueck ,stuecke ,stuecker ,stueckerl ,stueckln ,stueckvisite ,stuemper ,stuen ,stuer ,stuermer1995 ,stuey ,stylistique ,subdue ,subsequence ,subsequencias ,subsequent ,subsequently ,substitue ,subsuelo ,sudcueng ,sudelbuecher ,sue ,suea ,suec ,suechi ,suecia ,suecrealisme ,sued ,suedafrika ,suedamerika ,sueddeutsche ,suede ,suedehead ,suedemania ,sueden ,suedest ,suedhead ,suedhessen ,suedois ,suedost ,suedpol ,suedpolgang ,suedstadt ,suedtirol ,suedwester ,suedwestfunks ,suedweststadion ,suedwind ,suefin ,suego ,suegra ,sueismine ,suela ,suele ,sueli ,suellen ,suelo ,suelta ,sueltapajaros ,sueltas ,suelto ,sueltos ,suely ,suemith05 ,suena ,suena4 ,suenacuento ,suenale ,suenan ,suend ,suende ,suendenfall ,suender ,suenderin ,suene ,suenen ,suenes ,suenhos ,sueno ,sueno2 ,suenos ,sueqo ,sueqos ,suer ,suerland ,suerta ,suerte ,suertes ,suerte ,1 ,suerto ,suertuda ,suess ,suess30 ,suesse ,suesser ,suessos ,sueste ,suet ,sueta ,suete ,sueter ,sueur ,sueurs ,suey ,suez ,sugarue ,suicidesqueeze ,suingue ,sulfurique ,summerleague ,summertimeblues ,sunnebluem ,sunqueen ,superblue ,superblues ,superglue ,superglued ,superjuerga ,supermagique ,superminavolumedue ,superpuestos ,superqueen ,supersoniques ,supertuerke ,supplique ,supuesto ,suremingue ,surleboutdelalangue ,susquehanna ,sußsauer ,svenneblues2013 ,sweatertongue ,swedenquell ,swingue ,swinguers ,swingverguenzas ,symbolique ,sympathique ,sympatique ,symphnique ,symphonique ,symphonique2 ,symphonique95 ,symphoniques ,synagogue ,synagogue9 ,synthetique ,synueths ,syokoinoue ,syphilitique ,tabaqueria ,tabasqueno ,tactique ,tagebuech ,tahuebanbhbiu ,taksideuei ,taktgefuehl ,tamunangue ,tandematique ,tangologue ,tangonuevo ,tangonuevo3 ,tangue ,tangueada ,tangueando ,tanguedia ,tanguent ,tanguer ,tanguera ,tangueras ,tangueria ,tanguero ,tangueros ,tanqueray ,tanques ,tanzmusique ,tanzmusique2 ,2 ,taoue ,taqueria ,taques ,tastique ,tatoue ,tatouee ,tatuerade ,tauer ,tauern ,tauerngold ,tcheque ,tchuem ,technique ,techniques ,techniques11 ,techniques1965 ,techniques5 ,technofrequency ,tecniques ,tectonique ,teknotheque ,teleparque ,telepherique ,telephonique ,telephoniques ,tellurique ,tembleque ,temblequeo ,tendue ,tentelletsque ,tenue ,tenues ,teppensteuer ,teque ,tequendama ,terraeque ,terruer ,teruel ,tetue ,teuer ,teuerste ,teufelsstuermer ,thauer ,thebluescollection ,thematiques ,themusicotheque ,theplague ,theque ,therapeutique ,thermique ,thermoplastique ,thesimpsonssingtheblues ,thetruelegendsofhardcore ,thinque ,thmiryque ,thue ,thueringen ,thueringer ,thuet ,tichoueko ,tiguera ,tiguere ,tiguerinha ,tigueron ,tinguely ,tinue ,tipiqueros ,tique ,tiques ,tiskiallasblues ,tissue ,tissues ,titrologues ,tobecontinued ,tocatasnuevas ,togues ,tolteques1 ,tongue ,tongue1990 ,tongue3 ,tongue4 ,tongued ,tongueless ,tongues ,tongues98 ,tongue ,1 ,tonique ,toniques ,tonquellen ,toque ,toquei ,toquen ,toquenme ,toques ,toqueteando ,torgauer ,torniquet ,torque ,torqueflight ,torquemada ,tortue ,touaregue ,toueli ,tougue ,touque ,tourniquet ,tourniquets ,toxique ,toxiques ,trafique ,tragique ,trague ,tranceatlantique ,tranquei ,tranquero ,transatlantique ,transnationalspeedwayleague ,transsexueel ,traque ,traquenard ,traue ,trauemen ,trauen ,trauer ,trauerfarbenes ,trauerfeiern ,trauerkantate ,trauermarsch ,trauermarsche ,trauermesse ,trauermusik ,trauermusiken ,trauern ,trauernde ,trauerspiel ,trauerta ,trauertanzer ,trauerwald ,traumwundertuetenverkaeufer ,travelogue ,travelogue2010 ,travelogues ,travelogue ,3 ,trentacinque ,treue ,treuen ,treuepunkte ,treuepunkte3 ,treuer ,trialogue ,tribraque ,tribue ,trilogique ,trilogue ,triologue ,triptyque ,triquetra ,triquinuelas ,troglauer ,trolleblues ,trommelfeuer ,trompetenfeuer ,troniques ,tropique ,tropiques ,tropiques2 ,troque ,troquero ,troqueurs ,trostfueralle ,troue ,trrue ,true ,true1986 ,true2 ,true3 ,true80 ,truebrit 40 ,truechillout ,truedefiance ,truedrivetime ,truedrivetime3 ,trueeightieslove ,trueform ,trueheart ,truelight ,truelle ,truelove ,truelovestory ,truely ,trueman ,truemanville ,truemellow ,trueno ,truenos ,truenotierra ,truepowerballads ,truer ,truerock ,trues ,truesoul ,truesounds ,truest ,truetones ,truevalue ,truez ,true ,4 ,trumbauer ,trybguet ,tschuess ,tsewueley ,tubaroque ,tubularblue ,tue ,tue2002 ,tuebinger ,tueday ,tueddelsen ,tuedelueueten ,tuefi ,tuejsi ,tueksi ,tuel ,tuelf ,tuemata ,tuemonamour ,tuend ,tuensia ,tuent ,tuer ,tuerca ,tuercas ,tuere ,tueren ,tuerenknarren ,tuerenkonzert ,tueries ,tuerka ,tuerkish ,tuerlich ,tuerme ,tuero ,tuerto ,tues10 ,tuesday ,tuesday4 ,tuesdays ,tuesdays5 ,tuet ,tumultueux ,tuque ,turque ,turquerie ,turquey ,typique ,typiques ,ubersteuert ,uchuyuei ,ucluelet ,ue ,ue30 ,ue30100 ,ue40 ,ue50 ,uea ,ueba ,ueber ,ueber30 ,ueberall ,ueberbeast ,ueberbrcken ,ueberdosis ,ueberfahrt ,ueberflieger ,ueberfliessende ,ueberfluessig ,ueberleben ,ueberlegt ,ueberlocation ,uebern ,ueberrascht ,ueberraschung ,ueberraschungsparty ,uebers ,uebersee ,uebird ,uebung ,uebung3 ,uebungen ,uebungs ,uebungsbuch1 ,uebungsbuch2 ,uebungscd2006 ,uebungscd3 ,uec ,uech ,ueco ,uecum ,ueda ,uede ,ueeao ,ueeeba ,ueei ,ueen ,ueeze ,uefa ,uefacup2002 ,uefs ,ueh ,uehara ,uei ,ueio ,ueira ,ueit ,ueki ,uel ,uel51 ,ueli ,ueller ,uelreis ,uelta ,uelzen ,uematsu ,uemura ,uen ,uena ,uences ,uendelige ,uendo ,ueneao ,uengestalten ,ueninsel ,uenji ,uenos ,uep ,uepa ,uer ,uerdas ,uerrieri ,ues ,uesa ,uesday ,uest ,ues ,2 ,uet ,uetoaya ,uetoayamix ,uette ,uetterath ,uetze ,ueule ,ueva ,uever ,uez ,ugue ,ugues ,ultrablue ,ultracuerpos ,ultramerengue ,unaue ,unconquerebel ,unconquered ,undervalued ,unerschuetterliches ,ungeheuer ,ungeheuerliche ,ungeheuern ,ungekuerzt ,ungluecklichsein ,unglued ,unique ,unique027 ,unique1990 ,unique2 ,unique2005 ,unique5 ,uniquely ,uniquement ,uniqueness ,uniques ,uniques1967 ,unisexblues ,unissued ,unissued1951 ,unissued1955 ,unissued1966 ,unissued1977 ,unissued1982 ,unissued85 ,unoduetre ,unplaqued ,unpluegged ,unquenchable ,unquesionable ,unquestionable ,unsequenced ,untreue ,untrue ,untuer ,unue ,unverwuestlich ,uproarique ,urbanesque ,urbantorque ,urgueres ,urquell ,urspruenglich ,uruena ,usque ,ussue ,utauehon3 ,utopiques ,utriusque ,vabanque ,vague ,vague2 ,vague2009 ,vague3 ,vaguely ,vaguement ,vagueness ,vagues ,vagues ,1 ,vainqueur ,vainqueurs ,valenzuela7 ,valiquette ' ), ( 13, ' valleyvuev2 ,value ,value43 ,valued ,values ,values ,3 ,vantiques ,vaque ,vaqueijada ,vaqueiro ,vaqueiro12 ,vaqueiros ,vaquejada ,vaquejadas ,vaqueno ,vaquera ,vaquero ,vaqueros ,varmestuen30 ,vasqueros ,vasquez ,vazquez ,vecues ,veintinueve ,velasquez ,velazquez ,vendue ,venetuelan ,venezuela ,venezuela1940 ,venezuelaalaire ,venezuelan ,venezueland ,vengue ,venticinque ,ventuers20 ,venue ,venue1 ,venue10 ,venue1974 ,venue1982 ,venue2000 ,venue3 ,venue6 ,venue9 ,venue95 ,venzeuela ,verbuecken ,verdaguer ,verdaguer2000 ,verequete ,verfuehrung ,vergnuegt ,vergueiro ,verguenza ,verguenzas ,vericuetos ,verkuerzen ,veronique ,verraquera ,verrueckt ,verrueckte ,verrueckten ,verrueckter ,verschueren ,vertraue ,vertrauen ,vertrauens ,vertrauenswurdiger ,vetue ,vetueuses ,vieques ,viertuell ,viguen ,vihuela ,vihuela1546 ,vihuelistas ,vindue ,vinduer ,vindueskigger ,vindueskikker ,vinduet ,virelangues ,virtue ,virtuell ,virtuelle ,virtuelvis ,virtues ,visqueen ,vivalaguerra ,vlue ,vogue ,vogue1963 ,vogue1966 ,vogues ,voguetheater ,volkstrauertag ,volkstuemliche ,volkstuemlichen ,volkstuemlicher ,volkstuemlichi ,voltiguers ,volue ,volue03 ,volue04 ,volue16 ,volue23 ,voque ,vue ,vuel ,vuela ,vuelan ,vuelih ,vuelo ,vuelo605 ,vuelos ,vuelro ,vuelta ,vueltas ,vuelto ,vuelva ,vuelvas ,vuelve ,vuelveme ,vuelven ,vuelves ,vuelvo ,vuemus ,vuerenkylassa ,vues ,vuestras ,vuestro ,vuestros ,vueuer ,vuevo ,vuggestue1983 ,vuuer ,wahrschauer ,wahrschauer49 ,wahrschauer53 ,wahrschauer56 ,wahrschauer63 ,waldbuehne ,waldfreakquenz3 ,waldfreakquenz4 ,waldfreaquenz2 ,waldreakquenz ,walkuere ,waltberuemt ,waltershauesen ,wamdue ,warschauer ,warshauer ,wasserabenteuer ,waterblues ,wauer ,websequenz ,weghauen ,weihnachtsblues ,weissblaue ,weissblauem ,weissblauen ,weißblaue ,weißblauen ,weltberuehmt ,weltquell ,weltraumabenteuer17 ,weltraumabenteuer24 ,werkstuecke ,westsideblues ,whiletrue ,wiederluege ,wiesbauer ,wildsaue ,willnauer ,winterabenteuer ,wirtshaustuer ,witchqueen ,wizardqueen ,wohlfuehlen ,wohltuende ,wonderue ,wuensch ,wuensche ,wuenschen ,wuenscht ,wuerm ,wuerstchen ,wuerste ,wuert ,wuerzburg93 ,wuerzburger ,wueste ,wuestensand ,wueten ,xeque ,ximblues ,xique ,xiquembo ,xiquets ,xiquets1 ,xiquets2 ,xiquets3 ,xque ,xque2003 ,xquena ,xquenda ,xue ,xueqin ,xwlakoue ,yambeque ,yciue ,yerbabuena ,yerbaguena ,yiue ,yoshiesque ,yoshiesque2 ,youe ,younique ,yousque ,yue ,yue4 ,yuee ,yuen ,yuensai ,yueqi ,yueqin ,yuex ,yunque ,yunquena ,zague ,zahuealy ,zairemusique ,zarambeques ,zarazuela ,zarazuelas ,zariguellas ,zarsuelas ,zarzuela ,zarzuela1 ,zarzuela100 ,zarzuela2 ,zarzuela6 ,zarzuelas ,zauberquelle ,zauere ,zauerli ,zehntscheuer ,zequence ,zeroduets ,zeroesque ,zhonghuayueyu ,zieheuer ,ziggyblue ,zingueurs ,zique ,zithergruesse ,zizique ,zodiaque ,zoque ,zottelknauel ,zouglouteque ,zuckersuess ,zuecos ,zueff ,zuege ,zueignung ,zueinander ,zueira ,zuekin ,zuela ,zuend ,zuender ,zuendhoelzli ,zuercher ,zuerich ,zuerich24 ,zueridueuetsch ,zueriwest ,zuerst ,zues ,zuetki ,zurraque ,zurueck ,zurueck2 ,zurueck3 ,zweiohrkueken ,ßcue ' ), ( 14, ' кириллица ' ) select id from idx1 order by id asc select id from idx1 where match ('*uee*') order by id asc select id from idx1 where match ('*uee?') order by id asc select id from idx1 where match ('?uee?') order by id asc select id from idx1 where match ('%uee?') order by id asc select id from idx1 where match ('?uee%') order by id asc select id from idx1 where match ('кири??ица') select id from idx1 where match ('кири????ица') select id from idx1 where match ('ки%и??и%ца') sphinx-2.2.11-release/test/test_242/model.bin0000644000175000017500000000504212743402012020177 0ustar alexeyalexeya:1:{i:0;a:9:{i:0;a:3:{s:8:"sphinxql";s:35:"select id from idx1 order by id asc";s:10:"total_rows";i:14;s:4:"rows";a:14:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}i:2;a:1:{s:2:"id";s:1:"3";}i:3;a:1:{s:2:"id";s:1:"4";}i:4;a:1:{s:2:"id";s:1:"5";}i:5;a:1:{s:2:"id";s:1:"6";}i:6;a:1:{s:2:"id";s:1:"7";}i:7;a:1:{s:2:"id";s:1:"8";}i:8;a:1:{s:2:"id";s:1:"9";}i:9;a:1:{s:2:"id";s:2:"10";}i:10;a:1:{s:2:"id";s:2:"11";}i:11;a:1:{s:2:"id";s:2:"12";}i:12;a:1:{s:2:"id";s:2:"13";}i:13;a:1:{s:2:"id";s:2:"14";}}}i:1;a:3:{s:8:"sphinxql";s:57:"select id from idx1 where match ('*uee*') order by id asc";s:10:"total_rows";i:13;s:4:"rows";a:13:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}i:2;a:1:{s:2:"id";s:1:"3";}i:3;a:1:{s:2:"id";s:1:"4";}i:4;a:1:{s:2:"id";s:1:"5";}i:5;a:1:{s:2:"id";s:1:"6";}i:6;a:1:{s:2:"id";s:1:"7";}i:7;a:1:{s:2:"id";s:1:"8";}i:8;a:1:{s:2:"id";s:1:"9";}i:9;a:1:{s:2:"id";s:2:"10";}i:10;a:1:{s:2:"id";s:2:"11";}i:11;a:1:{s:2:"id";s:2:"12";}i:12;a:1:{s:2:"id";s:2:"13";}}}i:2;a:3:{s:8:"sphinxql";s:57:"select id from idx1 where match ('*uee?') order by id asc";s:10:"total_rows";i:12;s:4:"rows";a:12:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"3";}i:2;a:1:{s:2:"id";s:1:"4";}i:3;a:1:{s:2:"id";s:1:"5";}i:4;a:1:{s:2:"id";s:1:"6";}i:5;a:1:{s:2:"id";s:1:"7";}i:6;a:1:{s:2:"id";s:1:"8";}i:7;a:1:{s:2:"id";s:1:"9";}i:8;a:1:{s:2:"id";s:2:"10";}i:9;a:1:{s:2:"id";s:2:"11";}i:10;a:1:{s:2:"id";s:2:"12";}i:11;a:1:{s:2:"id";s:2:"13";}}}i:3;a:3:{s:8:"sphinxql";s:57:"select id from idx1 where match ('?uee?') order by id asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"id";s:1:"7";}i:1;a:1:{s:2:"id";s:2:"10";}i:2;a:1:{s:2:"id";s:2:"11";}}}i:4;a:3:{s:8:"sphinxql";s:57:"select id from idx1 where match ('%uee?') order by id asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:1:{s:2:"id";s:1:"7";}i:1;a:1:{s:2:"id";s:2:"10";}i:2;a:1:{s:2:"id";s:2:"11";}i:3;a:1:{s:2:"id";s:2:"12";}}}i:5;a:3:{s:8:"sphinxql";s:57:"select id from idx1 where match ('?uee%') order by id asc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"7";}i:2;a:1:{s:2:"id";s:2:"10";}i:3;a:1:{s:2:"id";s:2:"11";}i:4;a:1:{s:2:"id";s:2:"13";}}}i:6;a:3:{s:8:"sphinxql";s:52:"select id from idx1 where match ('кири??ица')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:2:"14";}}}i:7;a:2:{s:8:"sphinxql";s:54:"select id from idx1 where match ('кири????ица')";s:10:"total_rows";i:0;}i:8;a:3:{s:8:"sphinxql";s:52:"select id from idx1 where match ('ки%и??и%ца')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:2:"14";}}}}}sphinx-2.2.11-release/test/test_241/0000755000175000017500000000000012743402012016403 5ustar alexeyalexeysphinx-2.2.11-release/test/test_241/test.xml0000644000175000017500000000215212743402012020104 0ustar alexeyalexey agent of distributed index via unix socket indexer { mem_limit = 28M } searchd { workers = threads listen = /data/searchd-test-241.sock } source src1 { type = mysql sql_query = SELECT 1 id, 11 idd, 'test me 1' sql_attr_uint = idd } source src2 : src1 { sql_query = SELECT 2 id, 11 idd, 'test me 2' } source src3 : src1 { sql_query = SELECT 3 id, 11 idd, 'test me 3' } index idx1 { source = src1 path = /idx1 docinfo = extern } index idx2 { source = src2 path = /idx2 docinfo = extern } index idx3 { source = src3 path = /idx3 docinfo = extern } index dist { type = distributed local = idx1 agent = :idx2 agent = /data/searchd-test-241.sock:idx3 agent_connect_timeout = 1000 agent_query_timeout = 3000 } select * from dist show meta sphinx-2.2.11-release/test/test_241/model.bin0000644000175000017500000000071112743402012020174 0ustar alexeyalexeya:1:{i:0;a:2:{i:0;a:3:{s:8:"sphinxql";s:18:"select * from dist";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:1;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:3;s:4:"rows";a:2:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}}}}}sphinx-2.2.11-release/test/test_228/0000755000175000017500000000000012743402012016410 5ustar alexeyalexeysphinx-2.2.11-release/test/test_228/test.xml0000644000175000017500000001007712743402012020116 0ustar alexeyalexey Indexing of ODBC sources (mysql via ODBC connector) indexer { mem_limit = 16M } searchd { workers = threads } source src { type = odbc sql_query = SELECT id, idd1, str1, body FROM test_table sql_attr_uint = idd1 sql_attr_string = str1 } source src_mysql { type = mysql sql_query = SELECT id, idd1, str1, body FROM test_table sql_attr_uint = idd1 sql_attr_string = str1 } index plain { source = src source = src_mysql docinfo = extern path = /plain } CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `idd1` int(11) NOT NULL default '0', `str1` varchar(1024) NOT NULL default '', `body` varchar(1024) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 1, 'a aa', 'the dog' ), ( 2, 11, 'c cc', 'the cat' ), ( 3, 11, 'a a', 'the bird' ), ( 4, 11, 'cc c', 'cat eats bird' ), ( 5, 3, 'a a', 'dog eats cat' ), ( 6, 1, 'c cc', 'bird' ), ( 7, 1, 'a a', 'the cat' ), ( 8, 1, 'a a', 'eats' ), ( 9, 3, 'c cc', 'the' ), ( 10, 3, 'c cc', 'the' ), ( 11, 3, 'б бб', 'собака' ), ( 12, 5, 'б бб', 'бывает' ), ( 13, 5, 'в вв', 'кусачей' ), ( 14, 5, 'г гг', 'когда не работает ODBC' ), ( 15, 5, 'д дд', 'в сфинксе' ) the | dog | cat the | eats | bird select * from plain group by idd1 within group order by str1 asc select * from plain group by idd1 within group order by str1 desc select * from plain where match('the | dog | cat') group by idd1 within group order by str1 asc select * from plain where match('the | eats | bird') group by idd1 within group order by str1 desc select *, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc select * from ( select *, sum(id) as s1, sum(idd1) as s2, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc ) order by s1 asc select * from ( select *, sum(id) as s1, sum(idd1) as s2, s1+s2 as s3, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc ) order by s1 desc select * from ( select *, sum(id) as s1, sum(idd1) as s2, s1+s2 as s3, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc ) order by s2 desc select * from ( select *, sum(id) as s1, sum(idd1) as s2, s1+s2 as s3, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc ) order by s3 desc select * from plain where match('собака | бывает | кусачей') group by idd1 within group order by str1 desc select * from ( select *, sum(id) as s1, sum(idd1) as s2, s1+s2 as s3, group_concat(id) from plain where match('собака | бывает | ODBC') group by idd1 within group order by str1 asc ) order by s3 desc sphinx-2.2.11-release/test/test_228/model.bin0000644000175000017500000004455612743402012020220 0ustar alexeyalexeya:2:{i:0;a:15:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";i:7;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:4:{i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";s:3:"a a";s:8:"@groupby";i:1;s:6:"@count";i:4;}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";i:3;s:4:"str1";s:3:"a a";s:8:"@groupby";i:3;s:6:"@count";i:4;}}i:12;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";i:5;s:4:"str1";s:7:"б бб";s:8:"@groupby";i:5;s:6:"@count";i:4;}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";i:11;s:4:"str1";s:3:"a a";s:8:"@groupby";i:11;s:6:"@count";i:3;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.002";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";i:7;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:4:{i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";s:4:"c cc";s:8:"@groupby";i:1;s:6:"@count";i:4;}}i:11;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";i:3;s:4:"str1";s:7:"б бб";s:8:"@groupby";i:3;s:6:"@count";i:4;}}i:15;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";i:5;s:4:"str1";s:7:"д дд";s:8:"@groupby";i:5;s:6:"@count";i:4;}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";i:11;s:4:"str1";s:4:"cc c";s:8:"@groupby";i:11;s:6:"@count";i:3;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";i:7;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:3:{i:7;a:2:{s:6:"weight";s:4:"1543";s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";s:3:"a a";s:8:"@groupby";i:1;s:6:"@count";i:2;}}i:5;a:2:{s:6:"weight";s:4:"1583";s:5:"attrs";a:4:{s:4:"idd1";i:3;s:4:"str1";s:3:"a a";s:8:"@groupby";i:3;s:6:"@count";i:3;}}i:3;a:2:{s:6:"weight";s:4:"1513";s:5:"attrs";a:4:{s:4:"idd1";i:11;s:4:"str1";s:3:"a a";s:8:"@groupby";i:11;s:6:"@count";i:3;}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"the";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}s:3:"dog";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"cat";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"the | dog | cat";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";i:7;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:3:{i:6;a:2:{s:6:"weight";s:4:"1540";s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";s:4:"c cc";s:8:"@groupby";i:1;s:6:"@count";i:4;}}i:9;a:2:{s:6:"weight";s:4:"1513";s:5:"attrs";a:4:{s:4:"idd1";i:3;s:4:"str1";s:4:"c cc";s:8:"@groupby";i:3;s:6:"@count";i:3;}}i:4;a:2:{s:6:"weight";s:4:"2580";s:5:"attrs";a:4:{s:4:"idd1";i:11;s:4:"str1";s:4:"cc c";s:8:"@groupby";i:11;s:6:"@count";i:3;}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:3:{s:3:"the";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}s:4:"eats";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:4:"bird";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"the | eats | bird";}i:4;a:3:{s:8:"sphinxql";s:64:"select * from plain group by idd1 within group order by str1 asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"a a";}i:1;a:3:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:3:"a a";}i:2;a:3:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";}i:3;a:3:{s:2:"id";s:2:"12";s:4:"idd1";s:1:"5";s:4:"str1";s:7:"б бб";}}}i:5;a:3:{s:8:"sphinxql";s:65:"select * from plain group by idd1 within group order by str1 desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"4";s:4:"idd1";s:2:"11";s:4:"str1";s:4:"cc c";}i:1;a:3:{s:2:"id";s:1:"6";s:4:"idd1";s:1:"1";s:4:"str1";s:4:"c cc";}i:2;a:3:{s:2:"id";s:2:"11";s:4:"idd1";s:1:"3";s:4:"str1";s:7:"б бб";}i:3;a:3:{s:2:"id";s:2:"15";s:4:"idd1";s:1:"5";s:4:"str1";s:7:"д дд";}}}i:6;a:3:{s:8:"sphinxql";s:95:"select * from plain where match('the | dog | cat') group by idd1 within group order by str1 asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:3:"a a";}i:1;a:3:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";}i:2;a:3:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"a a";}}}i:7;a:3:{s:8:"sphinxql";s:98:"select * from plain where match('the | eats | bird') group by idd1 within group order by str1 desc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"4";s:4:"idd1";s:2:"11";s:4:"str1";s:4:"cc c";}i:1;a:3:{s:2:"id";s:1:"6";s:4:"idd1";s:1:"1";s:4:"str1";s:4:"c cc";}i:2;a:3:{s:2:"id";s:1:"9";s:4:"idd1";s:1:"3";s:4:"str1";s:4:"c cc";}}}i:8;a:3:{s:8:"sphinxql";s:115:"select *, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"a a";s:16:"group_concat(id)";s:5:"2,3,4";}i:1;a:4:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:3:"a a";s:16:"group_concat(id)";s:6:"5,9,10";}i:2;a:4:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";s:16:"group_concat(id)";s:7:"1,6,7,8";}}}i:9;a:3:{s:8:"sphinxql";s:181:"select * from ( select *, sum(id) as s1, sum(idd1) as s2, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc ) order by s1 asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:6:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"a a";s:2:"s1";s:1:"9";s:2:"s2";s:2:"33";s:16:"group_concat(id)";s:5:"2,3,4";}i:1;a:6:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"22";s:2:"s2";s:1:"4";s:16:"group_concat(id)";s:7:"1,6,7,8";}i:2;a:6:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"24";s:2:"s2";s:1:"9";s:16:"group_concat(id)";s:6:"5,9,10";}}}i:10;a:3:{s:8:"sphinxql";s:195:"select * from ( select *, sum(id) as s1, sum(idd1) as s2, s1+s2 as s3, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc ) order by s1 desc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:7:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"24";s:2:"s2";s:1:"9";s:2:"s3";s:2:"33";s:16:"group_concat(id)";s:6:"5,9,10";}i:1;a:7:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"22";s:2:"s2";s:1:"4";s:2:"s3";s:2:"26";s:16:"group_concat(id)";s:7:"1,6,7,8";}i:2;a:7:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"a a";s:2:"s1";s:1:"9";s:2:"s2";s:2:"33";s:2:"s3";s:2:"42";s:16:"group_concat(id)";s:5:"2,3,4";}}}i:11;a:3:{s:8:"sphinxql";s:195:"select * from ( select *, sum(id) as s1, sum(idd1) as s2, s1+s2 as s3, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc ) order by s2 desc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:7:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"a a";s:2:"s1";s:1:"9";s:2:"s2";s:2:"33";s:2:"s3";s:2:"42";s:16:"group_concat(id)";s:5:"2,3,4";}i:1;a:7:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"24";s:2:"s2";s:1:"9";s:2:"s3";s:2:"33";s:16:"group_concat(id)";s:6:"5,9,10";}i:2;a:7:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"22";s:2:"s2";s:1:"4";s:2:"s3";s:2:"26";s:16:"group_concat(id)";s:7:"1,6,7,8";}}}i:12;a:3:{s:8:"sphinxql";s:195:"select * from ( select *, sum(id) as s1, sum(idd1) as s2, s1+s2 as s3, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc ) order by s3 desc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:7:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"a a";s:2:"s1";s:1:"9";s:2:"s2";s:2:"33";s:2:"s3";s:2:"42";s:16:"group_concat(id)";s:5:"2,3,4";}i:1;a:7:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"24";s:2:"s2";s:1:"9";s:2:"s3";s:2:"33";s:16:"group_concat(id)";s:6:"5,9,10";}i:2;a:7:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"22";s:2:"s2";s:1:"4";s:2:"s3";s:2:"26";s:16:"group_concat(id)";s:7:"1,6,7,8";}}}i:13;a:3:{s:8:"sphinxql";s:125:"select * from plain where match('собака | бывает | кусачей') group by idd1 within group order by str1 desc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:2:"11";s:4:"idd1";s:1:"3";s:4:"str1";s:7:"б бб";}i:1;a:3:{s:2:"id";s:2:"13";s:4:"idd1";s:1:"5";s:4:"str1";s:7:"в вв";}}}i:14;a:3:{s:8:"sphinxql";s:212:"select * from ( select *, sum(id) as s1, sum(idd1) as s2, s1+s2 as s3, group_concat(id) from plain where match('собака | бывает | ODBC') group by idd1 within group order by str1 asc ) order by s3 desc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:7:{s:2:"id";s:2:"12";s:4:"idd1";s:1:"5";s:4:"str1";s:7:"б бб";s:2:"s1";s:2:"26";s:2:"s2";s:2:"10";s:2:"s3";s:2:"36";s:16:"group_concat(id)";s:5:"12,14";}i:1;a:7:{s:2:"id";s:2:"11";s:4:"idd1";s:1:"3";s:4:"str1";s:7:"б бб";s:2:"s1";s:2:"11";s:2:"s2";s:1:"3";s:2:"s3";s:2:"14";s:16:"group_concat(id)";s:2:"11";}}}}i:1;a:15:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";i:7;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:4:{i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";s:3:"a a";s:8:"@groupby";i:1;s:6:"@count";i:4;}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";i:3;s:4:"str1";s:3:"a a";s:8:"@groupby";i:3;s:6:"@count";i:4;}}i:12;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";i:5;s:4:"str1";s:7:"б бб";s:8:"@groupby";i:5;s:6:"@count";i:4;}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";i:11;s:4:"str1";s:3:"a a";s:8:"@groupby";i:11;s:6:"@count";i:3;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";i:7;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:4:{i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";s:4:"c cc";s:8:"@groupby";i:1;s:6:"@count";i:4;}}i:11;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";i:3;s:4:"str1";s:7:"б бб";s:8:"@groupby";i:3;s:6:"@count";i:4;}}i:15;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";i:5;s:4:"str1";s:7:"д дд";s:8:"@groupby";i:5;s:6:"@count";i:4;}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";i:11;s:4:"str1";s:4:"cc c";s:8:"@groupby";i:11;s:6:"@count";i:3;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";i:7;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:3:{i:7;a:2:{s:6:"weight";s:4:"1543";s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";s:3:"a a";s:8:"@groupby";i:1;s:6:"@count";i:2;}}i:5;a:2:{s:6:"weight";s:4:"1583";s:5:"attrs";a:4:{s:4:"idd1";i:3;s:4:"str1";s:3:"a a";s:8:"@groupby";i:3;s:6:"@count";i:3;}}i:3;a:2:{s:6:"weight";s:4:"1513";s:5:"attrs";a:4:{s:4:"idd1";i:11;s:4:"str1";s:3:"a a";s:8:"@groupby";i:11;s:6:"@count";i:3;}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"the";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}s:3:"dog";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"cat";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"the | dog | cat";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";i:7;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:3:{i:6;a:2:{s:6:"weight";s:4:"1540";s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";s:4:"c cc";s:8:"@groupby";i:1;s:6:"@count";i:4;}}i:9;a:2:{s:6:"weight";s:4:"1513";s:5:"attrs";a:4:{s:4:"idd1";i:3;s:4:"str1";s:4:"c cc";s:8:"@groupby";i:3;s:6:"@count";i:3;}}i:4;a:2:{s:6:"weight";s:4:"2580";s:5:"attrs";a:4:{s:4:"idd1";i:11;s:4:"str1";s:4:"cc c";s:8:"@groupby";i:11;s:6:"@count";i:3;}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:3:{s:3:"the";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}s:4:"eats";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:4:"bird";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"the | eats | bird";}i:4;a:3:{s:8:"sphinxql";s:64:"select * from plain group by idd1 within group order by str1 asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"a a";}i:1;a:3:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:3:"a a";}i:2;a:3:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";}i:3;a:3:{s:2:"id";s:2:"12";s:4:"idd1";s:1:"5";s:4:"str1";s:7:"б бб";}}}i:5;a:3:{s:8:"sphinxql";s:65:"select * from plain group by idd1 within group order by str1 desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"4";s:4:"idd1";s:2:"11";s:4:"str1";s:4:"cc c";}i:1;a:3:{s:2:"id";s:1:"6";s:4:"idd1";s:1:"1";s:4:"str1";s:4:"c cc";}i:2;a:3:{s:2:"id";s:2:"11";s:4:"idd1";s:1:"3";s:4:"str1";s:7:"б бб";}i:3;a:3:{s:2:"id";s:2:"15";s:4:"idd1";s:1:"5";s:4:"str1";s:7:"д дд";}}}i:6;a:3:{s:8:"sphinxql";s:95:"select * from plain where match('the | dog | cat') group by idd1 within group order by str1 asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:3:"a a";}i:1;a:3:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";}i:2;a:3:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"a a";}}}i:7;a:3:{s:8:"sphinxql";s:98:"select * from plain where match('the | eats | bird') group by idd1 within group order by str1 desc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"4";s:4:"idd1";s:2:"11";s:4:"str1";s:4:"cc c";}i:1;a:3:{s:2:"id";s:1:"6";s:4:"idd1";s:1:"1";s:4:"str1";s:4:"c cc";}i:2;a:3:{s:2:"id";s:1:"9";s:4:"idd1";s:1:"3";s:4:"str1";s:4:"c cc";}}}i:8;a:3:{s:8:"sphinxql";s:115:"select *, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"a a";s:16:"group_concat(id)";s:5:"2,3,4";}i:1;a:4:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:3:"a a";s:16:"group_concat(id)";s:6:"5,9,10";}i:2;a:4:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";s:16:"group_concat(id)";s:7:"1,6,7,8";}}}i:9;a:3:{s:8:"sphinxql";s:181:"select * from ( select *, sum(id) as s1, sum(idd1) as s2, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc ) order by s1 asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:6:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"a a";s:2:"s1";s:1:"9";s:2:"s2";s:2:"33";s:16:"group_concat(id)";s:5:"2,3,4";}i:1;a:6:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"22";s:2:"s2";s:1:"4";s:16:"group_concat(id)";s:7:"1,6,7,8";}i:2;a:6:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"24";s:2:"s2";s:1:"9";s:16:"group_concat(id)";s:6:"5,9,10";}}}i:10;a:3:{s:8:"sphinxql";s:195:"select * from ( select *, sum(id) as s1, sum(idd1) as s2, s1+s2 as s3, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc ) order by s1 desc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:7:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"24";s:2:"s2";s:1:"9";s:2:"s3";s:2:"33";s:16:"group_concat(id)";s:6:"5,9,10";}i:1;a:7:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"22";s:2:"s2";s:1:"4";s:2:"s3";s:2:"26";s:16:"group_concat(id)";s:7:"1,6,7,8";}i:2;a:7:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"a a";s:2:"s1";s:1:"9";s:2:"s2";s:2:"33";s:2:"s3";s:2:"42";s:16:"group_concat(id)";s:5:"2,3,4";}}}i:11;a:3:{s:8:"sphinxql";s:195:"select * from ( select *, sum(id) as s1, sum(idd1) as s2, s1+s2 as s3, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc ) order by s2 desc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:7:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"a a";s:2:"s1";s:1:"9";s:2:"s2";s:2:"33";s:2:"s3";s:2:"42";s:16:"group_concat(id)";s:5:"2,3,4";}i:1;a:7:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"24";s:2:"s2";s:1:"9";s:2:"s3";s:2:"33";s:16:"group_concat(id)";s:6:"5,9,10";}i:2;a:7:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"22";s:2:"s2";s:1:"4";s:2:"s3";s:2:"26";s:16:"group_concat(id)";s:7:"1,6,7,8";}}}i:12;a:3:{s:8:"sphinxql";s:195:"select * from ( select *, sum(id) as s1, sum(idd1) as s2, s1+s2 as s3, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc ) order by s3 desc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:7:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"a a";s:2:"s1";s:1:"9";s:2:"s2";s:2:"33";s:2:"s3";s:2:"42";s:16:"group_concat(id)";s:5:"2,3,4";}i:1;a:7:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"24";s:2:"s2";s:1:"9";s:2:"s3";s:2:"33";s:16:"group_concat(id)";s:6:"5,9,10";}i:2;a:7:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"22";s:2:"s2";s:1:"4";s:2:"s3";s:2:"26";s:16:"group_concat(id)";s:7:"1,6,7,8";}}}i:13;a:3:{s:8:"sphinxql";s:125:"select * from plain where match('собака | бывает | кусачей') group by idd1 within group order by str1 desc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:2:"11";s:4:"idd1";s:1:"3";s:4:"str1";s:7:"б бб";}i:1;a:3:{s:2:"id";s:2:"13";s:4:"idd1";s:1:"5";s:4:"str1";s:7:"в вв";}}}i:14;a:3:{s:8:"sphinxql";s:212:"select * from ( select *, sum(id) as s1, sum(idd1) as s2, s1+s2 as s3, group_concat(id) from plain where match('собака | бывает | ODBC') group by idd1 within group order by str1 asc ) order by s3 desc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:7:{s:2:"id";s:2:"12";s:4:"idd1";s:1:"5";s:4:"str1";s:7:"б бб";s:2:"s1";s:2:"26";s:2:"s2";s:2:"10";s:2:"s3";s:2:"36";s:16:"group_concat(id)";s:5:"12,14";}i:1;a:7:{s:2:"id";s:2:"11";s:4:"idd1";s:1:"3";s:4:"str1";s:7:"б бб";s:2:"s1";s:2:"11";s:2:"s2";s:1:"3";s:2:"s3";s:2:"14";s:16:"group_concat(id)";s:2:"11";}}}}}sphinx-2.2.11-release/test/test_227/0000755000175000017500000000000012743402012016407 5ustar alexeyalexeysphinx-2.2.11-release/test/test_227/test.xml0000644000175000017500000000675312743402012020123 0ustar alexeyalexey API distributed updates; QL uberpackets indexer { mem_limit = 16M } searchd { max_filter_values = 500000 max_packet_size = 18M dist_threads = 4 read_timeout = 1 workers = threads } source src1 { type = mysql sql_query = SELECT id, group_id, title, mva FROM test_table sql_attr_uint = group_id sql_attr_multi = uint mva from field } source src2 : src1 { sql_query = SELECT 10+id, group_id, title, mva FROM test_table } source src_i1 { type = mysql sql_query = SELECT id, title, group_id as gid FROM test_table sql_attr_uint = gid } source src_i2 { type = mysql sql_query = SELECT id + 100, title, group_id as gid FROM test_table sql_attr_uint = gid } index block1 { source = src1 path = /block1 docinfo = extern min_word_len = 1 } index block2 { source = src2 path = /block2 docinfo = extern min_word_len = 1 } index dist_agent_2 { source = src1 path = /dist_agent_2 docinfo = extern } index dist { type = distributed local = block1 agent = :block2 agent_connect_timeout = 1000 agent_query_timeout = 3000 } index dist2 { type = distributed agent = :dist_agent_2 agent_connect_timeout = 1000 agent_query_timeout = 3000 } index i1 { source = src_i1 path = /i1 docinfo = extern } index i2 { source = src_i2 path = /i2 docinfo = extern } index rt { type = rt path = /rt docinfo = extern rt_mem_limit = 128k rt_field = title rt_attr_uint = gid } 2 XQuery ( "", "dist" ); $results[] = $client->XUpdateAttributes ( "dist", array("group_id"), array(11=>array(123)) ); $results[] = $client->XUpdateAttributes ( "dist", array("mva"), array ( 4=>array(array(1001, 1002)), 11=>array(array(1011, 1012)) ), true ); $results[] = $client->XQuery ( "", "dist" ); // here is going regression master fails to send 4k attributes to agent $gid = array(); for ( $i=0; $i<50000; $i++ ) $gid[] = $i; $client->SetFilter ( 'group_id', $gid ); $results[] = $client->XQuery ( "", "dist2" ); // regression crash on SphinxQL packet overflow max_packet_size $ql->Reconnect(); $results[] = $ql->Query ( "SHOW STATUS LIKE 'connections'" ); $results[] = $ql->Query ( "SHOW STATUS LIKE 'command_status'" ); $results[] = $ql->Query ( "SHOW STATUS LIKE 'queries'" ); $ids = "2"; for ( $i=3; $i<400000; $i++ ) $ids .= " , " . $i; $ql->query ( "show meta IN ( group_id,1,$ids ) as c1, IN ( group_id,1,$ids ) as c2, IN ( group_id,1,$ids ) as c3" ); $ql->Reconnect(); $results[] = $ql->Query ( "SHOW STATUS LIKE 'connections'" ); $results[] = $ql->Query ( "SHOW STATUS LIKE 'command_status'" ); $results[] = $ql->Query ( "SHOW STATUS LIKE 'queries'" ); ]]> CREATE TABLE test_table ( id INTEGER PRIMARY KEY NOT NULL AUTO_INCREMENT, group_id INTEGER NOT NULL, title VARCHAR(255) NOT NULL, mva VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table ( id, group_id, title, mva ) VALUES ( 1, 1, 'test one', '10 11' ), ( 2, 1, 'test two', '10 11' ), ( 3, 2, 'test three', '10 11' ), ( 4, 2, 'test four', '10 11' ) sphinx-2.2.11-release/test/test_227/model.bin0000644000175000017500000000623712743402012020211 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:11:{i:0;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:2:{s:8:"group_id";i:1;s:3:"mva";i:1073741825;}s:7:"matches";a:8:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:1:"1";s:3:"mva";a:2:{i:0;s:2:"10";i:1;s:2:"11";}}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:1:"1";s:3:"mva";a:2:{i:0;s:2:"10";i:1;s:2:"11";}}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:1:"2";s:3:"mva";a:2:{i:0;s:2:"10";i:1;s:2:"11";}}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:1:"2";s:3:"mva";a:2:{i:0;s:2:"10";i:1;s:2:"11";}}}i:11;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:1:"1";s:3:"mva";a:2:{i:0;s:2:"10";i:1;s:2:"11";}}}i:12;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:1:"1";s:3:"mva";a:2:{i:0;s:2:"10";i:1;s:2:"11";}}}i:13;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:1:"2";s:3:"mva";a:2:{i:0;s:2:"10";i:1;s:2:"11";}}}i:14;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:1:"2";s:3:"mva";a:2:{i:0;s:2:"10";i:1;s:2:"11";}}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";}i:1;i:1;i:2;i:2;i:3;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:2:{s:8:"group_id";i:1;s:3:"mva";i:1073741825;}s:7:"matches";a:8:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:1:"1";s:3:"mva";a:2:{i:0;s:2:"10";i:1;s:2:"11";}}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:1:"1";s:3:"mva";a:2:{i:0;s:2:"10";i:1;s:2:"11";}}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:1:"2";s:3:"mva";a:2:{i:0;s:2:"10";i:1;s:2:"11";}}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:1:"2";s:3:"mva";a:2:{i:0;s:4:"1001";i:1;s:4:"1002";}}}i:11;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:3:"123";s:3:"mva";a:2:{i:0;s:4:"1011";i:1;s:4:"1012";}}}i:12;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:1:"1";s:3:"mva";a:2:{i:0;s:2:"10";i:1;s:2:"11";}}}i:13;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:1:"2";s:3:"mva";a:2:{i:0;s:2:"10";i:1;s:2:"11";}}}i:14;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:1:"2";s:3:"mva";a:2:{i:0;s:2:"10";i:1;s:2:"11";}}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";}i:4;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:2:{s:8:"group_id";i:1;s:3:"mva";i:1073741825;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:1:"1";s:3:"mva";a:2:{i:0;s:2:"10";i:1;s:2:"11";}}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:1:"1";s:3:"mva";a:2:{i:0;s:2:"10";i:1;s:2:"11";}}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:1:"2";s:3:"mva";a:2:{i:0;s:2:"10";i:1;s:2:"11";}}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:1:"2";s:3:"mva";a:2:{i:0;s:2:"10";i:1;s:2:"11";}}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";}i:5;s:22:"connections | 7 1 rows";i:6;s:25:"command_status | 2 1 rows";i:7;s:18:"queries | 3 1 rows";i:8;s:22:"connections | 8 1 rows";i:9;s:25:"command_status | 5 1 rows";i:10;s:18:"queries | 3 1 rows";}}}sphinx-2.2.11-release/test/test_226/0000755000175000017500000000000012743402012016406 5ustar alexeyalexeysphinx-2.2.11-release/test/test_226/test.xml0000644000175000017500000002242312743402012020112 0ustar alexeyalexey multi-queries and facet keyword searchd { workers = threads } index facetdemo { type = rt path = /facetdemo rt_field = title rt_field = property rt_attr_string = title rt_attr_string = brand_name rt_attr_string = property rt_attr_multi = categories rt_attr_uint = price rt_attr_uint = brand_id rt_attr_json = j } index facetdemo2 { source = src path = /facets } source src { type = mysql sql_query = SELECT * FROM test_table sql_attr_uint = price sql_attr_uint = brand_id sql_field_string = title sql_attr_string = brand_name sql_field_string = property sql_attr_multi = uint categories from field sql_attr_json = j } index facetdemo3 { type = distributed local = facetdemo } index facetdemo4 { type = distributed agent = :facetdemo } CREATE TABLE `test_table` ( `id` int(11), `price` int(11), `brand_id` int(11), `title` varchar(255), `brand_name` varchar(255), `property` varchar(255), `categories` varchar(255), `j` varchar(255) ); DROP TABLE IF EXISTS `test_table`; insert into test_table (id,price,brand_id,title,brand_name,property,categories,j) values (1,529,9,'Product Five Two','Brand Nine','Four','(13,14)','{x:[13,14],a:["a13","a14"]}'), (2,173,10,'Product Five Seven','Brand Ten','Four','(10)','{x:[10],a:["a10"]}'), (3,121,1,'Product Seven Nine','Brand One','Five','(13,14,15)','{x:[13,14,15],a:["a13","a14","a15"]}'), (4,474,7,'Product Ten Three','Brand Seven','Nine','(10,11,12)','{x:[10,11,12],a:["a10","a11","a12"]}'), (5,20,7,'Product Ten Four','Brand Seven','Seven','(13)','{x:[13],a:["a13"]}'), (6,100,3,'Product One Three','Brand Three','Seven','(10)','{x:[10],a:["a10"]}'), (7,724,9,'Product Four Eight','Brand Nine','Five','(11,12,13)','{x:[11,12,13],a:["a11","a12","a13"]}'), (8,13,3,'Product Seven One','Brand Three','Eight','(12,13,14)','{x:[12,13,14],a:["a12","a13","a14"]}'), (9,54,2,'Product Ten Seven','Brand Two','Eight','(11)','{x:[11],a:["a11"]}'), (10,986,6,'Product Six Ten','Brand Six','Eight','(12,13,14)','{x:[12,13,14],a:["a12","a13","a14"]}'), (11,100,10,'Product One Ten','Brand Ten','Four','(11)','{x:[11],a:["a11"]}'), (12,69,10,'Product Five Seven','Brand Ten','Two','(12,13,14)','{x:[12,13,14],a:["a12","a13","a14"]}'), (13,365,4,'Product Two Nine','Brand Four','Ten','(10,11,12)','{x:[10,11,12],a:["a10","a11","a12"]}'), (14,455,1,'Product Two Eight','Brand One','Nine','(13,14,15)','{x:[13,14,15],a:["a13","a14","a15"]}'), (15,718,4,'Product Nine Two','Brand Four','Eight','(10)','{x:[10],a:["a10"]}'), (16,758,9,'Product Eight Ten','Brand Nine','Seven','(13)','{x:[13],a:["a13"]}'), (17,493,4,'Product Nine Six','Brand Four','Five','(11,12)','{x:[11,12],a:["a11","a12"]}'), (18,413,3,'Product Eight Five','Brand Three','Four','(11,12,13)','{x:[11,12,13],a:["a11","a12","a13"]}'), (19,78,4,'Product Six Five','Brand Four','Two','(12)','{x:[12],a:["a12"]}'), (20,169,4,'Product Seven Six','Brand Four','Eight','(10,11)','{x:[10,11],a:["a10","a11"]}') insert into facetdemo (id,price,brand_id,title,brand_name,property,categories,j) values (1,529,9,'Product Five Two','Brand Nine','Four',(13,14),'{x:[13,14],a:["a13","a14"]}'), (2,173,10,'Product Five Seven','Brand Ten','Four',(10),'{x:[10],a:["a10"]}'), (3,121,1,'Product Seven Nine','Brand One','Five',(13,14,15),'{x:[13,14,15],a:["a13","a14","a15"]}'), (4,474,7,'Product Ten Three','Brand Seven','Nine',(10,11,12),'{x:[10,11,12],a:["a10","a11","a12"]}'), (5,20,7,'Product Ten Four','Brand Seven','Seven',(13),'{x:[13],a:["a13"]}'), (6,100,3,'Product One Three','Brand Three','Seven',(10),'{x:[10],a:["a10"]}'), (7,724,9,'Product Four Eight','Brand Nine','Five',(11,12,13),'{x:[11,12,13],a:["a11","a12","a13"]}'), (8,13,3,'Product Seven One','Brand Three','Eight',(12,13,14),'{x:[12,13,14],a:["a12","a13","a14"]}'), (9,54,2,'Product Ten Seven','Brand Two','Eight',(11),'{x:[11],a:["a11"]}'), (10,986,6,'Product Six Ten','Brand Six','Eight',(12,13,14),'{x:[12,13,14],a:["a12","a13","a14"]}'), (11,100,10,'Product One Ten','Brand Ten','Four',(11),'{x:[11],a:["a11"]}'), (12,69,10,'Product Five Seven','Brand Ten','Two',(12,13,14),'{x:[12,13,14],a:["a12","a13","a14"]}'), (13,365,4,'Product Two Nine','Brand Four','Ten',(10,11,12),'{x:[10,11,12],a:["a10","a11","a12"]}'), (14,455,1,'Product Two Eight','Brand One','Nine',(13,14,15),'{x:[13,14,15],a:["a13","a14","a15"]}'), (15,718,4,'Product Nine Two','Brand Four','Eight',(10),'{x:[10],a:["a10"]}'), (16,758,9,'Product Eight Ten','Brand Nine','Seven',(13),'{x:[13],a:["a13"]}'), (17,493,4,'Product Nine Six','Brand Four','Five',(11,12),'{x:[11,12],a:["a11","a12"]}'), (18,413,3,'Product Eight Five','Brand Three','Four',(11,12,13),'{x:[11,12,13],a:["a11","a12","a13"]}'), (19,78,4,'Product Six Five','Brand Four','Two',(12),'{x:[12],a:["a12"]}'), (20,169,4,'Product Seven Six','Brand Four','Eight',(10,11),'{x:[10,11],a:["a10","a11"]}') select groupby() as selected,count(*) as cnt from facetdemo group by categories order by cnt desc limit 0,10; select groupby() as selected,count(*) as cnt from facetdemo group by brand_id order by cnt desc limit 0,10 select groupby() as selected,count(*) as cnt from facetdemo2 group by categories order by cnt desc limit 0,10; select groupby() as selected,count(*) as cnt from facetdemo2 group by brand_id order by cnt desc limit 0,10 select groupby() as selected,count(*) as cnt from facetdemo3 group by categories order by cnt desc limit 0,10; select groupby() as selected,count(*) as cnt from facetdemo3 group by brand_id order by cnt desc limit 0,10 select groupby() as selected,count(*) as cnt from facetdemo4 group by categories order by cnt desc limit 0,10; select groupby() as selected,count(*) as cnt from facetdemo4 group by brand_id order by cnt desc limit 0,10 select id from facetdemo limit 0,1 facet brand_id as x order by x asc; select id from facetdemo limit 0,1 facet interval(price,500) as x order by x asc; select id from facetdemo limit 0,1 facet brand_name by brand_id; select id from facetdemo limit 0,1 facet brand_name,property by brand_id,property; select id from facetdemo limit 0,1 facet brand_id+1 by brand_id+2 order by count(*) asc; select id from facetdemo limit 0,1 facet brand_id order by facet() asc; select id from facetdemo limit 0,1 facet brand_id+1-1 order by facet() desc; select id from facetdemo limit 0,1 facet categories facet j.x facet j.a; select * from facetdemo where match ('one') limit 0,15 facet brand_name, brand_id by brand_id order by brand_id asc facet property order by count(*) desc facet interval(price,200,400,600,800) order by facet() asc; show meta select id from facetdemo2 limit 0,1 facet brand_id as x order by x asc; select id from facetdemo2 limit 0,1 facet interval(price,500) as x order by x asc; select id from facetdemo2 limit 0,1 facet brand_name by brand_id; select id from facetdemo2 limit 0,1 facet brand_name,property by brand_id,property; select id from facetdemo2 limit 0,1 facet brand_id+1 by brand_id+2 order by count(*) asc; select id from facetdemo2 limit 0,1 facet brand_id order by facet() asc; select id from facetdemo2 limit 0,1 facet brand_id+1-1 order by facet() desc; select id from facetdemo2 limit 0,1 facet categories facet j.x facet j.a; select * from facetdemo2 where match ('one') limit 0,15 facet brand_name, brand_id by brand_id order by brand_id asc facet property order by count(*) desc facet interval(price,200,400,600,800) order by facet() asc; show meta select j.x from facetdemo limit 0,1 facet interval(j.x[0],10,11,12,13); select id, title, property from facetdemo2 where match ('product') and property='Four' order by id asc; select id, title, property from facetdemo2 where match ('product') and property='Seven' order by id asc select id from facetdemo limit 0,1 facet brand_id order by count(*) asc; select id from facetdemo limit 0,1 facet brand_id order by count( *) asc; select id from facetdemo limit 0,1 facet brand_id order by count ( * ) asc; select id from facetdemo limit 0,1 facet brand_id order by count (* ) asc; select id from facetdemo limit 0,1 facet brand_id order by count(* ) asc; sphinx-2.2.11-release/test/test_226/model.bin0000644000175000017500000007707012743402012020213 0ustar alexeyalexeya:1:{i:0;a:69:{i:0;a:2:{s:8:"sphinxql";s:1887:" insert into facetdemo (id,price,brand_id,title,brand_name,property,categories,j) values (1,529,9,'Product Five Two','Brand Nine','Four',(13,14),'{x:[13,14],a:["a13","a14"]}'), (2,173,10,'Product Five Seven','Brand Ten','Four',(10),'{x:[10],a:["a10"]}'), (3,121,1,'Product Seven Nine','Brand One','Five',(13,14,15),'{x:[13,14,15],a:["a13","a14","a15"]}'), (4,474,7,'Product Ten Three','Brand Seven','Nine',(10,11,12),'{x:[10,11,12],a:["a10","a11","a12"]}'), (5,20,7,'Product Ten Four','Brand Seven','Seven',(13),'{x:[13],a:["a13"]}'), (6,100,3,'Product One Three','Brand Three','Seven',(10),'{x:[10],a:["a10"]}'), (7,724,9,'Product Four Eight','Brand Nine','Five',(11,12,13),'{x:[11,12,13],a:["a11","a12","a13"]}'), (8,13,3,'Product Seven One','Brand Three','Eight',(12,13,14),'{x:[12,13,14],a:["a12","a13","a14"]}'), (9,54,2,'Product Ten Seven','Brand Two','Eight',(11),'{x:[11],a:["a11"]}'), (10,986,6,'Product Six Ten','Brand Six','Eight',(12,13,14),'{x:[12,13,14],a:["a12","a13","a14"]}'), (11,100,10,'Product One Ten','Brand Ten','Four',(11),'{x:[11],a:["a11"]}'), (12,69,10,'Product Five Seven','Brand Ten','Two',(12,13,14),'{x:[12,13,14],a:["a12","a13","a14"]}'), (13,365,4,'Product Two Nine','Brand Four','Ten',(10,11,12),'{x:[10,11,12],a:["a10","a11","a12"]}'), (14,455,1,'Product Two Eight','Brand One','Nine',(13,14,15),'{x:[13,14,15],a:["a13","a14","a15"]}'), (15,718,4,'Product Nine Two','Brand Four','Eight',(10),'{x:[10],a:["a10"]}'), (16,758,9,'Product Eight Ten','Brand Nine','Seven',(13),'{x:[13],a:["a13"]}'), (17,493,4,'Product Nine Six','Brand Four','Five',(11,12),'{x:[11,12],a:["a11","a12"]}'), (18,413,3,'Product Eight Five','Brand Three','Four',(11,12,13),'{x:[11,12,13],a:["a11","a12","a13"]}'), (19,78,4,'Product Six Five','Brand Four','Two',(12),'{x:[12],a:["a12"]}'), (20,169,4,'Product Seven Six','Brand Four','Eight',(10,11),'{x:[10,11],a:["a10","a11"]}') ";s:14:"total_affected";i:20;}i:1;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:8:"selected";s:2:"13";s:3:"cnt";s:2:"10";}i:1;a:2:{s:8:"selected";s:2:"12";s:3:"cnt";s:1:"9";}i:2;a:2:{s:8:"selected";s:2:"11";s:3:"cnt";s:1:"8";}i:3;a:2:{s:8:"selected";s:2:"14";s:3:"cnt";s:1:"6";}i:4;a:2:{s:8:"selected";s:2:"10";s:3:"cnt";s:1:"6";}i:5;a:2:{s:8:"selected";s:2:"15";s:3:"cnt";s:1:"2";}}s:8:"sphinxql";s:216:"select groupby() as selected,count(*) as cnt from facetdemo group by categories order by cnt desc limit 0,10; select groupby() as selected,count(*) as cnt from facetdemo group by brand_id order by cnt desc limit 0,10";}i:2;a:3:{s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:2:{s:8:"selected";s:1:"4";s:3:"cnt";s:1:"5";}i:1;a:2:{s:8:"selected";s:1:"9";s:3:"cnt";s:1:"3";}i:2;a:2:{s:8:"selected";s:2:"10";s:3:"cnt";s:1:"3";}i:3;a:2:{s:8:"selected";s:1:"3";s:3:"cnt";s:1:"3";}i:4;a:2:{s:8:"selected";s:1:"1";s:3:"cnt";s:1:"2";}i:5;a:2:{s:8:"selected";s:1:"7";s:3:"cnt";s:1:"2";}i:6;a:2:{s:8:"selected";s:1:"2";s:3:"cnt";s:1:"1";}i:7;a:2:{s:8:"selected";s:1:"6";s:3:"cnt";s:1:"1";}}s:8:"sphinxql";s:149:" select groupby() as selected,count(*) as cnt from facetdemo group by brand_id order by cnt desc limit 0,10 /* result 2 of previous multistatement */";}i:3;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:8:"selected";s:2:"13";s:3:"cnt";s:2:"10";}i:1;a:2:{s:8:"selected";s:2:"12";s:3:"cnt";s:1:"9";}i:2;a:2:{s:8:"selected";s:2:"11";s:3:"cnt";s:1:"8";}i:3;a:2:{s:8:"selected";s:2:"14";s:3:"cnt";s:1:"6";}i:4;a:2:{s:8:"selected";s:2:"10";s:3:"cnt";s:1:"6";}i:5;a:2:{s:8:"selected";s:2:"15";s:3:"cnt";s:1:"2";}}s:8:"sphinxql";s:218:"select groupby() as selected,count(*) as cnt from facetdemo2 group by categories order by cnt desc limit 0,10; select groupby() as selected,count(*) as cnt from facetdemo2 group by brand_id order by cnt desc limit 0,10";}i:4;a:3:{s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:2:{s:8:"selected";s:1:"4";s:3:"cnt";s:1:"5";}i:1;a:2:{s:8:"selected";s:1:"9";s:3:"cnt";s:1:"3";}i:2;a:2:{s:8:"selected";s:2:"10";s:3:"cnt";s:1:"3";}i:3;a:2:{s:8:"selected";s:1:"3";s:3:"cnt";s:1:"3";}i:4;a:2:{s:8:"selected";s:1:"1";s:3:"cnt";s:1:"2";}i:5;a:2:{s:8:"selected";s:1:"7";s:3:"cnt";s:1:"2";}i:6;a:2:{s:8:"selected";s:1:"2";s:3:"cnt";s:1:"1";}i:7;a:2:{s:8:"selected";s:1:"6";s:3:"cnt";s:1:"1";}}s:8:"sphinxql";s:150:" select groupby() as selected,count(*) as cnt from facetdemo2 group by brand_id order by cnt desc limit 0,10 /* result 2 of previous multistatement */";}i:5;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:8:"selected";s:2:"13";s:3:"cnt";s:2:"10";}i:1;a:2:{s:8:"selected";s:2:"12";s:3:"cnt";s:1:"9";}i:2;a:2:{s:8:"selected";s:2:"11";s:3:"cnt";s:1:"8";}i:3;a:2:{s:8:"selected";s:2:"14";s:3:"cnt";s:1:"6";}i:4;a:2:{s:8:"selected";s:2:"10";s:3:"cnt";s:1:"6";}i:5;a:2:{s:8:"selected";s:2:"15";s:3:"cnt";s:1:"2";}}s:8:"sphinxql";s:218:"select groupby() as selected,count(*) as cnt from facetdemo3 group by categories order by cnt desc limit 0,10; select groupby() as selected,count(*) as cnt from facetdemo3 group by brand_id order by cnt desc limit 0,10";}i:6;a:3:{s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:2:{s:8:"selected";s:1:"4";s:3:"cnt";s:1:"5";}i:1;a:2:{s:8:"selected";s:1:"9";s:3:"cnt";s:1:"3";}i:2;a:2:{s:8:"selected";s:2:"10";s:3:"cnt";s:1:"3";}i:3;a:2:{s:8:"selected";s:1:"3";s:3:"cnt";s:1:"3";}i:4;a:2:{s:8:"selected";s:1:"1";s:3:"cnt";s:1:"2";}i:5;a:2:{s:8:"selected";s:1:"7";s:3:"cnt";s:1:"2";}i:6;a:2:{s:8:"selected";s:1:"2";s:3:"cnt";s:1:"1";}i:7;a:2:{s:8:"selected";s:1:"6";s:3:"cnt";s:1:"1";}}s:8:"sphinxql";s:150:" select groupby() as selected,count(*) as cnt from facetdemo3 group by brand_id order by cnt desc limit 0,10 /* result 2 of previous multistatement */";}i:7;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:8:"selected";s:2:"13";s:3:"cnt";s:2:"10";}i:1;a:2:{s:8:"selected";s:2:"12";s:3:"cnt";s:1:"9";}i:2;a:2:{s:8:"selected";s:2:"11";s:3:"cnt";s:1:"8";}i:3;a:2:{s:8:"selected";s:2:"14";s:3:"cnt";s:1:"6";}i:4;a:2:{s:8:"selected";s:2:"10";s:3:"cnt";s:1:"6";}i:5;a:2:{s:8:"selected";s:2:"15";s:3:"cnt";s:1:"2";}}s:8:"sphinxql";s:218:"select groupby() as selected,count(*) as cnt from facetdemo4 group by categories order by cnt desc limit 0,10; select groupby() as selected,count(*) as cnt from facetdemo4 group by brand_id order by cnt desc limit 0,10";}i:8;a:3:{s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:2:{s:8:"selected";s:1:"4";s:3:"cnt";s:1:"5";}i:1;a:2:{s:8:"selected";s:1:"9";s:3:"cnt";s:1:"3";}i:2;a:2:{s:8:"selected";s:2:"10";s:3:"cnt";s:1:"3";}i:3;a:2:{s:8:"selected";s:1:"3";s:3:"cnt";s:1:"3";}i:4;a:2:{s:8:"selected";s:1:"1";s:3:"cnt";s:1:"2";}i:5;a:2:{s:8:"selected";s:1:"7";s:3:"cnt";s:1:"2";}i:6;a:2:{s:8:"selected";s:1:"2";s:3:"cnt";s:1:"1";}i:7;a:2:{s:8:"selected";s:1:"6";s:3:"cnt";s:1:"1";}}s:8:"sphinxql";s:150:" select groupby() as selected,count(*) as cnt from facetdemo4 group by brand_id order by cnt desc limit 0,10 /* result 2 of previous multistatement */";}i:9;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:70:"select id from facetdemo limit 0,1 facet brand_id as x order by x asc;";}i:10;a:3:{s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:2:{s:1:"x";s:1:"1";s:8:"count(*)";s:1:"2";}i:1;a:2:{s:1:"x";s:1:"2";s:8:"count(*)";s:1:"1";}i:2;a:2:{s:1:"x";s:1:"3";s:8:"count(*)";s:1:"3";}i:3;a:2:{s:1:"x";s:1:"4";s:8:"count(*)";s:1:"5";}i:4;a:2:{s:1:"x";s:1:"6";s:8:"count(*)";s:1:"1";}i:5;a:2:{s:1:"x";s:1:"7";s:8:"count(*)";s:1:"2";}i:6;a:2:{s:1:"x";s:1:"9";s:8:"count(*)";s:1:"3";}i:7;a:2:{s:1:"x";s:2:"10";s:8:"count(*)";s:1:"3";}}s:8:"sphinxql";s:42:" /* result 2 of previous multistatement */";}i:11;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:81:"select id from facetdemo limit 0,1 facet interval(price,500) as x order by x asc;";}i:12;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:1:"x";s:1:"0";s:8:"count(*)";s:2:"15";}i:1;a:2:{s:1:"x";s:1:"1";s:8:"count(*)";s:1:"5";}}s:8:"sphinxql";s:42:" /* result 2 of previous multistatement */";}i:13;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:64:"select id from facetdemo limit 0,1 facet brand_name by brand_id;";}i:14;a:3:{s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:2:{s:10:"brand_name";s:10:"Brand Nine";s:8:"count(*)";s:1:"3";}i:1;a:2:{s:10:"brand_name";s:9:"Brand Ten";s:8:"count(*)";s:1:"3";}i:2;a:2:{s:10:"brand_name";s:9:"Brand One";s:8:"count(*)";s:1:"2";}i:3;a:2:{s:10:"brand_name";s:11:"Brand Seven";s:8:"count(*)";s:1:"2";}i:4;a:2:{s:10:"brand_name";s:11:"Brand Three";s:8:"count(*)";s:1:"3";}i:5;a:2:{s:10:"brand_name";s:9:"Brand Two";s:8:"count(*)";s:1:"1";}i:6;a:2:{s:10:"brand_name";s:9:"Brand Six";s:8:"count(*)";s:1:"1";}i:7;a:2:{s:10:"brand_name";s:10:"Brand Four";s:8:"count(*)";s:1:"5";}}s:8:"sphinxql";s:42:" /* result 2 of previous multistatement */";}i:15;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:82:"select id from facetdemo limit 0,1 facet brand_name,property by brand_id,property;";}i:16;a:3:{s:10:"total_rows";i:18;s:4:"rows";a:18:{i:0;a:3:{s:10:"brand_name";s:10:"Brand Nine";s:8:"property";s:4:"Four";s:8:"count(*)";s:1:"1";}i:1;a:3:{s:10:"brand_name";s:9:"Brand Ten";s:8:"property";s:4:"Four";s:8:"count(*)";s:1:"2";}i:2;a:3:{s:10:"brand_name";s:9:"Brand One";s:8:"property";s:4:"Five";s:8:"count(*)";s:1:"1";}i:3;a:3:{s:10:"brand_name";s:11:"Brand Seven";s:8:"property";s:4:"Nine";s:8:"count(*)";s:1:"1";}i:4;a:3:{s:10:"brand_name";s:11:"Brand Seven";s:8:"property";s:5:"Seven";s:8:"count(*)";s:1:"1";}i:5;a:3:{s:10:"brand_name";s:11:"Brand Three";s:8:"property";s:5:"Seven";s:8:"count(*)";s:1:"1";}i:6;a:3:{s:10:"brand_name";s:10:"Brand Nine";s:8:"property";s:4:"Five";s:8:"count(*)";s:1:"1";}i:7;a:3:{s:10:"brand_name";s:11:"Brand Three";s:8:"property";s:5:"Eight";s:8:"count(*)";s:1:"1";}i:8;a:3:{s:10:"brand_name";s:9:"Brand Two";s:8:"property";s:5:"Eight";s:8:"count(*)";s:1:"1";}i:9;a:3:{s:10:"brand_name";s:9:"Brand Six";s:8:"property";s:5:"Eight";s:8:"count(*)";s:1:"1";}i:10;a:3:{s:10:"brand_name";s:9:"Brand Ten";s:8:"property";s:3:"Two";s:8:"count(*)";s:1:"1";}i:11;a:3:{s:10:"brand_name";s:10:"Brand Four";s:8:"property";s:3:"Ten";s:8:"count(*)";s:1:"1";}i:12;a:3:{s:10:"brand_name";s:9:"Brand One";s:8:"property";s:4:"Nine";s:8:"count(*)";s:1:"1";}i:13;a:3:{s:10:"brand_name";s:10:"Brand Four";s:8:"property";s:5:"Eight";s:8:"count(*)";s:1:"2";}i:14;a:3:{s:10:"brand_name";s:10:"Brand Nine";s:8:"property";s:5:"Seven";s:8:"count(*)";s:1:"1";}i:15;a:3:{s:10:"brand_name";s:10:"Brand Four";s:8:"property";s:4:"Five";s:8:"count(*)";s:1:"1";}i:16;a:3:{s:10:"brand_name";s:11:"Brand Three";s:8:"property";s:4:"Four";s:8:"count(*)";s:1:"1";}i:17;a:3:{s:10:"brand_name";s:10:"Brand Four";s:8:"property";s:3:"Two";s:8:"count(*)";s:1:"1";}}s:8:"sphinxql";s:42:" /* result 2 of previous multistatement */";}i:17;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:88:"select id from facetdemo limit 0,1 facet brand_id+1 by brand_id+2 order by count(*) asc;";}i:18;a:3:{s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:2:{s:10:"brand_id+1";s:1:"3";s:8:"count(*)";s:1:"1";}i:1;a:2:{s:10:"brand_id+1";s:1:"7";s:8:"count(*)";s:1:"1";}i:2;a:2:{s:10:"brand_id+1";s:1:"2";s:8:"count(*)";s:1:"2";}i:3;a:2:{s:10:"brand_id+1";s:1:"8";s:8:"count(*)";s:1:"2";}i:4;a:2:{s:10:"brand_id+1";s:2:"10";s:8:"count(*)";s:1:"3";}i:5;a:2:{s:10:"brand_id+1";s:2:"11";s:8:"count(*)";s:1:"3";}i:6;a:2:{s:10:"brand_id+1";s:1:"4";s:8:"count(*)";s:1:"3";}i:7;a:2:{s:10:"brand_id+1";s:1:"5";s:8:"count(*)";s:1:"5";}}s:8:"sphinxql";s:42:" /* result 2 of previous multistatement */";}i:19;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:71:"select id from facetdemo limit 0,1 facet brand_id order by facet() asc;";}i:20;a:3:{s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:2:{s:8:"brand_id";s:1:"1";s:8:"count(*)";s:1:"2";}i:1;a:2:{s:8:"brand_id";s:1:"2";s:8:"count(*)";s:1:"1";}i:2;a:2:{s:8:"brand_id";s:1:"3";s:8:"count(*)";s:1:"3";}i:3;a:2:{s:8:"brand_id";s:1:"4";s:8:"count(*)";s:1:"5";}i:4;a:2:{s:8:"brand_id";s:1:"6";s:8:"count(*)";s:1:"1";}i:5;a:2:{s:8:"brand_id";s:1:"7";s:8:"count(*)";s:1:"2";}i:6;a:2:{s:8:"brand_id";s:1:"9";s:8:"count(*)";s:1:"3";}i:7;a:2:{s:8:"brand_id";s:2:"10";s:8:"count(*)";s:1:"3";}}s:8:"sphinxql";s:42:" /* result 2 of previous multistatement */";}i:21;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:76:"select id from facetdemo limit 0,1 facet brand_id+1-1 order by facet() desc;";}i:22;a:3:{s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:2:{s:12:"brand_id+1-1";s:2:"10";s:8:"count(*)";s:1:"3";}i:1;a:2:{s:12:"brand_id+1-1";s:1:"9";s:8:"count(*)";s:1:"3";}i:2;a:2:{s:12:"brand_id+1-1";s:1:"7";s:8:"count(*)";s:1:"2";}i:3;a:2:{s:12:"brand_id+1-1";s:1:"6";s:8:"count(*)";s:1:"1";}i:4;a:2:{s:12:"brand_id+1-1";s:1:"4";s:8:"count(*)";s:1:"5";}i:5;a:2:{s:12:"brand_id+1-1";s:1:"3";s:8:"count(*)";s:1:"3";}i:6;a:2:{s:12:"brand_id+1-1";s:1:"2";s:8:"count(*)";s:1:"1";}i:7;a:2:{s:12:"brand_id+1-1";s:1:"1";s:8:"count(*)";s:1:"2";}}s:8:"sphinxql";s:42:" /* result 2 of previous multistatement */";}i:23;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:72:"select id from facetdemo limit 0,1 facet categories facet j.x facet j.a;";}i:24;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:10:"categories";s:2:"14";s:8:"count(*)";s:1:"6";}i:1;a:2:{s:10:"categories";s:2:"13";s:8:"count(*)";s:2:"10";}i:2;a:2:{s:10:"categories";s:2:"10";s:8:"count(*)";s:1:"6";}i:3;a:2:{s:10:"categories";s:2:"15";s:8:"count(*)";s:1:"2";}i:4;a:2:{s:10:"categories";s:2:"12";s:8:"count(*)";s:1:"9";}i:5;a:2:{s:10:"categories";s:2:"11";s:8:"count(*)";s:1:"8";}}s:8:"sphinxql";s:42:" /* result 2 of previous multistatement */";}i:25;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:3:"j.x";s:2:"14";s:8:"count(*)";s:1:"6";}i:1;a:2:{s:3:"j.x";s:2:"13";s:8:"count(*)";s:2:"10";}i:2;a:2:{s:3:"j.x";s:2:"10";s:8:"count(*)";s:1:"6";}i:3;a:2:{s:3:"j.x";s:2:"15";s:8:"count(*)";s:1:"2";}i:4;a:2:{s:3:"j.x";s:2:"12";s:8:"count(*)";s:1:"9";}i:5;a:2:{s:3:"j.x";s:2:"11";s:8:"count(*)";s:1:"8";}}s:8:"sphinxql";s:41:"/* result 3 of previous multistatement */";}i:26;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:3:"j.a";s:3:"a14";s:8:"count(*)";s:1:"6";}i:1;a:2:{s:3:"j.a";s:3:"a13";s:8:"count(*)";s:2:"10";}i:2;a:2:{s:3:"j.a";s:3:"a10";s:8:"count(*)";s:1:"6";}i:3;a:2:{s:3:"j.a";s:3:"a15";s:8:"count(*)";s:1:"2";}i:4;a:2:{s:3:"j.a";s:3:"a12";s:8:"count(*)";s:1:"9";}i:5;a:2:{s:3:"j.a";s:3:"a11";s:8:"count(*)";s:1:"8";}}s:8:"sphinxql";s:41:"/* result 4 of previous multistatement */";}i:27;a:3:{s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:8:{s:2:"id";s:1:"6";s:5:"price";s:3:"100";s:8:"brand_id";s:1:"3";s:5:"title";s:17:"Product One Three";s:10:"brand_name";s:11:"Brand Three";s:8:"property";s:5:"Seven";s:10:"categories";s:2:"10";s:1:"j";s:22:"{"x":[10],"a":["a10"]}";}i:1;a:8:{s:2:"id";s:1:"8";s:5:"price";s:2:"13";s:8:"brand_id";s:1:"3";s:5:"title";s:17:"Product Seven One";s:10:"brand_name";s:11:"Brand Three";s:8:"property";s:5:"Eight";s:10:"categories";s:8:"12,13,14";s:1:"j";s:40:"{"x":[12,13,14],"a":["a12","a13","a14"]}";}i:2;a:8:{s:2:"id";s:2:"11";s:5:"price";s:3:"100";s:8:"brand_id";s:2:"10";s:5:"title";s:15:"Product One Ten";s:10:"brand_name";s:9:"Brand Ten";s:8:"property";s:4:"Four";s:10:"categories";s:2:"11";s:1:"j";s:22:"{"x":[11],"a":["a11"]}";}}s:8:"sphinxql";s:223:"select * from facetdemo where match ('one') limit 0,15 facet brand_name, brand_id by brand_id order by brand_id asc facet property order by count(*) desc facet interval(price,200,400,600,800) order by facet() asc; show meta";}i:28;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:10:"brand_name";s:11:"Brand Three";s:8:"brand_id";s:1:"3";s:8:"count(*)";s:1:"2";}i:1;a:3:{s:10:"brand_name";s:9:"Brand Ten";s:8:"brand_id";s:2:"10";s:8:"count(*)";s:1:"1";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:29;a:3:{s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:8:"property";s:5:"Seven";s:8:"count(*)";s:1:"1";}i:1;a:2:{s:8:"property";s:5:"Eight";s:8:"count(*)";s:1:"1";}i:2;a:2:{s:8:"property";s:4:"Four";s:8:"count(*)";s:1:"1";}}s:8:"sphinxql";s:41:"/* result 3 of previous multistatement */";}i:30;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:31:"interval(price,200,400,600,800)";s:1:"0";s:8:"count(*)";s:1:"3";}}s:8:"sphinxql";s:41:"/* result 4 of previous multistatement */";}i:31;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"one";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}}s:8:"sphinxql";s:41:"/* result 5 of previous multistatement */";}i:32;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:71:"select id from facetdemo2 limit 0,1 facet brand_id as x order by x asc;";}i:33;a:3:{s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:2:{s:1:"x";s:1:"1";s:8:"count(*)";s:1:"2";}i:1;a:2:{s:1:"x";s:1:"2";s:8:"count(*)";s:1:"1";}i:2;a:2:{s:1:"x";s:1:"3";s:8:"count(*)";s:1:"3";}i:3;a:2:{s:1:"x";s:1:"4";s:8:"count(*)";s:1:"5";}i:4;a:2:{s:1:"x";s:1:"6";s:8:"count(*)";s:1:"1";}i:5;a:2:{s:1:"x";s:1:"7";s:8:"count(*)";s:1:"2";}i:6;a:2:{s:1:"x";s:1:"9";s:8:"count(*)";s:1:"3";}i:7;a:2:{s:1:"x";s:2:"10";s:8:"count(*)";s:1:"3";}}s:8:"sphinxql";s:42:" /* result 2 of previous multistatement */";}i:34;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:82:"select id from facetdemo2 limit 0,1 facet interval(price,500) as x order by x asc;";}i:35;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:1:"x";s:1:"0";s:8:"count(*)";s:2:"15";}i:1;a:2:{s:1:"x";s:1:"1";s:8:"count(*)";s:1:"5";}}s:8:"sphinxql";s:42:" /* result 2 of previous multistatement */";}i:36;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:65:"select id from facetdemo2 limit 0,1 facet brand_name by brand_id;";}i:37;a:3:{s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:2:{s:10:"brand_name";s:10:"Brand Nine";s:8:"count(*)";s:1:"3";}i:1;a:2:{s:10:"brand_name";s:9:"Brand Ten";s:8:"count(*)";s:1:"3";}i:2;a:2:{s:10:"brand_name";s:9:"Brand One";s:8:"count(*)";s:1:"2";}i:3;a:2:{s:10:"brand_name";s:11:"Brand Seven";s:8:"count(*)";s:1:"2";}i:4;a:2:{s:10:"brand_name";s:11:"Brand Three";s:8:"count(*)";s:1:"3";}i:5;a:2:{s:10:"brand_name";s:9:"Brand Two";s:8:"count(*)";s:1:"1";}i:6;a:2:{s:10:"brand_name";s:9:"Brand Six";s:8:"count(*)";s:1:"1";}i:7;a:2:{s:10:"brand_name";s:10:"Brand Four";s:8:"count(*)";s:1:"5";}}s:8:"sphinxql";s:42:" /* result 2 of previous multistatement */";}i:38;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:83:"select id from facetdemo2 limit 0,1 facet brand_name,property by brand_id,property;";}i:39;a:3:{s:10:"total_rows";i:18;s:4:"rows";a:18:{i:0;a:3:{s:10:"brand_name";s:10:"Brand Nine";s:8:"property";s:4:"Four";s:8:"count(*)";s:1:"1";}i:1;a:3:{s:10:"brand_name";s:9:"Brand Ten";s:8:"property";s:4:"Four";s:8:"count(*)";s:1:"2";}i:2;a:3:{s:10:"brand_name";s:9:"Brand One";s:8:"property";s:4:"Five";s:8:"count(*)";s:1:"1";}i:3;a:3:{s:10:"brand_name";s:11:"Brand Seven";s:8:"property";s:4:"Nine";s:8:"count(*)";s:1:"1";}i:4;a:3:{s:10:"brand_name";s:11:"Brand Seven";s:8:"property";s:5:"Seven";s:8:"count(*)";s:1:"1";}i:5;a:3:{s:10:"brand_name";s:11:"Brand Three";s:8:"property";s:5:"Seven";s:8:"count(*)";s:1:"1";}i:6;a:3:{s:10:"brand_name";s:10:"Brand Nine";s:8:"property";s:4:"Five";s:8:"count(*)";s:1:"1";}i:7;a:3:{s:10:"brand_name";s:11:"Brand Three";s:8:"property";s:5:"Eight";s:8:"count(*)";s:1:"1";}i:8;a:3:{s:10:"brand_name";s:9:"Brand Two";s:8:"property";s:5:"Eight";s:8:"count(*)";s:1:"1";}i:9;a:3:{s:10:"brand_name";s:9:"Brand Six";s:8:"property";s:5:"Eight";s:8:"count(*)";s:1:"1";}i:10;a:3:{s:10:"brand_name";s:9:"Brand Ten";s:8:"property";s:3:"Two";s:8:"count(*)";s:1:"1";}i:11;a:3:{s:10:"brand_name";s:10:"Brand Four";s:8:"property";s:3:"Ten";s:8:"count(*)";s:1:"1";}i:12;a:3:{s:10:"brand_name";s:9:"Brand One";s:8:"property";s:4:"Nine";s:8:"count(*)";s:1:"1";}i:13;a:3:{s:10:"brand_name";s:10:"Brand Four";s:8:"property";s:5:"Eight";s:8:"count(*)";s:1:"2";}i:14;a:3:{s:10:"brand_name";s:10:"Brand Nine";s:8:"property";s:5:"Seven";s:8:"count(*)";s:1:"1";}i:15;a:3:{s:10:"brand_name";s:10:"Brand Four";s:8:"property";s:4:"Five";s:8:"count(*)";s:1:"1";}i:16;a:3:{s:10:"brand_name";s:11:"Brand Three";s:8:"property";s:4:"Four";s:8:"count(*)";s:1:"1";}i:17;a:3:{s:10:"brand_name";s:10:"Brand Four";s:8:"property";s:3:"Two";s:8:"count(*)";s:1:"1";}}s:8:"sphinxql";s:42:" /* result 2 of previous multistatement */";}i:40;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:89:"select id from facetdemo2 limit 0,1 facet brand_id+1 by brand_id+2 order by count(*) asc;";}i:41;a:3:{s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:2:{s:10:"brand_id+1";s:1:"3";s:8:"count(*)";s:1:"1";}i:1;a:2:{s:10:"brand_id+1";s:1:"7";s:8:"count(*)";s:1:"1";}i:2;a:2:{s:10:"brand_id+1";s:1:"2";s:8:"count(*)";s:1:"2";}i:3;a:2:{s:10:"brand_id+1";s:1:"8";s:8:"count(*)";s:1:"2";}i:4;a:2:{s:10:"brand_id+1";s:2:"10";s:8:"count(*)";s:1:"3";}i:5;a:2:{s:10:"brand_id+1";s:2:"11";s:8:"count(*)";s:1:"3";}i:6;a:2:{s:10:"brand_id+1";s:1:"4";s:8:"count(*)";s:1:"3";}i:7;a:2:{s:10:"brand_id+1";s:1:"5";s:8:"count(*)";s:1:"5";}}s:8:"sphinxql";s:42:" /* result 2 of previous multistatement */";}i:42;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:72:"select id from facetdemo2 limit 0,1 facet brand_id order by facet() asc;";}i:43;a:3:{s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:2:{s:8:"brand_id";s:1:"1";s:8:"count(*)";s:1:"2";}i:1;a:2:{s:8:"brand_id";s:1:"2";s:8:"count(*)";s:1:"1";}i:2;a:2:{s:8:"brand_id";s:1:"3";s:8:"count(*)";s:1:"3";}i:3;a:2:{s:8:"brand_id";s:1:"4";s:8:"count(*)";s:1:"5";}i:4;a:2:{s:8:"brand_id";s:1:"6";s:8:"count(*)";s:1:"1";}i:5;a:2:{s:8:"brand_id";s:1:"7";s:8:"count(*)";s:1:"2";}i:6;a:2:{s:8:"brand_id";s:1:"9";s:8:"count(*)";s:1:"3";}i:7;a:2:{s:8:"brand_id";s:2:"10";s:8:"count(*)";s:1:"3";}}s:8:"sphinxql";s:42:" /* result 2 of previous multistatement */";}i:44;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:77:"select id from facetdemo2 limit 0,1 facet brand_id+1-1 order by facet() desc;";}i:45;a:3:{s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:2:{s:12:"brand_id+1-1";s:2:"10";s:8:"count(*)";s:1:"3";}i:1;a:2:{s:12:"brand_id+1-1";s:1:"9";s:8:"count(*)";s:1:"3";}i:2;a:2:{s:12:"brand_id+1-1";s:1:"7";s:8:"count(*)";s:1:"2";}i:3;a:2:{s:12:"brand_id+1-1";s:1:"6";s:8:"count(*)";s:1:"1";}i:4;a:2:{s:12:"brand_id+1-1";s:1:"4";s:8:"count(*)";s:1:"5";}i:5;a:2:{s:12:"brand_id+1-1";s:1:"3";s:8:"count(*)";s:1:"3";}i:6;a:2:{s:12:"brand_id+1-1";s:1:"2";s:8:"count(*)";s:1:"1";}i:7;a:2:{s:12:"brand_id+1-1";s:1:"1";s:8:"count(*)";s:1:"2";}}s:8:"sphinxql";s:42:" /* result 2 of previous multistatement */";}i:46;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:73:"select id from facetdemo2 limit 0,1 facet categories facet j.x facet j.a;";}i:47;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:10:"categories";s:2:"14";s:8:"count(*)";s:1:"6";}i:1;a:2:{s:10:"categories";s:2:"13";s:8:"count(*)";s:2:"10";}i:2;a:2:{s:10:"categories";s:2:"10";s:8:"count(*)";s:1:"6";}i:3;a:2:{s:10:"categories";s:2:"15";s:8:"count(*)";s:1:"2";}i:4;a:2:{s:10:"categories";s:2:"12";s:8:"count(*)";s:1:"9";}i:5;a:2:{s:10:"categories";s:2:"11";s:8:"count(*)";s:1:"8";}}s:8:"sphinxql";s:42:" /* result 2 of previous multistatement */";}i:48;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:3:"j.x";s:2:"14";s:8:"count(*)";s:1:"6";}i:1;a:2:{s:3:"j.x";s:2:"13";s:8:"count(*)";s:2:"10";}i:2;a:2:{s:3:"j.x";s:2:"10";s:8:"count(*)";s:1:"6";}i:3;a:2:{s:3:"j.x";s:2:"15";s:8:"count(*)";s:1:"2";}i:4;a:2:{s:3:"j.x";s:2:"12";s:8:"count(*)";s:1:"9";}i:5;a:2:{s:3:"j.x";s:2:"11";s:8:"count(*)";s:1:"8";}}s:8:"sphinxql";s:41:"/* result 3 of previous multistatement */";}i:49;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:3:"j.a";s:3:"a14";s:8:"count(*)";s:1:"6";}i:1;a:2:{s:3:"j.a";s:3:"a13";s:8:"count(*)";s:2:"10";}i:2;a:2:{s:3:"j.a";s:3:"a10";s:8:"count(*)";s:1:"6";}i:3;a:2:{s:3:"j.a";s:3:"a15";s:8:"count(*)";s:1:"2";}i:4;a:2:{s:3:"j.a";s:3:"a12";s:8:"count(*)";s:1:"9";}i:5;a:2:{s:3:"j.a";s:3:"a11";s:8:"count(*)";s:1:"8";}}s:8:"sphinxql";s:41:"/* result 4 of previous multistatement */";}i:50;a:3:{s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:8:{s:2:"id";s:1:"6";s:5:"price";s:3:"100";s:8:"brand_id";s:1:"3";s:5:"title";s:17:"Product One Three";s:10:"brand_name";s:11:"Brand Three";s:8:"property";s:5:"Seven";s:10:"categories";s:2:"10";s:1:"j";s:22:"{"x":[10],"a":["a10"]}";}i:1;a:8:{s:2:"id";s:1:"8";s:5:"price";s:2:"13";s:8:"brand_id";s:1:"3";s:5:"title";s:17:"Product Seven One";s:10:"brand_name";s:11:"Brand Three";s:8:"property";s:5:"Eight";s:10:"categories";s:8:"12,13,14";s:1:"j";s:40:"{"x":[12,13,14],"a":["a12","a13","a14"]}";}i:2;a:8:{s:2:"id";s:2:"11";s:5:"price";s:3:"100";s:8:"brand_id";s:2:"10";s:5:"title";s:15:"Product One Ten";s:10:"brand_name";s:9:"Brand Ten";s:8:"property";s:4:"Four";s:10:"categories";s:2:"11";s:1:"j";s:22:"{"x":[11],"a":["a11"]}";}}s:8:"sphinxql";s:224:"select * from facetdemo2 where match ('one') limit 0,15 facet brand_name, brand_id by brand_id order by brand_id asc facet property order by count(*) desc facet interval(price,200,400,600,800) order by facet() asc; show meta";}i:51;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:10:"brand_name";s:11:"Brand Three";s:8:"brand_id";s:1:"3";s:8:"count(*)";s:1:"2";}i:1;a:3:{s:10:"brand_name";s:9:"Brand Ten";s:8:"brand_id";s:2:"10";s:8:"count(*)";s:1:"1";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:52;a:3:{s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:8:"property";s:5:"Seven";s:8:"count(*)";s:1:"1";}i:1;a:2:{s:8:"property";s:5:"Eight";s:8:"count(*)";s:1:"1";}i:2;a:2:{s:8:"property";s:4:"Four";s:8:"count(*)";s:1:"1";}}s:8:"sphinxql";s:41:"/* result 3 of previous multistatement */";}i:53;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:31:"interval(price,200,400,600,800)";s:1:"0";s:8:"count(*)";s:1:"3";}}s:8:"sphinxql";s:41:"/* result 4 of previous multistatement */";}i:54;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"one";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}}s:8:"sphinxql";s:41:"/* result 5 of previous multistatement */";}i:55;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:3:"j.x";s:7:"[13,14]";}}s:8:"sphinxql";s:71:"select j.x from facetdemo limit 0,1 facet interval(j.x[0],10,11,12,13);";}i:56;a:3:{s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:28:"interval(j.x[0],10,11,12,13)";s:1:"4";s:8:"count(*)";s:1:"5";}i:1;a:2:{s:28:"interval(j.x[0],10,11,12,13)";s:1:"1";s:8:"count(*)";s:1:"6";}i:2;a:2:{s:28:"interval(j.x[0],10,11,12,13)";s:1:"2";s:8:"count(*)";s:1:"5";}i:3;a:2:{s:28:"interval(j.x[0],10,11,12,13)";s:1:"3";s:8:"count(*)";s:1:"4";}}s:8:"sphinxql";s:42:" /* result 2 of previous multistatement */";}i:57;a:3:{s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:5:"title";s:16:"Product Five Two";s:8:"property";s:4:"Four";}i:1;a:3:{s:2:"id";s:1:"2";s:5:"title";s:18:"Product Five Seven";s:8:"property";s:4:"Four";}i:2;a:3:{s:2:"id";s:2:"11";s:5:"title";s:15:"Product One Ten";s:8:"property";s:4:"Four";}i:3;a:3:{s:2:"id";s:2:"18";s:5:"title";s:18:"Product Eight Five";s:8:"property";s:4:"Four";}}s:8:"sphinxql";s:207:"select id, title, property from facetdemo2 where match ('product') and property='Four' order by id asc; select id, title, property from facetdemo2 where match ('product') and property='Seven' order by id asc";}i:58;a:3:{s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"5";s:5:"title";s:16:"Product Ten Four";s:8:"property";s:5:"Seven";}i:1;a:3:{s:2:"id";s:1:"6";s:5:"title";s:17:"Product One Three";s:8:"property";s:5:"Seven";}i:2;a:3:{s:2:"id";s:2:"16";s:5:"title";s:17:"Product Eight Ten";s:8:"property";s:5:"Seven";}}s:8:"sphinxql";s:146:" select id, title, property from facetdemo2 where match ('product') and property='Seven' order by id asc /* result 2 of previous multistatement */";}i:59;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:72:"select id from facetdemo limit 0,1 facet brand_id order by count(*) asc;";}i:60;a:3:{s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:2:{s:8:"brand_id";s:1:"2";s:8:"count(*)";s:1:"1";}i:1;a:2:{s:8:"brand_id";s:1:"6";s:8:"count(*)";s:1:"1";}i:2;a:2:{s:8:"brand_id";s:1:"1";s:8:"count(*)";s:1:"2";}i:3;a:2:{s:8:"brand_id";s:1:"7";s:8:"count(*)";s:1:"2";}i:4;a:2:{s:8:"brand_id";s:1:"9";s:8:"count(*)";s:1:"3";}i:5;a:2:{s:8:"brand_id";s:2:"10";s:8:"count(*)";s:1:"3";}i:6;a:2:{s:8:"brand_id";s:1:"3";s:8:"count(*)";s:1:"3";}i:7;a:2:{s:8:"brand_id";s:1:"4";s:8:"count(*)";s:1:"5";}}s:8:"sphinxql";s:42:" /* result 2 of previous multistatement */";}i:61;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:74:"select id from facetdemo limit 0,1 facet brand_id order by count( *) asc;";}i:62;a:3:{s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:2:{s:8:"brand_id";s:1:"2";s:8:"count(*)";s:1:"1";}i:1;a:2:{s:8:"brand_id";s:1:"6";s:8:"count(*)";s:1:"1";}i:2;a:2:{s:8:"brand_id";s:1:"1";s:8:"count(*)";s:1:"2";}i:3;a:2:{s:8:"brand_id";s:1:"7";s:8:"count(*)";s:1:"2";}i:4;a:2:{s:8:"brand_id";s:1:"9";s:8:"count(*)";s:1:"3";}i:5;a:2:{s:8:"brand_id";s:2:"10";s:8:"count(*)";s:1:"3";}i:6;a:2:{s:8:"brand_id";s:1:"3";s:8:"count(*)";s:1:"3";}i:7;a:2:{s:8:"brand_id";s:1:"4";s:8:"count(*)";s:1:"5";}}s:8:"sphinxql";s:42:" /* result 2 of previous multistatement */";}i:63;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:76:"select id from facetdemo limit 0,1 facet brand_id order by count ( * ) asc;";}i:64;a:3:{s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:2:{s:8:"brand_id";s:1:"2";s:8:"count(*)";s:1:"1";}i:1;a:2:{s:8:"brand_id";s:1:"6";s:8:"count(*)";s:1:"1";}i:2;a:2:{s:8:"brand_id";s:1:"1";s:8:"count(*)";s:1:"2";}i:3;a:2:{s:8:"brand_id";s:1:"7";s:8:"count(*)";s:1:"2";}i:4;a:2:{s:8:"brand_id";s:1:"9";s:8:"count(*)";s:1:"3";}i:5;a:2:{s:8:"brand_id";s:2:"10";s:8:"count(*)";s:1:"3";}i:6;a:2:{s:8:"brand_id";s:1:"3";s:8:"count(*)";s:1:"3";}i:7;a:2:{s:8:"brand_id";s:1:"4";s:8:"count(*)";s:1:"5";}}s:8:"sphinxql";s:42:" /* result 2 of previous multistatement */";}i:65;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:74:"select id from facetdemo limit 0,1 facet brand_id order by count (* ) asc;";}i:66;a:3:{s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:2:{s:8:"brand_id";s:1:"2";s:8:"count(*)";s:1:"1";}i:1;a:2:{s:8:"brand_id";s:1:"6";s:8:"count(*)";s:1:"1";}i:2;a:2:{s:8:"brand_id";s:1:"1";s:8:"count(*)";s:1:"2";}i:3;a:2:{s:8:"brand_id";s:1:"7";s:8:"count(*)";s:1:"2";}i:4;a:2:{s:8:"brand_id";s:1:"9";s:8:"count(*)";s:1:"3";}i:5;a:2:{s:8:"brand_id";s:2:"10";s:8:"count(*)";s:1:"3";}i:6;a:2:{s:8:"brand_id";s:1:"3";s:8:"count(*)";s:1:"3";}i:7;a:2:{s:8:"brand_id";s:1:"4";s:8:"count(*)";s:1:"5";}}s:8:"sphinxql";s:42:" /* result 2 of previous multistatement */";}i:67;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:73:"select id from facetdemo limit 0,1 facet brand_id order by count(* ) asc;";}i:68;a:3:{s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:2:{s:8:"brand_id";s:1:"2";s:8:"count(*)";s:1:"1";}i:1;a:2:{s:8:"brand_id";s:1:"6";s:8:"count(*)";s:1:"1";}i:2;a:2:{s:8:"brand_id";s:1:"1";s:8:"count(*)";s:1:"2";}i:3;a:2:{s:8:"brand_id";s:1:"7";s:8:"count(*)";s:1:"2";}i:4;a:2:{s:8:"brand_id";s:1:"9";s:8:"count(*)";s:1:"3";}i:5;a:2:{s:8:"brand_id";s:2:"10";s:8:"count(*)";s:1:"3";}i:6;a:2:{s:8:"brand_id";s:1:"3";s:8:"count(*)";s:1:"3";}i:7;a:2:{s:8:"brand_id";s:1:"4";s:8:"count(*)";s:1:"5";}}s:8:"sphinxql";s:42:" /* result 2 of previous multistatement */";}}}sphinx-2.2.11-release/test/test_225/0000755000175000017500000000000012743402012016405 5ustar alexeyalexeysphinx-2.2.11-release/test/test_225/test.xml0000644000175000017500000000237212743402012020112 0ustar alexeyalexey ondisk_attrs for rt indexes indexer { mem_limit = 28M } searchd { workers = threads } index rta { type = rt path = /rta rt_field = text rt_attr_string = attrs rt_attr_uint = tag } index rtb : rta { path = /rtb ondisk_attrs = 1 } INSERT INTO `rta`(id,tag,text,attrs) VALUES ( 1, 102, 'first','ch1first'), ( 2, 102, 'second','ch1second'), ( 3, 103, 'third','ch1third') FLUSH RAMCHUNK rta INSERT INTO rtb (id,tag,text,attrs) VALUES ( 4, 203, 'forth','ch2forth'), ( 2, 212, 'asecond','ch2second'), ( 3, 213, 'athird','ch2third') FLUSH RAMCHUNK rtb select * from rta select * from rtb update rta set tag=400 where id=1 update rtb set tag=400 where id=4 select * from rta select * from rtb sphinx-2.2.11-release/test/test_225/model.bin0000644000175000017500000000401712743402012020201 0ustar alexeyalexeya:1:{i:0;a:10:{i:0;a:2:{s:8:"sphinxql";s:137:"INSERT INTO `rta`(id,tag,text,attrs) VALUES ( 1, 102, 'first','ch1first'), ( 2, 102, 'second','ch1second'), ( 3, 103, 'third','ch1third')";s:14:"total_affected";i:3;}i:1;a:2:{s:8:"sphinxql";s:18:"FLUSH RAMCHUNK rta";s:14:"total_affected";i:0;}i:2;a:2:{s:8:"sphinxql";s:138:"INSERT INTO rtb (id,tag,text,attrs) VALUES ( 4, 203, 'forth','ch2forth'), ( 2, 212, 'asecond','ch2second'), ( 3, 213, 'athird','ch2third')";s:14:"total_affected";i:3;}i:3;a:2:{s:8:"sphinxql";s:18:"FLUSH RAMCHUNK rtb";s:14:"total_affected";i:0;}i:4;a:3:{s:8:"sphinxql";s:17:"select * from rta";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"tag";s:3:"102";s:5:"attrs";s:8:"ch1first";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"tag";s:3:"102";s:5:"attrs";s:9:"ch1second";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"tag";s:3:"103";s:5:"attrs";s:8:"ch1third";}}}i:5;a:3:{s:8:"sphinxql";s:17:"select * from rtb";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"2";s:3:"tag";s:3:"212";s:5:"attrs";s:9:"ch2second";}i:1;a:3:{s:2:"id";s:1:"3";s:3:"tag";s:3:"213";s:5:"attrs";s:8:"ch2third";}i:2;a:3:{s:2:"id";s:1:"4";s:3:"tag";s:3:"203";s:5:"attrs";s:8:"ch2forth";}}}i:6;a:2:{s:8:"sphinxql";s:33:"update rta set tag=400 where id=1";s:14:"total_affected";i:1;}i:7;a:3:{s:8:"sphinxql";s:33:"update rtb set tag=400 where id=4";s:5:"error";s:52:"index rtb: can not update ondisk_attrs enabled index";s:5:"errno";i:1064;}i:8;a:3:{s:8:"sphinxql";s:17:"select * from rta";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"tag";s:3:"400";s:5:"attrs";s:8:"ch1first";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"tag";s:3:"102";s:5:"attrs";s:9:"ch1second";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"tag";s:3:"103";s:5:"attrs";s:8:"ch1third";}}}i:9;a:3:{s:8:"sphinxql";s:17:"select * from rtb";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"2";s:3:"tag";s:3:"212";s:5:"attrs";s:9:"ch2second";}i:1;a:3:{s:2:"id";s:1:"3";s:3:"tag";s:3:"213";s:5:"attrs";s:8:"ch2third";}i:2;a:3:{s:2:"id";s:1:"4";s:3:"tag";s:3:"203";s:5:"attrs";s:8:"ch2forth";}}}}}sphinx-2.2.11-release/test/test_224/0000755000175000017500000000000012743402012016404 5ustar alexeyalexeysphinx-2.2.11-release/test/test_224/test.xml0000644000175000017500000001537612743402012020121 0ustar alexeyalexey Smart attribute deletes indexer { mem_limit = 16M } searchd { workers = threads binlog_path = # } index rt { type = rt path = /rt docinfo = extern rt_field = body rt_attr_multi = mva1 rt_attr_uint = gid rt_attr_multi = mva2 } index rt1 : rt { path = /rt1 } index rt2 : rt { path = /rt2 } index rtd0 { type = distributed local = rt agent_connect_timeout = 1000 agent_query_timeout = 3000 } index rtd1 { type = distributed local = rt1 local = rt2 agent_connect_timeout = 1000 agent_query_timeout = 3000 } index rtd2 { type = distributed agent = :rt1 local = rt2 agent_connect_timeout = 1000 agent_query_timeout = 3000 } index rtd3 { type = distributed local = rt1 agent = :rt2 agent_connect_timeout = 1000 agent_query_timeout = 3000 } index rtd4 { type = distributed agent = :rt1 agent = :rt2 agent_connect_timeout = 1000 agent_query_timeout = 3000 } index rtd5 { type = distributed agent = :rt agent_connect_timeout = 1000 agent_query_timeout = 3000 } index remap_test { type = rt path = /remap_test rt_field = text rt_attr_uint = attr_uint rt_attr_bigint = attr_bigint rt_attr_float = attr_float rt_attr_string = attr_str } index edge_ints { type = rt path = /edge_ints rt_field = text rt_attr_bigint = attr_bigint } rt rt1 rt2 rtd0 rtd1 rtd2 rtd3 rtd4 rtd5 insert into rt (id, gid, mva1, mva2, body) values (1, 11, (1, 1), (2), 'dummy'), (2, 22, (2, 2), (23), 'dummy2') insert into rt (id, gid, mva1, mva2, body) values (3, 33, (3, 3), (32), 'dummy3'), (4, 44, (4, 4), (43), 'dummy4') insert into rt (id, gid, mva1, mva2, body) values (5, 55, (5, 5), (52), 'dummy5'), (6, 66, (6, 6), (63), 'dummy6') insert into rt (id, gid, mva1, mva2, body) values (100, 1000, (100, 201), (100), 'dumy'), (101, 1001, (101, 202), (101), 'dumy'), (102, 1002, (102, 203), (102), 'dumy'), (103, 1003, (103, 204), (103), 'dumy'), (104, 1004, (104, 204, 205), (104), 'dumy'), (105, 1005, (105, 206), (105), 'dumy'), (106, 1006, (106, 207), (106), 'dumy'), (107, 1007, (107, 208), (107), 'dumy') insert into rt1 (id, gid, mva1, mva2, body) values (7, 77, (17, 17), (17), 'dummy7'), (8, 88, (8, 8), (18), 'dummy8') insert into rt1 (id, gid, mva1, mva2, body) values (9, 99, (9, 9), (9), 'dummy9'), (10, 1010, (10, 10), (10), 'dummy10') insert into rt2 (id, gid, mva1, mva2, body) values (7, 77, (27, 27), (27), 'dummy7'), (8, 88, (8, 8), (28), 'dummy8') insert into rt2 (id, gid, mva1, mva2, body) values (11, 1111, (11, 11), (11), 'dummy11'), (12, 1212, (12, 12), (12), 'dummy12') select * from META:all delete from rt where id=1 delete from rt where gid=22 select * from META:all delete from rtd0 where id=3 select * from META:all delete from rtd5 where gid=44 select * from META:all delete from rtd1 where id=7 select * from META:all delete from rtd4 where gid=88 select * from META:all delete from rtd2 where id=9 select * from META:all delete from rtd2 where gid=1010 select * from META:all delete from rtd3 where match ('dummy11') option ignore_nonexistent_columns=1 select * from META:all delete from rt where mva1=204 select * from rt delete from rt where match ('dumy') option max_matches=2 select * from rt delete from rtd4 where id=12 select * from META:all insert into remap_test values (1, 'text1', 1, 1, 1.0, 'one') insert into remap_test values (2, 'text2', 2, 2, 2.0, 'two') insert into remap_test values (3, 'text3', 3, 3, 3.0, 'three') select * from remap_test select remap(id, attr_uint, (1, 3), (11, 33)) from remap_test select remap(id, attr_bigint, (1, 3), (11, 33)) from remap_test select remap(id, attr_float, (1, 3), (11., 33.)) from remap_test select remap(id, attr_uint, (1, 3), (11., 33)) from remap_test select remap(id, attr_float, (1, 3), (11, 33)) from remap_test select remap(id, attr_uint, (1., 3), (11, 33)) from remap_test select remap(id, attr_uint, (1, 3), (11, 33, 44)) from remap_test select remap(id, attr_uint, (5, 3, 1), (55, 33, 11)) from remap_test select remap(id*2+3, attr_uint*2, (7), (777)) from remap_test select remap(1.0, attr_uint, (5, 3, 1), (55, 33, 11)) from remap_test select remap(id, attr_string, (5, 3, 1), (55, 33, 11)) from remap_test select id e1, attr_str e2, remap(e1, e2, (5, 3, 1), (55, 33, 11)) from remap_test select id e1, attr_str e2, remap(e2, e1, (5, 3, 1), (55, 33, 11)) from remap_test insert into edge_ints values (1,'',9223372036854775807) insert into edge_ints values (2,'',-9223372036854775808) select attr_bigint from edge_ints select attr_bigint from edge_ints where attr_bigint>0 select attr_bigint from edge_ints where attr_bigint>=0 select attr_bigint from edge_ints where attr_bigint<0 select attr_bigint from edge_ints where attr_bigint<=0 select attr_bigint from edge_ints where attr_bigint>9223372036854775807 select attr_bigint from edge_ints where attr_bigint>=9223372036854775807 select attr_bigint from edge_ints where attr_bigint<-9223372036854775808 select attr_bigint from edge_ints where attr_bigint<=-9223372036854775808 sphinx-2.2.11-release/test/test_224/model.bin0000644000175000017500000020353612743402012020207 0ustar alexeyalexeya:1:{i:0;a:140:{i:0;a:2:{s:8:"sphinxql";s:112:"insert into rt (id, gid, mva1, mva2, body) values (1, 11, (1, 1), (2), 'dummy'), (2, 22, (2, 2), (23), 'dummy2')";s:14:"total_affected";i:2;}i:1;a:2:{s:8:"sphinxql";s:114:"insert into rt (id, gid, mva1, mva2, body) values (3, 33, (3, 3), (32), 'dummy3'), (4, 44, (4, 4), (43), 'dummy4')";s:14:"total_affected";i:2;}i:2;a:2:{s:8:"sphinxql";s:114:"insert into rt (id, gid, mva1, mva2, body) values (5, 55, (5, 5), (52), 'dummy5'), (6, 66, (6, 6), (63), 'dummy6')";s:14:"total_affected";i:2;}i:3;a:2:{s:8:"sphinxql";s:373:"insert into rt (id, gid, mva1, mva2, body) values (100, 1000, (100, 201), (100), 'dumy'), (101, 1001, (101, 202), (101), 'dumy'), (102, 1002, (102, 203), (102), 'dumy'), (103, 1003, (103, 204), (103), 'dumy'), (104, 1004, (104, 204, 205), (104), 'dumy'), (105, 1005, (105, 206), (105), 'dumy'), (106, 1006, (106, 207), (106), 'dumy'), (107, 1007, (107, 208), (107), 'dumy')";s:14:"total_affected";i:8;}i:4;a:2:{s:8:"sphinxql";s:117:"insert into rt1 (id, gid, mva1, mva2, body) values (7, 77, (17, 17), (17), 'dummy7'), (8, 88, (8, 8), (18), 'dummy8')";s:14:"total_affected";i:2;}i:5;a:2:{s:8:"sphinxql";s:120:"insert into rt1 (id, gid, mva1, mva2, body) values (9, 99, (9, 9), (9), 'dummy9'), (10, 1010, (10, 10), (10), 'dummy10')";s:14:"total_affected";i:2;}i:6;a:2:{s:8:"sphinxql";s:117:"insert into rt2 (id, gid, mva1, mva2, body) values (7, 77, (27, 27), (27), 'dummy7'), (8, 88, (8, 8), (28), 'dummy8')";s:14:"total_affected";i:2;}i:7;a:2:{s:8:"sphinxql";s:127:"insert into rt2 (id, gid, mva1, mva2, body) values (11, 1111, (11, 11), (11), 'dummy11'), (12, 1212, (12, 12), (12), 'dummy12')";s:14:"total_affected";i:2;}i:8;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:14;s:4:"rows";a:14:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:4:"mva1";s:1:"1";s:4:"mva2";s:1:"2";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"gid";s:2:"22";s:4:"mva1";s:1:"2";s:4:"mva2";s:2:"23";}i:2;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:2:"33";s:4:"mva1";s:1:"3";s:4:"mva2";s:2:"32";}i:3;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:2:"44";s:4:"mva1";s:1:"4";s:4:"mva2";s:2:"43";}i:4;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:5;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:6;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:7;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:8;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:9;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:10;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:11;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:12;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:13;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:9;a:3:{s:8:"sphinxql";s:17:"select * from rt1";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"7";s:3:"gid";s:2:"77";s:4:"mva1";s:2:"17";s:4:"mva2";s:2:"17";}i:1;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"18";}i:2;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:3;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}}}i:10;a:3:{s:8:"sphinxql";s:17:"select * from rt2";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"7";s:3:"gid";s:2:"77";s:4:"mva1";s:2:"27";s:4:"mva2";s:2:"27";}i:1;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"28";}i:2;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:3;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:11;a:3:{s:8:"sphinxql";s:18:"select * from rtd0";s:10:"total_rows";i:14;s:4:"rows";a:14:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:4:"mva1";s:1:"1";s:4:"mva2";s:1:"2";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"gid";s:2:"22";s:4:"mva1";s:1:"2";s:4:"mva2";s:2:"23";}i:2;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:2:"33";s:4:"mva1";s:1:"3";s:4:"mva2";s:2:"32";}i:3;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:2:"44";s:4:"mva1";s:1:"4";s:4:"mva2";s:2:"43";}i:4;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:5;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:6;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:7;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:8;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:9;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:10;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:11;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:12;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:13;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:12;a:3:{s:8:"sphinxql";s:18:"select * from rtd1";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:4:{s:2:"id";s:1:"7";s:3:"gid";s:2:"77";s:4:"mva1";s:2:"27";s:4:"mva2";s:2:"27";}i:1;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"28";}i:2;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:3;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:4;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:5;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:13;a:3:{s:8:"sphinxql";s:18:"select * from rtd2";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:4:{s:2:"id";s:1:"7";s:3:"gid";s:2:"77";s:4:"mva1";s:2:"27";s:4:"mva2";s:2:"27";}i:1;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"28";}i:2;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:3;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:4;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:5;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:14;a:3:{s:8:"sphinxql";s:18:"select * from rtd3";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:4:{s:2:"id";s:1:"7";s:3:"gid";s:2:"77";s:4:"mva1";s:2:"17";s:4:"mva2";s:2:"17";}i:1;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"18";}i:2;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:3;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:4;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:5;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:15;a:3:{s:8:"sphinxql";s:18:"select * from rtd4";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:4:{s:2:"id";s:1:"7";s:3:"gid";s:2:"77";s:4:"mva1";s:2:"27";s:4:"mva2";s:2:"27";}i:1;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"28";}i:2;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:3;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:4;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:5;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:16;a:3:{s:8:"sphinxql";s:18:"select * from rtd5";s:10:"total_rows";i:14;s:4:"rows";a:14:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:4:"mva1";s:1:"1";s:4:"mva2";s:1:"2";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"gid";s:2:"22";s:4:"mva1";s:1:"2";s:4:"mva2";s:2:"23";}i:2;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:2:"33";s:4:"mva1";s:1:"3";s:4:"mva2";s:2:"32";}i:3;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:2:"44";s:4:"mva1";s:1:"4";s:4:"mva2";s:2:"43";}i:4;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:5;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:6;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:7;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:8;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:9;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:10;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:11;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:12;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:13;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:17;a:2:{s:8:"sphinxql";s:25:"delete from rt where id=1";s:14:"total_affected";i:1;}i:18;a:2:{s:8:"sphinxql";s:27:"delete from rt where gid=22";s:14:"total_affected";i:1;}i:19;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:12;s:4:"rows";a:12:{i:0;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:2:"33";s:4:"mva1";s:1:"3";s:4:"mva2";s:2:"32";}i:1;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:2:"44";s:4:"mva1";s:1:"4";s:4:"mva2";s:2:"43";}i:2;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:3;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:4;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:5;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:6;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:7;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:8;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:9;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:10;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:11;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:20;a:3:{s:8:"sphinxql";s:17:"select * from rt1";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"7";s:3:"gid";s:2:"77";s:4:"mva1";s:2:"17";s:4:"mva2";s:2:"17";}i:1;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"18";}i:2;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:3;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}}}i:21;a:3:{s:8:"sphinxql";s:17:"select * from rt2";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"7";s:3:"gid";s:2:"77";s:4:"mva1";s:2:"27";s:4:"mva2";s:2:"27";}i:1;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"28";}i:2;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:3;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:22;a:3:{s:8:"sphinxql";s:18:"select * from rtd0";s:10:"total_rows";i:12;s:4:"rows";a:12:{i:0;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:2:"33";s:4:"mva1";s:1:"3";s:4:"mva2";s:2:"32";}i:1;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:2:"44";s:4:"mva1";s:1:"4";s:4:"mva2";s:2:"43";}i:2;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:3;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:4;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:5;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:6;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:7;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:8;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:9;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:10;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:11;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:23;a:3:{s:8:"sphinxql";s:18:"select * from rtd1";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:4:{s:2:"id";s:1:"7";s:3:"gid";s:2:"77";s:4:"mva1";s:2:"27";s:4:"mva2";s:2:"27";}i:1;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"28";}i:2;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:3;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:4;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:5;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:24;a:3:{s:8:"sphinxql";s:18:"select * from rtd2";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:4:{s:2:"id";s:1:"7";s:3:"gid";s:2:"77";s:4:"mva1";s:2:"27";s:4:"mva2";s:2:"27";}i:1;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"28";}i:2;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:3;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:4;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:5;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:25;a:3:{s:8:"sphinxql";s:18:"select * from rtd3";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:4:{s:2:"id";s:1:"7";s:3:"gid";s:2:"77";s:4:"mva1";s:2:"17";s:4:"mva2";s:2:"17";}i:1;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"18";}i:2;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:3;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:4;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:5;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:26;a:3:{s:8:"sphinxql";s:18:"select * from rtd4";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:4:{s:2:"id";s:1:"7";s:3:"gid";s:2:"77";s:4:"mva1";s:2:"27";s:4:"mva2";s:2:"27";}i:1;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"28";}i:2;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:3;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:4;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:5;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:27;a:3:{s:8:"sphinxql";s:18:"select * from rtd5";s:10:"total_rows";i:12;s:4:"rows";a:12:{i:0;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:2:"33";s:4:"mva1";s:1:"3";s:4:"mva2";s:2:"32";}i:1;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:2:"44";s:4:"mva1";s:1:"4";s:4:"mva2";s:2:"43";}i:2;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:3;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:4;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:5;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:6;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:7;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:8;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:9;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:10;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:11;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:28;a:2:{s:8:"sphinxql";s:27:"delete from rtd0 where id=3";s:14:"total_affected";i:1;}i:29;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:11;s:4:"rows";a:11:{i:0;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:2:"44";s:4:"mva1";s:1:"4";s:4:"mva2";s:2:"43";}i:1;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:2;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:3;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:4;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:5;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:6;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:7;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:8;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:9;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:10;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:30;a:3:{s:8:"sphinxql";s:17:"select * from rt1";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"7";s:3:"gid";s:2:"77";s:4:"mva1";s:2:"17";s:4:"mva2";s:2:"17";}i:1;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"18";}i:2;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:3;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}}}i:31;a:3:{s:8:"sphinxql";s:17:"select * from rt2";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"7";s:3:"gid";s:2:"77";s:4:"mva1";s:2:"27";s:4:"mva2";s:2:"27";}i:1;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"28";}i:2;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:3;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:32;a:3:{s:8:"sphinxql";s:18:"select * from rtd0";s:10:"total_rows";i:11;s:4:"rows";a:11:{i:0;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:2:"44";s:4:"mva1";s:1:"4";s:4:"mva2";s:2:"43";}i:1;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:2;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:3;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:4;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:5;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:6;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:7;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:8;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:9;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:10;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:33;a:3:{s:8:"sphinxql";s:18:"select * from rtd1";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:4:{s:2:"id";s:1:"7";s:3:"gid";s:2:"77";s:4:"mva1";s:2:"27";s:4:"mva2";s:2:"27";}i:1;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"28";}i:2;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:3;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:4;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:5;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:34;a:3:{s:8:"sphinxql";s:18:"select * from rtd2";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:4:{s:2:"id";s:1:"7";s:3:"gid";s:2:"77";s:4:"mva1";s:2:"27";s:4:"mva2";s:2:"27";}i:1;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"28";}i:2;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:3;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:4;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:5;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:35;a:3:{s:8:"sphinxql";s:18:"select * from rtd3";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:4:{s:2:"id";s:1:"7";s:3:"gid";s:2:"77";s:4:"mva1";s:2:"17";s:4:"mva2";s:2:"17";}i:1;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"18";}i:2;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:3;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:4;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:5;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:36;a:3:{s:8:"sphinxql";s:18:"select * from rtd4";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:4:{s:2:"id";s:1:"7";s:3:"gid";s:2:"77";s:4:"mva1";s:2:"27";s:4:"mva2";s:2:"27";}i:1;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"28";}i:2;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:3;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:4;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:5;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:37;a:3:{s:8:"sphinxql";s:18:"select * from rtd5";s:10:"total_rows";i:11;s:4:"rows";a:11:{i:0;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:2:"44";s:4:"mva1";s:1:"4";s:4:"mva2";s:2:"43";}i:1;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:2;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:3;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:4;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:5;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:6;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:7;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:8;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:9;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:10;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:38;a:2:{s:8:"sphinxql";s:29:"delete from rtd5 where gid=44";s:14:"total_affected";i:1;}i:39;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:1;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:2;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:3;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:4;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:5;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:6;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:7;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:8;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:9;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:40;a:3:{s:8:"sphinxql";s:17:"select * from rt1";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"7";s:3:"gid";s:2:"77";s:4:"mva1";s:2:"17";s:4:"mva2";s:2:"17";}i:1;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"18";}i:2;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:3;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}}}i:41;a:3:{s:8:"sphinxql";s:17:"select * from rt2";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"7";s:3:"gid";s:2:"77";s:4:"mva1";s:2:"27";s:4:"mva2";s:2:"27";}i:1;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"28";}i:2;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:3;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:42;a:3:{s:8:"sphinxql";s:18:"select * from rtd0";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:1;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:2;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:3;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:4;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:5;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:6;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:7;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:8;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:9;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:43;a:3:{s:8:"sphinxql";s:18:"select * from rtd1";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:4:{s:2:"id";s:1:"7";s:3:"gid";s:2:"77";s:4:"mva1";s:2:"27";s:4:"mva2";s:2:"27";}i:1;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"28";}i:2;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:3;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:4;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:5;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:44;a:3:{s:8:"sphinxql";s:18:"select * from rtd2";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:4:{s:2:"id";s:1:"7";s:3:"gid";s:2:"77";s:4:"mva1";s:2:"27";s:4:"mva2";s:2:"27";}i:1;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"28";}i:2;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:3;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:4;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:5;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:45;a:3:{s:8:"sphinxql";s:18:"select * from rtd3";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:4:{s:2:"id";s:1:"7";s:3:"gid";s:2:"77";s:4:"mva1";s:2:"17";s:4:"mva2";s:2:"17";}i:1;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"18";}i:2;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:3;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:4;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:5;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:46;a:3:{s:8:"sphinxql";s:18:"select * from rtd4";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:4:{s:2:"id";s:1:"7";s:3:"gid";s:2:"77";s:4:"mva1";s:2:"27";s:4:"mva2";s:2:"27";}i:1;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"28";}i:2;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:3;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:4;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:5;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:47;a:3:{s:8:"sphinxql";s:18:"select * from rtd5";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:1;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:2;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:3;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:4;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:5;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:6;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:7;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:8;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:9;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:48;a:2:{s:8:"sphinxql";s:27:"delete from rtd1 where id=7";s:14:"total_affected";i:2;}i:49;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:1;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:2;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:3;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:4;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:5;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:6;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:7;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:8;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:9;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:50;a:3:{s:8:"sphinxql";s:17:"select * from rt1";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"18";}i:1;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:2;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}}}i:51;a:3:{s:8:"sphinxql";s:17:"select * from rt2";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"28";}i:1;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:2;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:52;a:3:{s:8:"sphinxql";s:18:"select * from rtd0";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:1;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:2;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:3;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:4;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:5;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:6;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:7;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:8;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:9;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:53;a:3:{s:8:"sphinxql";s:18:"select * from rtd1";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"28";}i:1;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:2;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:3;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:4;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:54;a:3:{s:8:"sphinxql";s:18:"select * from rtd2";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"28";}i:1;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:2;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:3;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:4;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:55;a:3:{s:8:"sphinxql";s:18:"select * from rtd3";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"18";}i:1;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:2;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:3;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:4;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:56;a:3:{s:8:"sphinxql";s:18:"select * from rtd4";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:2:"88";s:4:"mva1";s:1:"8";s:4:"mva2";s:2:"28";}i:1;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:2;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:3;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:4;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:57;a:3:{s:8:"sphinxql";s:18:"select * from rtd5";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:1;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:2;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:3;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:4;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:5;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:6;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:7;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:8;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:9;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:58;a:2:{s:8:"sphinxql";s:29:"delete from rtd4 where gid=88";s:14:"total_affected";i:2;}i:59;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:1;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:2;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:3;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:4;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:5;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:6;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:7;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:8;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:9;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:60;a:3:{s:8:"sphinxql";s:17:"select * from rt1";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:1;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}}}i:61;a:3:{s:8:"sphinxql";s:17:"select * from rt2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:1;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:62;a:3:{s:8:"sphinxql";s:18:"select * from rtd0";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:1;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:2;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:3;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:4;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:5;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:6;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:7;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:8;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:9;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:63;a:3:{s:8:"sphinxql";s:18:"select * from rtd1";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:1;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:2;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:3;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:64;a:3:{s:8:"sphinxql";s:18:"select * from rtd2";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:1;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:2;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:3;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:65;a:3:{s:8:"sphinxql";s:18:"select * from rtd3";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:1;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:2;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:3;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:66;a:3:{s:8:"sphinxql";s:18:"select * from rtd4";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:2:"99";s:4:"mva1";s:1:"9";s:4:"mva2";s:1:"9";}i:1;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:2;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:3;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:67;a:3:{s:8:"sphinxql";s:18:"select * from rtd5";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:1;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:2;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:3;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:4;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:5;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:6;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:7;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:8;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:9;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:68;a:2:{s:8:"sphinxql";s:27:"delete from rtd2 where id=9";s:14:"total_affected";i:1;}i:69;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:1;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:2;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:3;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:4;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:5;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:6;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:7;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:8;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:9;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:70;a:3:{s:8:"sphinxql";s:17:"select * from rt1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}}}i:71;a:3:{s:8:"sphinxql";s:17:"select * from rt2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:1;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:72;a:3:{s:8:"sphinxql";s:18:"select * from rtd0";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:1;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:2;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:3;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:4;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:5;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:6;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:7;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:8;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:9;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:73;a:3:{s:8:"sphinxql";s:18:"select * from rtd1";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:1;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:2;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:74;a:3:{s:8:"sphinxql";s:18:"select * from rtd2";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:1;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:2;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:75;a:3:{s:8:"sphinxql";s:18:"select * from rtd3";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:1;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:2;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:76;a:3:{s:8:"sphinxql";s:18:"select * from rtd4";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:4:"mva1";s:2:"10";s:4:"mva2";s:2:"10";}i:1;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:2;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:77;a:3:{s:8:"sphinxql";s:18:"select * from rtd5";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:1;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:2;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:3;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:4;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:5;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:6;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:7;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:8;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:9;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:78;a:2:{s:8:"sphinxql";s:31:"delete from rtd2 where gid=1010";s:14:"total_affected";i:1;}i:79;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:1;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:2;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:3;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:4;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:5;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:6;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:7;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:8;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:9;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:80;a:2:{s:8:"sphinxql";s:17:"select * from rt1";s:10:"total_rows";i:0;}i:81;a:3:{s:8:"sphinxql";s:17:"select * from rt2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:1;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:82;a:3:{s:8:"sphinxql";s:18:"select * from rtd0";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:1;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:2;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:3;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:4;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:5;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:6;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:7;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:8;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:9;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:83;a:3:{s:8:"sphinxql";s:18:"select * from rtd1";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:1;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:84;a:3:{s:8:"sphinxql";s:18:"select * from rtd2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:1;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:85;a:3:{s:8:"sphinxql";s:18:"select * from rtd3";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:1;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:86;a:3:{s:8:"sphinxql";s:18:"select * from rtd4";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:1;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:87;a:3:{s:8:"sphinxql";s:18:"select * from rtd5";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:1;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:2;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:3;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:4;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:5;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:6;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:7;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:8;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:9;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:88;a:3:{s:8:"sphinxql";s:76:"delete from rtd3 where match ('dummy11') option ignore_nonexistent_columns=1";s:5:"error";s:100:"sphinxql: syntax error, unexpected OPTION, expecting $end near 'option ignore_nonexistent_columns=1'";s:5:"errno";i:1064;}i:89;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:1;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:2;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:3;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:4;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:5;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:6;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:7;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:8;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:9;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:90;a:2:{s:8:"sphinxql";s:17:"select * from rt1";s:10:"total_rows";i:0;}i:91;a:3:{s:8:"sphinxql";s:17:"select * from rt2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:1;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:92;a:3:{s:8:"sphinxql";s:18:"select * from rtd0";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:1;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:2;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:3;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:4;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:5;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:6;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:7;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:8;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:9;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:93;a:3:{s:8:"sphinxql";s:18:"select * from rtd1";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:1;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:94;a:3:{s:8:"sphinxql";s:18:"select * from rtd2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:1;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:95;a:3:{s:8:"sphinxql";s:18:"select * from rtd3";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:1;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:96;a:3:{s:8:"sphinxql";s:18:"select * from rtd4";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}i:1;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:4:"1212";s:4:"mva1";s:2:"12";s:4:"mva2";s:2:"12";}}}i:97;a:3:{s:8:"sphinxql";s:18:"select * from rtd5";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:1;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:2;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:3;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:4;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:5;a:4:{s:2:"id";s:3:"103";s:3:"gid";s:4:"1003";s:4:"mva1";s:7:"103,204";s:4:"mva2";s:3:"103";}i:6;a:4:{s:2:"id";s:3:"104";s:3:"gid";s:4:"1004";s:4:"mva1";s:11:"104,204,205";s:4:"mva2";s:3:"104";}i:7;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:8;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:9;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:98;a:2:{s:8:"sphinxql";s:29:"delete from rt where mva1=204";s:14:"total_affected";i:2;}i:99;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:1;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:2;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:3;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:4;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:5;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:6;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:7;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:100;a:3:{s:8:"sphinxql";s:56:"delete from rt where match ('dumy') option max_matches=2";s:5:"error";s:85:"sphinxql: syntax error, unexpected OPTION, expecting $end near 'option max_matches=2'";s:5:"errno";i:1064;}i:101;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:1;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:2;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:3;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:4;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:5;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:6;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:7;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:102;a:2:{s:8:"sphinxql";s:28:"delete from rtd4 where id=12";s:14:"total_affected";i:1;}i:103;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:1;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:2;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:3;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:4;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:5;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:6;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:7;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:104;a:2:{s:8:"sphinxql";s:17:"select * from rt1";s:10:"total_rows";i:0;}i:105;a:3:{s:8:"sphinxql";s:17:"select * from rt2";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}}}i:106;a:3:{s:8:"sphinxql";s:18:"select * from rtd0";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:1;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:2;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:3;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:4;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:5;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:6;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:7;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:107;a:3:{s:8:"sphinxql";s:18:"select * from rtd1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}}}i:108;a:3:{s:8:"sphinxql";s:18:"select * from rtd2";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}}}i:109;a:3:{s:8:"sphinxql";s:18:"select * from rtd3";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}}}i:110;a:3:{s:8:"sphinxql";s:18:"select * from rtd4";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1111";s:4:"mva1";s:2:"11";s:4:"mva2";s:2:"11";}}}i:111;a:3:{s:8:"sphinxql";s:18:"select * from rtd5";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:2:"55";s:4:"mva1";s:1:"5";s:4:"mva2";s:2:"52";}i:1;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:2:"66";s:4:"mva1";s:1:"6";s:4:"mva2";s:2:"63";}i:2;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:4:"1000";s:4:"mva1";s:7:"100,201";s:4:"mva2";s:3:"100";}i:3;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:4:"1001";s:4:"mva1";s:7:"101,202";s:4:"mva2";s:3:"101";}i:4;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:4:"1002";s:4:"mva1";s:7:"102,203";s:4:"mva2";s:3:"102";}i:5;a:4:{s:2:"id";s:3:"105";s:3:"gid";s:4:"1005";s:4:"mva1";s:7:"105,206";s:4:"mva2";s:3:"105";}i:6;a:4:{s:2:"id";s:3:"106";s:3:"gid";s:4:"1006";s:4:"mva1";s:7:"106,207";s:4:"mva2";s:3:"106";}i:7;a:4:{s:2:"id";s:3:"107";s:3:"gid";s:4:"1007";s:4:"mva1";s:7:"107,208";s:4:"mva2";s:3:"107";}}}i:112;a:2:{s:8:"sphinxql";s:60:"insert into remap_test values (1, 'text1', 1, 1, 1.0, 'one')";s:14:"total_affected";i:1;}i:113;a:2:{s:8:"sphinxql";s:60:"insert into remap_test values (2, 'text2', 2, 2, 2.0, 'two')";s:14:"total_affected";i:1;}i:114;a:2:{s:8:"sphinxql";s:62:"insert into remap_test values (3, 'text3', 3, 3, 3.0, 'three')";s:14:"total_affected";i:1;}i:115;a:3:{s:8:"sphinxql";s:24:"select * from remap_test";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:5:{s:2:"id";s:1:"1";s:9:"attr_uint";s:1:"1";s:11:"attr_bigint";s:1:"1";s:10:"attr_float";s:8:"1.000000";s:8:"attr_str";s:3:"one";}i:1;a:5:{s:2:"id";s:1:"2";s:9:"attr_uint";s:1:"2";s:11:"attr_bigint";s:1:"2";s:10:"attr_float";s:8:"2.000000";s:8:"attr_str";s:3:"two";}i:2;a:5:{s:2:"id";s:1:"3";s:9:"attr_uint";s:1:"3";s:11:"attr_bigint";s:1:"3";s:10:"attr_float";s:8:"3.000000";s:8:"attr_str";s:5:"three";}}}i:116;a:3:{s:8:"sphinxql";s:61:"select remap(id, attr_uint, (1, 3), (11, 33)) from remap_test";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:38:"remap(id, attr_uint, (1, 3), (11, 33))";s:2:"11";}i:1;a:1:{s:38:"remap(id, attr_uint, (1, 3), (11, 33))";s:1:"2";}i:2;a:1:{s:38:"remap(id, attr_uint, (1, 3), (11, 33))";s:2:"33";}}}i:117;a:3:{s:8:"sphinxql";s:63:"select remap(id, attr_bigint, (1, 3), (11, 33)) from remap_test";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:40:"remap(id, attr_bigint, (1, 3), (11, 33))";s:2:"11";}i:1;a:1:{s:40:"remap(id, attr_bigint, (1, 3), (11, 33))";s:1:"2";}i:2;a:1:{s:40:"remap(id, attr_bigint, (1, 3), (11, 33))";s:2:"33";}}}i:118;a:3:{s:8:"sphinxql";s:64:"select remap(id, attr_float, (1, 3), (11., 33.)) from remap_test";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:41:"remap(id, attr_float, (1, 3), (11., 33.))";s:9:"11.000000";}i:1;a:1:{s:41:"remap(id, attr_float, (1, 3), (11., 33.))";s:8:"2.000000";}i:2;a:1:{s:41:"remap(id, attr_float, (1, 3), (11., 33.))";s:9:"33.000000";}}}i:119;a:3:{s:8:"sphinxql";s:62:"select remap(id, attr_uint, (1, 3), (11., 33)) from remap_test";s:5:"error";s:133:"index remap_test: parse error: remap() second argument results in integer value and thus fourth argument should be a list of integers";s:5:"errno";i:1064;}i:120;a:3:{s:8:"sphinxql";s:62:"select remap(id, attr_float, (1, 3), (11, 33)) from remap_test";s:5:"error";s:129:"index remap_test: parse error: remap() second argument results in float value and thus fourth argument should be a list of floats";s:5:"errno";i:1064;}i:121;a:3:{s:8:"sphinxql";s:62:"select remap(id, attr_uint, (1., 3), (11, 33)) from remap_test";s:5:"error";s:87:"index remap_test: parse error: remap() first constlist should consist of integer values";s:5:"errno";i:1064;}i:122;a:3:{s:8:"sphinxql";s:65:"select remap(id, attr_uint, (1, 3), (11, 33, 44)) from remap_test";s:5:"error";s:82:"index remap_test: parse error: remap() both constlists should have the same length";s:5:"errno";i:1064;}i:123;a:3:{s:8:"sphinxql";s:68:"select remap(id, attr_uint, (5, 3, 1), (55, 33, 11)) from remap_test";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:45:"remap(id, attr_uint, (5, 3, 1), (55, 33, 11))";s:2:"11";}i:1;a:1:{s:45:"remap(id, attr_uint, (5, 3, 1), (55, 33, 11))";s:1:"2";}i:2;a:1:{s:45:"remap(id, attr_uint, (5, 3, 1), (55, 33, 11))";s:2:"33";}}}i:124;a:3:{s:8:"sphinxql";s:61:"select remap(id*2+3, attr_uint*2, (7), (777)) from remap_test";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:38:"remap(id*2+3, attr_uint*2, (7), (777))";s:1:"2";}i:1;a:1:{s:38:"remap(id*2+3, attr_uint*2, (7), (777))";s:3:"777";}i:2;a:1:{s:38:"remap(id*2+3, attr_uint*2, (7), (777))";s:1:"6";}}}i:125;a:3:{s:8:"sphinxql";s:69:"select remap(1.0, attr_uint, (5, 3, 1), (55, 33, 11)) from remap_test";s:5:"error";s:84:"index remap_test: parse error: remap() first argument should result in integer value";s:5:"errno";i:1064;}i:126;a:3:{s:8:"sphinxql";s:70:"select remap(id, attr_string, (5, 3, 1), (55, 33, 11)) from remap_test";s:5:"error";s:85:"index remap_test: parse error: remap() incorrect second argument (not integer/float?)";s:5:"errno";i:1064;}i:127;a:3:{s:8:"sphinxql";s:81:"select id e1, attr_str e2, remap(e1, e2, (5, 3, 1), (55, 33, 11)) from remap_test";s:5:"error";s:85:"index remap_test: parse error: remap() incorrect second argument (not integer/float?)";s:5:"errno";i:1064;}i:128;a:3:{s:8:"sphinxql";s:81:"select id e1, attr_str e2, remap(e2, e1, (5, 3, 1), (55, 33, 11)) from remap_test";s:5:"error";s:78:"index remap_test: parse error: remap() incorrect first argument (not integer?)";s:5:"errno";i:1064;}i:129;a:2:{s:8:"sphinxql";s:55:"insert into edge_ints values (1,'',9223372036854775807)";s:14:"total_affected";i:1;}i:130;a:2:{s:8:"sphinxql";s:56:"insert into edge_ints values (2,'',-9223372036854775808)";s:14:"total_affected";i:1;}i:131;a:3:{s:8:"sphinxql";s:33:"select attr_bigint from edge_ints";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:11:"attr_bigint";s:19:"9223372036854775807";}i:1;a:1:{s:11:"attr_bigint";s:20:"-9223372036854775808";}}}i:132;a:3:{s:8:"sphinxql";s:53:"select attr_bigint from edge_ints where attr_bigint>0";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:11:"attr_bigint";s:19:"9223372036854775807";}}}i:133;a:3:{s:8:"sphinxql";s:54:"select attr_bigint from edge_ints where attr_bigint>=0";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:11:"attr_bigint";s:19:"9223372036854775807";}}}i:134;a:3:{s:8:"sphinxql";s:53:"select attr_bigint from edge_ints where attr_bigint<0";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:11:"attr_bigint";s:20:"-9223372036854775808";}}}i:135;a:3:{s:8:"sphinxql";s:54:"select attr_bigint from edge_ints where attr_bigint<=0";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:11:"attr_bigint";s:20:"-9223372036854775808";}}}i:136;a:2:{s:8:"sphinxql";s:71:"select attr_bigint from edge_ints where attr_bigint>9223372036854775807";s:10:"total_rows";i:0;}i:137;a:3:{s:8:"sphinxql";s:72:"select attr_bigint from edge_ints where attr_bigint>=9223372036854775807";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:11:"attr_bigint";s:19:"9223372036854775807";}}}i:138;a:2:{s:8:"sphinxql";s:72:"select attr_bigint from edge_ints where attr_bigint<-9223372036854775808";s:10:"total_rows";i:0;}i:139;a:3:{s:8:"sphinxql";s:73:"select attr_bigint from edge_ints where attr_bigint<=-9223372036854775808";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:11:"attr_bigint";s:20:"-9223372036854775808";}}}}}sphinx-2.2.11-release/test/test_223/0000755000175000017500000000000012743402012016403 5ustar alexeyalexeysphinx-2.2.11-release/test/test_223/wordforms.txt0000644000175000017500000000015412743402012021166 0ustar alexeyalexeyрыба > селедка ~клейстер > клей rock music > rock and roll trial period > test periodsphinx-2.2.11-release/test/test_223/test.xml0000644000175000017500000000770612743402012020116 0ustar alexeyalexey template index (index type=template) common { lemmatizer_base = lemmatizer_base } searchd { } # generic template (all default settings) index tmpl_generic { type = template } # test with wordforms index tmpl_wf { type = template dict = keywords min_infix_len = 2 blend_chars = @, . wordforms = /wordforms.txt } # test with wordworms and index_exact index tmpl_wf_exact : tmpl_wf { index_exact_words = 1 } # test with crc dict index tmpl_crc : tmpl_generic { dict = crc } # test with crc dict and index_exact_words index tmpl_crc_exact : tmpl_crc { index_exact_words = 1 } # test with lemmatize_all index tmpl_lemmatize_all { type = template morphology = lemmatize_ru_all blend_chars = @, . wordforms = /wordforms.txt } # test with lemmatize index tmpl_lemmatize : tmpl_lemmatize_all { morphology = lemmatize_ru } # test with lemmatize_all and index_exact_words index tmpl_lemmatize_exact : tmpl_lemmatize_all { index_exact_words = 1 morphology = stem_en,lemmatize_ru_all } # test prefixed index tmpl_prefixed { type = template expand_keywords = 1 min_prefix_len = 2 } # test plain expanded index index tmpl_expanded { type = template docinfo = extern dict = keywords expand_keywords = 1 min_infix_len = 2 } index wf_multi { type = template wordforms = /wordforms.txt charset_table = english, 0..9 morphology = lemmatize_en_all } tmpl_generic tmpl_wf tmpl_wf_exact tmpl_crc tmpl_crc_exact tmpl_lemmatize_all tmpl_lemmatize tmpl_prefixed tmpl_expanded tmpl_lemmatize_exact CALL KEYWORDS ( 'Фичин баг', 'META:tmpl' ) CALL KEYWORDS ( '^Фичин баг$', 'META:tmpl' ) CALL KEYWORDS ( '"Фичин баг"', 'META:tmpl' ) CALL KEYWORDS ( 'english text', 'META:tmpl' ) CALL KEYWORDS ( '"english text"', 'META:tmpl' ) CALL SNIPPETS('check vs checking fast path', 'META:tmpl', 'checki*', 1 AS query_mode, 0 AS limit ) CALL SNIPPETS('check vs checking regular path', 'META:tmpl', 'checki*', 1 AS query_mode, 0 AS limit, 1 AS limit_passages ) CALL SNIPPETS('time is dying out like everething else here', 'META:tmpl', 'dying*', 1 AS query_mode, 20 AS limit ) CALL SNIPPETS('time is dying out like everething else here', 'META:tmpl', '*dying', 1 AS query_mode, 20 AS limit ) CALL SNIPPETS('time is dying out like everething else here', 'META:tmpl', '*dying*', 1 AS query_mode, 20 AS limit ) CALL SNIPPETS('time is dying out like everething else here', 'META:tmpl', 'nothing', 1 AS query_mode, 40 AS limit, 1 as allow_empty ) CALL SNIPPETS('time is dying out like everething', 'META:tmpl', 'nothing', 1 AS query_mode, 40 AS limit, 1 as allow_empty ) CALL SNIPPETS('time is dying out like everething else here', 'META:tmpl', 'nothing', 40 AS limit, 1 as allow_empty ) CALL SNIPPETS('time is dying out like everething', 'META:tmpl', 'nothing', 40 AS limit, 1 as allow_empty ) CALL SNIPPETS('rock music', 'wf_multi', 'rock', 1 AS query_mode, 0 AS limit ) CALL SNIPPETS('rock music', 'wf_multi', 'and', 1 AS query_mode, 0 AS limit ) CALL SNIPPETS('rock music', 'wf_multi', 'roll', 1 AS query_mode, 0 AS limit ) CALL SNIPPETS('trial period', 'wf_multi', 'test', 1 AS query_mode, 0 AS limit ) sphinx-2.2.11-release/test/test_223/model.bin0000644000175000017500000011403512743402012020201 0ustar alexeyalexeya:1:{i:0;a:144:{i:0;a:3:{s:8:"sphinxql";s:53:"CALL KEYWORDS ( 'Фичин баг', 'tmpl_generic' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:10:"фичин";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:1;a:3:{s:8:"sphinxql";s:48:"CALL KEYWORDS ( 'Фичин баг', 'tmpl_wf' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:10:"фичин";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:2;a:3:{s:8:"sphinxql";s:54:"CALL KEYWORDS ( 'Фичин баг', 'tmpl_wf_exact' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:10:"фичин";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:3;a:3:{s:8:"sphinxql";s:49:"CALL KEYWORDS ( 'Фичин баг', 'tmpl_crc' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:10:"фичин";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:4;a:3:{s:8:"sphinxql";s:55:"CALL KEYWORDS ( 'Фичин баг', 'tmpl_crc_exact' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:10:"фичин";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:5;a:3:{s:8:"sphinxql";s:59:"CALL KEYWORDS ( 'Фичин баг', 'tmpl_lemmatize_all' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:12:"фичина";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:6;a:3:{s:8:"sphinxql";s:55:"CALL KEYWORDS ( 'Фичин баг', 'tmpl_lemmatize' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:12:"фичина";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:7;a:3:{s:8:"sphinxql";s:54:"CALL KEYWORDS ( 'Фичин баг', 'tmpl_prefixed' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:10:"фичин";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:8;a:3:{s:8:"sphinxql";s:54:"CALL KEYWORDS ( 'Фичин баг', 'tmpl_expanded' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:10:"фичин";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:9;a:3:{s:8:"sphinxql";s:61:"CALL KEYWORDS ( 'Фичин баг', 'tmpl_lemmatize_exact' )";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:12:"фичина";}i:1;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:11:"=фичин";}i:2;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}i:3;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:7:"=баг";}}}i:10;a:3:{s:8:"sphinxql";s:55:"CALL KEYWORDS ( '^Фичин баг$', 'tmpl_generic' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:10:"фичин";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:11;a:3:{s:8:"sphinxql";s:50:"CALL KEYWORDS ( '^Фичин баг$', 'tmpl_wf' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:10:"фичин";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:12;a:3:{s:8:"sphinxql";s:56:"CALL KEYWORDS ( '^Фичин баг$', 'tmpl_wf_exact' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:10:"фичин";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:13;a:3:{s:8:"sphinxql";s:51:"CALL KEYWORDS ( '^Фичин баг$', 'tmpl_crc' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:10:"фичин";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:14;a:3:{s:8:"sphinxql";s:57:"CALL KEYWORDS ( '^Фичин баг$', 'tmpl_crc_exact' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:10:"фичин";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:15;a:3:{s:8:"sphinxql";s:61:"CALL KEYWORDS ( '^Фичин баг$', 'tmpl_lemmatize_all' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:12:"фичина";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:16;a:3:{s:8:"sphinxql";s:57:"CALL KEYWORDS ( '^Фичин баг$', 'tmpl_lemmatize' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:12:"фичина";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:17;a:3:{s:8:"sphinxql";s:56:"CALL KEYWORDS ( '^Фичин баг$', 'tmpl_prefixed' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:10:"фичин";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:18;a:3:{s:8:"sphinxql";s:56:"CALL KEYWORDS ( '^Фичин баг$', 'tmpl_expanded' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:10:"фичин";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:19;a:3:{s:8:"sphinxql";s:63:"CALL KEYWORDS ( '^Фичин баг$', 'tmpl_lemmatize_exact' )";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:12:"фичина";}i:1;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:11:"=фичин";}i:2;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}i:3;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:7:"=баг";}}}i:20;a:3:{s:8:"sphinxql";s:55:"CALL KEYWORDS ( '"Фичин баг"', 'tmpl_generic' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:10:"фичин";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:21;a:3:{s:8:"sphinxql";s:50:"CALL KEYWORDS ( '"Фичин баг"', 'tmpl_wf' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:10:"фичин";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:22;a:3:{s:8:"sphinxql";s:56:"CALL KEYWORDS ( '"Фичин баг"', 'tmpl_wf_exact' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:10:"фичин";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:23;a:3:{s:8:"sphinxql";s:51:"CALL KEYWORDS ( '"Фичин баг"', 'tmpl_crc' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:10:"фичин";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:24;a:3:{s:8:"sphinxql";s:57:"CALL KEYWORDS ( '"Фичин баг"', 'tmpl_crc_exact' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:10:"фичин";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:25;a:3:{s:8:"sphinxql";s:61:"CALL KEYWORDS ( '"Фичин баг"', 'tmpl_lemmatize_all' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:12:"фичина";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:26;a:3:{s:8:"sphinxql";s:57:"CALL KEYWORDS ( '"Фичин баг"', 'tmpl_lemmatize' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:12:"фичина";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:27;a:3:{s:8:"sphinxql";s:56:"CALL KEYWORDS ( '"Фичин баг"', 'tmpl_prefixed' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:10:"фичин";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:28;a:3:{s:8:"sphinxql";s:56:"CALL KEYWORDS ( '"Фичин баг"', 'tmpl_expanded' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:10:"фичин";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}}}i:29;a:3:{s:8:"sphinxql";s:63:"CALL KEYWORDS ( '"Фичин баг"', 'tmpl_lemmatize_exact' )";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:12:"фичина";}i:1;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:11:"=фичин";}i:2;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";}i:3;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:7:"=баг";}}}i:30;a:3:{s:8:"sphinxql";s:48:"CALL KEYWORDS ( 'english text', 'tmpl_generic' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:7:"english";s:10:"normalized";s:7:"english";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:4:"text";s:10:"normalized";s:4:"text";}}}i:31;a:3:{s:8:"sphinxql";s:43:"CALL KEYWORDS ( 'english text', 'tmpl_wf' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:7:"english";s:10:"normalized";s:7:"english";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:4:"text";s:10:"normalized";s:4:"text";}}}i:32;a:3:{s:8:"sphinxql";s:49:"CALL KEYWORDS ( 'english text', 'tmpl_wf_exact' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:7:"english";s:10:"normalized";s:7:"english";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:4:"text";s:10:"normalized";s:4:"text";}}}i:33;a:3:{s:8:"sphinxql";s:44:"CALL KEYWORDS ( 'english text', 'tmpl_crc' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:7:"english";s:10:"normalized";s:7:"english";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:4:"text";s:10:"normalized";s:4:"text";}}}i:34;a:3:{s:8:"sphinxql";s:50:"CALL KEYWORDS ( 'english text', 'tmpl_crc_exact' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:7:"english";s:10:"normalized";s:7:"english";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:4:"text";s:10:"normalized";s:4:"text";}}}i:35;a:3:{s:8:"sphinxql";s:54:"CALL KEYWORDS ( 'english text', 'tmpl_lemmatize_all' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:7:"english";s:10:"normalized";s:7:"english";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:4:"text";s:10:"normalized";s:4:"text";}}}i:36;a:3:{s:8:"sphinxql";s:50:"CALL KEYWORDS ( 'english text', 'tmpl_lemmatize' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:7:"english";s:10:"normalized";s:7:"english";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:4:"text";s:10:"normalized";s:4:"text";}}}i:37;a:3:{s:8:"sphinxql";s:49:"CALL KEYWORDS ( 'english text', 'tmpl_prefixed' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:7:"english";s:10:"normalized";s:7:"english";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:4:"text";s:10:"normalized";s:4:"text";}}}i:38;a:3:{s:8:"sphinxql";s:49:"CALL KEYWORDS ( 'english text', 'tmpl_expanded' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:7:"english";s:10:"normalized";s:7:"english";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:4:"text";s:10:"normalized";s:4:"text";}}}i:39;a:3:{s:8:"sphinxql";s:56:"CALL KEYWORDS ( 'english text', 'tmpl_lemmatize_exact' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:7:"english";s:10:"normalized";s:7:"english";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:4:"text";s:10:"normalized";s:4:"text";}}}i:40;a:3:{s:8:"sphinxql";s:50:"CALL KEYWORDS ( '"english text"', 'tmpl_generic' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:7:"english";s:10:"normalized";s:7:"english";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:4:"text";s:10:"normalized";s:4:"text";}}}i:41;a:3:{s:8:"sphinxql";s:45:"CALL KEYWORDS ( '"english text"', 'tmpl_wf' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:7:"english";s:10:"normalized";s:7:"english";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:4:"text";s:10:"normalized";s:4:"text";}}}i:42;a:3:{s:8:"sphinxql";s:51:"CALL KEYWORDS ( '"english text"', 'tmpl_wf_exact' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:7:"english";s:10:"normalized";s:7:"english";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:4:"text";s:10:"normalized";s:4:"text";}}}i:43;a:3:{s:8:"sphinxql";s:46:"CALL KEYWORDS ( '"english text"', 'tmpl_crc' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:7:"english";s:10:"normalized";s:7:"english";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:4:"text";s:10:"normalized";s:4:"text";}}}i:44;a:3:{s:8:"sphinxql";s:52:"CALL KEYWORDS ( '"english text"', 'tmpl_crc_exact' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:7:"english";s:10:"normalized";s:7:"english";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:4:"text";s:10:"normalized";s:4:"text";}}}i:45;a:3:{s:8:"sphinxql";s:56:"CALL KEYWORDS ( '"english text"', 'tmpl_lemmatize_all' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:7:"english";s:10:"normalized";s:7:"english";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:4:"text";s:10:"normalized";s:4:"text";}}}i:46;a:3:{s:8:"sphinxql";s:52:"CALL KEYWORDS ( '"english text"', 'tmpl_lemmatize' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:7:"english";s:10:"normalized";s:7:"english";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:4:"text";s:10:"normalized";s:4:"text";}}}i:47;a:3:{s:8:"sphinxql";s:51:"CALL KEYWORDS ( '"english text"', 'tmpl_prefixed' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:7:"english";s:10:"normalized";s:7:"english";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:4:"text";s:10:"normalized";s:4:"text";}}}i:48;a:3:{s:8:"sphinxql";s:51:"CALL KEYWORDS ( '"english text"', 'tmpl_expanded' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:7:"english";s:10:"normalized";s:7:"english";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:4:"text";s:10:"normalized";s:4:"text";}}}i:49;a:3:{s:8:"sphinxql";s:58:"CALL KEYWORDS ( '"english text"', 'tmpl_lemmatize_exact' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:7:"english";s:10:"normalized";s:7:"english";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:4:"text";s:10:"normalized";s:4:"text";}}}i:50;a:3:{s:8:"sphinxql";s:101:"CALL SNIPPETS('check vs checking fast path', 'tmpl_generic', 'checki*', 1 AS query_mode, 0 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:34:"check vs checking fast path";}}}i:51;a:3:{s:8:"sphinxql";s:96:"CALL SNIPPETS('check vs checking fast path', 'tmpl_wf', 'checki*', 1 AS query_mode, 0 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:34:"check vs checking fast path";}}}i:52;a:3:{s:8:"sphinxql";s:102:"CALL SNIPPETS('check vs checking fast path', 'tmpl_wf_exact', 'checki*', 1 AS query_mode, 0 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:34:"check vs checking fast path";}}}i:53;a:3:{s:8:"sphinxql";s:97:"CALL SNIPPETS('check vs checking fast path', 'tmpl_crc', 'checki*', 1 AS query_mode, 0 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:34:"check vs checking fast path";}}}i:54;a:3:{s:8:"sphinxql";s:103:"CALL SNIPPETS('check vs checking fast path', 'tmpl_crc_exact', 'checki*', 1 AS query_mode, 0 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:34:"check vs checking fast path";}}}i:55;a:3:{s:8:"sphinxql";s:107:"CALL SNIPPETS('check vs checking fast path', 'tmpl_lemmatize_all', 'checki*', 1 AS query_mode, 0 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:34:"check vs checking fast path";}}}i:56;a:3:{s:8:"sphinxql";s:103:"CALL SNIPPETS('check vs checking fast path', 'tmpl_lemmatize', 'checki*', 1 AS query_mode, 0 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:34:"check vs checking fast path";}}}i:57;a:3:{s:8:"sphinxql";s:102:"CALL SNIPPETS('check vs checking fast path', 'tmpl_prefixed', 'checki*', 1 AS query_mode, 0 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:34:"check vs checking fast path";}}}i:58;a:3:{s:8:"sphinxql";s:102:"CALL SNIPPETS('check vs checking fast path', 'tmpl_expanded', 'checki*', 1 AS query_mode, 0 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:34:"check vs checking fast path";}}}i:59;a:3:{s:8:"sphinxql";s:109:"CALL SNIPPETS('check vs checking fast path', 'tmpl_lemmatize_exact', 'checki*', 1 AS query_mode, 0 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:34:"check vs checking fast path";}}}i:60;a:3:{s:8:"sphinxql";s:125:"CALL SNIPPETS('check vs checking regular path', 'tmpl_generic', 'checki*', 1 AS query_mode, 0 AS limit, 1 AS limit_passages )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:37:"check vs checking regular path";}}}i:61;a:3:{s:8:"sphinxql";s:120:"CALL SNIPPETS('check vs checking regular path', 'tmpl_wf', 'checki*', 1 AS query_mode, 0 AS limit, 1 AS limit_passages )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:37:"check vs checking regular path";}}}i:62;a:3:{s:8:"sphinxql";s:126:"CALL SNIPPETS('check vs checking regular path', 'tmpl_wf_exact', 'checki*', 1 AS query_mode, 0 AS limit, 1 AS limit_passages )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:37:"check vs checking regular path";}}}i:63;a:3:{s:8:"sphinxql";s:121:"CALL SNIPPETS('check vs checking regular path', 'tmpl_crc', 'checki*', 1 AS query_mode, 0 AS limit, 1 AS limit_passages )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:37:"check vs checking regular path";}}}i:64;a:3:{s:8:"sphinxql";s:127:"CALL SNIPPETS('check vs checking regular path', 'tmpl_crc_exact', 'checki*', 1 AS query_mode, 0 AS limit, 1 AS limit_passages )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:37:"check vs checking regular path";}}}i:65;a:3:{s:8:"sphinxql";s:131:"CALL SNIPPETS('check vs checking regular path', 'tmpl_lemmatize_all', 'checki*', 1 AS query_mode, 0 AS limit, 1 AS limit_passages )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:37:"check vs checking regular path";}}}i:66;a:3:{s:8:"sphinxql";s:127:"CALL SNIPPETS('check vs checking regular path', 'tmpl_lemmatize', 'checki*', 1 AS query_mode, 0 AS limit, 1 AS limit_passages )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:37:"check vs checking regular path";}}}i:67;a:3:{s:8:"sphinxql";s:126:"CALL SNIPPETS('check vs checking regular path', 'tmpl_prefixed', 'checki*', 1 AS query_mode, 0 AS limit, 1 AS limit_passages )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:37:"check vs checking regular path";}}}i:68;a:3:{s:8:"sphinxql";s:126:"CALL SNIPPETS('check vs checking regular path', 'tmpl_expanded', 'checki*', 1 AS query_mode, 0 AS limit, 1 AS limit_passages )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:37:"check vs checking regular path";}}}i:69;a:3:{s:8:"sphinxql";s:133:"CALL SNIPPETS('check vs checking regular path', 'tmpl_lemmatize_exact', 'checki*', 1 AS query_mode, 0 AS limit, 1 AS limit_passages )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:37:"check vs checking regular path";}}}i:70;a:3:{s:8:"sphinxql";s:117:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_generic', 'dying*', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:71;a:3:{s:8:"sphinxql";s:112:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_wf', 'dying*', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:72;a:3:{s:8:"sphinxql";s:118:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_wf_exact', 'dying*', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:73;a:3:{s:8:"sphinxql";s:113:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_crc', 'dying*', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:74;a:3:{s:8:"sphinxql";s:119:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_crc_exact', 'dying*', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:75;a:3:{s:8:"sphinxql";s:123:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_lemmatize_all', 'dying*', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:76;a:3:{s:8:"sphinxql";s:119:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_lemmatize', 'dying*', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:77;a:3:{s:8:"sphinxql";s:118:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_prefixed', 'dying*', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:78;a:3:{s:8:"sphinxql";s:118:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_expanded', 'dying*', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:79;a:3:{s:8:"sphinxql";s:125:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_lemmatize_exact', 'dying*', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:80;a:3:{s:8:"sphinxql";s:117:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_generic', '*dying', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:81;a:3:{s:8:"sphinxql";s:112:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_wf', '*dying', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:82;a:3:{s:8:"sphinxql";s:118:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_wf_exact', '*dying', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:83;a:3:{s:8:"sphinxql";s:113:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_crc', '*dying', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:84;a:3:{s:8:"sphinxql";s:119:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_crc_exact', '*dying', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:85;a:3:{s:8:"sphinxql";s:123:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_lemmatize_all', '*dying', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:86;a:3:{s:8:"sphinxql";s:119:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_lemmatize', '*dying', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:87;a:3:{s:8:"sphinxql";s:118:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_prefixed', '*dying', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:88;a:3:{s:8:"sphinxql";s:118:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_expanded', '*dying', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:89;a:3:{s:8:"sphinxql";s:125:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_lemmatize_exact', '*dying', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:90;a:3:{s:8:"sphinxql";s:118:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_generic', '*dying*', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:91;a:3:{s:8:"sphinxql";s:113:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_wf', '*dying*', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:92;a:3:{s:8:"sphinxql";s:119:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_wf_exact', '*dying*', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:93;a:3:{s:8:"sphinxql";s:114:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_crc', '*dying*', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:94;a:3:{s:8:"sphinxql";s:120:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_crc_exact', '*dying*', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:95;a:3:{s:8:"sphinxql";s:124:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_lemmatize_all', '*dying*', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:96;a:3:{s:8:"sphinxql";s:120:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_lemmatize', '*dying*', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:97;a:3:{s:8:"sphinxql";s:119:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_prefixed', '*dying*', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:98;a:3:{s:8:"sphinxql";s:119:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_expanded', '*dying*', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:99;a:3:{s:8:"sphinxql";s:126:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_lemmatize_exact', '*dying*', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:100;a:3:{s:8:"sphinxql";s:136:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_generic', 'nothing', 1 AS query_mode, 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:101;a:3:{s:8:"sphinxql";s:131:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_wf', 'nothing', 1 AS query_mode, 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:102;a:3:{s:8:"sphinxql";s:137:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_wf_exact', 'nothing', 1 AS query_mode, 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:103;a:3:{s:8:"sphinxql";s:132:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_crc', 'nothing', 1 AS query_mode, 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:104;a:3:{s:8:"sphinxql";s:138:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_crc_exact', 'nothing', 1 AS query_mode, 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:105;a:3:{s:8:"sphinxql";s:142:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_lemmatize_all', 'nothing', 1 AS query_mode, 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:106;a:3:{s:8:"sphinxql";s:138:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_lemmatize', 'nothing', 1 AS query_mode, 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:107;a:3:{s:8:"sphinxql";s:137:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_prefixed', 'nothing', 1 AS query_mode, 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:108;a:3:{s:8:"sphinxql";s:137:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_expanded', 'nothing', 1 AS query_mode, 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:109;a:3:{s:8:"sphinxql";s:144:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_lemmatize_exact', 'nothing', 1 AS query_mode, 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:110;a:3:{s:8:"sphinxql";s:127:"CALL SNIPPETS('time is dying out like everething', 'tmpl_generic', 'nothing', 1 AS query_mode, 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:111;a:3:{s:8:"sphinxql";s:122:"CALL SNIPPETS('time is dying out like everething', 'tmpl_wf', 'nothing', 1 AS query_mode, 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:112;a:3:{s:8:"sphinxql";s:128:"CALL SNIPPETS('time is dying out like everething', 'tmpl_wf_exact', 'nothing', 1 AS query_mode, 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:113;a:3:{s:8:"sphinxql";s:123:"CALL SNIPPETS('time is dying out like everething', 'tmpl_crc', 'nothing', 1 AS query_mode, 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:114;a:3:{s:8:"sphinxql";s:129:"CALL SNIPPETS('time is dying out like everething', 'tmpl_crc_exact', 'nothing', 1 AS query_mode, 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:115;a:3:{s:8:"sphinxql";s:133:"CALL SNIPPETS('time is dying out like everething', 'tmpl_lemmatize_all', 'nothing', 1 AS query_mode, 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:116;a:3:{s:8:"sphinxql";s:129:"CALL SNIPPETS('time is dying out like everething', 'tmpl_lemmatize', 'nothing', 1 AS query_mode, 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:117;a:3:{s:8:"sphinxql";s:128:"CALL SNIPPETS('time is dying out like everething', 'tmpl_prefixed', 'nothing', 1 AS query_mode, 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:118;a:3:{s:8:"sphinxql";s:128:"CALL SNIPPETS('time is dying out like everething', 'tmpl_expanded', 'nothing', 1 AS query_mode, 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:119;a:3:{s:8:"sphinxql";s:135:"CALL SNIPPETS('time is dying out like everething', 'tmpl_lemmatize_exact', 'nothing', 1 AS query_mode, 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:120;a:3:{s:8:"sphinxql";s:120:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_generic', 'nothing', 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:121;a:3:{s:8:"sphinxql";s:115:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_wf', 'nothing', 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:122;a:3:{s:8:"sphinxql";s:121:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_wf_exact', 'nothing', 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:123;a:3:{s:8:"sphinxql";s:116:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_crc', 'nothing', 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:124;a:3:{s:8:"sphinxql";s:122:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_crc_exact', 'nothing', 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:125;a:3:{s:8:"sphinxql";s:126:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_lemmatize_all', 'nothing', 40 AS limit, 1 as allow_empty )";s:5:"error";s:55:"failed to setup AOT with query_mode=0, use query_mode=1";s:5:"errno";i:1064;}i:126;a:3:{s:8:"sphinxql";s:122:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_lemmatize', 'nothing', 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:127;a:3:{s:8:"sphinxql";s:121:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_prefixed', 'nothing', 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:128;a:3:{s:8:"sphinxql";s:121:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_expanded', 'nothing', 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:129;a:3:{s:8:"sphinxql";s:128:"CALL SNIPPETS('time is dying out like everething else here', 'tmpl_lemmatize_exact', 'nothing', 40 AS limit, 1 as allow_empty )";s:5:"error";s:55:"failed to setup AOT with query_mode=0, use query_mode=1";s:5:"errno";i:1064;}i:130;a:3:{s:8:"sphinxql";s:110:"CALL SNIPPETS('time is dying out like everething', 'tmpl_generic', 'nothing', 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:131;a:3:{s:8:"sphinxql";s:105:"CALL SNIPPETS('time is dying out like everething', 'tmpl_wf', 'nothing', 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:132;a:3:{s:8:"sphinxql";s:111:"CALL SNIPPETS('time is dying out like everething', 'tmpl_wf_exact', 'nothing', 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:133;a:3:{s:8:"sphinxql";s:106:"CALL SNIPPETS('time is dying out like everething', 'tmpl_crc', 'nothing', 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:134;a:3:{s:8:"sphinxql";s:112:"CALL SNIPPETS('time is dying out like everething', 'tmpl_crc_exact', 'nothing', 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:135;a:3:{s:8:"sphinxql";s:116:"CALL SNIPPETS('time is dying out like everething', 'tmpl_lemmatize_all', 'nothing', 40 AS limit, 1 as allow_empty )";s:5:"error";s:55:"failed to setup AOT with query_mode=0, use query_mode=1";s:5:"errno";i:1064;}i:136;a:3:{s:8:"sphinxql";s:112:"CALL SNIPPETS('time is dying out like everething', 'tmpl_lemmatize', 'nothing', 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:137;a:3:{s:8:"sphinxql";s:111:"CALL SNIPPETS('time is dying out like everething', 'tmpl_prefixed', 'nothing', 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:138;a:3:{s:8:"sphinxql";s:111:"CALL SNIPPETS('time is dying out like everething', 'tmpl_expanded', 'nothing', 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:139;a:3:{s:8:"sphinxql";s:118:"CALL SNIPPETS('time is dying out like everething', 'tmpl_lemmatize_exact', 'nothing', 40 AS limit, 1 as allow_empty )";s:5:"error";s:55:"failed to setup AOT with query_mode=0, use query_mode=1";s:5:"errno";i:1064;}i:140;a:3:{s:8:"sphinxql";s:77:"CALL SNIPPETS('rock music', 'wf_multi', 'rock', 1 AS query_mode, 0 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:17:"rock music";}}}i:141;a:3:{s:8:"sphinxql";s:76:"CALL SNIPPETS('rock music', 'wf_multi', 'and', 1 AS query_mode, 0 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:17:"rock music";}}}i:142;a:3:{s:8:"sphinxql";s:77:"CALL SNIPPETS('rock music', 'wf_multi', 'roll', 1 AS query_mode, 0 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:17:"rock music";}}}i:143;a:3:{s:8:"sphinxql";s:79:"CALL SNIPPETS('trial period', 'wf_multi', 'test', 1 AS query_mode, 0 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:19:"trial period";}}}}}sphinx-2.2.11-release/test/test_222/0000755000175000017500000000000012743402012016402 5ustar alexeyalexeysphinx-2.2.11-release/test/test_222/wordforms.txt0000644000175000017500000000006712743402012021170 0ustar alexeyalexeyрыба > селедка ~клейстер > клей sphinx-2.2.11-release/test/test_222/test.xml0000644000175000017500000001452612743402012020113 0ustar alexeyalexey cooperation of index_exact_word with expanding by lematizer, expand common { lemmatizer_base = lemmatizer_base } searchd { workers = threads } source test1 { type = mysql sql_query_pre = set names utf8 sql_query = select * from test_table sql_attr_uint = gid } # test with wordforms index testw { source = test1 dict = keywords min_infix_len = 2 path = /testw blend_chars = @, . wordforms = /wordforms.txt } # test with wordworms and index_exact index testwe : testw { path = /testwe index_exact_words = 1 } # test with crc dict index testc : testw { path = /testc dict = crc } # test with crc dict and index_exact_words index testce : testc { path = /testce index_exact_words = 1 } # test with lemmatize_all index testla { source = test1 path = /testla morphology = lemmatize_ru_all blend_chars = @, . wordforms = /wordforms.txt } # test with lemmatize index testl : testla { path = /testl morphology = lemmatize_ru } # test with lemmatize_all and index_exact_words index testlae : testla { path = /testlae index_exact_words = 1 morphology = stem_en,lemmatize_ru_all } # test prefixed index testpr { source = test1 path = /testpr expand_keywords = 1 min_prefix_len = 2 } # test plain expanded index index testple { source = test1 path = /testple docinfo = extern dict = keywords expand_keywords = 1 min_infix_len = 2 } source src_plain_ckw { type = mysql sql_query_pre = set names utf8 sql_query = select 1 as id, 11 as idd, 'фичин баг, но не фичина бага' as title sql_attr_uint = idd } index plain_ckw { source = src_plain_ckw dict = keywords path = /plain_ckw morphology = lemmatize_en_all, lemmatize_ru_all } index rt_ckw { type = rt dict = keywords path = /rt_ckw rt_attr_uint = idd rt_field = title morphology = lemmatize_en_all, lemmatize_ru_all } index tmpl_ckw { type = template dict = keywords morphology = lemmatize_en_all, lemmatize_ru_all } CREATE TABLE test_table ( id INTEGER PRIMARY KEY NOT NULL, gid INTEGER NOT NULL, title VARCHAR(255) CHARACTER SET utf8 NOT NULL ); DROP TABLE IF EXISTS test_table SET NAMES utf8 INSERT INTO test_table VALUES ( 1, 11, 'Фичин баг' ), ( 2, 11, 'Фичинa баг' ), ( 3, 11, 'Фичин багa' ), ( 4, 11, 'Фичинa багa' ), ( 10, 11, 'english text' ), ( 11, 11, 'englisha text' ), ( 12, 11, 'englisha texta' ), ( 13, 11, 'english texta' ) testla testl testlae testwe testw testce testc testpr testple SELECT id,gid,weight(),packedfactors() as my_weight FROM META:plain WHERE MATCH('Фичин баг') option ranker=expr('sum(exact_hit)');show meta SELECT id,gid,weight() as my_weight FROM META:plain WHERE MATCH('Фичин баг') option ranker=sph04;show meta SELECT id,gid,weight(),packedfactors() as my_weight FROM META:plain WHERE MATCH('^Фичин баг$') option ranker=expr('sum(exact_hit)');show meta SELECT id,gid,weight() as my_weight FROM META:plain WHERE MATCH('^Фичин баг$') option ranker=sph04;show meta SELECT id,gid,weight(),packedfactors() as my_weight FROM META:plain WHERE MATCH('"Фичин баг"') option ranker=expr('sum(exact_hit)');show meta SELECT id,gid,weight() as my_weight FROM META:plain WHERE MATCH('"Фичин баг"') option ranker=sph04;show meta SELECT id,gid,weight(),packedfactors() as my_weight FROM META:plain WHERE MATCH('english text') option ranker=expr('sum(exact_hit)');show meta SELECT id,gid,weight() as my_weight FROM META:plain WHERE MATCH('english text') option ranker=sph04;show meta SELECT id,gid,weight(),packedfactors() as my_weight FROM META:plain WHERE MATCH('"english text"') option ranker=expr('sum(exact_hit)');show meta SELECT id,gid,weight() as my_weight FROM META:plain WHERE MATCH('"english text"') option ranker=sph04;show meta SELECT id,gid,weight() as my_weight FROM META:plain WHERE MATCH('"Фичин баг"') option ranker=sph04;show meta SELECT GROUPBY() FROM testw INSERT INTO rt_ckw VALUES ( 1, 'фичин баг, но не фичина бага', 11 ) CALL KEYWORDS ( 'фичин баг', 'plain_ckw', 1 ) CALL KEYWORDS ( 'фичин баг', 'rt_ckw', 1 ) CALL KEYWORDS ( 'фичин баг', 'tmpl_ckw', 1 ) CALL KEYWORDS ( 'фичина бага', 'plain_ckw', 1 ) CALL KEYWORDS ( 'фичина бага', 'rt_ckw', 1 ) CALL KEYWORDS ( 'фичина бага', 'tmpl_ckw', 1 ) CALL KEYWORDS ( 'сталин жил', 'plain_ckw', 1 ) CALL KEYWORDS ( 'сталин жил', 'rt_ckw', 1 ) CALL KEYWORDS ( 'сталин жил', 'tmpl_ckw', 1 ) CALL KEYWORDS ( 'DovE', 'plain_ckw', 1 ) CALL KEYWORDS ( 'DovE', 'rt_ckw', 1 ) CALL KEYWORDS ( 'DovE', 'tmpl_ckw', 1 ) CALL KEYWORDS ( 'records recorded recording men man mans mens', 'plain_ckw', 1 ) CALL KEYWORDS ( 'records recorded recording men man mans mens', 'rt_ckw', 1 ) CALL KEYWORDS ( 'records recorded recording men man mans mens', 'tmpl_ckw', 1 ) SET profiling=1 SELECT id FROM testw WHERE MATCH('\\^one\\$') limit 1 SHOW PLAN sphinx-2.2.11-release/test/test_222/model.bin0000644000175000017500000044164212743402012020207 0ustar alexeyalexeya:1:{i:0;a:218:{i:0;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.285078, atc=0.039831), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:143:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testla WHERE MATCH('Фичин баг') option ranker=expr('sum(exact_hit)');show meta";}i:1;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"фичина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:2;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.285078, atc=0.039831), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:142:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testl WHERE MATCH('Фичин баг') option ranker=expr('sum(exact_hit)');show meta";}i:3;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"фичина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:4;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=629, bm25a=0.623947, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=4, word_count=2, tf_idf=0.285078, min_idf=0.071270, max_idf=0.071270, sum_idf=0.142539, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.142539, atc=0.020114), word0=(tf=2, idf=0.071270), word1=(tf=2, idf=0.071270)";}}s:8:"sphinxql";s:144:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testlae WHERE MATCH('Фичин баг') option ranker=expr('sum(exact_hit)');show meta";}i:5;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:11:"=фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:12:"фичина";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:7:"=баг";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:6:"баг";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:6;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.285078, atc=0.039831), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:143:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testwe WHERE MATCH('Фичин баг') option ranker=expr('sum(exact_hit)');show meta";}i:7;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:8;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.285078, atc=0.039831), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:142:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testw WHERE MATCH('Фичин баг') option ranker=expr('sum(exact_hit)');show meta";}i:9;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:10;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.285078, atc=0.039831), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:143:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testce WHERE MATCH('Фичин баг') option ranker=expr('sum(exact_hit)');show meta";}i:11;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:12;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.285078, atc=0.039831), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:142:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testc WHERE MATCH('Фичин баг') option ranker=expr('sum(exact_hit)');show meta";}i:13;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:14;a:3:{s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=576, bm25a=0.573012, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=4, word_count=2, tf_idf=0.167929, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.083964, atc=0.007025), word0=(tf=2, idf=0.041982), word1=(tf=2, idf=0.041982)";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=543, bm25a=0.568800, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=3, word_count=2, tf_idf=0.125946, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.083964, atc=0.005274), word0=(tf=1, idf=0.041982), word1=(tf=2, idf=0.041982)";}i:2;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=543, bm25a=0.568800, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=3, word_count=2, tf_idf=0.125946, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.083964, atc=0.005274), word0=(tf=2, idf=0.041982), word1=(tf=1, idf=0.041982)";}i:3;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=511, bm25a=0.564588, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.083964, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.083964, atc=0.003519), word0=(tf=1, idf=0.041982), word1=(tf=1, idf=0.041982)";}}s:8:"sphinxql";s:143:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testpr WHERE MATCH('Фичин баг') option ranker=expr('sum(exact_hit)');show meta";}i:15;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"4";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"4";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:11:"фичин*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"4";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"4";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:7:"баг*";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:10:"фичин";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:6:"баг";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:16;a:3:{s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=576, bm25a=0.573012, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=4, word_count=2, tf_idf=0.167929, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.083964, atc=0.007025), word0=(tf=2, idf=0.041982), word1=(tf=2, idf=0.041982)";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=543, bm25a=0.568800, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=3, word_count=2, tf_idf=0.125946, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.083964, atc=0.005274), word0=(tf=1, idf=0.041982), word1=(tf=2, idf=0.041982)";}i:2;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=543, bm25a=0.568800, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=3, word_count=2, tf_idf=0.125946, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.083964, atc=0.005274), word0=(tf=2, idf=0.041982), word1=(tf=1, idf=0.041982)";}i:3;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=511, bm25a=0.564588, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.083964, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.083964, atc=0.003519), word0=(tf=1, idf=0.041982), word1=(tf=1, idf=0.041982)";}}s:8:"sphinxql";s:144:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testple WHERE MATCH('Фичин баг') option ranker=expr('sum(exact_hit)');show meta";}i:17;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"4";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"4";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"*фичин*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"4";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"4";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:8:"*баг*";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:10:"фичин";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:6:"баг";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:18;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11629";}}s:8:"sphinxql";s:110:"SELECT id,gid,weight() as my_weight FROM testla WHERE MATCH('Фичин баг') option ranker=sph04;show meta";}i:19;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"фичина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:20;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11629";}}s:8:"sphinxql";s:109:"SELECT id,gid,weight() as my_weight FROM testl WHERE MATCH('Фичин баг') option ranker=sph04;show meta";}i:21;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"фичина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:22;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11629";}}s:8:"sphinxql";s:111:"SELECT id,gid,weight() as my_weight FROM testlae WHERE MATCH('Фичин баг') option ranker=sph04;show meta";}i:23;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:11:"=фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:12:"фичина";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:7:"=баг";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:6:"баг";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:24;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11629";}}s:8:"sphinxql";s:110:"SELECT id,gid,weight() as my_weight FROM testwe WHERE MATCH('Фичин баг') option ranker=sph04;show meta";}i:25;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:26;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11629";}}s:8:"sphinxql";s:109:"SELECT id,gid,weight() as my_weight FROM testw WHERE MATCH('Фичин баг') option ranker=sph04;show meta";}i:27;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:28;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11629";}}s:8:"sphinxql";s:110:"SELECT id,gid,weight() as my_weight FROM testce WHERE MATCH('Фичин баг') option ranker=sph04;show meta";}i:29;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:30;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11629";}}s:8:"sphinxql";s:109:"SELECT id,gid,weight() as my_weight FROM testc WHERE MATCH('Фичин баг') option ranker=sph04;show meta";}i:31;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:32;a:3:{s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11576";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11543";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11543";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11511";}}s:8:"sphinxql";s:110:"SELECT id,gid,weight() as my_weight FROM testpr WHERE MATCH('Фичин баг') option ranker=sph04;show meta";}i:33;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"4";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"4";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:11:"фичин*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"4";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"4";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:7:"баг*";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:10:"фичин";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:6:"баг";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:34;a:3:{s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11576";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11543";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11543";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11511";}}s:8:"sphinxql";s:111:"SELECT id,gid,weight() as my_weight FROM testple WHERE MATCH('Фичин баг') option ranker=sph04;show meta";}i:35;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"4";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"4";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"*фичин*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"4";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"4";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:8:"*баг*";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:10:"фичин";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:6:"баг";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:36;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.285078, atc=0.039831), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:145:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testla WHERE MATCH('^Фичин баг$') option ranker=expr('sum(exact_hit)');show meta";}i:37;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"фичина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:38;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.285078, atc=0.039831), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:144:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testl WHERE MATCH('^Фичин баг$') option ranker=expr('sum(exact_hit)');show meta";}i:39;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"фичина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:40;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=629, bm25a=0.623947, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=4, word_count=2, tf_idf=0.285078, min_idf=0.071270, max_idf=0.071270, sum_idf=0.142539, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.142539, atc=0.020114), word0=(tf=2, idf=0.071270), word1=(tf=2, idf=0.071270)";}}s:8:"sphinxql";s:146:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testlae WHERE MATCH('^Фичин баг$') option ranker=expr('sum(exact_hit)');show meta";}i:41;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:11:"=фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:12:"фичина";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:7:"=баг";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:6:"баг";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:42;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.285078, atc=0.039831), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:145:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testwe WHERE MATCH('^Фичин баг$') option ranker=expr('sum(exact_hit)');show meta";}i:43;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:44;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.285078, atc=0.039831), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:144:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testw WHERE MATCH('^Фичин баг$') option ranker=expr('sum(exact_hit)');show meta";}i:45;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:46;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.285078, atc=0.039831), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:145:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testce WHERE MATCH('^Фичин баг$') option ranker=expr('sum(exact_hit)');show meta";}i:47;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:48;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.285078, atc=0.039831), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:144:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testc WHERE MATCH('^Фичин баг$') option ranker=expr('sum(exact_hit)');show meta";}i:49;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:50;a:3:{s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=576, bm25a=0.573012, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=4, word_count=2, tf_idf=0.167929, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.083964, atc=0.007025), word0=(tf=2, idf=0.041982), word1=(tf=2, idf=0.041982)";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=543, bm25a=0.568800, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=3, word_count=2, tf_idf=0.125946, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.083964, atc=0.005274), word0=(tf=1, idf=0.041982), word1=(tf=2, idf=0.041982)";}i:2;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=543, bm25a=0.568800, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=3, word_count=2, tf_idf=0.125946, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.083964, atc=0.005274), word0=(tf=2, idf=0.041982), word1=(tf=1, idf=0.041982)";}i:3;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=511, bm25a=0.564588, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.083964, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.083964, atc=0.003519), word0=(tf=1, idf=0.041982), word1=(tf=1, idf=0.041982)";}}s:8:"sphinxql";s:145:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testpr WHERE MATCH('^Фичин баг$') option ranker=expr('sum(exact_hit)');show meta";}i:51;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"4";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"4";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:11:"фичин*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"4";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"4";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:7:"баг*";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:10:"фичин";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:6:"баг";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:52;a:3:{s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=576, bm25a=0.573012, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=4, word_count=2, tf_idf=0.167929, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.083964, atc=0.007025), word0=(tf=2, idf=0.041982), word1=(tf=2, idf=0.041982)";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=543, bm25a=0.568800, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=3, word_count=2, tf_idf=0.125946, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.083964, atc=0.005274), word0=(tf=1, idf=0.041982), word1=(tf=2, idf=0.041982)";}i:2;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=543, bm25a=0.568800, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=3, word_count=2, tf_idf=0.125946, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.083964, atc=0.005274), word0=(tf=2, idf=0.041982), word1=(tf=1, idf=0.041982)";}i:3;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=511, bm25a=0.564588, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.083964, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.083964, atc=0.003519), word0=(tf=1, idf=0.041982), word1=(tf=1, idf=0.041982)";}}s:8:"sphinxql";s:146:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testple WHERE MATCH('^Фичин баг$') option ranker=expr('sum(exact_hit)');show meta";}i:53;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"4";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"4";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"*фичин*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"4";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"4";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:8:"*баг*";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:10:"фичин";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:6:"баг";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:54;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11629";}}s:8:"sphinxql";s:112:"SELECT id,gid,weight() as my_weight FROM testla WHERE MATCH('^Фичин баг$') option ranker=sph04;show meta";}i:55;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"фичина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:56;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11629";}}s:8:"sphinxql";s:111:"SELECT id,gid,weight() as my_weight FROM testl WHERE MATCH('^Фичин баг$') option ranker=sph04;show meta";}i:57;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"фичина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:58;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11629";}}s:8:"sphinxql";s:113:"SELECT id,gid,weight() as my_weight FROM testlae WHERE MATCH('^Фичин баг$') option ranker=sph04;show meta";}i:59;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:11:"=фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:12:"фичина";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:7:"=баг";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:6:"баг";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:60;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11629";}}s:8:"sphinxql";s:112:"SELECT id,gid,weight() as my_weight FROM testwe WHERE MATCH('^Фичин баг$') option ranker=sph04;show meta";}i:61;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:62;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11629";}}s:8:"sphinxql";s:111:"SELECT id,gid,weight() as my_weight FROM testw WHERE MATCH('^Фичин баг$') option ranker=sph04;show meta";}i:63;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:64;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11629";}}s:8:"sphinxql";s:112:"SELECT id,gid,weight() as my_weight FROM testce WHERE MATCH('^Фичин баг$') option ranker=sph04;show meta";}i:65;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:66;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11629";}}s:8:"sphinxql";s:111:"SELECT id,gid,weight() as my_weight FROM testc WHERE MATCH('^Фичин баг$') option ranker=sph04;show meta";}i:67;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:68;a:3:{s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11576";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11543";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11543";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11511";}}s:8:"sphinxql";s:112:"SELECT id,gid,weight() as my_weight FROM testpr WHERE MATCH('^Фичин баг$') option ranker=sph04;show meta";}i:69;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"4";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"4";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:11:"фичин*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"4";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"4";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:7:"баг*";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:10:"фичин";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:6:"баг";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:70;a:3:{s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11576";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11543";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11543";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11511";}}s:8:"sphinxql";s:113:"SELECT id,gid,weight() as my_weight FROM testple WHERE MATCH('^Фичин баг$') option ranker=sph04;show meta";}i:71;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"4";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"4";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"*фичин*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"4";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"4";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:8:"*баг*";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:10:"фичин";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:6:"баг";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:72;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.142539, atc=0.000000), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:145:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testla WHERE MATCH('"Фичин баг"') option ranker=expr('sum(exact_hit)');show meta";}i:73;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"фичина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:74;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.142539, atc=0.000000), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:144:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testl WHERE MATCH('"Фичин баг"') option ranker=expr('sum(exact_hit)');show meta";}i:75;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"фичина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:76;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=629, bm25a=0.609646, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.142539, min_idf=0.071270, max_idf=0.071270, sum_idf=0.142539, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.071270, atc=0.000000), word0=(tf=1, idf=0.071270), word1=(tf=1, idf=0.071270)";}}s:8:"sphinxql";s:146:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testlae WHERE MATCH('"Фичин баг"') option ranker=expr('sum(exact_hit)');show meta";}i:77;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:11:"=фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:12:"фичина";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:7:"=баг";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:6:"баг";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:78;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.142539, atc=0.000000), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:145:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testwe WHERE MATCH('"Фичин баг"') option ranker=expr('sum(exact_hit)');show meta";}i:79;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:80;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.142539, atc=0.000000), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:144:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testw WHERE MATCH('"Фичин баг"') option ranker=expr('sum(exact_hit)');show meta";}i:81;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:82;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.142539, atc=0.000000), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:145:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testce WHERE MATCH('"Фичин баг"') option ranker=expr('sum(exact_hit)');show meta";}i:83;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:84;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.142539, atc=0.000000), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:144:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testc WHERE MATCH('"Фичин баг"') option ranker=expr('sum(exact_hit)');show meta";}i:85;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:86;a:3:{s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=576, bm25a=0.564588, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.083964, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.041982, atc=0.000000), word0=(tf=1, idf=0.041982), word1=(tf=1, idf=0.041982)";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=543, bm25a=0.564588, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.083964, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.041982, atc=0.000000), word0=(tf=1, idf=0.041982), word1=(tf=1, idf=0.041982)";}i:2;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=543, bm25a=0.564588, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.083964, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.041982, atc=0.000000), word0=(tf=1, idf=0.041982), word1=(tf=1, idf=0.041982)";}i:3;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=511, bm25a=0.564588, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.083964, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.041982, atc=0.000000), word0=(tf=1, idf=0.041982), word1=(tf=1, idf=0.041982)";}}s:8:"sphinxql";s:145:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testpr WHERE MATCH('"Фичин баг"') option ranker=expr('sum(exact_hit)');show meta";}i:87;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"4";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"4";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:11:"фичин*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"4";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"4";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:7:"баг*";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:10:"фичин";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:6:"баг";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:88;a:3:{s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=576, bm25a=0.564588, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.083964, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.041982, atc=0.000000), word0=(tf=1, idf=0.041982), word1=(tf=1, idf=0.041982)";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=543, bm25a=0.564588, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.083964, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.041982, atc=0.000000), word0=(tf=1, idf=0.041982), word1=(tf=1, idf=0.041982)";}i:2;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=543, bm25a=0.564588, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.083964, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.041982, atc=0.000000), word0=(tf=1, idf=0.041982), word1=(tf=1, idf=0.041982)";}i:3;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=511, bm25a=0.564588, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.083964, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.041982, atc=0.000000), word0=(tf=1, idf=0.041982), word1=(tf=1, idf=0.041982)";}}s:8:"sphinxql";s:146:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testple WHERE MATCH('"Фичин баг"') option ranker=expr('sum(exact_hit)');show meta";}i:89;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"4";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"4";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"*фичин*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"4";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"4";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:8:"*баг*";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:10:"фичин";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:6:"баг";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:90;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10629";}}s:8:"sphinxql";s:112:"SELECT id,gid,weight() as my_weight FROM testla WHERE MATCH('"Фичин баг"') option ranker=sph04;show meta";}i:91;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"фичина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:92;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10629";}}s:8:"sphinxql";s:111:"SELECT id,gid,weight() as my_weight FROM testl WHERE MATCH('"Фичин баг"') option ranker=sph04;show meta";}i:93;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"фичина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:94;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10629";}}s:8:"sphinxql";s:113:"SELECT id,gid,weight() as my_weight FROM testlae WHERE MATCH('"Фичин баг"') option ranker=sph04;show meta";}i:95;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:11:"=фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:12:"фичина";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:7:"=баг";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:6:"баг";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:96;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10629";}}s:8:"sphinxql";s:112:"SELECT id,gid,weight() as my_weight FROM testwe WHERE MATCH('"Фичин баг"') option ranker=sph04;show meta";}i:97;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:98;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10629";}}s:8:"sphinxql";s:111:"SELECT id,gid,weight() as my_weight FROM testw WHERE MATCH('"Фичин баг"') option ranker=sph04;show meta";}i:99;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:100;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10629";}}s:8:"sphinxql";s:112:"SELECT id,gid,weight() as my_weight FROM testce WHERE MATCH('"Фичин баг"') option ranker=sph04;show meta";}i:101;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:102;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10629";}}s:8:"sphinxql";s:111:"SELECT id,gid,weight() as my_weight FROM testc WHERE MATCH('"Фичин баг"') option ranker=sph04;show meta";}i:103;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:104;a:3:{s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10576";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10543";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10543";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10511";}}s:8:"sphinxql";s:112:"SELECT id,gid,weight() as my_weight FROM testpr WHERE MATCH('"Фичин баг"') option ranker=sph04;show meta";}i:105;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"4";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"4";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:11:"фичин*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"4";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"4";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:7:"баг*";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:10:"фичин";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:6:"баг";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:106;a:3:{s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10576";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10543";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10543";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10511";}}s:8:"sphinxql";s:113:"SELECT id,gid,weight() as my_weight FROM testple WHERE MATCH('"Фичин баг"') option ranker=sph04;show meta";}i:107;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"4";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"4";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"*фичин*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"4";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"4";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:8:"*баг*";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:10:"фичин";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:6:"баг";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:108;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.285078, atc=0.039831), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:138:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testla WHERE MATCH('english text') option ranker=expr('sum(exact_hit)');show meta";}i:109;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:110;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.285078, atc=0.039831), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:137:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testl WHERE MATCH('english text') option ranker=expr('sum(exact_hit)');show meta";}i:111;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:112;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.285078, atc=0.039831), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:139:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testlae WHERE MATCH('english text') option ranker=expr('sum(exact_hit)');show meta";}i:113;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:114;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.285078, atc=0.039831), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:138:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testwe WHERE MATCH('english text') option ranker=expr('sum(exact_hit)');show meta";}i:115;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:116;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.285078, atc=0.039831), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:137:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testw WHERE MATCH('english text') option ranker=expr('sum(exact_hit)');show meta";}i:117;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:118;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.285078, atc=0.039831), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:138:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testce WHERE MATCH('english text') option ranker=expr('sum(exact_hit)');show meta";}i:119;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:120;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.285078, atc=0.039831), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:137:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testc WHERE MATCH('english text') option ranker=expr('sum(exact_hit)');show meta";}i:121;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:122;a:3:{s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=576, bm25a=0.573012, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=4, word_count=2, tf_idf=0.167929, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.083964, atc=0.007025), word0=(tf=2, idf=0.041982), word1=(tf=2, idf=0.041982)";}i:1;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=543, bm25a=0.568800, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=3, word_count=2, tf_idf=0.125946, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.083964, atc=0.005274), word0=(tf=1, idf=0.041982), word1=(tf=2, idf=0.041982)";}i:2;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=511, bm25a=0.564588, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.083964, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.083964, atc=0.003519), word0=(tf=1, idf=0.041982), word1=(tf=1, idf=0.041982)";}i:3;a:4:{s:2:"id";s:2:"13";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=543, bm25a=0.568800, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=3, word_count=2, tf_idf=0.125946, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.083964, atc=0.005274), word0=(tf=2, idf=0.041982), word1=(tf=1, idf=0.041982)";}}s:8:"sphinxql";s:138:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testpr WHERE MATCH('english text') option ranker=expr('sum(exact_hit)');show meta";}i:123;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"4";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"4";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:8:"english*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"4";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"4";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:5:"text*";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:7:"english";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:4:"text";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:124;a:3:{s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=576, bm25a=0.573012, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=4, word_count=2, tf_idf=0.167929, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.083964, atc=0.007025), word0=(tf=2, idf=0.041982), word1=(tf=2, idf=0.041982)";}i:1;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=543, bm25a=0.568800, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=3, word_count=2, tf_idf=0.125946, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.083964, atc=0.005274), word0=(tf=1, idf=0.041982), word1=(tf=2, idf=0.041982)";}i:2;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=511, bm25a=0.564588, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.083964, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.083964, atc=0.003519), word0=(tf=1, idf=0.041982), word1=(tf=1, idf=0.041982)";}i:3;a:4:{s:2:"id";s:2:"13";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"1";s:9:"my_weight";s:359:"bm25=543, bm25a=0.568800, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=3, word_count=2, tf_idf=0.125946, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.083964, atc=0.005274), word0=(tf=2, idf=0.041982), word1=(tf=1, idf=0.041982)";}}s:8:"sphinxql";s:139:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testple WHERE MATCH('english text') option ranker=expr('sum(exact_hit)');show meta";}i:125;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"4";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"4";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:9:"*english*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"4";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"4";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"*text*";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:7:"english";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:4:"text";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:126;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11629";}}s:8:"sphinxql";s:105:"SELECT id,gid,weight() as my_weight FROM testla WHERE MATCH('english text') option ranker=sph04;show meta";}i:127;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:128;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11629";}}s:8:"sphinxql";s:104:"SELECT id,gid,weight() as my_weight FROM testl WHERE MATCH('english text') option ranker=sph04;show meta";}i:129;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:130;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11629";}}s:8:"sphinxql";s:106:"SELECT id,gid,weight() as my_weight FROM testlae WHERE MATCH('english text') option ranker=sph04;show meta";}i:131;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:132;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11629";}}s:8:"sphinxql";s:105:"SELECT id,gid,weight() as my_weight FROM testwe WHERE MATCH('english text') option ranker=sph04;show meta";}i:133;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:134;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11629";}}s:8:"sphinxql";s:104:"SELECT id,gid,weight() as my_weight FROM testw WHERE MATCH('english text') option ranker=sph04;show meta";}i:135;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:136;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11629";}}s:8:"sphinxql";s:105:"SELECT id,gid,weight() as my_weight FROM testce WHERE MATCH('english text') option ranker=sph04;show meta";}i:137;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:138;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11629";}}s:8:"sphinxql";s:104:"SELECT id,gid,weight() as my_weight FROM testc WHERE MATCH('english text') option ranker=sph04;show meta";}i:139;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:140;a:3:{s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11576";}i:1;a:3:{s:2:"id";s:2:"11";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11543";}i:2;a:3:{s:2:"id";s:2:"13";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11543";}i:3;a:3:{s:2:"id";s:2:"12";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11511";}}s:8:"sphinxql";s:105:"SELECT id,gid,weight() as my_weight FROM testpr WHERE MATCH('english text') option ranker=sph04;show meta";}i:141;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"4";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"4";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:8:"english*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"4";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"4";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:5:"text*";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:7:"english";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:4:"text";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:142;a:3:{s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11576";}i:1;a:3:{s:2:"id";s:2:"11";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11543";}i:2;a:3:{s:2:"id";s:2:"13";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11543";}i:3;a:3:{s:2:"id";s:2:"12";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11511";}}s:8:"sphinxql";s:106:"SELECT id,gid,weight() as my_weight FROM testple WHERE MATCH('english text') option ranker=sph04;show meta";}i:143;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"4";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"4";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:9:"*english*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"4";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"4";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"*text*";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:7:"english";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:4:"text";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:144;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.142539, atc=0.000000), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:140:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testla WHERE MATCH('"english text"') option ranker=expr('sum(exact_hit)');show meta";}i:145;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:146;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.142539, atc=0.000000), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:139:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testl WHERE MATCH('"english text"') option ranker=expr('sum(exact_hit)');show meta";}i:147;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:148;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.142539, atc=0.000000), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:141:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testlae WHERE MATCH('"english text"') option ranker=expr('sum(exact_hit)');show meta";}i:149;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:150;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.142539, atc=0.000000), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:140:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testwe WHERE MATCH('"english text"') option ranker=expr('sum(exact_hit)');show meta";}i:151;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:152;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.142539, atc=0.000000), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:139:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testw WHERE MATCH('"english text"') option ranker=expr('sum(exact_hit)');show meta";}i:153;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:154;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.142539, atc=0.000000), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:140:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testce WHERE MATCH('"english text"') option ranker=expr('sum(exact_hit)');show meta";}i:155;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:156;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=629, bm25a=0.719291, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.285078, min_idf=0.142539, max_idf=0.142539, sum_idf=0.285078, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.142539, atc=0.000000), word0=(tf=1, idf=0.142539), word1=(tf=1, idf=0.142539)";}}s:8:"sphinxql";s:139:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testc WHERE MATCH('"english text"') option ranker=expr('sum(exact_hit)');show meta";}i:157;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:158;a:3:{s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=576, bm25a=0.564588, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.083964, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.041982, atc=0.000000), word0=(tf=1, idf=0.041982), word1=(tf=1, idf=0.041982)";}i:1;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=543, bm25a=0.564588, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.083964, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.041982, atc=0.000000), word0=(tf=1, idf=0.041982), word1=(tf=1, idf=0.041982)";}i:2;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=511, bm25a=0.564588, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.083964, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.041982, atc=0.000000), word0=(tf=1, idf=0.041982), word1=(tf=1, idf=0.041982)";}i:3;a:4:{s:2:"id";s:2:"13";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=543, bm25a=0.564588, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.083964, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.041982, atc=0.000000), word0=(tf=1, idf=0.041982), word1=(tf=1, idf=0.041982)";}}s:8:"sphinxql";s:140:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testpr WHERE MATCH('"english text"') option ranker=expr('sum(exact_hit)');show meta";}i:159;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"4";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"4";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:8:"english*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"4";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"4";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:5:"text*";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:7:"english";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:4:"text";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:160;a:3:{s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=576, bm25a=0.564588, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.083964, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.041982, atc=0.000000), word0=(tf=1, idf=0.041982), word1=(tf=1, idf=0.041982)";}i:1;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=543, bm25a=0.564588, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.083964, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.041982, atc=0.000000), word0=(tf=1, idf=0.041982), word1=(tf=1, idf=0.041982)";}i:2;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=511, bm25a=0.564588, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.083964, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.041982, atc=0.000000), word0=(tf=1, idf=0.041982), word1=(tf=1, idf=0.041982)";}i:3;a:4:{s:2:"id";s:2:"13";s:3:"gid";s:2:"11";s:8:"weight()";s:1:"0";s:9:"my_weight";s:359:"bm25=543, bm25a=0.564588, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.083964, min_idf=0.041982, max_idf=0.041982, sum_idf=0.083964, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.041982, atc=0.000000), word0=(tf=1, idf=0.041982), word1=(tf=1, idf=0.041982)";}}s:8:"sphinxql";s:141:"SELECT id,gid,weight(),packedfactors() as my_weight FROM testple WHERE MATCH('"english text"') option ranker=expr('sum(exact_hit)');show meta";}i:161;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"4";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"4";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:9:"*english*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"4";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"4";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"*text*";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:7:"english";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:4:"text";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:162;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10629";}}s:8:"sphinxql";s:107:"SELECT id,gid,weight() as my_weight FROM testla WHERE MATCH('"english text"') option ranker=sph04;show meta";}i:163;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:164;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10629";}}s:8:"sphinxql";s:106:"SELECT id,gid,weight() as my_weight FROM testl WHERE MATCH('"english text"') option ranker=sph04;show meta";}i:165;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:166;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10629";}}s:8:"sphinxql";s:108:"SELECT id,gid,weight() as my_weight FROM testlae WHERE MATCH('"english text"') option ranker=sph04;show meta";}i:167;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:168;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10629";}}s:8:"sphinxql";s:107:"SELECT id,gid,weight() as my_weight FROM testwe WHERE MATCH('"english text"') option ranker=sph04;show meta";}i:169;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:170;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10629";}}s:8:"sphinxql";s:106:"SELECT id,gid,weight() as my_weight FROM testw WHERE MATCH('"english text"') option ranker=sph04;show meta";}i:171;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:172;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10629";}}s:8:"sphinxql";s:107:"SELECT id,gid,weight() as my_weight FROM testce WHERE MATCH('"english text"') option ranker=sph04;show meta";}i:173;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:174;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10629";}}s:8:"sphinxql";s:106:"SELECT id,gid,weight() as my_weight FROM testc WHERE MATCH('"english text"') option ranker=sph04;show meta";}i:175;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:176;a:3:{s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10576";}i:1;a:3:{s:2:"id";s:2:"11";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10543";}i:2;a:3:{s:2:"id";s:2:"13";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10543";}i:3;a:3:{s:2:"id";s:2:"12";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10511";}}s:8:"sphinxql";s:107:"SELECT id,gid,weight() as my_weight FROM testpr WHERE MATCH('"english text"') option ranker=sph04;show meta";}i:177;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"4";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"4";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:8:"english*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"4";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"4";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:5:"text*";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:7:"english";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:4:"text";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:178;a:3:{s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10576";}i:1;a:3:{s:2:"id";s:2:"11";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10543";}i:2;a:3:{s:2:"id";s:2:"13";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10543";}i:3;a:3:{s:2:"id";s:2:"12";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10511";}}s:8:"sphinxql";s:108:"SELECT id,gid,weight() as my_weight FROM testple WHERE MATCH('"english text"') option ranker=sph04;show meta";}i:179;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"4";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"4";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:9:"*english*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"4";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"4";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"*text*";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:7:"english";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:4:"text";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:180;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10629";}}s:8:"sphinxql";s:112:"SELECT id,gid,weight() as my_weight FROM testla WHERE MATCH('"Фичин баг"') option ranker=sph04;show meta";}i:181;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"фичина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:182;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10629";}}s:8:"sphinxql";s:111:"SELECT id,gid,weight() as my_weight FROM testl WHERE MATCH('"Фичин баг"') option ranker=sph04;show meta";}i:183;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"фичина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:184;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10629";}}s:8:"sphinxql";s:113:"SELECT id,gid,weight() as my_weight FROM testlae WHERE MATCH('"Фичин баг"') option ranker=sph04;show meta";}i:185;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:11:"=фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:12:"фичина";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:7:"=баг";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:6:"баг";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:186;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10629";}}s:8:"sphinxql";s:112:"SELECT id,gid,weight() as my_weight FROM testwe WHERE MATCH('"Фичин баг"') option ranker=sph04;show meta";}i:187;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:188;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10629";}}s:8:"sphinxql";s:111:"SELECT id,gid,weight() as my_weight FROM testw WHERE MATCH('"Фичин баг"') option ranker=sph04;show meta";}i:189;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:190;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10629";}}s:8:"sphinxql";s:112:"SELECT id,gid,weight() as my_weight FROM testce WHERE MATCH('"Фичин баг"') option ranker=sph04;show meta";}i:191;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:192;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10629";}}s:8:"sphinxql";s:111:"SELECT id,gid,weight() as my_weight FROM testc WHERE MATCH('"Фичин баг"') option ranker=sph04;show meta";}i:193;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:194;a:3:{s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10576";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10543";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10543";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10511";}}s:8:"sphinxql";s:112:"SELECT id,gid,weight() as my_weight FROM testpr WHERE MATCH('"Фичин баг"') option ranker=sph04;show meta";}i:195;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"4";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"4";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:11:"фичин*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"4";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"4";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:7:"баг*";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:10:"фичин";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:6:"баг";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:196;a:3:{s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10576";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10543";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10543";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"10511";}}s:8:"sphinxql";s:113:"SELECT id,gid,weight() as my_weight FROM testple WHERE MATCH('"Фичин баг"') option ranker=sph04;show meta";}i:197;a:3:{s:10:"total_rows";i:15;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"4";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"4";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"*фичин*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"4";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"4";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:8:"*баг*";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:10:"фичин";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:6:"баг";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:198;a:3:{s:8:"sphinxql";s:27:"SELECT GROUPBY() FROM testw";s:5:"error";s:58:"index testw: GROUPBY() is allowed only in GROUP BY queries";s:5:"errno";i:1064;}i:199;a:2:{s:8:"sphinxql";s:89:"INSERT INTO rt_ckw VALUES ( 1, 'фичин баг, но не фичина бага', 11 )";s:14:"total_affected";i:1;}i:200;a:3:{s:8:"sphinxql";s:53:"CALL KEYWORDS ( 'фичин баг', 'plain_ckw', 1 )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:5:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:12:"фичина";s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}i:1;a:5:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}}i:201;a:3:{s:8:"sphinxql";s:50:"CALL KEYWORDS ( 'фичин баг', 'rt_ckw', 1 )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:5:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:12:"фичина";s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}i:1;a:5:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}}i:202;a:3:{s:8:"sphinxql";s:52:"CALL KEYWORDS ( 'фичин баг', 'tmpl_ckw', 1 )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:5:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:10:"фичин";s:10:"normalized";s:12:"фичина";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:1;a:5:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"баг";s:10:"normalized";s:6:"баг";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:203;a:3:{s:8:"sphinxql";s:57:"CALL KEYWORDS ( 'фичина бага', 'plain_ckw', 1 )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:5:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:12:"фичина";s:10:"normalized";s:12:"фичина";s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}i:1;a:5:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:8:"бага";s:10:"normalized";s:6:"баг";s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}}i:204;a:3:{s:8:"sphinxql";s:54:"CALL KEYWORDS ( 'фичина бага', 'rt_ckw', 1 )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:5:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:12:"фичина";s:10:"normalized";s:12:"фичина";s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}i:1;a:5:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:8:"бага";s:10:"normalized";s:6:"баг";s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}}i:205;a:3:{s:8:"sphinxql";s:56:"CALL KEYWORDS ( 'фичина бага', 'tmpl_ckw', 1 )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:5:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:12:"фичина";s:10:"normalized";s:12:"фичина";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:1;a:5:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:8:"бага";s:10:"normalized";s:6:"баг";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:206;a:3:{s:8:"sphinxql";s:55:"CALL KEYWORDS ( 'сталин жил', 'plain_ckw', 1 )";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:5:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:12:"сталин";s:10:"normalized";s:12:"сталин";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:1;a:5:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:12:"сталин";s:10:"normalized";s:14:"сталина";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:2;a:5:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"жил";s:10:"normalized";s:8:"жила";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:3;a:5:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"жил";s:10:"normalized";s:8:"жить";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:207;a:3:{s:8:"sphinxql";s:52:"CALL KEYWORDS ( 'сталин жил', 'rt_ckw', 1 )";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:5:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:12:"сталин";s:10:"normalized";s:12:"сталин";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:1;a:5:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:12:"сталин";s:10:"normalized";s:14:"сталина";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:2;a:5:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"жил";s:10:"normalized";s:8:"жила";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:3;a:5:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"жил";s:10:"normalized";s:8:"жить";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:208;a:3:{s:8:"sphinxql";s:54:"CALL KEYWORDS ( 'сталин жил', 'tmpl_ckw', 1 )";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:5:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:12:"сталин";s:10:"normalized";s:12:"сталин";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:1;a:5:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:12:"сталин";s:10:"normalized";s:14:"сталина";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:2;a:5:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"жил";s:10:"normalized";s:8:"жила";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:3;a:5:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:6:"жил";s:10:"normalized";s:8:"жить";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:209;a:3:{s:8:"sphinxql";s:40:"CALL KEYWORDS ( 'DovE', 'plain_ckw', 1 )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:5:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:4:"dove";s:10:"normalized";s:4:"dive";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:1;a:5:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:4:"dove";s:10:"normalized";s:4:"dove";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:210;a:3:{s:8:"sphinxql";s:37:"CALL KEYWORDS ( 'DovE', 'rt_ckw', 1 )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:5:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:4:"dove";s:10:"normalized";s:4:"dive";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:1;a:5:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:4:"dove";s:10:"normalized";s:4:"dove";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:211;a:3:{s:8:"sphinxql";s:39:"CALL KEYWORDS ( 'DovE', 'tmpl_ckw', 1 )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:5:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:4:"dove";s:10:"normalized";s:4:"dive";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:1;a:5:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:4:"dove";s:10:"normalized";s:4:"dove";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:212;a:3:{s:8:"sphinxql";s:80:"CALL KEYWORDS ( 'records recorded recording men man mans mens', 'plain_ckw', 1 )";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:5:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:7:"records";s:10:"normalized";s:6:"record";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:1;a:5:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:8:"recorded";s:10:"normalized";s:6:"record";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:2;a:5:{s:4:"qpos";s:1:"3";s:9:"tokenized";s:9:"recording";s:10:"normalized";s:6:"record";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:3;a:5:{s:4:"qpos";s:1:"3";s:9:"tokenized";s:9:"recording";s:10:"normalized";s:9:"recording";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:4;a:5:{s:4:"qpos";s:1:"4";s:9:"tokenized";s:3:"men";s:10:"normalized";s:3:"man";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:5;a:5:{s:4:"qpos";s:1:"5";s:9:"tokenized";s:3:"man";s:10:"normalized";s:3:"man";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:6;a:5:{s:4:"qpos";s:1:"6";s:9:"tokenized";s:4:"mans";s:10:"normalized";s:3:"man";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:7;a:5:{s:4:"qpos";s:1:"7";s:9:"tokenized";s:4:"mens";s:10:"normalized";s:3:"men";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:213;a:3:{s:8:"sphinxql";s:77:"CALL KEYWORDS ( 'records recorded recording men man mans mens', 'rt_ckw', 1 )";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:5:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:7:"records";s:10:"normalized";s:6:"record";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:1;a:5:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:8:"recorded";s:10:"normalized";s:6:"record";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:2;a:5:{s:4:"qpos";s:1:"3";s:9:"tokenized";s:9:"recording";s:10:"normalized";s:6:"record";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:3;a:5:{s:4:"qpos";s:1:"3";s:9:"tokenized";s:9:"recording";s:10:"normalized";s:9:"recording";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:4;a:5:{s:4:"qpos";s:1:"4";s:9:"tokenized";s:3:"men";s:10:"normalized";s:3:"man";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:5;a:5:{s:4:"qpos";s:1:"5";s:9:"tokenized";s:3:"man";s:10:"normalized";s:3:"man";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:6;a:5:{s:4:"qpos";s:1:"6";s:9:"tokenized";s:4:"mans";s:10:"normalized";s:3:"man";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:7;a:5:{s:4:"qpos";s:1:"7";s:9:"tokenized";s:4:"mens";s:10:"normalized";s:3:"men";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:214;a:3:{s:8:"sphinxql";s:79:"CALL KEYWORDS ( 'records recorded recording men man mans mens', 'tmpl_ckw', 1 )";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:5:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:7:"records";s:10:"normalized";s:6:"record";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:1;a:5:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:8:"recorded";s:10:"normalized";s:6:"record";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:2;a:5:{s:4:"qpos";s:1:"3";s:9:"tokenized";s:9:"recording";s:10:"normalized";s:6:"record";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:3;a:5:{s:4:"qpos";s:1:"3";s:9:"tokenized";s:9:"recording";s:10:"normalized";s:9:"recording";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:4;a:5:{s:4:"qpos";s:1:"4";s:9:"tokenized";s:3:"men";s:10:"normalized";s:3:"man";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:5;a:5:{s:4:"qpos";s:1:"5";s:9:"tokenized";s:3:"man";s:10:"normalized";s:3:"man";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:6;a:5:{s:4:"qpos";s:1:"6";s:9:"tokenized";s:4:"mans";s:10:"normalized";s:3:"man";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:7;a:5:{s:4:"qpos";s:1:"7";s:9:"tokenized";s:4:"mens";s:10:"normalized";s:3:"men";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:215;a:2:{s:8:"sphinxql";s:15:"SET profiling=1";s:14:"total_affected";i:0;}i:216;a:2:{s:8:"sphinxql";s:53:"SELECT id FROM testw WHERE MATCH('\\^one\\$') limit 1";s:10:"total_rows";i:0;}i:217;a:3:{s:8:"sphinxql";s:9:"SHOW PLAN";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:8:"Variable";s:16:"transformed_tree";s:5:"Value";s:29:"AND(KEYWORD(one, querypos=1))";}}}}}sphinx-2.2.11-release/test/test_221/0000755000175000017500000000000012743402012016401 5ustar alexeyalexeysphinx-2.2.11-release/test/test_221/test.xml0000644000175000017500000000432712743402012020110 0ustar alexeyalexey Using dummy token in expressions instead of just wiped by min_word_len or stopwords indexer { mem_limit = 16M } searchd { } source test { type = mysql sql_query = select * from test_table } index test { source = test path = /test } index test1 : test { path = /test1 stopwords = stopwords.txt min_word_len = 2 } CREATE TABLE test_table ( id INTEGER PRIMARY KEY NOT NULL, subject VARCHAR(50) NOT NULL ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table VALUES ( 1, 'hello world' ); INSERT INTO test_table VALUES ( 2, 'hello hallo world' ); INSERT INTO test_table VALUES ( 3, 'a b world' ); INSERT INTO test_table VALUES ( 4, 'a b c world' ); INSERT INTO test_table VALUES ( 5, 'hello war' ); INSERT INTO test_table VALUES ( 6, 'hello hallo war' ); INSERT INTO test_table VALUES ( 7, 'a b war' ); INSERT INTO test_table VALUES ( 8, 'a b c war' ); test test1 select * from META:all where match ('a b c !war') select * from META:all where match ('hello !war') select * from META:all where match ('the !war') select * from META:all where match ('!the !war') select * from META:all where match ('!hello !war') select * from META:all where match ('hello | (!war)') select * from META:all where match ('hello | (!w)') select * from META:all where match ('hallo | (war ( a -world))') select * from META:all where match ('war ( a -world)') select * from META:all where match ('war | ( a -world)') sphinx-2.2.11-release/test/test_221/model.bin0000644000175000017500000000774212743402012020205 0ustar alexeyalexeya:1:{i:0;a:22:{i:0;a:3:{s:8:"sphinxql";s:45:"select * from test where match ('a b c !war')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"4";}}}i:1;a:2:{s:8:"sphinxql";s:46:"select * from test1 where match ('a b c !war')";s:10:"total_rows";i:0;}i:2;a:3:{s:8:"sphinxql";s:45:"select * from test where match ('hello !war')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}}}i:3;a:3:{s:8:"sphinxql";s:46:"select * from test1 where match ('hello !war')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}}}i:4;a:2:{s:8:"sphinxql";s:43:"select * from test where match ('the !war')";s:10:"total_rows";i:0;}i:5;a:2:{s:8:"sphinxql";s:44:"select * from test1 where match ('the !war')";s:10:"total_rows";i:0;}i:6;a:3:{s:8:"sphinxql";s:44:"select * from test where match ('!the !war')";s:5:"error";s:73:"index test: query is non-computable (node consists of NOT operators only)";s:5:"errno";i:1064;}i:7;a:2:{s:8:"sphinxql";s:45:"select * from test1 where match ('!the !war')";s:10:"total_rows";i:0;}i:8;a:3:{s:8:"sphinxql";s:46:"select * from test where match ('!hello !war')";s:5:"error";s:73:"index test: query is non-computable (node consists of NOT operators only)";s:5:"errno";i:1064;}i:9;a:3:{s:8:"sphinxql";s:47:"select * from test1 where match ('!hello !war')";s:5:"error";s:74:"index test1: query is non-computable (node consists of NOT operators only)";s:5:"errno";i:1064;}i:10;a:3:{s:8:"sphinxql";s:49:"select * from test where match ('hello | (!war)')";s:5:"error";s:66:"index test: query is non-computable (NOT is not allowed within OR)";s:5:"errno";i:1064;}i:11;a:3:{s:8:"sphinxql";s:50:"select * from test1 where match ('hello | (!war)')";s:5:"error";s:67:"index test1: query is non-computable (NOT is not allowed within OR)";s:5:"errno";i:1064;}i:12;a:3:{s:8:"sphinxql";s:47:"select * from test where match ('hello | (!w)')";s:5:"error";s:66:"index test: query is non-computable (NOT is not allowed within OR)";s:5:"errno";i:1064;}i:13;a:3:{s:8:"sphinxql";s:48:"select * from test1 where match ('hello | (!w)')";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}i:2;a:1:{s:2:"id";s:1:"5";}i:3;a:1:{s:2:"id";s:1:"6";}}}i:14;a:3:{s:8:"sphinxql";s:61:"select * from test where match ('hallo | (war ( a -world))')";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:1:{s:2:"id";s:1:"2";}i:1;a:1:{s:2:"id";s:1:"6";}i:2;a:1:{s:2:"id";s:1:"7";}i:3;a:1:{s:2:"id";s:1:"8";}}}i:15;a:3:{s:8:"sphinxql";s:62:"select * from test1 where match ('hallo | (war ( a -world))')";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:1:{s:2:"id";s:1:"6";}i:1;a:1:{s:2:"id";s:1:"2";}i:2;a:1:{s:2:"id";s:1:"5";}i:3;a:1:{s:2:"id";s:1:"7";}i:4;a:1:{s:2:"id";s:1:"8";}}}i:16;a:3:{s:8:"sphinxql";s:50:"select * from test where match ('war ( a -world)')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"7";}i:1;a:1:{s:2:"id";s:1:"8";}}}i:17;a:3:{s:8:"sphinxql";s:51:"select * from test1 where match ('war ( a -world)')";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:1:{s:2:"id";s:1:"5";}i:1;a:1:{s:2:"id";s:1:"6";}i:2;a:1:{s:2:"id";s:1:"7";}i:3;a:1:{s:2:"id";s:1:"8";}}}i:18;a:3:{s:8:"sphinxql";s:52:"select * from test where match ('war | ( a -world)')";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:1:{s:2:"id";s:1:"7";}i:1;a:1:{s:2:"id";s:1:"8";}i:2;a:1:{s:2:"id";s:1:"5";}i:3;a:1:{s:2:"id";s:1:"6";}}}i:19;a:3:{s:8:"sphinxql";s:53:"select * from test1 where match ('war | ( a -world)')";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:1:{s:2:"id";s:1:"5";}i:1;a:1:{s:2:"id";s:1:"6";}i:2;a:1:{s:2:"id";s:1:"7";}i:3;a:1:{s:2:"id";s:1:"8";}}}i:20;a:3:{s:8:"sphinxql";s:57:"select * from test where match ( 'war << ( * -world )' ) ";s:5:"error";s:74:"index test: query is non-computable (NOT cannot be used as before operand)";s:5:"errno";i:1064;}i:21;a:3:{s:8:"sphinxql";s:58:"select * from test1 where match ( 'war << ( * -world )' ) ";s:5:"error";s:75:"index test1: query is non-computable (NOT cannot be used as before operand)";s:5:"errno";i:1064;}}}sphinx-2.2.11-release/test/test_220/0000755000175000017500000000000012743402012016400 5ustar alexeyalexeysphinx-2.2.11-release/test/test_220/test.xml0000644000175000017500000000656312743402012020113 0ustar alexeyalexey schema minimization, match copying/remapping, and other match/schema voodoo indexer { mem_limit = 16M } searchd { dist_threads = 4 # needed for "do not fetch too much" test below max_packet_size = 128K workers = threads } source base { type = mysql } source t1 : base { sql_query = SELECT 1 id, 'test one' title, 1 attr1, 234 attr2 sql_attr_bool = attr1 sql_attr_uint = attr2 } source t2 : base { sql_query = SELECT 2 id, 'test two' title, 123.0 attr1, 345 attr2 sql_attr_float = attr1 sql_attr_uint = attr2 } source t3 : base { # 4 rows, 10 cols, 4K/col = 160K total sql_query = SELECT id, gid, title t1, title t2, title t3, title t4 FROM t3 sql_attr_uint = gid sql_field_string = t1 sql_field_string = t2 sql_field_string = t3 sql_field_string = t4 } index t1 { source = t1 path = data/t1 } index t2 { source = t2 path = data/t2 } index t3 { source = t3 path = data/t3 } index dt3 { type = distributed agent = :t3 } source loc1 : base { sql_query = SELECT 1, 11 as idd, 'test', '1 2 3' as m, 10 as s UNION SELECT 2, 12 as idd, 'test', '4 5 6' as m, 10 as s UNION SELECT 3, 11 as idd, 'test', '7 8 9' as m, 10 as s UNION SELECT 4, 12 as idd, 'test', '10 11 12' as m, 10 as s sql_attr_uint = idd sql_attr_uint = s sql_attr_multi = uint m from field } source loc2 : base { sql_query = SELECT 101, 110 as idd, 'test', '100 200 300' as m, 100 as s UNION SELECT 102, 112 as idd, 'test', '40 50 60' as m, 100 as s UNION SELECT 103, 110 as idd, 'test', '70 80 90' as m, 100 as s UNION SELECT 104, 112 as idd, 'test', '100 110 120' as m, 100 as s sql_attr_uint = idd sql_attr_uint = s sql_attr_multi = uint m from field } index loc1 { source = loc1 path = data/loc1 } index loc2 { source = loc2 path = data/loc2 } index dist10 { type = distributed local = loc2 agent = :loc1 agent_query_timeout = 5000 } CREATE TABLE t3 ( id INTEGER PRIMARY KEY NOT NULL, gid INTEGER NOT NULL, title VARCHAR(4096) NOT NULL ); DROP TABLE IF EXISTS t3; INSERT INTO t3 VALUES ( 1, 123, REPEAT('abcdefghi ', 400) ), ( 2, 123, REPEAT('abcdefghi ', 400) ), ( 3, 123, REPEAT('abcdefghi ', 400) ), ( 4, 123, REPEAT('abcdefghi ', 400) ), ( 5, 123, REPEAT('abcdefghi ', 400) ), ( 6, 123, REPEAT('abcdefghi ', 400) ), ( 7, 123, REPEAT('abcdefghi ', 400) ), ( 8, 123, REPEAT('abcdefghi ', 400) ), ( 9, 123, REPEAT('abcdefghi ', 400) ), ( 10, 123, REPEAT('abcdefghi ', 400) ) select * from t1 select * from t2 select * from t1,t2 select *,attr1 from t1 select attr1 from t1 select * from dt3 select id,gid from dt3 select * from dist10 where s=10 select * from dist10 where s=10 group by idd select id from t1 group by id sphinx-2.2.11-release/test/test_220/model.bin0000644000175000017500000000463112743402012020176 0ustar alexeyalexeya:1:{i:0;a:10:{i:0;a:3:{s:8:"sphinxql";s:16:"select * from t1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:5:"attr1";s:1:"1";s:5:"attr2";s:3:"234";}}}i:1;a:3:{s:8:"sphinxql";s:16:"select * from t2";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"2";s:5:"attr1";s:10:"123.000000";s:5:"attr2";s:3:"345";}}}i:2;a:3:{s:8:"sphinxql";s:19:"select * from t1,t2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:5:"attr1";s:8:"1.000000";s:5:"attr2";s:3:"234";}i:1;a:3:{s:2:"id";s:1:"2";s:5:"attr1";s:10:"123.000000";s:5:"attr2";s:3:"345";}}}i:3;a:3:{s:8:"sphinxql";s:22:"select *,attr1 from t1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:5:"attr1";s:1:"1";}}}i:4;a:3:{s:8:"sphinxql";s:20:"select attr1 from t1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:5:"attr1";s:1:"1";}}}i:5;a:3:{s:8:"sphinxql";s:17:"select * from dt3";s:5:"error";s:102:"index dt3: agent : invalid packet size (status=0, len=160404, max_packet_size=131072)";s:5:"errno";i:1064;}i:6;a:3:{s:8:"sphinxql";s:22:"select id,gid from dt3";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:3:"123";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:3:"123";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:3:"123";}i:3;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:3:"123";}i:4;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:3:"123";}i:5;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:3:"123";}i:6;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:3:"123";}i:7;a:2:{s:2:"id";s:1:"8";s:3:"gid";s:3:"123";}i:8;a:2:{s:2:"id";s:1:"9";s:3:"gid";s:3:"123";}i:9;a:2:{s:2:"id";s:2:"10";s:3:"gid";s:3:"123";}}}i:7;a:3:{s:8:"sphinxql";s:31:"select * from dist10 where s=10";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:1:"m";s:5:"1,2,3";s:1:"s";s:2:"10";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"idd";s:2:"12";s:1:"m";s:5:"4,5,6";s:1:"s";s:2:"10";}i:2;a:4:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:1:"m";s:5:"7,8,9";s:1:"s";s:2:"10";}i:3;a:4:{s:2:"id";s:1:"4";s:3:"idd";s:2:"12";s:1:"m";s:8:"10,11,12";s:1:"s";s:2:"10";}}}i:8;a:3:{s:8:"sphinxql";s:44:"select * from dist10 where s=10 group by idd";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:1:"m";s:5:"1,2,3";s:1:"s";s:2:"10";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"idd";s:2:"12";s:1:"m";s:5:"4,5,6";s:1:"s";s:2:"10";}}}i:9;a:3:{s:8:"sphinxql";s:29:"select id from t1 group by id";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}}}}sphinx-2.2.11-release/test/test_219/0000755000175000017500000000000012743402012016410 5ustar alexeyalexeysphinx-2.2.11-release/test/test_219/wordforms.txt0000644000175000017500000000001512743402012021167 0ustar alexeyalexeysuper > pupersphinx-2.2.11-release/test/test_219/test.xml0000644000175000017500000001416012743402012020113 0ustar alexeyalexey aot morphology for english and german common { lemmatizer_base = lemmatizer_base } searchd { workers = threads } source test1 { type = mysql sql_query_pre = set names utf8 sql_query = select * from test_table sql_attr_uint = gid } index test1 { source = test1 path = /testen1 morphology = lemmatize_en_all blend_chars = @, . wordforms = /wordforms.txt } index test2 : test1 { path = /testen2 morphology = lemmatize_en } index test2ruen : test2 { path = /testruen2 morphology = lemmatize_en,lemmatize_ru } index test2red : test2 { path = /testruende2 charset_table = 0..9, A..Z, a..z, _, U+C0..U+D6, U+D9..U+DF, U+E0..U+F6, U+F9..U+FF, U+410..U+42F->U+430..U+44F, U+430..U+44F morphology = lemmatize_en,lemmatize_ru,lemmatize_de } index testrt1 { type = rt path = /testenrt1 morphology = lemmatize_en_all blend_chars = @, . wordforms = /wordforms.txt rt_attr_uint = gid rt_field = title } index testrt2 : testrt1 { path = /testenrt2 morphology = lemmatize_en } index testrt2ruen : testrt2 { path = /testruenrt2 morphology = lemmatize_en,lemmatize_ru } index testrt2red : testrt2 { path = /testred2 charset_table = 0..9, A..Z, a..z, _, U+C0..U+D6, U+D9..U+DF, U+E0..U+F6, U+F9..U+FF, U+410..U+42F->U+430..U+44F, U+430..U+44F morphology = lemmatize_en,lemmatize_ru,lemmatize_de } index aot_plain { source = test1 path = /aot_plain docinfo = extern morphology = lemmatize_ru_all blend_chars = . } index aot_exact { source = test1 path = /aot_exact docinfo = extern morphology = lemmatize_ru_all blend_chars = . index_exact_words = 1 min_prefix_len = 1 index_field_lengths = 1 morphology = stem_en, lemmatize_ru_all } testrt1 testrt2 testrt2ruen testrt2red test1 test2 test2ruen testrt1 testrt2 testrt2ruen testrt2red aot_plain aot_exact CREATE TABLE test_table ( id INTEGER PRIMARY KEY NOT NULL, gid INTEGER NOT NULL, title VARCHAR(255) CHARACTER SET utf8 NOT NULL ); DROP TABLE IF EXISTS test_table SET NAMES utf8 INSERT INTO test_table VALUES ( 1, 11, 'wives and men' ), ( 2, 11, 'wife and man' ), ( 3, 11, 'children and women' ), ( 4, 11, 'child and woman' ), ( 5, 11, 'as it become known' ), ( 6, 11, 'somebody indices' ), ( 7, 11, 'nobody@nowhere knew everything super' ), ( 8, 11, 'стали well-known как путин markieren' ) INSERT INTO META:rt VALUES ( 1, 'wives and men', 11 ) INSERT INTO META:rt VALUES ( 2, 'wife and man', 11 ) INSERT INTO META:rt VALUES ( 3, 'children and women', 11 ) INSERT INTO META:rt VALUES ( 4, 'child and woman', 11 ) INSERT INTO META:rt VALUES ( 5, 'as it become known', 11 ) INSERT INTO META:rt VALUES ( 6, 'somebody indices', 11 ) INSERT INTO META:rt VALUES ( 7, 'nobody@nowhere knew everything super', 11 ) INSERT INTO META:rt VALUES ( 8, 'стали well-known как путин markieren', 11 ) SELECT * FROM META:all WHERE MATCH('wife'); SHOW META SELECT * FROM META:all WHERE MATCH('wives'); SHOW META SELECT * FROM META:all WHERE MATCH('man'); SHOW META SELECT * FROM META:all WHERE MATCH('men'); SHOW META SELECT * FROM META:all WHERE MATCH('super'); SHOW META SELECT * FROM META:all WHERE MATCH('puper'); SHOW META SELECT * FROM META:all WHERE MATCH('"child and woman"'); SHOW META SELECT * FROM META:all WHERE MATCH('"children and women"'); SHOW META SELECT * FROM META:all WHERE MATCH('nobody@nowhere knows'); SHOW META SELECT * FROM META:all WHERE MATCH('путина knew стали'); SHOW META SELECT * FROM META:all WHERE MATCH('путин стал knows'); SHOW META SELECT * FROM META:all WHERE MATCH('путина markierte'); SHOW META SELECT * FROM META:all WHERE MATCH('knew markierte'); SHOW META CALL SNIPPETS ('молоко такое же молока и так же молоком но не ком', 'META:aot', 'молоком', 1 as query_mode) CALL SNIPPETS ('молоко такое же молока и так же молоком но не ком', 'META:aot', '=молоком', 1 as query_mode) CALL SNIPPETS ('молоко такое же молока и так же молоком но не ком', 'META:aot', 'молоко', 1 as query_mode) CALL SNIPPETS ('молоко такое же молока и так же молоком но не ком', 'META:aot', '=молоко', 1 as query_mode) CALL SNIPPETS ('молоко такое же молока и так же молоком но не ком', 'META:aot', '=молока', 1 as query_mode) CALL SNIPPETS ('молочная ферма', 'META:aot', 'молок*', 1 as query_mode) CALL SNIPPETS ('молоко такое же молока и так же молоком но не ком', 'META:aot', 'мол*', 1 as query_mode) CALL SNIPPETS ('много стресса. от багов.', 'META:aot', 'стресс', 1 as query_mode) sphinx-2.2.11-release/test/test_219/model.bin0000644000175000017500000024422512743402012020213 0ustar alexeyalexeya:1:{i:0;a:230:{i:0;a:2:{s:8:"sphinxql";s:53:"INSERT INTO testrt1 VALUES ( 1, 'wives and men', 11 )";s:14:"total_affected";i:1;}i:1;a:2:{s:8:"sphinxql";s:53:"INSERT INTO testrt2 VALUES ( 1, 'wives and men', 11 )";s:14:"total_affected";i:1;}i:2;a:2:{s:8:"sphinxql";s:57:"INSERT INTO testrt2ruen VALUES ( 1, 'wives and men', 11 )";s:14:"total_affected";i:1;}i:3;a:2:{s:8:"sphinxql";s:56:"INSERT INTO testrt2red VALUES ( 1, 'wives and men', 11 )";s:14:"total_affected";i:1;}i:4;a:2:{s:8:"sphinxql";s:52:"INSERT INTO testrt1 VALUES ( 2, 'wife and man', 11 )";s:14:"total_affected";i:1;}i:5;a:2:{s:8:"sphinxql";s:52:"INSERT INTO testrt2 VALUES ( 2, 'wife and man', 11 )";s:14:"total_affected";i:1;}i:6;a:2:{s:8:"sphinxql";s:56:"INSERT INTO testrt2ruen VALUES ( 2, 'wife and man', 11 )";s:14:"total_affected";i:1;}i:7;a:2:{s:8:"sphinxql";s:55:"INSERT INTO testrt2red VALUES ( 2, 'wife and man', 11 )";s:14:"total_affected";i:1;}i:8;a:2:{s:8:"sphinxql";s:58:"INSERT INTO testrt1 VALUES ( 3, 'children and women', 11 )";s:14:"total_affected";i:1;}i:9;a:2:{s:8:"sphinxql";s:58:"INSERT INTO testrt2 VALUES ( 3, 'children and women', 11 )";s:14:"total_affected";i:1;}i:10;a:2:{s:8:"sphinxql";s:62:"INSERT INTO testrt2ruen VALUES ( 3, 'children and women', 11 )";s:14:"total_affected";i:1;}i:11;a:2:{s:8:"sphinxql";s:61:"INSERT INTO testrt2red VALUES ( 3, 'children and women', 11 )";s:14:"total_affected";i:1;}i:12;a:2:{s:8:"sphinxql";s:55:"INSERT INTO testrt1 VALUES ( 4, 'child and woman', 11 )";s:14:"total_affected";i:1;}i:13;a:2:{s:8:"sphinxql";s:55:"INSERT INTO testrt2 VALUES ( 4, 'child and woman', 11 )";s:14:"total_affected";i:1;}i:14;a:2:{s:8:"sphinxql";s:59:"INSERT INTO testrt2ruen VALUES ( 4, 'child and woman', 11 )";s:14:"total_affected";i:1;}i:15;a:2:{s:8:"sphinxql";s:58:"INSERT INTO testrt2red VALUES ( 4, 'child and woman', 11 )";s:14:"total_affected";i:1;}i:16;a:2:{s:8:"sphinxql";s:58:"INSERT INTO testrt1 VALUES ( 5, 'as it become known', 11 )";s:14:"total_affected";i:1;}i:17;a:2:{s:8:"sphinxql";s:58:"INSERT INTO testrt2 VALUES ( 5, 'as it become known', 11 )";s:14:"total_affected";i:1;}i:18;a:2:{s:8:"sphinxql";s:62:"INSERT INTO testrt2ruen VALUES ( 5, 'as it become known', 11 )";s:14:"total_affected";i:1;}i:19;a:2:{s:8:"sphinxql";s:61:"INSERT INTO testrt2red VALUES ( 5, 'as it become known', 11 )";s:14:"total_affected";i:1;}i:20;a:2:{s:8:"sphinxql";s:56:"INSERT INTO testrt1 VALUES ( 6, 'somebody indices', 11 )";s:14:"total_affected";i:1;}i:21;a:2:{s:8:"sphinxql";s:56:"INSERT INTO testrt2 VALUES ( 6, 'somebody indices', 11 )";s:14:"total_affected";i:1;}i:22;a:2:{s:8:"sphinxql";s:60:"INSERT INTO testrt2ruen VALUES ( 6, 'somebody indices', 11 )";s:14:"total_affected";i:1;}i:23;a:2:{s:8:"sphinxql";s:59:"INSERT INTO testrt2red VALUES ( 6, 'somebody indices', 11 )";s:14:"total_affected";i:1;}i:24;a:2:{s:8:"sphinxql";s:76:"INSERT INTO testrt1 VALUES ( 7, 'nobody@nowhere knew everything super', 11 )";s:14:"total_affected";i:1;}i:25;a:2:{s:8:"sphinxql";s:76:"INSERT INTO testrt2 VALUES ( 7, 'nobody@nowhere knew everything super', 11 )";s:14:"total_affected";i:1;}i:26;a:2:{s:8:"sphinxql";s:80:"INSERT INTO testrt2ruen VALUES ( 7, 'nobody@nowhere knew everything super', 11 )";s:14:"total_affected";i:1;}i:27;a:2:{s:8:"sphinxql";s:79:"INSERT INTO testrt2red VALUES ( 7, 'nobody@nowhere knew everything super', 11 )";s:14:"total_affected";i:1;}i:28;a:2:{s:8:"sphinxql";s:89:"INSERT INTO testrt1 VALUES ( 8, 'стали well-known как путин markieren', 11 )";s:14:"total_affected";i:1;}i:29;a:2:{s:8:"sphinxql";s:89:"INSERT INTO testrt2 VALUES ( 8, 'стали well-known как путин markieren', 11 )";s:14:"total_affected";i:1;}i:30;a:2:{s:8:"sphinxql";s:93:"INSERT INTO testrt2ruen VALUES ( 8, 'стали well-known как путин markieren', 11 )";s:14:"total_affected";i:1;}i:31;a:2:{s:8:"sphinxql";s:92:"INSERT INTO testrt2red VALUES ( 8, 'стали well-known как путин markieren', 11 )";s:14:"total_affected";i:1;}i:32;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:50:"SELECT * FROM test1 WHERE MATCH('wife'); SHOW META";}i:33;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"wife";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:34;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:50:"SELECT * FROM test2 WHERE MATCH('wife'); SHOW META";}i:35;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"wife";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:36;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:54:"SELECT * FROM test2ruen WHERE MATCH('wife'); SHOW META";}i:37;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"wife";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:38;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:52:"SELECT * FROM testrt1 WHERE MATCH('wife'); SHOW META";}i:39;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"wife";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:40;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:52:"SELECT * FROM testrt2 WHERE MATCH('wife'); SHOW META";}i:41;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"wife";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:42;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:56:"SELECT * FROM testrt2ruen WHERE MATCH('wife'); SHOW META";}i:43;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"wife";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:44;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:55:"SELECT * FROM testrt2red WHERE MATCH('wife'); SHOW META";}i:45;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"wif";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:46;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:51:"SELECT * FROM test1 WHERE MATCH('wives'); SHOW META";}i:47;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"wife";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:48;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:51:"SELECT * FROM test2 WHERE MATCH('wives'); SHOW META";}i:49;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"wife";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:50;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:55:"SELECT * FROM test2ruen WHERE MATCH('wives'); SHOW META";}i:51;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"wife";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:52;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:53:"SELECT * FROM testrt1 WHERE MATCH('wives'); SHOW META";}i:53;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"wife";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:54;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:53:"SELECT * FROM testrt2 WHERE MATCH('wives'); SHOW META";}i:55;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"wife";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:56;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:57:"SELECT * FROM testrt2ruen WHERE MATCH('wives'); SHOW META";}i:57;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"wife";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:58;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:56:"SELECT * FROM testrt2red WHERE MATCH('wives'); SHOW META";}i:59;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"wife";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:60;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:49:"SELECT * FROM test1 WHERE MATCH('man'); SHOW META";}i:61;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"man";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:62;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:49:"SELECT * FROM test2 WHERE MATCH('man'); SHOW META";}i:63;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"man";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:64;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:53:"SELECT * FROM test2ruen WHERE MATCH('man'); SHOW META";}i:65;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"man";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:66;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:51:"SELECT * FROM testrt1 WHERE MATCH('man'); SHOW META";}i:67;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"man";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:68;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:51:"SELECT * FROM testrt2 WHERE MATCH('man'); SHOW META";}i:69;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"man";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:70;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:55:"SELECT * FROM testrt2ruen WHERE MATCH('man'); SHOW META";}i:71;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"man";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:72;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:54:"SELECT * FROM testrt2red WHERE MATCH('man'); SHOW META";}i:73;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"man";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:74;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:49:"SELECT * FROM test1 WHERE MATCH('men'); SHOW META";}i:75;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"man";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:76;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:49:"SELECT * FROM test2 WHERE MATCH('men'); SHOW META";}i:77;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"man";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:78;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:53:"SELECT * FROM test2ruen WHERE MATCH('men'); SHOW META";}i:79;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"man";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:80;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:51:"SELECT * FROM testrt1 WHERE MATCH('men'); SHOW META";}i:81;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"man";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:82;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:51:"SELECT * FROM testrt2 WHERE MATCH('men'); SHOW META";}i:83;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"man";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:84;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:55:"SELECT * FROM testrt2ruen WHERE MATCH('men'); SHOW META";}i:85;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"man";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:86;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:54:"SELECT * FROM testrt2red WHERE MATCH('men'); SHOW META";}i:87;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"man";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:88;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:51:"SELECT * FROM test1 WHERE MATCH('super'); SHOW META";}i:89;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"puper";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:90;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:51:"SELECT * FROM test2 WHERE MATCH('super'); SHOW META";}i:91;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"puper";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:92;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:55:"SELECT * FROM test2ruen WHERE MATCH('super'); SHOW META";}i:93;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"puper";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:94;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:53:"SELECT * FROM testrt1 WHERE MATCH('super'); SHOW META";}i:95;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"puper";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:96;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:53:"SELECT * FROM testrt2 WHERE MATCH('super'); SHOW META";}i:97;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"puper";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:98;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:57:"SELECT * FROM testrt2ruen WHERE MATCH('super'); SHOW META";}i:99;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"puper";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:100;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:56:"SELECT * FROM testrt2red WHERE MATCH('super'); SHOW META";}i:101;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"puper";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:102;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:51:"SELECT * FROM test1 WHERE MATCH('puper'); SHOW META";}i:103;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"puper";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:104;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:51:"SELECT * FROM test2 WHERE MATCH('puper'); SHOW META";}i:105;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"puper";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:106;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:55:"SELECT * FROM test2ruen WHERE MATCH('puper'); SHOW META";}i:107;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"puper";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:108;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:53:"SELECT * FROM testrt1 WHERE MATCH('puper'); SHOW META";}i:109;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"puper";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:110;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:53:"SELECT * FROM testrt2 WHERE MATCH('puper'); SHOW META";}i:111;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"puper";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:112;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:57:"SELECT * FROM testrt2ruen WHERE MATCH('puper'); SHOW META";}i:113;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"puper";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:114;a:2:{s:10:"total_rows";i:0;s:8:"sphinxql";s:56:"SELECT * FROM testrt2red WHERE MATCH('puper'); SHOW META";}i:115;a:3:{s:10:"total_rows";i:6;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"pup";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"0";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"0";}}}i:116;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:63:"SELECT * FROM test1 WHERE MATCH('"child and woman"'); SHOW META";}i:117;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"child";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"and";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:5:"woman";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}}}i:118;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:63:"SELECT * FROM test2 WHERE MATCH('"child and woman"'); SHOW META";}i:119;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"child";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"and";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:5:"woman";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}}}i:120;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:67:"SELECT * FROM test2ruen WHERE MATCH('"child and woman"'); SHOW META";}i:121;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"child";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"and";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:5:"woman";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}}}i:122;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:65:"SELECT * FROM testrt1 WHERE MATCH('"child and woman"'); SHOW META";}i:123;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"child";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"and";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:5:"woman";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}}}i:124;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:65:"SELECT * FROM testrt2 WHERE MATCH('"child and woman"'); SHOW META";}i:125;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"child";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"and";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:5:"woman";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}}}i:126;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:69:"SELECT * FROM testrt2ruen WHERE MATCH('"child and woman"'); SHOW META";}i:127;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"child";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"and";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:5:"woman";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}}}i:128;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:68:"SELECT * FROM testrt2red WHERE MATCH('"child and woman"'); SHOW META";}i:129;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"child";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"and";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:5:"woman";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}}}i:130;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:66:"SELECT * FROM test1 WHERE MATCH('"children and women"'); SHOW META";}i:131;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"child";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"and";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:5:"woman";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}}}i:132;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:66:"SELECT * FROM test2 WHERE MATCH('"children and women"'); SHOW META";}i:133;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"child";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"and";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:5:"woman";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}}}i:134;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:70:"SELECT * FROM test2ruen WHERE MATCH('"children and women"'); SHOW META";}i:135;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"child";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"and";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:5:"woman";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}}}i:136;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:68:"SELECT * FROM testrt1 WHERE MATCH('"children and women"'); SHOW META";}i:137;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"child";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"and";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:5:"woman";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}}}i:138;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:68:"SELECT * FROM testrt2 WHERE MATCH('"children and women"'); SHOW META";}i:139;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"child";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"and";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:5:"woman";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}}}i:140;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:72:"SELECT * FROM testrt2ruen WHERE MATCH('"children and women"'); SHOW META";}i:141;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"child";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"and";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:5:"woman";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}}}i:142;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:71:"SELECT * FROM testrt2red WHERE MATCH('"children and women"'); SHOW META";}i:143;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"child";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"and";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:5:"woman";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}}}i:144;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:66:"SELECT * FROM test1 WHERE MATCH('nobody@nowhere knows'); SHOW META";}i:145;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:14:"nobody@nowhere";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"know";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"3";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"3";}}}i:146;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:66:"SELECT * FROM test2 WHERE MATCH('nobody@nowhere knows'); SHOW META";}i:147;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:14:"nobody@nowhere";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"know";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"3";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"3";}}}i:148;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:70:"SELECT * FROM test2ruen WHERE MATCH('nobody@nowhere knows'); SHOW META";}i:149;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:14:"nobody@nowhere";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"know";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"3";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"3";}}}i:150;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:68:"SELECT * FROM testrt1 WHERE MATCH('nobody@nowhere knows'); SHOW META";}i:151;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:14:"nobody@nowhere";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"know";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"3";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"3";}}}i:152;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:68:"SELECT * FROM testrt2 WHERE MATCH('nobody@nowhere knows'); SHOW META";}i:153;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:14:"nobody@nowhere";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"know";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"3";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"3";}}}i:154;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:72:"SELECT * FROM testrt2ruen WHERE MATCH('nobody@nowhere knows'); SHOW META";}i:155;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:14:"nobody@nowhere";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"know";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"3";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"3";}}}i:156;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:71:"SELECT * FROM testrt2red WHERE MATCH('nobody@nowhere knows'); SHOW META";}i:157;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:14:"nobody`nowhere";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"know";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"3";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"3";}}}i:158;a:2:{s:10:"total_rows";i:0;s:8:"sphinxql";s:74:"SELECT * FROM test1 WHERE MATCH('путина knew стали'); SHOW META";}i:159;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"путина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"0";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"0";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"know";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"3";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"3";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:10:"стали";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}}}i:160;a:2:{s:10:"total_rows";i:0;s:8:"sphinxql";s:74:"SELECT * FROM test2 WHERE MATCH('путина knew стали'); SHOW META";}i:161;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"путина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"0";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"0";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"know";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"3";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"3";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:10:"стали";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}}}i:162;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"8";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:78:"SELECT * FROM test2ruen WHERE MATCH('путина knew стали'); SHOW META";}i:163;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"путин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"know";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"3";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"3";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:10:"сталь";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}}}i:164;a:2:{s:10:"total_rows";i:0;s:8:"sphinxql";s:76:"SELECT * FROM testrt1 WHERE MATCH('путина knew стали'); SHOW META";}i:165;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"путина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"0";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"0";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"know";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"3";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"3";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:10:"стали";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}}}i:166;a:2:{s:10:"total_rows";i:0;s:8:"sphinxql";s:76:"SELECT * FROM testrt2 WHERE MATCH('путина knew стали'); SHOW META";}i:167;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"путина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"0";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"0";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"know";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"3";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"3";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:10:"стали";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}}}i:168;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"8";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:80:"SELECT * FROM testrt2ruen WHERE MATCH('путина knew стали'); SHOW META";}i:169;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"путин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"know";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"3";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"3";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:10:"сталь";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}}}i:170;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"8";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:79:"SELECT * FROM testrt2red WHERE MATCH('путина knew стали'); SHOW META";}i:171;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"путин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"know";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"3";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"3";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:10:"сталь";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}}}i:172;a:2:{s:10:"total_rows";i:0;s:8:"sphinxql";s:71:"SELECT * FROM test1 WHERE MATCH('путин стал knows'); SHOW META";}i:173;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"путин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:8:"стал";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:4:"know";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"3";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"3";}}}i:174;a:2:{s:10:"total_rows";i:0;s:8:"sphinxql";s:71:"SELECT * FROM test2 WHERE MATCH('путин стал knows'); SHOW META";}i:175;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"путин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:8:"стал";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:4:"know";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"3";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"3";}}}i:176;a:2:{s:10:"total_rows";i:0;s:8:"sphinxql";s:75:"SELECT * FROM test2ruen WHERE MATCH('путин стал knows'); SHOW META";}i:177;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"путин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:10:"стать";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:4:"know";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"3";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"3";}}}i:178;a:2:{s:10:"total_rows";i:0;s:8:"sphinxql";s:73:"SELECT * FROM testrt1 WHERE MATCH('путин стал knows'); SHOW META";}i:179;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"путин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:8:"стал";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:4:"know";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"3";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"3";}}}i:180;a:2:{s:10:"total_rows";i:0;s:8:"sphinxql";s:73:"SELECT * FROM testrt2 WHERE MATCH('путин стал knows'); SHOW META";}i:181;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"путин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:8:"стал";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:4:"know";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"3";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"3";}}}i:182;a:2:{s:10:"total_rows";i:0;s:8:"sphinxql";s:77:"SELECT * FROM testrt2ruen WHERE MATCH('путин стал knows'); SHOW META";}i:183;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"путин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:10:"стать";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:4:"know";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"3";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"3";}}}i:184;a:2:{s:10:"total_rows";i:0;s:8:"sphinxql";s:76:"SELECT * FROM testrt2red WHERE MATCH('путин стал knows'); SHOW META";}i:185;a:3:{s:10:"total_rows";i:12;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"путин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:10:"стать";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:4:"know";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"3";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"3";}}}i:186;a:2:{s:10:"total_rows";i:0;s:8:"sphinxql";s:68:"SELECT * FROM test1 WHERE MATCH('путина markierte'); SHOW META";}i:187;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"путина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"0";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"0";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:9:"markierte";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:188;a:2:{s:10:"total_rows";i:0;s:8:"sphinxql";s:68:"SELECT * FROM test2 WHERE MATCH('путина markierte'); SHOW META";}i:189;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"путина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"0";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"0";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:9:"markierte";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:190;a:2:{s:10:"total_rows";i:0;s:8:"sphinxql";s:72:"SELECT * FROM test2ruen WHERE MATCH('путина markierte'); SHOW META";}i:191;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"путин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:9:"markierte";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:192;a:2:{s:10:"total_rows";i:0;s:8:"sphinxql";s:70:"SELECT * FROM testrt1 WHERE MATCH('путина markierte'); SHOW META";}i:193;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"путина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"0";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"0";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:9:"markierte";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:194;a:2:{s:10:"total_rows";i:0;s:8:"sphinxql";s:70:"SELECT * FROM testrt2 WHERE MATCH('путина markierte'); SHOW META";}i:195;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"путина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"0";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"0";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:9:"markierte";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:196;a:2:{s:10:"total_rows";i:0;s:8:"sphinxql";s:74:"SELECT * FROM testrt2ruen WHERE MATCH('путина markierte'); SHOW META";}i:197;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"путин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:9:"markierte";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:198;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"8";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:73:"SELECT * FROM testrt2red WHERE MATCH('путина markierte'); SHOW META";}i:199;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"путин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:9:"markieren";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}}i:200;a:2:{s:10:"total_rows";i:0;s:8:"sphinxql";s:60:"SELECT * FROM test1 WHERE MATCH('knew markierte'); SHOW META";}i:201;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"know";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:9:"markierte";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:202;a:2:{s:10:"total_rows";i:0;s:8:"sphinxql";s:60:"SELECT * FROM test2 WHERE MATCH('knew markierte'); SHOW META";}i:203;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"know";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:9:"markierte";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:204;a:2:{s:10:"total_rows";i:0;s:8:"sphinxql";s:64:"SELECT * FROM test2ruen WHERE MATCH('knew markierte'); SHOW META";}i:205;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"know";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:9:"markierte";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:206;a:2:{s:10:"total_rows";i:0;s:8:"sphinxql";s:62:"SELECT * FROM testrt1 WHERE MATCH('knew markierte'); SHOW META";}i:207;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"know";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:9:"markierte";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:208;a:2:{s:10:"total_rows";i:0;s:8:"sphinxql";s:62:"SELECT * FROM testrt2 WHERE MATCH('knew markierte'); SHOW META";}i:209;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"know";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:9:"markierte";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:210;a:2:{s:10:"total_rows";i:0;s:8:"sphinxql";s:66:"SELECT * FROM testrt2ruen WHERE MATCH('knew markierte'); SHOW META";}i:211;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"know";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:9:"markierte";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:212;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"8";s:3:"gid";s:2:"11";}}s:8:"sphinxql";s:65:"SELECT * FROM testrt2red WHERE MATCH('knew markierte'); SHOW META";}i:213;a:3:{s:10:"total_rows";i:9;s:8:"sphinxql";s:52:" SHOW META /* result 2 of previous multistatement */";s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"know";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:9:"markieren";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}}i:214;a:3:{s:8:"sphinxql";s:154:"CALL SNIPPETS ('молоко такое же молока и так же молоком но не ком', 'aot_plain', 'молоком', 1 as query_mode)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:109:"молоко такое же молока и так же молоком но не ком";}}}i:215;a:3:{s:8:"sphinxql";s:154:"CALL SNIPPETS ('молоко такое же молока и так же молоком но не ком', 'aot_exact', 'молоком', 1 as query_mode)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:109:"молоко такое же молока и так же молоком но не ком";}}}i:216;a:3:{s:8:"sphinxql";s:155:"CALL SNIPPETS ('молоко такое же молока и так же молоком но не ком', 'aot_plain', '=молоком', 1 as query_mode)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:109:"молоко такое же молока и так же молоком но не ком";}}}i:217;a:3:{s:8:"sphinxql";s:155:"CALL SNIPPETS ('молоко такое же молока и так же молоком но не ком', 'aot_exact', '=молоком', 1 as query_mode)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:95:"молоко такое же молока и так же молоком но не ком";}}}i:218;a:3:{s:8:"sphinxql";s:152:"CALL SNIPPETS ('молоко такое же молока и так же молоком но не ком', 'aot_plain', 'молоко', 1 as query_mode)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:109:"молоко такое же молока и так же молоком но не ком";}}}i:219;a:3:{s:8:"sphinxql";s:152:"CALL SNIPPETS ('молоко такое же молока и так же молоком но не ком', 'aot_exact', 'молоко', 1 as query_mode)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:109:"молоко такое же молока и так же молоком но не ком";}}}i:220;a:3:{s:8:"sphinxql";s:153:"CALL SNIPPETS ('молоко такое же молока и так же молоком но не ком', 'aot_plain', '=молоко', 1 as query_mode)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:109:"молоко такое же молока и так же молоком но не ком";}}}i:221;a:3:{s:8:"sphinxql";s:153:"CALL SNIPPETS ('молоко такое же молока и так же молоком но не ком', 'aot_exact', '=молоко', 1 as query_mode)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:95:"молоко такое же молока и так же молоком но не ком";}}}i:222;a:3:{s:8:"sphinxql";s:153:"CALL SNIPPETS ('молоко такое же молока и так же молоком но не ком', 'aot_plain', '=молока', 1 as query_mode)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:109:"молоко такое же молока и так же молоком но не ком";}}}i:223;a:3:{s:8:"sphinxql";s:153:"CALL SNIPPETS ('молоко такое же молока и так же молоком но не ком', 'aot_exact', '=молока', 1 as query_mode)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:95:"молоко такое же молока и так же молоком но не ком";}}}i:224;a:3:{s:8:"sphinxql";s:90:"CALL SNIPPETS ('молочная ферма', 'aot_plain', 'молок*', 1 as query_mode)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:27:"молочная ферма";}}}i:225;a:3:{s:8:"sphinxql";s:90:"CALL SNIPPETS ('молочная ферма', 'aot_exact', 'молок*', 1 as query_mode)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:27:"молочная ферма";}}}i:226;a:3:{s:8:"sphinxql";s:147:"CALL SNIPPETS ('молоко такое же молока и так же молоком но не ком', 'aot_plain', 'мол*', 1 as query_mode)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:88:"молоко такое же молока и так же молоком но не ком";}}}i:227;a:3:{s:8:"sphinxql";s:147:"CALL SNIPPETS ('молоко такое же молока и так же молоком но не ком', 'aot_exact', 'мол*', 1 as query_mode)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:109:"молоко такое же молока и так же молоком но не ком";}}}i:228;a:3:{s:8:"sphinxql";s:107:"CALL SNIPPETS ('много стресса. от багов.', 'aot_plain', 'стресс', 1 as query_mode)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:50:"много стресса. от багов.";}}}i:229;a:3:{s:8:"sphinxql";s:107:"CALL SNIPPETS ('много стресса. от багов.', 'aot_exact', 'стресс', 1 as query_mode)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:50:"много стресса. от багов.";}}}}}sphinx-2.2.11-release/test/test_218/0000755000175000017500000000000012743402012016407 5ustar alexeyalexeysphinx-2.2.11-release/test/test_218/wordforms.txt0000644000175000017500000000003012743402012021163 0ustar alexeyalexeyquerymapped > inbetween1sphinx-2.2.11-release/test/test_218/test.xml0000644000175000017500000002011312743402012020105 0ustar alexeyalexey CJK via RLP indexer { mem_limit = 16M } searchd { workers = threads } source test { type = mysql sql_query_pre = set names utf8 sql_query = select * from test_table sql_file_field = file_field } source test_xml { type = xmlpipe2 xmlpipe_command = cat /data.xml } index base { source = test path = /base charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F, \ U+2E80..U+2EF3, U+2F00..U+2FD5, U+3105..U+312D, U+31C0..U+31E3, U+3400..U+4DB5, U+4E00..U+9FCC, \ U+F900..U+FAD9, U+20000..U+2FA1D morphology = rlp_chinese, stem_enru morphology = rlp_chinese_batched, stem_enru blend_chars = - rlp_context = ../rlp/samples/etc/rlp-chinese-context.xml } index test : base { source = test path = /test wordforms = /wordforms.txt } index test2 : base { type = rt path = /test2 rt_field = title rt_attr_uint = tag } index test_stripped : base { source = test path = /test_stripped html_strip = 1 } index test_xml : base { source = test_xml path = /test_xml wordforms = /wordforms.txt } source test_spec { type = mysql sql_query_pre = set names utf8 sql_query = select 100 id, 'the 凤1 a' title, 11 as idd UNION select 200 id, '凤1' title, 11 as idd UNION select 300 id, '凤1 轉注转注' title, 11 as idd UNION select 400 id, '凤 注 轉凤' title, 11 as idd sql_field_string = title sql_attr_uint = idd } index test_spec { source = test_spec path = /test_spec charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F, \ U+2E80..U+2EF3, U+2F00..U+2FD5, U+3105..U+312D, U+31C0..U+31E3, U+3400..U+4DB5, U+4E00..U+9FCC, \ U+F900..U+FAD9, U+20000..U+2FA1D morphology = rlp_chinese_batched rlp_context = ../rlp/samples/etc/rlp-chinese-context.xml } common { rlp_root = .. rlp_environment = ../rlp/etc/rlp-environment.xml } CREATE TABLE test_table ( id INTEGER PRIMARY KEY NOT NULL, content VARCHAR(255) NOT NULL ) DROP TABLE IF EXISTS test_table SET NAMES utf8 INSERT INTO test_table VALUES ( 100, 'this is some mixed text in english. and some blended aaa-bbb' ), ( 101, '許多社區長青學苑多開設有書法、插花、土風舞班,' ), ( 102, 'а это - текст на русском. mixed in fact. test tested. more blended aaa-bbb' ), ( 103, '文山區長青學苑則有個十分特別的「英文歌唱班」,test; mixed blended aaa-bbb' ), ( 104, '成員年齡均超過六十歲,tested' ), ( 105, '這群白髮蒼蒼,test2' ), ( 106, '這群白髮蒼蒼 RUINED 這群白髮蒼蒼' ), ( 107, '<div class="msgCnt">说说<a href="http://k.t.qq.com/k/%E4%BB%8A%E5%A4%A9%E7%9A%84%E5%BF%83%E6%83%85">#今天的心情#</a>:</div>' ), ( 108, '這群白inbetween1這群白' ) select * from test where match('mix') select * from test where match('русский') select * from test where match('test') select * from test where match('test2') select * from test where match('許多') select * from test where match('則') select * from test where match('來') select * from test where match('這群白髮蒼蒼,') select * from test where match('ruin') select * from test where match('aaa') select * from test where match('bbb') select * from test where match('aaa-bbb') select * from test where match('msgCnt') select * from test where match('今天的心情') select * from test where match('@content 則') select * from test where match('querymapped') select * from test_xml where match('mix') select * from test_xml where match('русский') select * from test_xml where match('test') select * from test_xml where match('test2') select * from test_xml where match('許多') select * from test_xml where match('則') select * from test_xml where match('來') select * from test_xml where match('這群白髮蒼蒼,') select * from test_xml where match('ruin') select * from test_xml where match('aaa') select * from test_xml where match('bbb') select * from test_xml where match('aaa-bbb') select * from test_xml where match('msgCnt') select * from test_xml where match('今天的心情') select * from test_xml where match('@content 則') insert into test2 values(1,'this is some mixed text in english. and some blended aaa-bbb',10 ) insert into test2 values(2,'許多社區長青學苑多開設有書法、插花、土風舞班,',11 ) insert into test2 values(3,'а это - текст на русском. mixed in fact. test tested. more blended aaa-bbb',12 ) insert into test2 values(4,'文山區長青學苑則有個十分特別的「英文歌唱班」,test; mixed blended aaa-bbb', 13 ) insert into test2 values(5,'成員年齡均超過六十歲,tested', 14 ) insert into test2 values(6,'這群白髮蒼蒼,test2', 15 ) insert into test2 values(7,'這群白髮蒼蒼 RUINED 這群白髮蒼蒼', 16 ) insert into test2 values(8,'<div class="msgCnt">说说<a href="http://k.t.qq.com/k/%E4%BB%8A%E5%A4%A9%E7%9A%84%E5%BF%83%E6%83%85">#今天的心情#</a>:</div>', 17 ) select * from test2 where match('mix') select * from test2 where match('русский') select * from test2 where match('test') select * from test2 where match('test2') select * from test2 where match('許多') select * from test2 where match('則') select * from test2 where match('來') select * from test2 where match('這群白髮蒼蒼,') select * from test2 where match('ruin') select * from test2 where match('aaa') select * from test2 where match('bbb') select * from test2 where match('aaa-bbb') select * from test2 where match('msgCnt') select * from test2 where match('今天的心情') select * from test2 where match('@title 則') select * from test_stripped where match('msgCnt') select * from test_stripped where match('今天的心情') select * from test_spec where match('凤1 凤凤凤 轉注转注') select * from test_spec where match('凤1 凤凤凤 轉注转注') select * from test_spec where match('"凤1"') select * from test_spec where match('凤1') select * from test_spec where match('^凤 轉注$') select * from test_spec where match('注 ^凤 轉凤$ 注') select * from test_spec where match('凤 !注') sphinx-2.2.11-release/test/test_218/model.bin0000644000175000017500000005600212743402012020204 0ustar alexeyalexeya:2:{i:0;a:63:{i:0;a:3:{s:8:"sphinxql";s:37:"select * from test where match('mix')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"id";s:3:"100";}i:1;a:1:{s:2:"id";s:3:"102";}i:2;a:1:{s:2:"id";s:3:"103";}}}i:1;a:3:{s:8:"sphinxql";s:48:"select * from test where match('русский')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"102";}}}i:2;a:3:{s:8:"sphinxql";s:38:"select * from test where match('test')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"id";s:3:"102";}i:1;a:1:{s:2:"id";s:3:"103";}i:2;a:1:{s:2:"id";s:3:"104";}}}i:3;a:3:{s:8:"sphinxql";s:39:"select * from test where match('test2')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"105";}}}i:4;a:3:{s:8:"sphinxql";s:40:"select * from test where match('許多')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"101";}}}i:5;a:3:{s:8:"sphinxql";s:37:"select * from test where match('則')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"103";}}}i:6;a:2:{s:8:"sphinxql";s:37:"select * from test where match('來')";s:10:"total_rows";i:0;}i:7;a:3:{s:8:"sphinxql";s:55:"select * from test where match('這群白髮蒼蒼,')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:3:"106";}i:1;a:1:{s:2:"id";s:3:"105";}}}i:8;a:3:{s:8:"sphinxql";s:38:"select * from test where match('ruin')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"106";}}}i:9;a:3:{s:8:"sphinxql";s:37:"select * from test where match('aaa')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"id";s:3:"100";}i:1;a:1:{s:2:"id";s:3:"102";}i:2;a:1:{s:2:"id";s:3:"103";}}}i:10;a:3:{s:8:"sphinxql";s:37:"select * from test where match('bbb')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"id";s:3:"100";}i:1;a:1:{s:2:"id";s:3:"102";}i:2;a:1:{s:2:"id";s:3:"103";}}}i:11;a:3:{s:8:"sphinxql";s:41:"select * from test where match('aaa-bbb')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"id";s:3:"100";}i:1;a:1:{s:2:"id";s:3:"102";}i:2;a:1:{s:2:"id";s:3:"103";}}}i:12;a:3:{s:8:"sphinxql";s:40:"select * from test where match('msgCnt')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"107";}}}i:13;a:3:{s:8:"sphinxql";s:49:"select * from test where match('今天的心情')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"107";}}}i:14;a:3:{s:8:"sphinxql";s:46:"select * from test where match('@content 則')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"103";}}}i:15;a:3:{s:8:"sphinxql";s:45:"select * from test where match('querymapped')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"108";}}}i:16;a:3:{s:8:"sphinxql";s:41:"select * from test_xml where match('mix')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"100";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:3:"102";s:3:"gid";s:1:"3";}i:2;a:2:{s:2:"id";s:3:"103";s:3:"gid";s:1:"4";}}}i:17;a:3:{s:8:"sphinxql";s:52:"select * from test_xml where match('русский')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"102";s:3:"gid";s:1:"3";}}}i:18;a:3:{s:8:"sphinxql";s:42:"select * from test_xml where match('test')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"102";s:3:"gid";s:1:"3";}i:1;a:2:{s:2:"id";s:3:"103";s:3:"gid";s:1:"4";}i:2;a:2:{s:2:"id";s:3:"104";s:3:"gid";s:1:"5";}}}i:19;a:3:{s:8:"sphinxql";s:43:"select * from test_xml where match('test2')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"105";s:3:"gid";s:1:"6";}}}i:20;a:3:{s:8:"sphinxql";s:44:"select * from test_xml where match('許多')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"101";s:3:"gid";s:1:"2";}}}i:21;a:3:{s:8:"sphinxql";s:41:"select * from test_xml where match('則')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"103";s:3:"gid";s:1:"4";}}}i:22;a:2:{s:8:"sphinxql";s:41:"select * from test_xml where match('來')";s:10:"total_rows";i:0;}i:23;a:3:{s:8:"sphinxql";s:59:"select * from test_xml where match('這群白髮蒼蒼,')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:3:"106";s:3:"gid";s:1:"7";}i:1;a:2:{s:2:"id";s:3:"105";s:3:"gid";s:1:"6";}}}i:24;a:3:{s:8:"sphinxql";s:42:"select * from test_xml where match('ruin')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"106";s:3:"gid";s:1:"7";}}}i:25;a:3:{s:8:"sphinxql";s:41:"select * from test_xml where match('aaa')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"100";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:3:"102";s:3:"gid";s:1:"3";}i:2;a:2:{s:2:"id";s:3:"103";s:3:"gid";s:1:"4";}}}i:26;a:3:{s:8:"sphinxql";s:41:"select * from test_xml where match('bbb')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"100";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:3:"102";s:3:"gid";s:1:"3";}i:2;a:2:{s:2:"id";s:3:"103";s:3:"gid";s:1:"4";}}}i:27;a:3:{s:8:"sphinxql";s:45:"select * from test_xml where match('aaa-bbb')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"100";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:3:"102";s:3:"gid";s:1:"3";}i:2;a:2:{s:2:"id";s:3:"103";s:3:"gid";s:1:"4";}}}i:28;a:3:{s:8:"sphinxql";s:44:"select * from test_xml where match('msgCnt')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"107";s:3:"gid";s:1:"8";}}}i:29;a:3:{s:8:"sphinxql";s:53:"select * from test_xml where match('今天的心情')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"107";s:3:"gid";s:1:"8";}}}i:30;a:3:{s:8:"sphinxql";s:50:"select * from test_xml where match('@content 則')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"103";s:3:"gid";s:1:"4";}}}i:31;a:2:{s:8:"sphinxql";s:94:"insert into test2 values(1,'this is some mixed text in english. and some blended aaa-bbb',10 )";s:14:"total_affected";i:1;}i:32;a:2:{s:8:"sphinxql";s:103:"insert into test2 values(2,'許多社區長青學苑多開設有書法、插花、土風舞班,',11 )";s:14:"total_affected";i:1;}i:33;a:2:{s:8:"sphinxql";s:126:"insert into test2 values(3,'а это - текст на русском. mixed in fact. test tested. more blended aaa-bbb',12 )";s:14:"total_affected";i:1;}i:34;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:131:"insert into test2 values(4,'文山區長青學苑則有個十分特別的「英文歌唱班」,test; mixed blended aaa-bbb', 13 )";}i:35;a:2:{s:8:"sphinxql";s:74:"insert into test2 values(5,'成員年齡均超過六十歲,tested', 14 )";s:14:"total_affected";i:1;}i:36;a:2:{s:8:"sphinxql";s:61:"insert into test2 values(6,'這群白髮蒼蒼,test2', 15 )";s:14:"total_affected";i:1;}i:37;a:2:{s:8:"sphinxql";s:79:"insert into test2 values(7,'這群白髮蒼蒼 RUINED 這群白髮蒼蒼', 16 )";s:14:"total_affected";i:1;}i:38;a:2:{s:8:"sphinxql";s:167:"insert into test2 values(8,'', 17 )";s:14:"total_affected";i:1;}i:39;a:3:{s:8:"sphinxql";s:38:"select * from test2 where match('mix')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"tag";s:2:"10";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"tag";s:2:"12";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"tag";s:2:"13";}}}i:40;a:3:{s:8:"sphinxql";s:49:"select * from test2 where match('русский')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"tag";s:2:"12";}}}i:41;a:3:{s:8:"sphinxql";s:39:"select * from test2 where match('test')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"tag";s:2:"12";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"tag";s:2:"13";}i:2;a:2:{s:2:"id";s:1:"5";s:3:"tag";s:2:"14";}}}i:42;a:3:{s:8:"sphinxql";s:40:"select * from test2 where match('test2')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"6";s:3:"tag";s:2:"15";}}}i:43;a:3:{s:8:"sphinxql";s:41:"select * from test2 where match('許多')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"tag";s:2:"11";}}}i:44;a:3:{s:8:"sphinxql";s:38:"select * from test2 where match('則')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"tag";s:2:"13";}}}i:45;a:2:{s:8:"sphinxql";s:38:"select * from test2 where match('來')";s:10:"total_rows";i:0;}i:46;a:3:{s:8:"sphinxql";s:56:"select * from test2 where match('這群白髮蒼蒼,')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"7";s:3:"tag";s:2:"16";}i:1;a:2:{s:2:"id";s:1:"6";s:3:"tag";s:2:"15";}}}i:47;a:3:{s:8:"sphinxql";s:39:"select * from test2 where match('ruin')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"7";s:3:"tag";s:2:"16";}}}i:48;a:3:{s:8:"sphinxql";s:38:"select * from test2 where match('aaa')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"tag";s:2:"10";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"tag";s:2:"12";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"tag";s:2:"13";}}}i:49;a:3:{s:8:"sphinxql";s:38:"select * from test2 where match('bbb')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"tag";s:2:"10";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"tag";s:2:"12";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"tag";s:2:"13";}}}i:50;a:3:{s:8:"sphinxql";s:42:"select * from test2 where match('aaa-bbb')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"tag";s:2:"10";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"tag";s:2:"12";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"tag";s:2:"13";}}}i:51;a:3:{s:8:"sphinxql";s:41:"select * from test2 where match('msgCnt')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"8";s:3:"tag";s:2:"17";}}}i:52;a:3:{s:8:"sphinxql";s:50:"select * from test2 where match('今天的心情')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"8";s:3:"tag";s:2:"17";}}}i:53;a:3:{s:8:"sphinxql";s:45:"select * from test2 where match('@title 則')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"tag";s:2:"13";}}}i:54;a:2:{s:8:"sphinxql";s:49:"select * from test_stripped where match('msgCnt')";s:10:"total_rows";i:0;}i:55;a:3:{s:8:"sphinxql";s:58:"select * from test_stripped where match('今天的心情')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"107";}}}i:56;a:3:{s:8:"sphinxql";s:66:"select * from test_spec where match('凤1 凤凤凤 轉注转注')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:3:"300";s:5:"title";s:17:"凤1 轉注转注";s:3:"idd";s:2:"11";}}}i:57;a:3:{s:8:"sphinxql";s:69:"select * from test_spec where match('凤1 凤凤凤 轉注转注')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:3:"300";s:5:"title";s:17:"凤1 轉注转注";s:3:"idd";s:2:"11";}}}i:58;a:3:{s:8:"sphinxql";s:45:"select * from test_spec where match('"凤1"')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:3:"100";s:5:"title";s:10:"the 凤1 a";s:3:"idd";s:2:"11";}i:1;a:3:{s:2:"id";s:3:"200";s:5:"title";s:4:"凤1";s:3:"idd";s:2:"11";}i:2;a:3:{s:2:"id";s:3:"300";s:5:"title";s:17:"凤1 轉注转注";s:3:"idd";s:2:"11";}}}i:59;a:3:{s:8:"sphinxql";s:43:"select * from test_spec where match('凤1')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:3:"100";s:5:"title";s:10:"the 凤1 a";s:3:"idd";s:2:"11";}i:1;a:3:{s:2:"id";s:3:"200";s:5:"title";s:4:"凤1";s:3:"idd";s:2:"11";}i:2;a:3:{s:2:"id";s:3:"300";s:5:"title";s:17:"凤1 轉注转注";s:3:"idd";s:2:"11";}}}i:60;a:2:{s:8:"sphinxql";s:51:"select * from test_spec where match('^凤 轉注$')";s:10:"total_rows";i:0;}i:61;a:3:{s:8:"sphinxql";s:59:"select * from test_spec where match('注 ^凤 轉凤$ 注')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:3:"400";s:5:"title";s:14:"凤 注 轉凤";s:3:"idd";s:2:"11";}}}i:62;a:3:{s:8:"sphinxql";s:47:"select * from test_spec where match('凤 !注')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:3:"100";s:5:"title";s:10:"the 凤1 a";s:3:"idd";s:2:"11";}i:1;a:3:{s:2:"id";s:3:"200";s:5:"title";s:4:"凤1";s:3:"idd";s:2:"11";}i:2;a:3:{s:2:"id";s:3:"300";s:5:"title";s:17:"凤1 轉注转注";s:3:"idd";s:2:"11";}}}}i:1;a:63:{i:0;a:3:{s:8:"sphinxql";s:37:"select * from test where match('mix')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"id";s:3:"100";}i:1;a:1:{s:2:"id";s:3:"102";}i:2;a:1:{s:2:"id";s:3:"103";}}}i:1;a:3:{s:8:"sphinxql";s:48:"select * from test where match('русский')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"102";}}}i:2;a:3:{s:8:"sphinxql";s:38:"select * from test where match('test')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"id";s:3:"102";}i:1;a:1:{s:2:"id";s:3:"103";}i:2;a:1:{s:2:"id";s:3:"104";}}}i:3;a:3:{s:8:"sphinxql";s:39:"select * from test where match('test2')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"105";}}}i:4;a:3:{s:8:"sphinxql";s:40:"select * from test where match('許多')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"101";}}}i:5;a:3:{s:8:"sphinxql";s:37:"select * from test where match('則')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"103";}}}i:6;a:2:{s:8:"sphinxql";s:37:"select * from test where match('來')";s:10:"total_rows";i:0;}i:7;a:3:{s:8:"sphinxql";s:55:"select * from test where match('這群白髮蒼蒼,')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:3:"106";}i:1;a:1:{s:2:"id";s:3:"105";}}}i:8;a:3:{s:8:"sphinxql";s:38:"select * from test where match('ruin')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"106";}}}i:9;a:3:{s:8:"sphinxql";s:37:"select * from test where match('aaa')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"id";s:3:"100";}i:1;a:1:{s:2:"id";s:3:"102";}i:2;a:1:{s:2:"id";s:3:"103";}}}i:10;a:3:{s:8:"sphinxql";s:37:"select * from test where match('bbb')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"id";s:3:"100";}i:1;a:1:{s:2:"id";s:3:"102";}i:2;a:1:{s:2:"id";s:3:"103";}}}i:11;a:3:{s:8:"sphinxql";s:41:"select * from test where match('aaa-bbb')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"id";s:3:"100";}i:1;a:1:{s:2:"id";s:3:"102";}i:2;a:1:{s:2:"id";s:3:"103";}}}i:12;a:3:{s:8:"sphinxql";s:40:"select * from test where match('msgCnt')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"107";}}}i:13;a:3:{s:8:"sphinxql";s:49:"select * from test where match('今天的心情')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"107";}}}i:14;a:3:{s:8:"sphinxql";s:46:"select * from test where match('@content 則')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"103";}}}i:15;a:3:{s:8:"sphinxql";s:45:"select * from test where match('querymapped')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"108";}}}i:16;a:3:{s:8:"sphinxql";s:41:"select * from test_xml where match('mix')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"100";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:3:"102";s:3:"gid";s:1:"3";}i:2;a:2:{s:2:"id";s:3:"103";s:3:"gid";s:1:"4";}}}i:17;a:3:{s:8:"sphinxql";s:52:"select * from test_xml where match('русский')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"102";s:3:"gid";s:1:"3";}}}i:18;a:3:{s:8:"sphinxql";s:42:"select * from test_xml where match('test')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"102";s:3:"gid";s:1:"3";}i:1;a:2:{s:2:"id";s:3:"103";s:3:"gid";s:1:"4";}i:2;a:2:{s:2:"id";s:3:"104";s:3:"gid";s:1:"5";}}}i:19;a:3:{s:8:"sphinxql";s:43:"select * from test_xml where match('test2')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"105";s:3:"gid";s:1:"6";}}}i:20;a:3:{s:8:"sphinxql";s:44:"select * from test_xml where match('許多')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"101";s:3:"gid";s:1:"2";}}}i:21;a:3:{s:8:"sphinxql";s:41:"select * from test_xml where match('則')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"103";s:3:"gid";s:1:"4";}}}i:22;a:2:{s:8:"sphinxql";s:41:"select * from test_xml where match('來')";s:10:"total_rows";i:0;}i:23;a:3:{s:8:"sphinxql";s:59:"select * from test_xml where match('這群白髮蒼蒼,')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:3:"106";s:3:"gid";s:1:"7";}i:1;a:2:{s:2:"id";s:3:"105";s:3:"gid";s:1:"6";}}}i:24;a:3:{s:8:"sphinxql";s:42:"select * from test_xml where match('ruin')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"106";s:3:"gid";s:1:"7";}}}i:25;a:3:{s:8:"sphinxql";s:41:"select * from test_xml where match('aaa')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"100";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:3:"102";s:3:"gid";s:1:"3";}i:2;a:2:{s:2:"id";s:3:"103";s:3:"gid";s:1:"4";}}}i:26;a:3:{s:8:"sphinxql";s:41:"select * from test_xml where match('bbb')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"100";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:3:"102";s:3:"gid";s:1:"3";}i:2;a:2:{s:2:"id";s:3:"103";s:3:"gid";s:1:"4";}}}i:27;a:3:{s:8:"sphinxql";s:45:"select * from test_xml where match('aaa-bbb')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"100";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:3:"102";s:3:"gid";s:1:"3";}i:2;a:2:{s:2:"id";s:3:"103";s:3:"gid";s:1:"4";}}}i:28;a:3:{s:8:"sphinxql";s:44:"select * from test_xml where match('msgCnt')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"107";s:3:"gid";s:1:"8";}}}i:29;a:3:{s:8:"sphinxql";s:53:"select * from test_xml where match('今天的心情')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"107";s:3:"gid";s:1:"8";}}}i:30;a:3:{s:8:"sphinxql";s:50:"select * from test_xml where match('@content 則')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"103";s:3:"gid";s:1:"4";}}}i:31;a:2:{s:8:"sphinxql";s:94:"insert into test2 values(1,'this is some mixed text in english. and some blended aaa-bbb',10 )";s:14:"total_affected";i:1;}i:32;a:2:{s:8:"sphinxql";s:103:"insert into test2 values(2,'許多社區長青學苑多開設有書法、插花、土風舞班,',11 )";s:14:"total_affected";i:1;}i:33;a:2:{s:8:"sphinxql";s:126:"insert into test2 values(3,'а это - текст на русском. mixed in fact. test tested. more blended aaa-bbb',12 )";s:14:"total_affected";i:1;}i:34;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:131:"insert into test2 values(4,'文山區長青學苑則有個十分特別的「英文歌唱班」,test; mixed blended aaa-bbb', 13 )";}i:35;a:2:{s:8:"sphinxql";s:74:"insert into test2 values(5,'成員年齡均超過六十歲,tested', 14 )";s:14:"total_affected";i:1;}i:36;a:2:{s:8:"sphinxql";s:61:"insert into test2 values(6,'這群白髮蒼蒼,test2', 15 )";s:14:"total_affected";i:1;}i:37;a:2:{s:8:"sphinxql";s:79:"insert into test2 values(7,'這群白髮蒼蒼 RUINED 這群白髮蒼蒼', 16 )";s:14:"total_affected";i:1;}i:38;a:2:{s:8:"sphinxql";s:167:"insert into test2 values(8,'', 17 )";s:14:"total_affected";i:1;}i:39;a:3:{s:8:"sphinxql";s:38:"select * from test2 where match('mix')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"tag";s:2:"10";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"tag";s:2:"12";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"tag";s:2:"13";}}}i:40;a:3:{s:8:"sphinxql";s:49:"select * from test2 where match('русский')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"tag";s:2:"12";}}}i:41;a:3:{s:8:"sphinxql";s:39:"select * from test2 where match('test')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"tag";s:2:"12";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"tag";s:2:"13";}i:2;a:2:{s:2:"id";s:1:"5";s:3:"tag";s:2:"14";}}}i:42;a:3:{s:8:"sphinxql";s:40:"select * from test2 where match('test2')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"6";s:3:"tag";s:2:"15";}}}i:43;a:3:{s:8:"sphinxql";s:41:"select * from test2 where match('許多')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"tag";s:2:"11";}}}i:44;a:3:{s:8:"sphinxql";s:38:"select * from test2 where match('則')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"tag";s:2:"13";}}}i:45;a:2:{s:8:"sphinxql";s:38:"select * from test2 where match('來')";s:10:"total_rows";i:0;}i:46;a:3:{s:8:"sphinxql";s:56:"select * from test2 where match('這群白髮蒼蒼,')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"7";s:3:"tag";s:2:"16";}i:1;a:2:{s:2:"id";s:1:"6";s:3:"tag";s:2:"15";}}}i:47;a:3:{s:8:"sphinxql";s:39:"select * from test2 where match('ruin')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"7";s:3:"tag";s:2:"16";}}}i:48;a:3:{s:8:"sphinxql";s:38:"select * from test2 where match('aaa')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"tag";s:2:"10";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"tag";s:2:"12";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"tag";s:2:"13";}}}i:49;a:3:{s:8:"sphinxql";s:38:"select * from test2 where match('bbb')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"tag";s:2:"10";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"tag";s:2:"12";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"tag";s:2:"13";}}}i:50;a:3:{s:8:"sphinxql";s:42:"select * from test2 where match('aaa-bbb')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"tag";s:2:"10";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"tag";s:2:"12";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"tag";s:2:"13";}}}i:51;a:3:{s:8:"sphinxql";s:41:"select * from test2 where match('msgCnt')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"8";s:3:"tag";s:2:"17";}}}i:52;a:3:{s:8:"sphinxql";s:50:"select * from test2 where match('今天的心情')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"8";s:3:"tag";s:2:"17";}}}i:53;a:3:{s:8:"sphinxql";s:45:"select * from test2 where match('@title 則')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"tag";s:2:"13";}}}i:54;a:2:{s:8:"sphinxql";s:49:"select * from test_stripped where match('msgCnt')";s:10:"total_rows";i:0;}i:55;a:3:{s:8:"sphinxql";s:58:"select * from test_stripped where match('今天的心情')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"107";}}}i:56;a:3:{s:8:"sphinxql";s:66:"select * from test_spec where match('凤1 凤凤凤 轉注转注')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:3:"300";s:5:"title";s:17:"凤1 轉注转注";s:3:"idd";s:2:"11";}}}i:57;a:3:{s:8:"sphinxql";s:69:"select * from test_spec where match('凤1 凤凤凤 轉注转注')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:3:"300";s:5:"title";s:17:"凤1 轉注转注";s:3:"idd";s:2:"11";}}}i:58;a:3:{s:8:"sphinxql";s:45:"select * from test_spec where match('"凤1"')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:3:"100";s:5:"title";s:10:"the 凤1 a";s:3:"idd";s:2:"11";}i:1;a:3:{s:2:"id";s:3:"200";s:5:"title";s:4:"凤1";s:3:"idd";s:2:"11";}i:2;a:3:{s:2:"id";s:3:"300";s:5:"title";s:17:"凤1 轉注转注";s:3:"idd";s:2:"11";}}}i:59;a:3:{s:8:"sphinxql";s:43:"select * from test_spec where match('凤1')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:3:"100";s:5:"title";s:10:"the 凤1 a";s:3:"idd";s:2:"11";}i:1;a:3:{s:2:"id";s:3:"200";s:5:"title";s:4:"凤1";s:3:"idd";s:2:"11";}i:2;a:3:{s:2:"id";s:3:"300";s:5:"title";s:17:"凤1 轉注转注";s:3:"idd";s:2:"11";}}}i:60;a:2:{s:8:"sphinxql";s:51:"select * from test_spec where match('^凤 轉注$')";s:10:"total_rows";i:0;}i:61;a:3:{s:8:"sphinxql";s:59:"select * from test_spec where match('注 ^凤 轉凤$ 注')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:3:"400";s:5:"title";s:14:"凤 注 轉凤";s:3:"idd";s:2:"11";}}}i:62;a:3:{s:8:"sphinxql";s:47:"select * from test_spec where match('凤 !注')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:3:"100";s:5:"title";s:10:"the 凤1 a";s:3:"idd";s:2:"11";}i:1;a:3:{s:2:"id";s:3:"200";s:5:"title";s:4:"凤1";s:3:"idd";s:2:"11";}i:2;a:3:{s:2:"id";s:3:"300";s:5:"title";s:17:"凤1 轉注转注";s:3:"idd";s:2:"11";}}}}}sphinx-2.2.11-release/test/test_218/data.xml0000644000175000017500000000256512743402012020052 0ustar alexeyalexey this is some mixed text in english. and some blended aaa-bbb 1 許多社區長青學苑多開設有書法、插花、土風舞班, 2 а это - текст на русском. mixed in fact. test tested. more blended aaa-bbb 3 文山區長青學苑則有個十分特別的「英文歌唱班」,test; mixed blended aaa-bbb 4 成員年齡均超過六十歲,tested 5 這群白髮蒼蒼,test2 6 這群白髮蒼蒼 RUINED 這群白髮蒼蒼 7 <div class="msgCnt">说说<a href="http://k.t.qq.com/k/%E4%BB%8A%E5%A4%A9%E7%9A%84%E5%BF%83%E6%83%85">#今天的心情#</a>:</div> 8 sphinx-2.2.11-release/test/test_217/0000755000175000017500000000000012743402012016406 5ustar alexeyalexeysphinx-2.2.11-release/test/test_217/test.xml0000644000175000017500000000742712743402012020121 0ustar alexeyalexey ranker internals (PACKEDFACTORS(), different IDF variants, etc) indexer { mem_limit = 16M } searchd { } source test { type = mysql sql_query = select * from test_table sql_attr_uint = gid } index test { source = test path = /test index_field_lengths = 1 } index test_stop { source = test path = /test_stop stopwords = stopwords.txt } CREATE TABLE test_table ( id INTEGER PRIMARY KEY NOT NULL, gid INTEGER NOT NULL, title VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table VALUES ( 1, 123, 'THE document collection. Aiming for exactly 10 docs.' ), ( 2, 123, 'the idftest2' ), ( 3, 123, 'the idftest2 and idftest1' ), ( 4, 123, 'the' ), ( 5, 123, 'the' ), ( 6, 123, 'the' ), ( 7, 123, 'the' ), ( 8, 123, 'the' ), ( 9, 123, 'the' ), ( 10, 123, 'the' ) select *, weight(), packedfactors() from test where match('the') option ranker=expr('1000000+1000000*sum(sum_idf)') select *, weight(), packedfactors() from test where match('the') option idf=plain, ranker=expr('1000000+1000000*sum(sum_idf)') select *, weight(), packedfactors() from test where match('idftest1') option idf=normalized, ranker=expr('1000000+1000000*sum(sum_idf)') select *, weight(), packedfactors() from test where match('idftest1') option idf=plain, ranker=expr('1000000+1000000*sum(sum_idf)') select *, weight(), packedfactors() from test where match('idftest1') option idf='plain,tfidf_unnormalized', ranker=expr('1000000+1000000*sum(sum_idf)') select *, weight(), packedfactors() from test where match('idftest1 | fnord') option idf=normalized, ranker=expr('1000000+1000000*sum(sum_idf)') select *, weight(), packedfactors() from test where match('idftest1 | fnord') option idf=plain, ranker=expr('1000000+1000000*sum(sum_idf)') select *, weight(), packedfactors() from test where match('idftest1 | fnord') option idf='plain,tfidf_unnormalized', ranker=expr('1000000+1000000*sum(sum_idf)') select *, weight(), packedfactors() from test where match('idftest1 the') option idf='plain,tfidf_unnormalized', ranker=expr('1') select *, weight(), packedfactors() from test where match('and idftest1 the') option idf='plain,tfidf_unnormalized', ranker=expr('1') select *, weight(), packedfactors() from test where match('the idftest1') option idf='plain,tfidf_unnormalized', ranker=expr('1') select *, weight(), packedfactors() from test where match('the and idftest1') option idf='plain,tfidf_unnormalized', ranker=expr('1') select *, weight(), factors({json=1}) from test where match('idftest1 the') option idf='plain,tfidf_unnormalized', ranker=expr('1') select *, weight(), packedfactors({json=1}) from test where match('and idftest1 the') option idf='plain,tfidf_unnormalized', ranker=expr('1') select *, weight(), factors({json=1}) from test where match('the idftest1') option idf='plain,tfidf_unnormalized', ranker=expr('1') select *, weight(), packedfactors({json=1}) from test where match('the and idftest1') option idf='plain,tfidf_unnormalized', ranker=expr('1') select *, weight(), packedfactors({json=1}) from test_stop where match('the and idftest1') option idf='plain,tfidf_unnormalized', ranker=expr('1') sphinx-2.2.11-release/test/test_217/model.bin0000644000175000017500000005006212743402012020203 0ustar alexeyalexeya:1:{i:0;a:17:{i:0;a:3:{s:8:"sphinxql";s:115:"select *, weight(), packedfactors() from test where match('the') option ranker=expr('1000000+1000000*sum(sum_idf)')";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"8";s:8:"weight()";s:6:"519873";s:15:"packedfactors()";s:337:"bm25=281, bm25a=0.398463, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.480126, min_idf=-0.480126, max_idf=-0.480126, sum_idf=-0.480126, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.480126, atc=0.000000), word0=(tf=1, idf=-0.480126)";}i:1;a:5:{s:2:"id";s:1:"2";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"2";s:8:"weight()";s:6:"519873";s:15:"packedfactors()";s:337:"bm25=281, bm25a=0.277425, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.480126, min_idf=-0.480126, max_idf=-0.480126, sum_idf=-0.480126, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.480126, atc=0.000000), word0=(tf=1, idf=-0.480126)";}i:2;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"4";s:8:"weight()";s:6:"519873";s:15:"packedfactors()";s:337:"bm25=281, bm25a=0.340716, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.480126, min_idf=-0.480126, max_idf=-0.480126, sum_idf=-0.480126, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.480126, atc=0.000000), word0=(tf=1, idf=-0.480126)";}i:3;a:5:{s:2:"id";s:1:"4";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"1";s:8:"weight()";s:6:"519873";s:15:"packedfactors()";s:337:"bm25=281, bm25a=0.222241, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.480126, min_idf=-0.480126, max_idf=-0.480126, sum_idf=-0.480126, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.480126, atc=0.000000), word0=(tf=1, idf=-0.480126)";}i:4;a:5:{s:2:"id";s:1:"5";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"1";s:8:"weight()";s:6:"519873";s:15:"packedfactors()";s:337:"bm25=281, bm25a=0.222241, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.480126, min_idf=-0.480126, max_idf=-0.480126, sum_idf=-0.480126, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.480126, atc=0.000000), word0=(tf=1, idf=-0.480126)";}i:5;a:5:{s:2:"id";s:1:"6";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"1";s:8:"weight()";s:6:"519873";s:15:"packedfactors()";s:337:"bm25=281, bm25a=0.222241, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.480126, min_idf=-0.480126, max_idf=-0.480126, sum_idf=-0.480126, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.480126, atc=0.000000), word0=(tf=1, idf=-0.480126)";}i:6;a:5:{s:2:"id";s:1:"7";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"1";s:8:"weight()";s:6:"519873";s:15:"packedfactors()";s:337:"bm25=281, bm25a=0.222241, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.480126, min_idf=-0.480126, max_idf=-0.480126, sum_idf=-0.480126, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.480126, atc=0.000000), word0=(tf=1, idf=-0.480126)";}i:7;a:5:{s:2:"id";s:1:"8";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"1";s:8:"weight()";s:6:"519873";s:15:"packedfactors()";s:337:"bm25=281, bm25a=0.222241, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.480126, min_idf=-0.480126, max_idf=-0.480126, sum_idf=-0.480126, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.480126, atc=0.000000), word0=(tf=1, idf=-0.480126)";}i:8;a:5:{s:2:"id";s:1:"9";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"1";s:8:"weight()";s:6:"519873";s:15:"packedfactors()";s:337:"bm25=281, bm25a=0.222241, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.480126, min_idf=-0.480126, max_idf=-0.480126, sum_idf=-0.480126, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.480126, atc=0.000000), word0=(tf=1, idf=-0.480126)";}i:9;a:5:{s:2:"id";s:2:"10";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"1";s:8:"weight()";s:6:"519873";s:15:"packedfactors()";s:337:"bm25=281, bm25a=0.222241, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=-0.480126, min_idf=-0.480126, max_idf=-0.480126, sum_idf=-0.480126, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=-0.480126, atc=0.000000), word0=(tf=1, idf=-0.480126)";}}}i:1;a:3:{s:8:"sphinxql";s:126:"select *, weight(), packedfactors() from test where match('the') option idf=plain, ranker=expr('1000000+1000000*sum(sum_idf)')";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"8";s:8:"weight()";s:7:"1000000";s:15:"packedfactors()";s:331:"bm25=500, bm25a=0.500000, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.000000, min_idf=0.000000, max_idf=0.000000, sum_idf=0.000000, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.000000, atc=0.000000), word0=(tf=1, idf=0.000000)";}i:1;a:5:{s:2:"id";s:1:"2";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"2";s:8:"weight()";s:7:"1000000";s:15:"packedfactors()";s:331:"bm25=500, bm25a=0.500000, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.000000, min_idf=0.000000, max_idf=0.000000, sum_idf=0.000000, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.000000, atc=0.000000), word0=(tf=1, idf=0.000000)";}i:2;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"4";s:8:"weight()";s:7:"1000000";s:15:"packedfactors()";s:331:"bm25=500, bm25a=0.500000, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.000000, min_idf=0.000000, max_idf=0.000000, sum_idf=0.000000, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.000000, atc=0.000000), word0=(tf=1, idf=0.000000)";}i:3;a:5:{s:2:"id";s:1:"4";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"1";s:8:"weight()";s:7:"1000000";s:15:"packedfactors()";s:331:"bm25=500, bm25a=0.500000, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.000000, min_idf=0.000000, max_idf=0.000000, sum_idf=0.000000, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.000000, atc=0.000000), word0=(tf=1, idf=0.000000)";}i:4;a:5:{s:2:"id";s:1:"5";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"1";s:8:"weight()";s:7:"1000000";s:15:"packedfactors()";s:331:"bm25=500, bm25a=0.500000, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.000000, min_idf=0.000000, max_idf=0.000000, sum_idf=0.000000, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.000000, atc=0.000000), word0=(tf=1, idf=0.000000)";}i:5;a:5:{s:2:"id";s:1:"6";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"1";s:8:"weight()";s:7:"1000000";s:15:"packedfactors()";s:331:"bm25=500, bm25a=0.500000, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.000000, min_idf=0.000000, max_idf=0.000000, sum_idf=0.000000, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.000000, atc=0.000000), word0=(tf=1, idf=0.000000)";}i:6;a:5:{s:2:"id";s:1:"7";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"1";s:8:"weight()";s:7:"1000000";s:15:"packedfactors()";s:331:"bm25=500, bm25a=0.500000, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.000000, min_idf=0.000000, max_idf=0.000000, sum_idf=0.000000, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.000000, atc=0.000000), word0=(tf=1, idf=0.000000)";}i:7;a:5:{s:2:"id";s:1:"8";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"1";s:8:"weight()";s:7:"1000000";s:15:"packedfactors()";s:331:"bm25=500, bm25a=0.500000, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.000000, min_idf=0.000000, max_idf=0.000000, sum_idf=0.000000, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.000000, atc=0.000000), word0=(tf=1, idf=0.000000)";}i:8;a:5:{s:2:"id";s:1:"9";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"1";s:8:"weight()";s:7:"1000000";s:15:"packedfactors()";s:331:"bm25=500, bm25a=0.500000, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.000000, min_idf=0.000000, max_idf=0.000000, sum_idf=0.000000, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.000000, atc=0.000000), word0=(tf=1, idf=0.000000)";}i:9;a:5:{s:2:"id";s:2:"10";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"1";s:8:"weight()";s:7:"1000000";s:15:"packedfactors()";s:331:"bm25=500, bm25a=0.500000, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.000000, min_idf=0.000000, max_idf=0.000000, sum_idf=0.000000, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.000000, atc=0.000000), word0=(tf=1, idf=0.000000)";}}}i:2;a:3:{s:8:"sphinxql";s:136:"select *, weight(), packedfactors() from test where match('idftest1') option idf=normalized, ranker=expr('1000000+1000000*sum(sum_idf)')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"4";s:8:"weight()";s:7:"1480126";s:15:"packedfactors()";s:331:"bm25=718, bm25a=0.659284, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.480126, min_idf=0.480126, max_idf=0.480126, sum_idf=0.480126, min_hit_pos=4, min_best_span_pos=4, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.480126, atc=0.000000), word0=(tf=1, idf=0.480126)";}}}i:3;a:3:{s:8:"sphinxql";s:131:"select *, weight(), packedfactors() from test where match('idftest1') option idf=plain, ranker=expr('1000000+1000000*sum(sum_idf)')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"4";s:8:"weight()";s:7:"1480126";s:15:"packedfactors()";s:331:"bm25=718, bm25a=0.659284, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.480126, min_idf=0.480126, max_idf=0.480126, sum_idf=0.480126, min_hit_pos=4, min_best_span_pos=4, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.480126, atc=0.000000), word0=(tf=1, idf=0.480126)";}}}i:4;a:3:{s:8:"sphinxql";s:152:"select *, weight(), packedfactors() from test where match('idftest1') option idf='plain,tfidf_unnormalized', ranker=expr('1000000+1000000*sum(sum_idf)')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"4";s:8:"weight()";s:7:"1480126";s:15:"packedfactors()";s:331:"bm25=718, bm25a=0.659284, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.480126, min_idf=0.480126, max_idf=0.480126, sum_idf=0.480126, min_hit_pos=4, min_best_span_pos=4, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.480126, atc=0.000000), word0=(tf=1, idf=0.480126)";}}}i:5;a:3:{s:8:"sphinxql";s:144:"select *, weight(), packedfactors() from test where match('idftest1 | fnord') option idf=normalized, ranker=expr('1000000+1000000*sum(sum_idf)')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"4";s:8:"weight()";s:7:"1240063";s:15:"packedfactors()";s:359:"bm25=609, bm25a=0.579642, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.240063, min_idf=0.240063, max_idf=0.240063, sum_idf=0.240063, min_hit_pos=4, min_best_span_pos=4, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.240063, atc=0.000000), word0=(tf=1, idf=0.240063), word1=(tf=0, idf=0.000000)";}}}i:6;a:3:{s:8:"sphinxql";s:139:"select *, weight(), packedfactors() from test where match('idftest1 | fnord') option idf=plain, ranker=expr('1000000+1000000*sum(sum_idf)')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"4";s:8:"weight()";s:7:"1240063";s:15:"packedfactors()";s:359:"bm25=609, bm25a=0.579642, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.240063, min_idf=0.240063, max_idf=0.240063, sum_idf=0.240063, min_hit_pos=4, min_best_span_pos=4, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.240063, atc=0.000000), word0=(tf=1, idf=0.240063), word1=(tf=0, idf=0.000000)";}}}i:7;a:3:{s:8:"sphinxql";s:160:"select *, weight(), packedfactors() from test where match('idftest1 | fnord') option idf='plain,tfidf_unnormalized', ranker=expr('1000000+1000000*sum(sum_idf)')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"4";s:8:"weight()";s:7:"1480126";s:15:"packedfactors()";s:359:"bm25=718, bm25a=0.659284, field_mask=1, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.480126, min_idf=0.480126, max_idf=0.480126, sum_idf=0.480126, min_hit_pos=4, min_best_span_pos=4, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.480126, atc=0.000000), word0=(tf=1, idf=0.480126), word1=(tf=0, idf=0.000000)";}}}i:8;a:3:{s:8:"sphinxql";s:129:"select *, weight(), packedfactors() from test where match('idftest1 the') option idf='plain,tfidf_unnormalized', ranker=expr('1')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"4";s:8:"weight()";s:1:"1";s:15:"packedfactors()";s:359:"bm25=718, bm25a=0.659284, field_mask=1, doc_word_count=2, field0=(lcs=1, hit_count=2, word_count=2, tf_idf=0.480126, min_idf=0.000000, max_idf=0.480126, sum_idf=0.480126, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=2, exact_order=0, lccs=1, wlccs=0.480126, atc=0.000000), word0=(tf=1, idf=0.480126), word1=(tf=1, idf=0.000000)";}}}i:9;a:3:{s:8:"sphinxql";s:133:"select *, weight(), packedfactors() from test where match('and idftest1 the') option idf='plain,tfidf_unnormalized', ranker=expr('1')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"4";s:8:"weight()";s:1:"1";s:15:"packedfactors()";s:387:"bm25=936, bm25a=0.818567, field_mask=1, doc_word_count=3, field0=(lcs=2, hit_count=3, word_count=3, tf_idf=0.960253, min_idf=0.000000, max_idf=0.480126, sum_idf=0.960253, min_hit_pos=1, min_best_span_pos=3, exact_hit=0, max_window_hits=1, min_gaps=1, exact_order=0, lccs=2, wlccs=0.960253, atc=0.379150), word0=(tf=1, idf=0.480126), word1=(tf=1, idf=0.480126), word2=(tf=1, idf=0.000000)";}}}i:10;a:3:{s:8:"sphinxql";s:129:"select *, weight(), packedfactors() from test where match('the idftest1') option idf='plain,tfidf_unnormalized', ranker=expr('1')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"4";s:8:"weight()";s:1:"1";s:15:"packedfactors()";s:359:"bm25=718, bm25a=0.659284, field_mask=1, doc_word_count=2, field0=(lcs=1, hit_count=2, word_count=2, tf_idf=0.480126, min_idf=0.000000, max_idf=0.480126, sum_idf=0.480126, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=2, exact_order=1, lccs=1, wlccs=0.480126, atc=0.000000), word0=(tf=1, idf=0.000000), word1=(tf=1, idf=0.480126)";}}}i:11;a:3:{s:8:"sphinxql";s:133:"select *, weight(), packedfactors() from test where match('the and idftest1') option idf='plain,tfidf_unnormalized', ranker=expr('1')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"4";s:8:"weight()";s:1:"1";s:15:"packedfactors()";s:387:"bm25=936, bm25a=0.818567, field_mask=1, doc_word_count=3, field0=(lcs=2, hit_count=3, word_count=3, tf_idf=0.960253, min_idf=0.000000, max_idf=0.480126, sum_idf=0.960253, min_hit_pos=1, min_best_span_pos=3, exact_hit=0, max_window_hits=1, min_gaps=1, exact_order=1, lccs=2, wlccs=0.960253, atc=0.379150), word0=(tf=1, idf=0.000000), word1=(tf=1, idf=0.480126), word2=(tf=1, idf=0.480126)";}}}i:12;a:3:{s:8:"sphinxql";s:131:"select *, weight(), factors({json=1}) from test where match('idftest1 the') option idf='plain,tfidf_unnormalized', ranker=expr('1')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"4";s:8:"weight()";s:1:"1";s:17:"factors({json=1})";s:422:"{"bm25":718, "bm25a":0.659284, "field_mask":1, "doc_word_count":2, "fields":[{"field":0, "lcs":1, "hit_count":2, "word_count":2, "tf_idf":0.480126, "min_idf":0.000000, "max_idf":0.480126, "sum_idf":0.480126, "min_hit_pos":1, "min_best_span_pos":1, "exact_hit":0, "max_window_hits":1, "min_gaps":2, "exact_order":0, "lccs":1, "wlccs":0.480126, "atc":0.000000}], "words":[{"tf":1, "idf":0.480126}, {"tf":1, "idf":0.000000}]}";}}}i:13;a:3:{s:8:"sphinxql";s:142:"select *, weight(), packedfactors({json=1}) from test where match('and idftest1 the') option idf='plain,tfidf_unnormalized', ranker=expr('1')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"4";s:8:"weight()";s:1:"1";s:23:"packedfactors({json=1})";s:448:"{"bm25":936, "bm25a":0.818567, "field_mask":1, "doc_word_count":3, "fields":[{"field":0, "lcs":2, "hit_count":3, "word_count":3, "tf_idf":0.960253, "min_idf":0.000000, "max_idf":0.480126, "sum_idf":0.960253, "min_hit_pos":1, "min_best_span_pos":3, "exact_hit":0, "max_window_hits":1, "min_gaps":1, "exact_order":0, "lccs":2, "wlccs":0.960253, "atc":0.379150}], "words":[{"tf":1, "idf":0.480126}, {"tf":1, "idf":0.480126}, {"tf":1, "idf":0.000000}]}";}}}i:14;a:3:{s:8:"sphinxql";s:132:"select *, weight(), factors({json=1}) from test where match('the idftest1') option idf='plain,tfidf_unnormalized', ranker=expr('1')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"4";s:8:"weight()";s:1:"1";s:17:"factors({json=1})";s:422:"{"bm25":718, "bm25a":0.659284, "field_mask":1, "doc_word_count":2, "fields":[{"field":0, "lcs":1, "hit_count":2, "word_count":2, "tf_idf":0.480126, "min_idf":0.000000, "max_idf":0.480126, "sum_idf":0.480126, "min_hit_pos":1, "min_best_span_pos":1, "exact_hit":0, "max_window_hits":1, "min_gaps":2, "exact_order":1, "lccs":1, "wlccs":0.480126, "atc":0.000000}], "words":[{"tf":1, "idf":0.000000}, {"tf":1, "idf":0.480126}]}";}}}i:15;a:3:{s:8:"sphinxql";s:142:"select *, weight(), packedfactors({json=1}) from test where match('the and idftest1') option idf='plain,tfidf_unnormalized', ranker=expr('1')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:3:"123";s:9:"title_len";s:1:"4";s:8:"weight()";s:1:"1";s:23:"packedfactors({json=1})";s:448:"{"bm25":936, "bm25a":0.818567, "field_mask":1, "doc_word_count":3, "fields":[{"field":0, "lcs":2, "hit_count":3, "word_count":3, "tf_idf":0.960253, "min_idf":0.000000, "max_idf":0.480126, "sum_idf":0.960253, "min_hit_pos":1, "min_best_span_pos":3, "exact_hit":0, "max_window_hits":1, "min_gaps":1, "exact_order":1, "lccs":2, "wlccs":0.960253, "atc":0.379150}], "words":[{"tf":1, "idf":0.000000}, {"tf":1, "idf":0.480126}, {"tf":1, "idf":0.480126}]}";}}}i:16;a:3:{s:8:"sphinxql";s:147:"select *, weight(), packedfactors({json=1}) from test_stop where match('the and idftest1') option idf='plain,tfidf_unnormalized', ranker=expr('1')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:3:"123";s:8:"weight()";s:1:"1";s:23:"packedfactors({json=1})";s:396:"{"bm25":718, "bm25a":0.869328, "field_mask":1, "doc_word_count":1, "fields":[{"field":0, "lcs":1, "hit_count":1, "word_count":1, "tf_idf":0.480126, "min_idf":0.480126, "max_idf":0.480126, "sum_idf":0.480126, "min_hit_pos":4, "min_best_span_pos":4, "exact_hit":0, "max_window_hits":1, "min_gaps":0, "exact_order":0, "lccs":1, "wlccs":0.480126, "atc":0.000000}], "words":[{"tf":1, "idf":0.480126}]}";}}}}}sphinx-2.2.11-release/test/test_216/0000755000175000017500000000000012743402012016405 5ustar alexeyalexeysphinx-2.2.11-release/test/test_216/test.xml0000644000175000017500000000672612743402012020121 0ustar alexeyalexey n best group by indexer { mem_limit = 28M } searchd { workers = threads } source src_full { type = mysql sql_query = SELECT id, tag, gr, text FROM test_table WHERE id>=$start AND id<=$end sql_query_range = select 1, 20 sql_query_pre = SET NAMES UTF8 sql_attr_uint = tag sql_attr_uint = gr } source src_half1 : src_full { sql_query_range = select 1, 10 } source src_half2 : src_full { sql_query_range = select 11, 20 } index rt_full { type = rt path = /rt_full rt_field = text rt_attr_uint = tag rt_attr_uint = gr } index idx_full { source = src_full path = /idx_full docinfo = extern } index idx_half1 : idx_full { source = src_half1 path = /idx_half1 } index idx_half2 : idx_full { source = src_half2 path = /idx_half2 } index idx_ag1 : idx_half1 { path = /idx_ag1 } index idx_ag2 : idx_half2 { path = /idx_ag2 } index idx_local { type = distributed local = idx_half1 local = idx_half2 } index idx_combined { type = distributed local = idx_half1 agent = :idx_ag2 agent_connect_timeout = 1000 agent_query_timeout = 3000 } index idx_remote { type = distributed agent = :idx_ag1 agent = :idx_ag2 agent_connect_timeout = 1000 agent_query_timeout = 3000 } rt_full idx_full idx_local idx_combined idx_remote INSERT INTO `rt_full`(id,gr,tag,text) VALUES ( 1, 102, 9, 'test'), ( 2, 102, 18, 'test'), ( 3, 103, 7, 'test'), ( 4, 103, 16, 'test'), ( 5, 104, 5, 'test'), ( 6, 104, 14, 'test'), ( 7, 105, 3, 'test'), ( 8, 105, 12, 'test'), ( 9, 105, 1, 'test'), ( 10, 105, 10, 'test'), ( 11, 102, 29, 'test'), ( 12, 102, 8, 'test'), ( 13, 103, 27, 'test'), ( 14, 103, 6, 'test'), ( 15, 104, 25, 'test'), ( 16, 104, 4, 'test'), ( 17, 105, 23, 'test'), ( 18, 105, 2, 'test'), ( 19, 105, 21, 'test'), ( 20, 105, 0, 'test') select * from META:multi select id, gr, as t from META:multi where match ('test') group by gr CREATE TABLE `test_table` ( `id` int(11), `gr` int(11), `tag` int(11), `text` varchar(255) NOT NULL ) DROP TABLE IF EXISTS `test_table` SET NAMES utf8 INSERT INTO `test_table` VALUES ( 1, 102, 9, 'test'), ( 2, 102, 18, 'test'), ( 3, 103, 7, 'test'), ( 4, 103, 16, 'test'), ( 5, 104, 5, 'test'), ( 6, 104, 14, 'test'), ( 7, 105, 3, 'test'), ( 8, 105, 12, 'test'), ( 9, 105, 1, 'test'), ( 10, 105, 10, 'test'), ( 11, 102, 29, 'test'), ( 12, 102, 8, 'test'), ( 13, 103, 27, 'test'), ( 14, 103, 6, 'test'), ( 15, 104, 25, 'test'), ( 16, 104, 4, 'test'), ( 17, 105, 23, 'test'), ( 18, 105, 2, 'test'), ( 19, 105, 21, 'test'), ( 20, 105, 0, 'test') sphinx-2.2.11-release/test/test_216/model.bin0000644000175000017500000072071312743402012020211 0ustar alexeyalexeya:1:{i:0;a:246:{i:0;a:2:{s:8:"sphinxql";s:507:" INSERT INTO `rt_full`(id,gr,tag,text) VALUES ( 1, 102, 9, 'test'), ( 2, 102, 18, 'test'), ( 3, 103, 7, 'test'), ( 4, 103, 16, 'test'), ( 5, 104, 5, 'test'), ( 6, 104, 14, 'test'), ( 7, 105, 3, 'test'), ( 8, 105, 12, 'test'), ( 9, 105, 1, 'test'), ( 10, 105, 10, 'test'), ( 11, 102, 29, 'test'), ( 12, 102, 8, 'test'), ( 13, 103, 27, 'test'), ( 14, 103, 6, 'test'), ( 15, 104, 25, 'test'), ( 16, 104, 4, 'test'), ( 17, 105, 23, 'test'), ( 18, 105, 2, 'test'), ( 19, 105, 21, 'test'), ( 20, 105, 0, 'test') ";s:14:"total_affected";i:20;}i:1;a:3:{s:8:"sphinxql";s:21:"select * from rt_full";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"tag";s:1:"9";s:2:"gr";s:3:"102";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"tag";s:2:"18";s:2:"gr";s:3:"102";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"tag";s:1:"7";s:2:"gr";s:3:"103";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"tag";s:2:"16";s:2:"gr";s:3:"103";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"tag";s:1:"5";s:2:"gr";s:3:"104";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"tag";s:2:"14";s:2:"gr";s:3:"104";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"tag";s:1:"3";s:2:"gr";s:3:"105";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"tag";s:2:"12";s:2:"gr";s:3:"105";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"tag";s:1:"1";s:2:"gr";s:3:"105";}i:9;a:3:{s:2:"id";s:2:"10";s:3:"tag";s:2:"10";s:2:"gr";s:3:"105";}i:10;a:3:{s:2:"id";s:2:"11";s:3:"tag";s:2:"29";s:2:"gr";s:3:"102";}i:11;a:3:{s:2:"id";s:2:"12";s:3:"tag";s:1:"8";s:2:"gr";s:3:"102";}i:12;a:3:{s:2:"id";s:2:"13";s:3:"tag";s:2:"27";s:2:"gr";s:3:"103";}i:13;a:3:{s:2:"id";s:2:"14";s:3:"tag";s:1:"6";s:2:"gr";s:3:"103";}i:14;a:3:{s:2:"id";s:2:"15";s:3:"tag";s:2:"25";s:2:"gr";s:3:"104";}i:15;a:3:{s:2:"id";s:2:"16";s:3:"tag";s:1:"4";s:2:"gr";s:3:"104";}i:16;a:3:{s:2:"id";s:2:"17";s:3:"tag";s:2:"23";s:2:"gr";s:3:"105";}i:17;a:3:{s:2:"id";s:2:"18";s:3:"tag";s:1:"2";s:2:"gr";s:3:"105";}i:18;a:3:{s:2:"id";s:2:"19";s:3:"tag";s:2:"21";s:2:"gr";s:3:"105";}i:19;a:3:{s:2:"id";s:2:"20";s:3:"tag";s:1:"0";s:2:"gr";s:3:"105";}}}i:2;a:3:{s:8:"sphinxql";s:22:"select * from idx_full";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"tag";s:1:"9";s:2:"gr";s:3:"102";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"tag";s:2:"18";s:2:"gr";s:3:"102";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"tag";s:1:"7";s:2:"gr";s:3:"103";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"tag";s:2:"16";s:2:"gr";s:3:"103";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"tag";s:1:"5";s:2:"gr";s:3:"104";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"tag";s:2:"14";s:2:"gr";s:3:"104";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"tag";s:1:"3";s:2:"gr";s:3:"105";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"tag";s:2:"12";s:2:"gr";s:3:"105";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"tag";s:1:"1";s:2:"gr";s:3:"105";}i:9;a:3:{s:2:"id";s:2:"10";s:3:"tag";s:2:"10";s:2:"gr";s:3:"105";}i:10;a:3:{s:2:"id";s:2:"11";s:3:"tag";s:2:"29";s:2:"gr";s:3:"102";}i:11;a:3:{s:2:"id";s:2:"12";s:3:"tag";s:1:"8";s:2:"gr";s:3:"102";}i:12;a:3:{s:2:"id";s:2:"13";s:3:"tag";s:2:"27";s:2:"gr";s:3:"103";}i:13;a:3:{s:2:"id";s:2:"14";s:3:"tag";s:1:"6";s:2:"gr";s:3:"103";}i:14;a:3:{s:2:"id";s:2:"15";s:3:"tag";s:2:"25";s:2:"gr";s:3:"104";}i:15;a:3:{s:2:"id";s:2:"16";s:3:"tag";s:1:"4";s:2:"gr";s:3:"104";}i:16;a:3:{s:2:"id";s:2:"17";s:3:"tag";s:2:"23";s:2:"gr";s:3:"105";}i:17;a:3:{s:2:"id";s:2:"18";s:3:"tag";s:1:"2";s:2:"gr";s:3:"105";}i:18;a:3:{s:2:"id";s:2:"19";s:3:"tag";s:2:"21";s:2:"gr";s:3:"105";}i:19;a:3:{s:2:"id";s:2:"20";s:3:"tag";s:1:"0";s:2:"gr";s:3:"105";}}}i:3;a:3:{s:8:"sphinxql";s:23:"select * from idx_local";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"tag";s:1:"9";s:2:"gr";s:3:"102";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"tag";s:2:"18";s:2:"gr";s:3:"102";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"tag";s:1:"7";s:2:"gr";s:3:"103";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"tag";s:2:"16";s:2:"gr";s:3:"103";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"tag";s:1:"5";s:2:"gr";s:3:"104";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"tag";s:2:"14";s:2:"gr";s:3:"104";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"tag";s:1:"3";s:2:"gr";s:3:"105";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"tag";s:2:"12";s:2:"gr";s:3:"105";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"tag";s:1:"1";s:2:"gr";s:3:"105";}i:9;a:3:{s:2:"id";s:2:"10";s:3:"tag";s:2:"10";s:2:"gr";s:3:"105";}i:10;a:3:{s:2:"id";s:2:"11";s:3:"tag";s:2:"29";s:2:"gr";s:3:"102";}i:11;a:3:{s:2:"id";s:2:"12";s:3:"tag";s:1:"8";s:2:"gr";s:3:"102";}i:12;a:3:{s:2:"id";s:2:"13";s:3:"tag";s:2:"27";s:2:"gr";s:3:"103";}i:13;a:3:{s:2:"id";s:2:"14";s:3:"tag";s:1:"6";s:2:"gr";s:3:"103";}i:14;a:3:{s:2:"id";s:2:"15";s:3:"tag";s:2:"25";s:2:"gr";s:3:"104";}i:15;a:3:{s:2:"id";s:2:"16";s:3:"tag";s:1:"4";s:2:"gr";s:3:"104";}i:16;a:3:{s:2:"id";s:2:"17";s:3:"tag";s:2:"23";s:2:"gr";s:3:"105";}i:17;a:3:{s:2:"id";s:2:"18";s:3:"tag";s:1:"2";s:2:"gr";s:3:"105";}i:18;a:3:{s:2:"id";s:2:"19";s:3:"tag";s:2:"21";s:2:"gr";s:3:"105";}i:19;a:3:{s:2:"id";s:2:"20";s:3:"tag";s:1:"0";s:2:"gr";s:3:"105";}}}i:4;a:3:{s:8:"sphinxql";s:26:"select * from idx_combined";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"tag";s:1:"9";s:2:"gr";s:3:"102";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"tag";s:2:"18";s:2:"gr";s:3:"102";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"tag";s:1:"7";s:2:"gr";s:3:"103";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"tag";s:2:"16";s:2:"gr";s:3:"103";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"tag";s:1:"5";s:2:"gr";s:3:"104";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"tag";s:2:"14";s:2:"gr";s:3:"104";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"tag";s:1:"3";s:2:"gr";s:3:"105";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"tag";s:2:"12";s:2:"gr";s:3:"105";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"tag";s:1:"1";s:2:"gr";s:3:"105";}i:9;a:3:{s:2:"id";s:2:"10";s:3:"tag";s:2:"10";s:2:"gr";s:3:"105";}i:10;a:3:{s:2:"id";s:2:"11";s:3:"tag";s:2:"29";s:2:"gr";s:3:"102";}i:11;a:3:{s:2:"id";s:2:"12";s:3:"tag";s:1:"8";s:2:"gr";s:3:"102";}i:12;a:3:{s:2:"id";s:2:"13";s:3:"tag";s:2:"27";s:2:"gr";s:3:"103";}i:13;a:3:{s:2:"id";s:2:"14";s:3:"tag";s:1:"6";s:2:"gr";s:3:"103";}i:14;a:3:{s:2:"id";s:2:"15";s:3:"tag";s:2:"25";s:2:"gr";s:3:"104";}i:15;a:3:{s:2:"id";s:2:"16";s:3:"tag";s:1:"4";s:2:"gr";s:3:"104";}i:16;a:3:{s:2:"id";s:2:"17";s:3:"tag";s:2:"23";s:2:"gr";s:3:"105";}i:17;a:3:{s:2:"id";s:2:"18";s:3:"tag";s:1:"2";s:2:"gr";s:3:"105";}i:18;a:3:{s:2:"id";s:2:"19";s:3:"tag";s:2:"21";s:2:"gr";s:3:"105";}i:19;a:3:{s:2:"id";s:2:"20";s:3:"tag";s:1:"0";s:2:"gr";s:3:"105";}}}i:5;a:3:{s:8:"sphinxql";s:24:"select * from idx_remote";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"tag";s:1:"9";s:2:"gr";s:3:"102";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"tag";s:2:"18";s:2:"gr";s:3:"102";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"tag";s:1:"7";s:2:"gr";s:3:"103";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"tag";s:2:"16";s:2:"gr";s:3:"103";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"tag";s:1:"5";s:2:"gr";s:3:"104";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"tag";s:2:"14";s:2:"gr";s:3:"104";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"tag";s:1:"3";s:2:"gr";s:3:"105";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"tag";s:2:"12";s:2:"gr";s:3:"105";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"tag";s:1:"1";s:2:"gr";s:3:"105";}i:9;a:3:{s:2:"id";s:2:"10";s:3:"tag";s:2:"10";s:2:"gr";s:3:"105";}i:10;a:3:{s:2:"id";s:2:"11";s:3:"tag";s:2:"29";s:2:"gr";s:3:"102";}i:11;a:3:{s:2:"id";s:2:"12";s:3:"tag";s:1:"8";s:2:"gr";s:3:"102";}i:12;a:3:{s:2:"id";s:2:"13";s:3:"tag";s:2:"27";s:2:"gr";s:3:"103";}i:13;a:3:{s:2:"id";s:2:"14";s:3:"tag";s:1:"6";s:2:"gr";s:3:"103";}i:14;a:3:{s:2:"id";s:2:"15";s:3:"tag";s:2:"25";s:2:"gr";s:3:"104";}i:15;a:3:{s:2:"id";s:2:"16";s:3:"tag";s:1:"4";s:2:"gr";s:3:"104";}i:16;a:3:{s:2:"id";s:2:"17";s:3:"tag";s:2:"23";s:2:"gr";s:3:"105";}i:17;a:3:{s:2:"id";s:2:"18";s:3:"tag";s:1:"2";s:2:"gr";s:3:"105";}i:18;a:3:{s:2:"id";s:2:"19";s:3:"tag";s:2:"21";s:2:"gr";s:3:"105";}i:19;a:3:{s:2:"id";s:2:"20";s:3:"tag";s:1:"0";s:2:"gr";s:3:"105";}}}i:6;a:3:{s:8:"sphinxql";s:74:"select id, gr, sum(tag) as t from rt_full where match ('test') group by gr";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:2;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:3;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:7;a:3:{s:8:"sphinxql";s:79:"select id, gr, avg(tag) as t from rt_full where match ('test') group by gr ";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:2;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:3;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:8;a:3:{s:8:"sphinxql";s:79:"select id, gr, min(tag) as t from rt_full where match ('test') group by gr ";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:2;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:3;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:9;a:3:{s:8:"sphinxql";s:79:"select id, gr, max(tag) as t from rt_full where match ('test') group by gr ";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:2;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:3;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:10;a:3:{s:8:"sphinxql";s:80:"select id, gr, sum(tag) as t from rt_full where match ('test') group 2 by gr ";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:4;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:6;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:7;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:11;a:3:{s:8:"sphinxql";s:80:"select id, gr, avg(tag) as t from rt_full where match ('test') group 2 by gr ";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:4;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:6;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:7;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:12;a:3:{s:8:"sphinxql";s:80:"select id, gr, min(tag) as t from rt_full where match ('test') group 2 by gr ";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:4;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:6;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:7;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:13;a:3:{s:8:"sphinxql";s:80:"select id, gr, max(tag) as t from rt_full where match ('test') group 2 by gr ";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:4;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:6;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:7;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:14;a:3:{s:8:"sphinxql";s:80:"select id, gr, sum(tag) as t from rt_full where match ('test') group 4 by gr ";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:15;a:3:{s:8:"sphinxql";s:80:"select id, gr, avg(tag) as t from rt_full where match ('test') group 4 by gr ";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:16;a:3:{s:8:"sphinxql";s:80:"select id, gr, min(tag) as t from rt_full where match ('test') group 4 by gr ";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:17;a:3:{s:8:"sphinxql";s:80:"select id, gr, max(tag) as t from rt_full where match ('test') group 4 by gr ";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:18;a:3:{s:8:"sphinxql";s:80:"select id, gr, sum(tag) as t from rt_full where match ('test') group 8 by gr ";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:16;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:19;a:3:{s:8:"sphinxql";s:80:"select id, gr, avg(tag) as t from rt_full where match ('test') group 8 by gr ";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:16;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:20;a:3:{s:8:"sphinxql";s:80:"select id, gr, min(tag) as t from rt_full where match ('test') group 8 by gr ";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:16;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:21;a:3:{s:8:"sphinxql";s:80:"select id, gr, max(tag) as t from rt_full where match ('test') group 8 by gr ";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:16;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:22;a:3:{s:8:"sphinxql";s:108:"select id, gr, sum(tag) as t from rt_full where match ('test') group by gr within group order by tag asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:2;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:3;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:23;a:3:{s:8:"sphinxql";s:108:"select id, gr, avg(tag) as t from rt_full where match ('test') group by gr within group order by tag asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:2;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:3;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:24;a:3:{s:8:"sphinxql";s:108:"select id, gr, min(tag) as t from rt_full where match ('test') group by gr within group order by tag asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:2;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:3;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:25;a:3:{s:8:"sphinxql";s:108:"select id, gr, max(tag) as t from rt_full where match ('test') group by gr within group order by tag asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:2;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:3;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:26;a:3:{s:8:"sphinxql";s:109:"select id, gr, sum(tag) as t from rt_full where match ('test') group 2 by gr within group order by tag asc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:3;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:4;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:5;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:6;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:7;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:27;a:3:{s:8:"sphinxql";s:109:"select id, gr, avg(tag) as t from rt_full where match ('test') group 2 by gr within group order by tag asc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:3;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:4;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:5;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:6;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:7;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:28;a:3:{s:8:"sphinxql";s:109:"select id, gr, min(tag) as t from rt_full where match ('test') group 2 by gr within group order by tag asc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:3;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:4;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:5;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:6;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:7;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:29;a:3:{s:8:"sphinxql";s:109:"select id, gr, max(tag) as t from rt_full where match ('test') group 2 by gr within group order by tag asc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:3;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:4;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:5;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:6;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:7;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:30;a:3:{s:8:"sphinxql";s:109:"select id, gr, sum(tag) as t from rt_full where match ('test') group 4 by gr within group order by tag asc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:31;a:3:{s:8:"sphinxql";s:109:"select id, gr, avg(tag) as t from rt_full where match ('test') group 4 by gr within group order by tag asc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:32;a:3:{s:8:"sphinxql";s:109:"select id, gr, min(tag) as t from rt_full where match ('test') group 4 by gr within group order by tag asc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:33;a:3:{s:8:"sphinxql";s:109:"select id, gr, max(tag) as t from rt_full where match ('test') group 4 by gr within group order by tag asc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:34;a:3:{s:8:"sphinxql";s:109:"select id, gr, sum(tag) as t from rt_full where match ('test') group 8 by gr within group order by tag asc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:16;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:17;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:19;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:35;a:3:{s:8:"sphinxql";s:109:"select id, gr, avg(tag) as t from rt_full where match ('test') group 8 by gr within group order by tag asc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:16;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:17;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:19;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:36;a:3:{s:8:"sphinxql";s:109:"select id, gr, min(tag) as t from rt_full where match ('test') group 8 by gr within group order by tag asc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:16;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:17;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:19;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:37;a:3:{s:8:"sphinxql";s:109:"select id, gr, max(tag) as t from rt_full where match ('test') group 8 by gr within group order by tag asc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:16;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:17;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:19;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:38;a:3:{s:8:"sphinxql";s:109:"select id, gr, sum(tag) as t from rt_full where match ('test') group by gr within group order by tag desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:2;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:3;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:39;a:3:{s:8:"sphinxql";s:109:"select id, gr, avg(tag) as t from rt_full where match ('test') group by gr within group order by tag desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:2;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:3;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:40;a:3:{s:8:"sphinxql";s:109:"select id, gr, min(tag) as t from rt_full where match ('test') group by gr within group order by tag desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:2;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:3;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:41;a:3:{s:8:"sphinxql";s:109:"select id, gr, max(tag) as t from rt_full where match ('test') group by gr within group order by tag desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:2;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:3;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:42;a:3:{s:8:"sphinxql";s:110:"select id, gr, sum(tag) as t from rt_full where match ('test') group 2 by gr within group order by tag desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:4;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:6;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:7;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:43;a:3:{s:8:"sphinxql";s:110:"select id, gr, avg(tag) as t from rt_full where match ('test') group 2 by gr within group order by tag desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:4;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:6;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:7;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:44;a:3:{s:8:"sphinxql";s:110:"select id, gr, min(tag) as t from rt_full where match ('test') group 2 by gr within group order by tag desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:4;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:6;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:7;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:45;a:3:{s:8:"sphinxql";s:110:"select id, gr, max(tag) as t from rt_full where match ('test') group 2 by gr within group order by tag desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:4;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:6;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:7;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:46;a:3:{s:8:"sphinxql";s:110:"select id, gr, sum(tag) as t from rt_full where match ('test') group 4 by gr within group order by tag desc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:47;a:3:{s:8:"sphinxql";s:110:"select id, gr, avg(tag) as t from rt_full where match ('test') group 4 by gr within group order by tag desc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:48;a:3:{s:8:"sphinxql";s:110:"select id, gr, min(tag) as t from rt_full where match ('test') group 4 by gr within group order by tag desc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:49;a:3:{s:8:"sphinxql";s:110:"select id, gr, max(tag) as t from rt_full where match ('test') group 4 by gr within group order by tag desc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:50;a:3:{s:8:"sphinxql";s:110:"select id, gr, sum(tag) as t from rt_full where match ('test') group 8 by gr within group order by tag desc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:16;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:18;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:51;a:3:{s:8:"sphinxql";s:110:"select id, gr, avg(tag) as t from rt_full where match ('test') group 8 by gr within group order by tag desc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:16;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:18;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:52;a:3:{s:8:"sphinxql";s:110:"select id, gr, min(tag) as t from rt_full where match ('test') group 8 by gr within group order by tag desc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:16;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:18;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:53;a:3:{s:8:"sphinxql";s:110:"select id, gr, max(tag) as t from rt_full where match ('test') group 8 by gr within group order by tag desc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:16;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:18;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:54;a:3:{s:8:"sphinxql";s:75:"select id, gr, sum(tag) as t from idx_full where match ('test') group by gr";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:2;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:3;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:55;a:3:{s:8:"sphinxql";s:80:"select id, gr, avg(tag) as t from idx_full where match ('test') group by gr ";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:2;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:3;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:56;a:3:{s:8:"sphinxql";s:80:"select id, gr, min(tag) as t from idx_full where match ('test') group by gr ";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:2;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:3;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:57;a:3:{s:8:"sphinxql";s:80:"select id, gr, max(tag) as t from idx_full where match ('test') group by gr ";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:2;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:3;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:58;a:3:{s:8:"sphinxql";s:81:"select id, gr, sum(tag) as t from idx_full where match ('test') group 2 by gr ";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:4;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:6;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:7;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:59;a:3:{s:8:"sphinxql";s:81:"select id, gr, avg(tag) as t from idx_full where match ('test') group 2 by gr ";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:4;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:6;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:7;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:60;a:3:{s:8:"sphinxql";s:81:"select id, gr, min(tag) as t from idx_full where match ('test') group 2 by gr ";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:4;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:6;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:7;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:61;a:3:{s:8:"sphinxql";s:81:"select id, gr, max(tag) as t from idx_full where match ('test') group 2 by gr ";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:4;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:6;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:7;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:62;a:3:{s:8:"sphinxql";s:81:"select id, gr, sum(tag) as t from idx_full where match ('test') group 4 by gr ";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:63;a:3:{s:8:"sphinxql";s:81:"select id, gr, avg(tag) as t from idx_full where match ('test') group 4 by gr ";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:64;a:3:{s:8:"sphinxql";s:81:"select id, gr, min(tag) as t from idx_full where match ('test') group 4 by gr ";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:65;a:3:{s:8:"sphinxql";s:81:"select id, gr, max(tag) as t from idx_full where match ('test') group 4 by gr ";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:66;a:3:{s:8:"sphinxql";s:81:"select id, gr, sum(tag) as t from idx_full where match ('test') group 8 by gr ";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:16;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:67;a:3:{s:8:"sphinxql";s:81:"select id, gr, avg(tag) as t from idx_full where match ('test') group 8 by gr ";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:16;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:68;a:3:{s:8:"sphinxql";s:81:"select id, gr, min(tag) as t from idx_full where match ('test') group 8 by gr ";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:16;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:69;a:3:{s:8:"sphinxql";s:81:"select id, gr, max(tag) as t from idx_full where match ('test') group 8 by gr ";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:16;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:70;a:3:{s:8:"sphinxql";s:109:"select id, gr, sum(tag) as t from idx_full where match ('test') group by gr within group order by tag asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:2;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:3;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:71;a:3:{s:8:"sphinxql";s:109:"select id, gr, avg(tag) as t from idx_full where match ('test') group by gr within group order by tag asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:2;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:3;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:72;a:3:{s:8:"sphinxql";s:109:"select id, gr, min(tag) as t from idx_full where match ('test') group by gr within group order by tag asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:2;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:3;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:73;a:3:{s:8:"sphinxql";s:109:"select id, gr, max(tag) as t from idx_full where match ('test') group by gr within group order by tag asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:2;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:3;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:74;a:3:{s:8:"sphinxql";s:110:"select id, gr, sum(tag) as t from idx_full where match ('test') group 2 by gr within group order by tag asc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:3;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:4;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:5;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:6;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:7;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:75;a:3:{s:8:"sphinxql";s:110:"select id, gr, avg(tag) as t from idx_full where match ('test') group 2 by gr within group order by tag asc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:3;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:4;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:5;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:6;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:7;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:76;a:3:{s:8:"sphinxql";s:110:"select id, gr, min(tag) as t from idx_full where match ('test') group 2 by gr within group order by tag asc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:3;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:4;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:5;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:6;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:7;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:77;a:3:{s:8:"sphinxql";s:110:"select id, gr, max(tag) as t from idx_full where match ('test') group 2 by gr within group order by tag asc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:3;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:4;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:5;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:6;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:7;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:78;a:3:{s:8:"sphinxql";s:110:"select id, gr, sum(tag) as t from idx_full where match ('test') group 4 by gr within group order by tag asc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:79;a:3:{s:8:"sphinxql";s:110:"select id, gr, avg(tag) as t from idx_full where match ('test') group 4 by gr within group order by tag asc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:80;a:3:{s:8:"sphinxql";s:110:"select id, gr, min(tag) as t from idx_full where match ('test') group 4 by gr within group order by tag asc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:81;a:3:{s:8:"sphinxql";s:110:"select id, gr, max(tag) as t from idx_full where match ('test') group 4 by gr within group order by tag asc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:82;a:3:{s:8:"sphinxql";s:110:"select id, gr, sum(tag) as t from idx_full where match ('test') group 8 by gr within group order by tag asc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:16;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:17;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:19;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:83;a:3:{s:8:"sphinxql";s:110:"select id, gr, avg(tag) as t from idx_full where match ('test') group 8 by gr within group order by tag asc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:16;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:17;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:19;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:84;a:3:{s:8:"sphinxql";s:110:"select id, gr, min(tag) as t from idx_full where match ('test') group 8 by gr within group order by tag asc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:16;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:17;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:19;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:85;a:3:{s:8:"sphinxql";s:110:"select id, gr, max(tag) as t from idx_full where match ('test') group 8 by gr within group order by tag asc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:16;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:17;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:19;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:86;a:3:{s:8:"sphinxql";s:110:"select id, gr, sum(tag) as t from idx_full where match ('test') group by gr within group order by tag desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:2;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:3;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:87;a:3:{s:8:"sphinxql";s:110:"select id, gr, avg(tag) as t from idx_full where match ('test') group by gr within group order by tag desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:2;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:3;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:88;a:3:{s:8:"sphinxql";s:110:"select id, gr, min(tag) as t from idx_full where match ('test') group by gr within group order by tag desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:2;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:3;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:89;a:3:{s:8:"sphinxql";s:110:"select id, gr, max(tag) as t from idx_full where match ('test') group by gr within group order by tag desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:2;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:3;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:90;a:3:{s:8:"sphinxql";s:111:"select id, gr, sum(tag) as t from idx_full where match ('test') group 2 by gr within group order by tag desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:4;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:6;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:7;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:91;a:3:{s:8:"sphinxql";s:111:"select id, gr, avg(tag) as t from idx_full where match ('test') group 2 by gr within group order by tag desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:4;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:6;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:7;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:92;a:3:{s:8:"sphinxql";s:111:"select id, gr, min(tag) as t from idx_full where match ('test') group 2 by gr within group order by tag desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:4;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:6;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:7;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:93;a:3:{s:8:"sphinxql";s:111:"select id, gr, max(tag) as t from idx_full where match ('test') group 2 by gr within group order by tag desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:4;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:6;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:7;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:94;a:3:{s:8:"sphinxql";s:111:"select id, gr, sum(tag) as t from idx_full where match ('test') group 4 by gr within group order by tag desc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:95;a:3:{s:8:"sphinxql";s:111:"select id, gr, avg(tag) as t from idx_full where match ('test') group 4 by gr within group order by tag desc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:96;a:3:{s:8:"sphinxql";s:111:"select id, gr, min(tag) as t from idx_full where match ('test') group 4 by gr within group order by tag desc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:97;a:3:{s:8:"sphinxql";s:111:"select id, gr, max(tag) as t from idx_full where match ('test') group 4 by gr within group order by tag desc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:98;a:3:{s:8:"sphinxql";s:111:"select id, gr, sum(tag) as t from idx_full where match ('test') group 8 by gr within group order by tag desc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:16;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:18;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:99;a:3:{s:8:"sphinxql";s:111:"select id, gr, avg(tag) as t from idx_full where match ('test') group 8 by gr within group order by tag desc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:16;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:18;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:100;a:3:{s:8:"sphinxql";s:111:"select id, gr, min(tag) as t from idx_full where match ('test') group 8 by gr within group order by tag desc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:16;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:18;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:101;a:3:{s:8:"sphinxql";s:111:"select id, gr, max(tag) as t from idx_full where match ('test') group 8 by gr within group order by tag desc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:16;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:18;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:102;a:3:{s:8:"sphinxql";s:76:"select id, gr, sum(tag) as t from idx_local where match ('test') group by gr";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:2;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:3;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:103;a:3:{s:8:"sphinxql";s:81:"select id, gr, avg(tag) as t from idx_local where match ('test') group by gr ";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:2;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:3;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:104;a:3:{s:8:"sphinxql";s:81:"select id, gr, min(tag) as t from idx_local where match ('test') group by gr ";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:2;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:3;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:105;a:3:{s:8:"sphinxql";s:81:"select id, gr, max(tag) as t from idx_local where match ('test') group by gr ";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:2;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:3;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:106;a:3:{s:8:"sphinxql";s:82:"select id, gr, sum(tag) as t from idx_local where match ('test') group 2 by gr ";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:4;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:6;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:7;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:107;a:3:{s:8:"sphinxql";s:82:"select id, gr, avg(tag) as t from idx_local where match ('test') group 2 by gr ";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:4;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:6;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:7;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:108;a:3:{s:8:"sphinxql";s:82:"select id, gr, min(tag) as t from idx_local where match ('test') group 2 by gr ";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:4;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:6;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:7;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:109;a:3:{s:8:"sphinxql";s:82:"select id, gr, max(tag) as t from idx_local where match ('test') group 2 by gr ";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:4;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:6;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:7;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:110;a:3:{s:8:"sphinxql";s:82:"select id, gr, sum(tag) as t from idx_local where match ('test') group 4 by gr ";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:111;a:3:{s:8:"sphinxql";s:82:"select id, gr, avg(tag) as t from idx_local where match ('test') group 4 by gr ";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:112;a:3:{s:8:"sphinxql";s:82:"select id, gr, min(tag) as t from idx_local where match ('test') group 4 by gr ";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:113;a:3:{s:8:"sphinxql";s:82:"select id, gr, max(tag) as t from idx_local where match ('test') group 4 by gr ";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:114;a:3:{s:8:"sphinxql";s:82:"select id, gr, sum(tag) as t from idx_local where match ('test') group 8 by gr ";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:16;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:115;a:3:{s:8:"sphinxql";s:82:"select id, gr, avg(tag) as t from idx_local where match ('test') group 8 by gr ";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:16;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:116;a:3:{s:8:"sphinxql";s:82:"select id, gr, min(tag) as t from idx_local where match ('test') group 8 by gr ";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:16;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:117;a:3:{s:8:"sphinxql";s:82:"select id, gr, max(tag) as t from idx_local where match ('test') group 8 by gr ";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:16;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:118;a:3:{s:8:"sphinxql";s:110:"select id, gr, sum(tag) as t from idx_local where match ('test') group by gr within group order by tag asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:2;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:3;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:119;a:3:{s:8:"sphinxql";s:110:"select id, gr, avg(tag) as t from idx_local where match ('test') group by gr within group order by tag asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:2;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:3;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:120;a:3:{s:8:"sphinxql";s:110:"select id, gr, min(tag) as t from idx_local where match ('test') group by gr within group order by tag asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:2;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:3;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:121;a:3:{s:8:"sphinxql";s:110:"select id, gr, max(tag) as t from idx_local where match ('test') group by gr within group order by tag asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:2;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:3;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:122;a:3:{s:8:"sphinxql";s:111:"select id, gr, sum(tag) as t from idx_local where match ('test') group 2 by gr within group order by tag asc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:3;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:4;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:5;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:6;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:7;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:123;a:3:{s:8:"sphinxql";s:111:"select id, gr, avg(tag) as t from idx_local where match ('test') group 2 by gr within group order by tag asc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:3;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:4;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:5;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:6;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:7;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:124;a:3:{s:8:"sphinxql";s:111:"select id, gr, min(tag) as t from idx_local where match ('test') group 2 by gr within group order by tag asc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:3;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:4;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:5;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:6;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:7;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:125;a:3:{s:8:"sphinxql";s:111:"select id, gr, max(tag) as t from idx_local where match ('test') group 2 by gr within group order by tag asc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:3;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:4;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:5;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:6;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:7;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:126;a:3:{s:8:"sphinxql";s:111:"select id, gr, sum(tag) as t from idx_local where match ('test') group 4 by gr within group order by tag asc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:127;a:3:{s:8:"sphinxql";s:111:"select id, gr, avg(tag) as t from idx_local where match ('test') group 4 by gr within group order by tag asc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:128;a:3:{s:8:"sphinxql";s:111:"select id, gr, min(tag) as t from idx_local where match ('test') group 4 by gr within group order by tag asc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:129;a:3:{s:8:"sphinxql";s:111:"select id, gr, max(tag) as t from idx_local where match ('test') group 4 by gr within group order by tag asc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:130;a:3:{s:8:"sphinxql";s:111:"select id, gr, sum(tag) as t from idx_local where match ('test') group 8 by gr within group order by tag asc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:16;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:17;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:19;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:131;a:3:{s:8:"sphinxql";s:111:"select id, gr, avg(tag) as t from idx_local where match ('test') group 8 by gr within group order by tag asc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:16;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:17;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:19;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:132;a:3:{s:8:"sphinxql";s:111:"select id, gr, min(tag) as t from idx_local where match ('test') group 8 by gr within group order by tag asc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:16;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:17;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:19;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:133;a:3:{s:8:"sphinxql";s:111:"select id, gr, max(tag) as t from idx_local where match ('test') group 8 by gr within group order by tag asc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:16;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:17;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:19;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:134;a:3:{s:8:"sphinxql";s:111:"select id, gr, sum(tag) as t from idx_local where match ('test') group by gr within group order by tag desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:2;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:3;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:135;a:3:{s:8:"sphinxql";s:111:"select id, gr, avg(tag) as t from idx_local where match ('test') group by gr within group order by tag desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:2;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:3;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:136;a:3:{s:8:"sphinxql";s:111:"select id, gr, min(tag) as t from idx_local where match ('test') group by gr within group order by tag desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:2;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:3;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:137;a:3:{s:8:"sphinxql";s:111:"select id, gr, max(tag) as t from idx_local where match ('test') group by gr within group order by tag desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:2;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:3;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:138;a:3:{s:8:"sphinxql";s:112:"select id, gr, sum(tag) as t from idx_local where match ('test') group 2 by gr within group order by tag desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:4;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:6;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:7;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:139;a:3:{s:8:"sphinxql";s:112:"select id, gr, avg(tag) as t from idx_local where match ('test') group 2 by gr within group order by tag desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:4;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:6;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:7;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:140;a:3:{s:8:"sphinxql";s:112:"select id, gr, min(tag) as t from idx_local where match ('test') group 2 by gr within group order by tag desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:4;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:6;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:7;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:141;a:3:{s:8:"sphinxql";s:112:"select id, gr, max(tag) as t from idx_local where match ('test') group 2 by gr within group order by tag desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:4;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:6;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:7;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:142;a:3:{s:8:"sphinxql";s:112:"select id, gr, sum(tag) as t from idx_local where match ('test') group 4 by gr within group order by tag desc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:143;a:3:{s:8:"sphinxql";s:112:"select id, gr, avg(tag) as t from idx_local where match ('test') group 4 by gr within group order by tag desc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:144;a:3:{s:8:"sphinxql";s:112:"select id, gr, min(tag) as t from idx_local where match ('test') group 4 by gr within group order by tag desc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:145;a:3:{s:8:"sphinxql";s:112:"select id, gr, max(tag) as t from idx_local where match ('test') group 4 by gr within group order by tag desc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:146;a:3:{s:8:"sphinxql";s:112:"select id, gr, sum(tag) as t from idx_local where match ('test') group 8 by gr within group order by tag desc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:16;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:18;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:147;a:3:{s:8:"sphinxql";s:112:"select id, gr, avg(tag) as t from idx_local where match ('test') group 8 by gr within group order by tag desc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:16;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:18;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:148;a:3:{s:8:"sphinxql";s:112:"select id, gr, min(tag) as t from idx_local where match ('test') group 8 by gr within group order by tag desc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:16;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:18;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:149;a:3:{s:8:"sphinxql";s:112:"select id, gr, max(tag) as t from idx_local where match ('test') group 8 by gr within group order by tag desc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:16;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:18;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:150;a:3:{s:8:"sphinxql";s:79:"select id, gr, sum(tag) as t from idx_combined where match ('test') group by gr";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:2;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:3;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:151;a:3:{s:8:"sphinxql";s:84:"select id, gr, avg(tag) as t from idx_combined where match ('test') group by gr ";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:2;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:3;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:152;a:3:{s:8:"sphinxql";s:84:"select id, gr, min(tag) as t from idx_combined where match ('test') group by gr ";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:2;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:3;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:153;a:3:{s:8:"sphinxql";s:84:"select id, gr, max(tag) as t from idx_combined where match ('test') group by gr ";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:2;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:3;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:154;a:3:{s:8:"sphinxql";s:85:"select id, gr, sum(tag) as t from idx_combined where match ('test') group 2 by gr ";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:4;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:6;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:7;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:155;a:3:{s:8:"sphinxql";s:85:"select id, gr, avg(tag) as t from idx_combined where match ('test') group 2 by gr ";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:4;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:6;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:7;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:156;a:3:{s:8:"sphinxql";s:85:"select id, gr, min(tag) as t from idx_combined where match ('test') group 2 by gr ";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:4;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:6;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:7;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:157;a:3:{s:8:"sphinxql";s:85:"select id, gr, max(tag) as t from idx_combined where match ('test') group 2 by gr ";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:4;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:6;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:7;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:158;a:3:{s:8:"sphinxql";s:85:"select id, gr, sum(tag) as t from idx_combined where match ('test') group 4 by gr ";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:159;a:3:{s:8:"sphinxql";s:85:"select id, gr, avg(tag) as t from idx_combined where match ('test') group 4 by gr ";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:160;a:3:{s:8:"sphinxql";s:85:"select id, gr, min(tag) as t from idx_combined where match ('test') group 4 by gr ";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:161;a:3:{s:8:"sphinxql";s:85:"select id, gr, max(tag) as t from idx_combined where match ('test') group 4 by gr ";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:162;a:3:{s:8:"sphinxql";s:85:"select id, gr, sum(tag) as t from idx_combined where match ('test') group 8 by gr ";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:16;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:163;a:3:{s:8:"sphinxql";s:85:"select id, gr, avg(tag) as t from idx_combined where match ('test') group 8 by gr ";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:16;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:164;a:3:{s:8:"sphinxql";s:85:"select id, gr, min(tag) as t from idx_combined where match ('test') group 8 by gr ";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:16;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:165;a:3:{s:8:"sphinxql";s:85:"select id, gr, max(tag) as t from idx_combined where match ('test') group 8 by gr ";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:16;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:166;a:3:{s:8:"sphinxql";s:113:"select id, gr, sum(tag) as t from idx_combined where match ('test') group by gr within group order by tag asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:2;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:3;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:167;a:3:{s:8:"sphinxql";s:113:"select id, gr, avg(tag) as t from idx_combined where match ('test') group by gr within group order by tag asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:2;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:3;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:168;a:3:{s:8:"sphinxql";s:113:"select id, gr, min(tag) as t from idx_combined where match ('test') group by gr within group order by tag asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:2;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:3;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:169;a:3:{s:8:"sphinxql";s:113:"select id, gr, max(tag) as t from idx_combined where match ('test') group by gr within group order by tag asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:2;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:3;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:170;a:3:{s:8:"sphinxql";s:114:"select id, gr, sum(tag) as t from idx_combined where match ('test') group 2 by gr within group order by tag asc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:3;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:4;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:5;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:6;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:7;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:171;a:3:{s:8:"sphinxql";s:114:"select id, gr, avg(tag) as t from idx_combined where match ('test') group 2 by gr within group order by tag asc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:3;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:4;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:5;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:6;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:7;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:172;a:3:{s:8:"sphinxql";s:114:"select id, gr, min(tag) as t from idx_combined where match ('test') group 2 by gr within group order by tag asc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:3;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:4;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:5;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:6;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:7;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:173;a:3:{s:8:"sphinxql";s:114:"select id, gr, max(tag) as t from idx_combined where match ('test') group 2 by gr within group order by tag asc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:3;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:4;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:5;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:6;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:7;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:174;a:3:{s:8:"sphinxql";s:114:"select id, gr, sum(tag) as t from idx_combined where match ('test') group 4 by gr within group order by tag asc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:175;a:3:{s:8:"sphinxql";s:114:"select id, gr, avg(tag) as t from idx_combined where match ('test') group 4 by gr within group order by tag asc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:176;a:3:{s:8:"sphinxql";s:114:"select id, gr, min(tag) as t from idx_combined where match ('test') group 4 by gr within group order by tag asc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:177;a:3:{s:8:"sphinxql";s:114:"select id, gr, max(tag) as t from idx_combined where match ('test') group 4 by gr within group order by tag asc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:178;a:3:{s:8:"sphinxql";s:114:"select id, gr, sum(tag) as t from idx_combined where match ('test') group 8 by gr within group order by tag asc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:16;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:17;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:19;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:179;a:3:{s:8:"sphinxql";s:114:"select id, gr, avg(tag) as t from idx_combined where match ('test') group 8 by gr within group order by tag asc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:16;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:17;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:19;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:180;a:3:{s:8:"sphinxql";s:114:"select id, gr, min(tag) as t from idx_combined where match ('test') group 8 by gr within group order by tag asc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:16;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:17;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:19;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:181;a:3:{s:8:"sphinxql";s:114:"select id, gr, max(tag) as t from idx_combined where match ('test') group 8 by gr within group order by tag asc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:16;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:17;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:19;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:182;a:3:{s:8:"sphinxql";s:114:"select id, gr, sum(tag) as t from idx_combined where match ('test') group by gr within group order by tag desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:2;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:3;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:183;a:3:{s:8:"sphinxql";s:114:"select id, gr, avg(tag) as t from idx_combined where match ('test') group by gr within group order by tag desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:2;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:3;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:184;a:3:{s:8:"sphinxql";s:114:"select id, gr, min(tag) as t from idx_combined where match ('test') group by gr within group order by tag desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:2;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:3;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:185;a:3:{s:8:"sphinxql";s:114:"select id, gr, max(tag) as t from idx_combined where match ('test') group by gr within group order by tag desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:2;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:3;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:186;a:3:{s:8:"sphinxql";s:115:"select id, gr, sum(tag) as t from idx_combined where match ('test') group 2 by gr within group order by tag desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:4;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:6;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:7;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:187;a:3:{s:8:"sphinxql";s:115:"select id, gr, avg(tag) as t from idx_combined where match ('test') group 2 by gr within group order by tag desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:4;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:6;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:7;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:188;a:3:{s:8:"sphinxql";s:115:"select id, gr, min(tag) as t from idx_combined where match ('test') group 2 by gr within group order by tag desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:4;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:6;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:7;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:189;a:3:{s:8:"sphinxql";s:115:"select id, gr, max(tag) as t from idx_combined where match ('test') group 2 by gr within group order by tag desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:4;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:6;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:7;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:190;a:3:{s:8:"sphinxql";s:115:"select id, gr, sum(tag) as t from idx_combined where match ('test') group 4 by gr within group order by tag desc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:191;a:3:{s:8:"sphinxql";s:115:"select id, gr, avg(tag) as t from idx_combined where match ('test') group 4 by gr within group order by tag desc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:192;a:3:{s:8:"sphinxql";s:115:"select id, gr, min(tag) as t from idx_combined where match ('test') group 4 by gr within group order by tag desc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:193;a:3:{s:8:"sphinxql";s:115:"select id, gr, max(tag) as t from idx_combined where match ('test') group 4 by gr within group order by tag desc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:194;a:3:{s:8:"sphinxql";s:115:"select id, gr, sum(tag) as t from idx_combined where match ('test') group 8 by gr within group order by tag desc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:16;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:18;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:195;a:3:{s:8:"sphinxql";s:115:"select id, gr, avg(tag) as t from idx_combined where match ('test') group 8 by gr within group order by tag desc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:16;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:18;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:196;a:3:{s:8:"sphinxql";s:115:"select id, gr, min(tag) as t from idx_combined where match ('test') group 8 by gr within group order by tag desc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:16;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:18;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:197;a:3:{s:8:"sphinxql";s:115:"select id, gr, max(tag) as t from idx_combined where match ('test') group 8 by gr within group order by tag desc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:16;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:18;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:198;a:3:{s:8:"sphinxql";s:77:"select id, gr, sum(tag) as t from idx_remote where match ('test') group by gr";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:2;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:3;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:199;a:3:{s:8:"sphinxql";s:82:"select id, gr, avg(tag) as t from idx_remote where match ('test') group by gr ";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:2;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:3;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:200;a:3:{s:8:"sphinxql";s:82:"select id, gr, min(tag) as t from idx_remote where match ('test') group by gr ";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:2;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:3;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:201;a:3:{s:8:"sphinxql";s:82:"select id, gr, max(tag) as t from idx_remote where match ('test') group by gr ";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:2;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:3;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:202;a:3:{s:8:"sphinxql";s:83:"select id, gr, sum(tag) as t from idx_remote where match ('test') group 2 by gr ";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:4;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:6;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:7;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:203;a:3:{s:8:"sphinxql";s:83:"select id, gr, avg(tag) as t from idx_remote where match ('test') group 2 by gr ";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:4;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:6;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:7;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:204;a:3:{s:8:"sphinxql";s:83:"select id, gr, min(tag) as t from idx_remote where match ('test') group 2 by gr ";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:4;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:6;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:7;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:205;a:3:{s:8:"sphinxql";s:83:"select id, gr, max(tag) as t from idx_remote where match ('test') group 2 by gr ";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:4;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:6;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:7;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:206;a:3:{s:8:"sphinxql";s:83:"select id, gr, sum(tag) as t from idx_remote where match ('test') group 4 by gr ";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:207;a:3:{s:8:"sphinxql";s:83:"select id, gr, avg(tag) as t from idx_remote where match ('test') group 4 by gr ";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:208;a:3:{s:8:"sphinxql";s:83:"select id, gr, min(tag) as t from idx_remote where match ('test') group 4 by gr ";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:209;a:3:{s:8:"sphinxql";s:83:"select id, gr, max(tag) as t from idx_remote where match ('test') group 4 by gr ";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:210;a:3:{s:8:"sphinxql";s:83:"select id, gr, sum(tag) as t from idx_remote where match ('test') group 8 by gr ";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:16;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:211;a:3:{s:8:"sphinxql";s:83:"select id, gr, avg(tag) as t from idx_remote where match ('test') group 8 by gr ";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:16;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:212;a:3:{s:8:"sphinxql";s:83:"select id, gr, min(tag) as t from idx_remote where match ('test') group 8 by gr ";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:16;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:213;a:3:{s:8:"sphinxql";s:83:"select id, gr, max(tag) as t from idx_remote where match ('test') group 8 by gr ";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:16;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:214;a:3:{s:8:"sphinxql";s:111:"select id, gr, sum(tag) as t from idx_remote where match ('test') group by gr within group order by tag asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:2;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:3;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:215;a:3:{s:8:"sphinxql";s:111:"select id, gr, avg(tag) as t from idx_remote where match ('test') group by gr within group order by tag asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:2;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:3;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:216;a:3:{s:8:"sphinxql";s:111:"select id, gr, min(tag) as t from idx_remote where match ('test') group by gr within group order by tag asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:2;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:3;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:217;a:3:{s:8:"sphinxql";s:111:"select id, gr, max(tag) as t from idx_remote where match ('test') group by gr within group order by tag asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:2;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:3;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:218;a:3:{s:8:"sphinxql";s:112:"select id, gr, sum(tag) as t from idx_remote where match ('test') group 2 by gr within group order by tag asc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:3;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:4;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:5;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:6;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:7;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:219;a:3:{s:8:"sphinxql";s:112:"select id, gr, avg(tag) as t from idx_remote where match ('test') group 2 by gr within group order by tag asc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:3;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:4;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:5;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:6;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:7;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:220;a:3:{s:8:"sphinxql";s:112:"select id, gr, min(tag) as t from idx_remote where match ('test') group 2 by gr within group order by tag asc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:3;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:4;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:5;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:6;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:7;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:221;a:3:{s:8:"sphinxql";s:112:"select id, gr, max(tag) as t from idx_remote where match ('test') group 2 by gr within group order by tag asc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:3;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:4;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:5;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:6;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:7;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:222;a:3:{s:8:"sphinxql";s:112:"select id, gr, sum(tag) as t from idx_remote where match ('test') group 4 by gr within group order by tag asc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:223;a:3:{s:8:"sphinxql";s:112:"select id, gr, avg(tag) as t from idx_remote where match ('test') group 4 by gr within group order by tag asc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:224;a:3:{s:8:"sphinxql";s:112:"select id, gr, min(tag) as t from idx_remote where match ('test') group 4 by gr within group order by tag asc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:225;a:3:{s:8:"sphinxql";s:112:"select id, gr, max(tag) as t from idx_remote where match ('test') group 4 by gr within group order by tag asc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:226;a:3:{s:8:"sphinxql";s:112:"select id, gr, sum(tag) as t from idx_remote where match ('test') group 8 by gr within group order by tag asc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:16;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:17;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:19;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:227;a:3:{s:8:"sphinxql";s:112:"select id, gr, avg(tag) as t from idx_remote where match ('test') group 8 by gr within group order by tag asc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:16;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:17;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:19;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:228;a:3:{s:8:"sphinxql";s:112:"select id, gr, min(tag) as t from idx_remote where match ('test') group 8 by gr within group order by tag asc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:16;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:17;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:19;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:229;a:3:{s:8:"sphinxql";s:112:"select id, gr, max(tag) as t from idx_remote where match ('test') group 8 by gr within group order by tag asc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:16;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:17;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:18;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:19;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:230;a:3:{s:8:"sphinxql";s:112:"select id, gr, sum(tag) as t from idx_remote where match ('test') group by gr within group order by tag desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:2;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:3;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:231;a:3:{s:8:"sphinxql";s:112:"select id, gr, avg(tag) as t from idx_remote where match ('test') group by gr within group order by tag desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:2;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:3;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:232;a:3:{s:8:"sphinxql";s:112:"select id, gr, min(tag) as t from idx_remote where match ('test') group by gr within group order by tag desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:2;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:3;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:233;a:3:{s:8:"sphinxql";s:112:"select id, gr, max(tag) as t from idx_remote where match ('test') group by gr within group order by tag desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:2;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:3;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:234;a:3:{s:8:"sphinxql";s:113:"select id, gr, sum(tag) as t from idx_remote where match ('test') group 2 by gr within group order by tag desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:4;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:6;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:7;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:235;a:3:{s:8:"sphinxql";s:113:"select id, gr, avg(tag) as t from idx_remote where match ('test') group 2 by gr within group order by tag desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:4;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:6;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:7;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:236;a:3:{s:8:"sphinxql";s:113:"select id, gr, min(tag) as t from idx_remote where match ('test') group 2 by gr within group order by tag desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:4;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:6;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:7;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:237;a:3:{s:8:"sphinxql";s:113:"select id, gr, max(tag) as t from idx_remote where match ('test') group 2 by gr within group order by tag desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:3;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:4;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:5;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:6;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:7;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:238;a:3:{s:8:"sphinxql";s:113:"select id, gr, sum(tag) as t from idx_remote where match ('test') group 4 by gr within group order by tag desc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:239;a:3:{s:8:"sphinxql";s:113:"select id, gr, avg(tag) as t from idx_remote where match ('test') group 4 by gr within group order by tag desc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:240;a:3:{s:8:"sphinxql";s:113:"select id, gr, min(tag) as t from idx_remote where match ('test') group 4 by gr within group order by tag desc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:241;a:3:{s:8:"sphinxql";s:113:"select id, gr, max(tag) as t from idx_remote where match ('test') group 4 by gr within group order by tag desc";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}i:242;a:3:{s:8:"sphinxql";s:113:"select id, gr, sum(tag) as t from idx_remote where match ('test') group 8 by gr within group order by tag desc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"64";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"56";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"48";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:16;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:18;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"72";}}}i:243;a:3:{s:8:"sphinxql";s:113:"select id, gr, avg(tag) as t from idx_remote where match ('test') group 8 by gr within group order by tag desc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:9:"16.000000";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:9:"14.000000";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:9:"12.000000";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:16;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:18;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:8:"9.000000";}}}i:244;a:3:{s:8:"sphinxql";s:113:"select id, gr, min(tag) as t from idx_remote where match ('test') group 8 by gr within group order by tag desc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:1:"8";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:1:"6";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:1:"4";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:16;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:18;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:1:"0";}}}i:245;a:3:{s:8:"sphinxql";s:113:"select id, gr, max(tag) as t from idx_remote where match ('test') group 8 by gr within group order by tag desc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"11";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:2;a:3:{s:2:"id";s:1:"1";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:3;a:3:{s:2:"id";s:2:"12";s:2:"gr";s:3:"102";s:1:"t";s:2:"29";}i:4;a:3:{s:2:"id";s:2:"13";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:5;a:3:{s:2:"id";s:1:"4";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:6;a:3:{s:2:"id";s:1:"3";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:7;a:3:{s:2:"id";s:2:"14";s:2:"gr";s:3:"103";s:1:"t";s:2:"27";}i:8;a:3:{s:2:"id";s:2:"15";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:9;a:3:{s:2:"id";s:1:"6";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:10;a:3:{s:2:"id";s:1:"5";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:11;a:3:{s:2:"id";s:2:"16";s:2:"gr";s:3:"104";s:1:"t";s:2:"25";}i:12;a:3:{s:2:"id";s:2:"17";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:13;a:3:{s:2:"id";s:2:"19";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:14;a:3:{s:2:"id";s:1:"8";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:15;a:3:{s:2:"id";s:2:"10";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:16;a:3:{s:2:"id";s:1:"7";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:17;a:3:{s:2:"id";s:2:"18";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:18;a:3:{s:2:"id";s:1:"9";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}i:19;a:3:{s:2:"id";s:2:"20";s:2:"gr";s:3:"105";s:1:"t";s:2:"23";}}}}}sphinx-2.2.11-release/test/test_215/0000755000175000017500000000000012743402012016404 5ustar alexeyalexeysphinx-2.2.11-release/test/test_215/test.xml0000644000175000017500000000563712743402012020120 0ustar alexeyalexey table functions (REMOVE_REPEATS etc) indexer { mem_limit = 16M } searchd { workers = threads dist_threads = 0 dist_threads = 4 } source test1 { type = mysql sql_query = select *, 1 iid from test_table where (id%2)=1 sql_attr_uint = gid sql_attr_uint = iid } source test2 : test1 { sql_query = select *, 2 iid from test_table where (id%2)=0 } index test1 { source = test1 path = /test1 } index test2 { source = test2 path = /test2 } index dist1 { type = distributed local = test1 local = test2 } index dist2 { type = distributed agent = :test1 agent = :test2 } index rt_killlist { type = rt path = /rt_killlist rt_field = text rt_attr_uint = gid } CREATE TABLE test_table ( id INTEGER PRIMARY KEY NOT NULL, gid INTEGER NOT NULL, title VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table VALUES ( 1, 1, 'test one' ), ( 2, 1, 'test two' ), ( 3, 1, 'test three' ), ( 4, 1, 'test four' ), ( 5, 1, 'test five' ), ( 6, 1, 'six' ), ( 7, 1, 'seven' ), ( 8, 1, 'eight' ), ( 9, 1, 'nine' ), ( 10, 1, 'ten' ); select remove_repeats((select * from dist1), gid, 0, 10) select remove_repeats((select * from dist1), iid, 0, 10) select * from dist1 where match('one|three|four|five') order by id asc select remove_repeats((select * from dist1 where match('one|three|four|five') order by id asc), iid, 0, 10) select remove_repeats((select * from dist1 where match('one|three|four|five') order by id asc), iid, 0, 2) select remove_repeats((select * from dist2 where match('one|three|four|five') order by id asc), iid, 0, 10) select remove_repeats((select * from dist2 where match('one|three|four|five') order by id asc), iid, 0, 2) select * from (select *, weight() w from dist2 where match('test') order by id asc) order by w desc select remove_repeats((select * from (select *, weight() w from dist2 where match('test') order by id asc) order by w desc), iid, 0, 2) REPLACE INTO rt_killlist VALUES (1, 'asdf', 11) FLUSH RAMCHUNK rt_killlist REPLACE INTO rt_killlist VALUES (1, 'asdf', 11) FLUSH RAMCHUNK rt_killlist REPLACE INTO rt_killlist VALUES (1, 'asdf', 11) FLUSH RAMCHUNK rt_killlist SELECT * FROM rt_killlist sphinx-2.2.11-release/test/test_215/model.bin0000644000175000017500000002107612743402012020204 0ustar alexeyalexeya:2:{i:0;a:16:{i:0;a:3:{s:8:"sphinxql";s:56:"select remove_repeats((select * from dist1), gid, 0, 10)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}}}i:1;a:3:{s:8:"sphinxql";s:56:"select remove_repeats((select * from dist1), iid, 0, 10)";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:3:"iid";s:1:"2";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"1";s:3:"iid";s:1:"2";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"gid";s:1:"1";s:3:"iid";s:1:"2";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"gid";s:1:"1";s:3:"iid";s:1:"2";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}i:9;a:3:{s:2:"id";s:2:"10";s:3:"gid";s:1:"1";s:3:"iid";s:1:"2";}}}i:2;a:3:{s:8:"sphinxql";s:70:"select * from dist1 where match('one|three|four|five') order by id asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}i:1;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}i:2;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"1";s:3:"iid";s:1:"2";}i:3;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}}}i:3;a:3:{s:8:"sphinxql";s:107:"select remove_repeats((select * from dist1 where match('one|three|four|five') order by id asc), iid, 0, 10)";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}i:1;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"1";s:3:"iid";s:1:"2";}i:2;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}}}i:4;a:3:{s:8:"sphinxql";s:106:"select remove_repeats((select * from dist1 where match('one|three|four|five') order by id asc), iid, 0, 2)";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}i:1;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"1";s:3:"iid";s:1:"2";}}}i:5;a:3:{s:8:"sphinxql";s:107:"select remove_repeats((select * from dist2 where match('one|three|four|five') order by id asc), iid, 0, 10)";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}i:1;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"1";s:3:"iid";s:1:"2";}i:2;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}}}i:6;a:3:{s:8:"sphinxql";s:106:"select remove_repeats((select * from dist2 where match('one|three|four|five') order by id asc), iid, 0, 2)";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}i:1;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"1";s:3:"iid";s:1:"2";}}}i:7;a:3:{s:8:"sphinxql";s:99:"select * from (select *, weight() w from dist2 where match('test') order by id asc) order by w desc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:4:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:3:"iid";s:1:"2";s:1:"w";s:4:"1587";}i:1;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:1:"1";s:3:"iid";s:1:"2";s:1:"w";s:4:"1587";}i:2;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";s:1:"w";s:4:"1500";}i:3;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";s:1:"w";s:4:"1500";}i:4;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";s:1:"w";s:4:"1500";}}}i:8;a:3:{s:8:"sphinxql";s:135:"select remove_repeats((select * from (select *, weight() w from dist2 where match('test') order by id asc) order by w desc), iid, 0, 2)";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:3:"iid";s:1:"2";s:1:"w";s:4:"1587";}i:1;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";s:1:"w";s:4:"1500";}}}i:9;a:2:{s:8:"sphinxql";s:47:"REPLACE INTO rt_killlist VALUES (1, 'asdf', 11)";s:14:"total_affected";i:1;}i:10;a:2:{s:8:"sphinxql";s:26:"FLUSH RAMCHUNK rt_killlist";s:14:"total_affected";i:0;}i:11;a:2:{s:8:"sphinxql";s:47:"REPLACE INTO rt_killlist VALUES (1, 'asdf', 11)";s:14:"total_affected";i:1;}i:12;a:2:{s:8:"sphinxql";s:26:"FLUSH RAMCHUNK rt_killlist";s:14:"total_affected";i:0;}i:13;a:2:{s:8:"sphinxql";s:47:"REPLACE INTO rt_killlist VALUES (1, 'asdf', 11)";s:14:"total_affected";i:1;}i:14;a:2:{s:8:"sphinxql";s:26:"FLUSH RAMCHUNK rt_killlist";s:14:"total_affected";i:0;}i:15;a:3:{s:8:"sphinxql";s:25:"SELECT * FROM rt_killlist";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}}}}i:1;a:16:{i:0;a:3:{s:8:"sphinxql";s:56:"select remove_repeats((select * from dist1), gid, 0, 10)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}}}i:1;a:3:{s:8:"sphinxql";s:56:"select remove_repeats((select * from dist1), iid, 0, 10)";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:3:"iid";s:1:"2";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"1";s:3:"iid";s:1:"2";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"gid";s:1:"1";s:3:"iid";s:1:"2";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"gid";s:1:"1";s:3:"iid";s:1:"2";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}i:9;a:3:{s:2:"id";s:2:"10";s:3:"gid";s:1:"1";s:3:"iid";s:1:"2";}}}i:2;a:3:{s:8:"sphinxql";s:70:"select * from dist1 where match('one|three|four|five') order by id asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}i:1;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}i:2;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"1";s:3:"iid";s:1:"2";}i:3;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}}}i:3;a:3:{s:8:"sphinxql";s:107:"select remove_repeats((select * from dist1 where match('one|three|four|five') order by id asc), iid, 0, 10)";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}i:1;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"1";s:3:"iid";s:1:"2";}i:2;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}}}i:4;a:3:{s:8:"sphinxql";s:106:"select remove_repeats((select * from dist1 where match('one|three|four|five') order by id asc), iid, 0, 2)";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}i:1;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"1";s:3:"iid";s:1:"2";}}}i:5;a:3:{s:8:"sphinxql";s:107:"select remove_repeats((select * from dist2 where match('one|three|four|five') order by id asc), iid, 0, 10)";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}i:1;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"1";s:3:"iid";s:1:"2";}i:2;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}}}i:6;a:3:{s:8:"sphinxql";s:106:"select remove_repeats((select * from dist2 where match('one|three|four|five') order by id asc), iid, 0, 2)";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";}i:1;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"1";s:3:"iid";s:1:"2";}}}i:7;a:3:{s:8:"sphinxql";s:99:"select * from (select *, weight() w from dist2 where match('test') order by id asc) order by w desc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:4:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:3:"iid";s:1:"2";s:1:"w";s:4:"1587";}i:1;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:1:"1";s:3:"iid";s:1:"2";s:1:"w";s:4:"1587";}i:2;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";s:1:"w";s:4:"1500";}i:3;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";s:1:"w";s:4:"1500";}i:4;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";s:1:"w";s:4:"1500";}}}i:8;a:3:{s:8:"sphinxql";s:135:"select remove_repeats((select * from (select *, weight() w from dist2 where match('test') order by id asc) order by w desc), iid, 0, 2)";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:3:"iid";s:1:"2";s:1:"w";s:4:"1587";}i:1;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:3:"iid";s:1:"1";s:1:"w";s:4:"1500";}}}i:9;a:2:{s:8:"sphinxql";s:47:"REPLACE INTO rt_killlist VALUES (1, 'asdf', 11)";s:14:"total_affected";i:1;}i:10;a:2:{s:8:"sphinxql";s:26:"FLUSH RAMCHUNK rt_killlist";s:14:"total_affected";i:0;}i:11;a:2:{s:8:"sphinxql";s:47:"REPLACE INTO rt_killlist VALUES (1, 'asdf', 11)";s:14:"total_affected";i:1;}i:12;a:2:{s:8:"sphinxql";s:26:"FLUSH RAMCHUNK rt_killlist";s:14:"total_affected";i:0;}i:13;a:2:{s:8:"sphinxql";s:47:"REPLACE INTO rt_killlist VALUES (1, 'asdf', 11)";s:14:"total_affected";i:1;}i:14;a:2:{s:8:"sphinxql";s:26:"FLUSH RAMCHUNK rt_killlist";s:14:"total_affected";i:0;}i:15;a:3:{s:8:"sphinxql";s:25:"SELECT * FROM rt_killlist";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}}}}}sphinx-2.2.11-release/test/test_214/0000755000175000017500000000000012743402012016403 5ustar alexeyalexeysphinx-2.2.11-release/test/test_214/test.xml0000644000175000017500000001750312743402012020112 0ustar alexeyalexey ALTER in RT indexes indexer { mem_limit = 16M } searchd { workers = threads } source src { type = mysql sql_query = SELECT id, gid, title FROM test_table sql_attr_uint = gid } index test { source = src path = /test } index rt { type = rt path = /rt rt_field = title rt_attr_uint = data1 rt_attr_uint = data2 rt_attr_uint = data3 rt_attr_float = data4 rt_mem_limit = 128 index_field_lengths = 0 index_field_lengths = 1 } CREATE TABLE `test_table` ( `id` int(11) NOT NULL, `gid` int(11) NOT NULL, `title` varchar(255) NOT NULL ); DROP TABLE IF EXISTS `test_table`; INSERT INTO `test_table` VALUES (1,1,'test') $value) $foo[$key] = $value; $results[] = $foo; } } '); global $g_locals, $sd_address, $sd_sphinxql_port; $results = array(); $sockStr = "$sd_address:$sd_sphinxql_port"; if ($sd_address == "localhost") $sockStr = "127.0.0.1:$sd_sphinxql_port"; $sock = @mysql_connect ( $sockStr, $g_locals['db-user'], $g_locals['db-password'] , true ); if ( $sock === false ) { $results[] = "error: can't connect to searchd: " . @mysql_errno ( $sock ) . " : " . @mysql_error ( $sock ); return; } $inserted = 0; for ( $i=1; $i<=8000; $i++ ) { $data1 = $i*10; $data2 = $i*10+1; $data3 = $i*10+2; $data4 = $i/5; $title = "title_$i"; $str = "INSERT INTO rt ( id, title, data1, data2, data3, data4 ) VALUES ( $i, '$title', $data1, $data2, $data3, $data4 )"; $res = @mysql_query ( $str, $sock ); if ($res===true) { $inserted += mysql_affected_rows($sock); } else { $results[] = "error: insert: " . @mysql_errno ( $sock ) . " : " . @mysql_error ( $sock ); return; } } $results[] = "total inserted=$inserted"; $query ( "select * from rt where id between 10 and 12", $sock, $results ); // that should be disk chunk 0 $query ( "select * from rt where id between 3500 and 3502", $sock, $results ); // that should be disk chunk 1 $query ( "select * from rt where id between 6500 and 6502", $sock, $results ); // that should be ram chunk $query ( "alter table rt add column add1 integer", $sock, $results ); $query ( "select * from rt where id between 10 and 12", $sock, $results ); $query ( "select * from rt where id between 3500 and 3502", $sock, $results ); $query ( "select * from rt where id between 6500 and 6502", $sock, $results ); $query ( "update rt set add1=11 where id=11", $sock, $results ); $query ( "update rt set add1=3501 where id=3501", $sock, $results ); $query ( "update rt set add1=6501 where id=6501", $sock, $results ); $query ( "select * from rt where id between 10 and 12", $sock, $results ); $query ( "select * from rt where id between 3500 and 3502", $sock, $results ); $query ( "select * from rt where id between 6500 and 6502", $sock, $results ); $query ( "flush rtindex rt", $sock, $results ); $query ( "select * from rt where id between 10 and 12", $sock, $results ); $query ( "select * from rt where id between 3500 and 3502", $sock, $results ); $query ( "select * from rt where id between 6500 and 6502", $sock, $results ); $query ( "alter table rt add column add2 float", $sock, $results ); $query ( "select * from rt where id between 10 and 12", $sock, $results ); $query ( "select * from rt where id between 3500 and 3502", $sock, $results ); $query ( "select * from rt where id between 6500 and 6502", $sock, $results ); $query ( "update rt set add2=0.111 where id=10", $sock, $results ); $query ( "update rt set add2=0.222 where id=3500", $sock, $results ); $query ( "update rt set add2=0.333 where id=6500", $sock, $results ); $query ( "select * from rt where id between 10 and 12", $sock, $results ); $query ( "select * from rt where id between 3500 and 3502", $sock, $results ); $query ( "select * from rt where id between 6500 and 6502", $sock, $results ); $query ( "alter table rt drop column data1", $sock, $results ); $query ( "select * from rt where id between 10 and 12", $sock, $results ); $query ( "select * from rt where id between 3500 and 3502", $sock, $results ); $query ( "select * from rt where id between 6500 and 6502", $sock, $results ); $query ( "alter table rt drop column data1", $sock, $results ); $query ( "alter table rt drop column data2", $sock, $results ); $query ( "select * from rt where id between 10 and 12", $sock, $results ); $query ( "select * from rt where id between 3500 and 3502", $sock, $results ); $query ( "select * from rt where id between 6500 and 6502", $sock, $results ); $query ( "alter table rt drop column data3", $sock, $results ); $query ( "select * from rt where id between 10 and 12", $sock, $results ); $query ( "select * from rt where id between 3500 and 3502", $sock, $results ); $query ( "select * from rt where id between 6500 and 6502", $sock, $results ); $query ( "alter table rt drop column data4", $sock, $results ); $query ( "select * from rt where id between 10 and 12", $sock, $results ); $query ( "select * from rt where id between 3500 and 3502", $sock, $results ); $query ( "select * from rt where id between 6500 and 6502", $sock, $results ); $query ( "alter table rt drop column add1", $sock, $results ); $query ( "select * from rt where id between 10 and 12", $sock, $results ); $query ( "select * from rt where id between 3500 and 3502", $sock, $results ); $query ( "select * from rt where id between 6500 and 6502", $sock, $results ); $query ( "alter table rt drop column add2", $sock, $results ); $query ( "select * from rt where id between 10 and 12", $sock, $results ); $query ( "select * from rt where id between 3500 and 3502", $sock, $results ); $query ( "select * from rt where id between 6500 and 6502", $sock, $results ); $query ( "alter table rt drop column add2", $sock, $results ); $query ( "alter table rt add column add3 float", $sock, $results ); $query ( "select * from rt where id between 10 and 12", $sock, $results ); $query ( "select * from rt where id between 3500 and 3502", $sock, $results ); $query ( "select * from rt where id between 6500 and 6502", $sock, $results ); $query ( "update rt set add3=0.111 where id=10", $sock, $results ); $query ( "update rt set add3=0.222 where id=3500", $sock, $results ); $query ( "update rt set add3=0.333 where id=6500", $sock, $results ); $query ( "select * from rt where id between 10 and 12", $sock, $results ); $query ( "select * from rt where id between 3500 and 3502", $sock, $results ); $query ( "select * from rt where id between 6500 and 6502", $sock, $results ); $query ( "alter table rt drop column add3", $sock, $results ); $query ( "select * from rt where id between 10 and 12", $sock, $results ); $query ( "select * from rt where id between 3500 and 3502", $sock, $results ); $query ( "select * from rt where id between 6500 and 6502", $sock, $results ); // testing quoted columns vs expressions $query ( "alter table rt add column select integer", $sock, $results ); $query ( "alter table rt add column `select` integer", $sock, $results ); $query ( "select `select` from rt where id=10", $sock, $results ); $query ( "select min(`select`,`select`+1) from rt where id=10", $sock, $results ); $query ( "select `select`=1 from rt where id=10", $sock, $results ); @mysql_close($sock); ]]> sphinx-2.2.11-release/test/test_214/model.bin0000644000175000017500000013657712743402012020220 0ustar alexeyalexeya:2:{i:0;a:1:{i:0;a:287:{i:0;s:19:"total inserted=8000";i:1;s:59:"running query [select * from rt where id between 10 and 12]";i:2;s:12:"total_rows=3";i:3;a:5:{s:2:"id";s:2:"10";s:5:"data1";s:3:"100";s:5:"data2";s:3:"101";s:5:"data3";s:3:"102";s:5:"data4";s:8:"2.000000";}i:4;a:5:{s:2:"id";s:2:"11";s:5:"data1";s:3:"110";s:5:"data2";s:3:"111";s:5:"data3";s:3:"112";s:5:"data4";s:8:"2.200000";}i:5;a:5:{s:2:"id";s:2:"12";s:5:"data1";s:3:"120";s:5:"data2";s:3:"121";s:5:"data3";s:3:"122";s:5:"data4";s:8:"2.400000";}i:6;s:63:"running query [select * from rt where id between 3500 and 3502]";i:7;s:12:"total_rows=3";i:8;a:5:{s:2:"id";s:4:"3500";s:5:"data1";s:5:"35000";s:5:"data2";s:5:"35001";s:5:"data3";s:5:"35002";s:5:"data4";s:10:"700.000000";}i:9;a:5:{s:2:"id";s:4:"3501";s:5:"data1";s:5:"35010";s:5:"data2";s:5:"35011";s:5:"data3";s:5:"35012";s:5:"data4";s:10:"700.200012";}i:10;a:5:{s:2:"id";s:4:"3502";s:5:"data1";s:5:"35020";s:5:"data2";s:5:"35021";s:5:"data3";s:5:"35022";s:5:"data4";s:10:"700.400024";}i:11;s:63:"running query [select * from rt where id between 6500 and 6502]";i:12;s:12:"total_rows=3";i:13;a:5:{s:2:"id";s:4:"6500";s:5:"data1";s:5:"65000";s:5:"data2";s:5:"65001";s:5:"data3";s:5:"65002";s:5:"data4";s:11:"1300.000000";}i:14;a:5:{s:2:"id";s:4:"6501";s:5:"data1";s:5:"65010";s:5:"data2";s:5:"65011";s:5:"data3";s:5:"65012";s:5:"data4";s:11:"1300.199951";}i:15;a:5:{s:2:"id";s:4:"6502";s:5:"data1";s:5:"65020";s:5:"data2";s:5:"65021";s:5:"data3";s:5:"65022";s:5:"data4";s:11:"1300.400024";}i:16;s:54:"running query [alter table rt add column add1 integer]";i:17;s:16:"total_affected=0";i:18;s:59:"running query [select * from rt where id between 10 and 12]";i:19;s:12:"total_rows=3";i:20;a:6:{s:2:"id";s:2:"10";s:5:"data1";s:3:"100";s:5:"data2";s:3:"101";s:5:"data3";s:3:"102";s:5:"data4";s:8:"2.000000";s:4:"add1";s:1:"0";}i:21;a:6:{s:2:"id";s:2:"11";s:5:"data1";s:3:"110";s:5:"data2";s:3:"111";s:5:"data3";s:3:"112";s:5:"data4";s:8:"2.200000";s:4:"add1";s:1:"0";}i:22;a:6:{s:2:"id";s:2:"12";s:5:"data1";s:3:"120";s:5:"data2";s:3:"121";s:5:"data3";s:3:"122";s:5:"data4";s:8:"2.400000";s:4:"add1";s:1:"0";}i:23;s:63:"running query [select * from rt where id between 3500 and 3502]";i:24;s:12:"total_rows=3";i:25;a:6:{s:2:"id";s:4:"3500";s:5:"data1";s:5:"35000";s:5:"data2";s:5:"35001";s:5:"data3";s:5:"35002";s:5:"data4";s:10:"700.000000";s:4:"add1";s:1:"0";}i:26;a:6:{s:2:"id";s:4:"3501";s:5:"data1";s:5:"35010";s:5:"data2";s:5:"35011";s:5:"data3";s:5:"35012";s:5:"data4";s:10:"700.200012";s:4:"add1";s:1:"0";}i:27;a:6:{s:2:"id";s:4:"3502";s:5:"data1";s:5:"35020";s:5:"data2";s:5:"35021";s:5:"data3";s:5:"35022";s:5:"data4";s:10:"700.400024";s:4:"add1";s:1:"0";}i:28;s:63:"running query [select * from rt where id between 6500 and 6502]";i:29;s:12:"total_rows=3";i:30;a:6:{s:2:"id";s:4:"6500";s:5:"data1";s:5:"65000";s:5:"data2";s:5:"65001";s:5:"data3";s:5:"65002";s:5:"data4";s:11:"1300.000000";s:4:"add1";s:1:"0";}i:31;a:6:{s:2:"id";s:4:"6501";s:5:"data1";s:5:"65010";s:5:"data2";s:5:"65011";s:5:"data3";s:5:"65012";s:5:"data4";s:11:"1300.199951";s:4:"add1";s:1:"0";}i:32;a:6:{s:2:"id";s:4:"6502";s:5:"data1";s:5:"65020";s:5:"data2";s:5:"65021";s:5:"data3";s:5:"65022";s:5:"data4";s:11:"1300.400024";s:4:"add1";s:1:"0";}i:33;s:49:"running query [update rt set add1=11 where id=11]";i:34;s:16:"total_affected=1";i:35;s:53:"running query [update rt set add1=3501 where id=3501]";i:36;s:16:"total_affected=1";i:37;s:53:"running query [update rt set add1=6501 where id=6501]";i:38;s:16:"total_affected=1";i:39;s:59:"running query [select * from rt where id between 10 and 12]";i:40;s:12:"total_rows=3";i:41;a:6:{s:2:"id";s:2:"10";s:5:"data1";s:3:"100";s:5:"data2";s:3:"101";s:5:"data3";s:3:"102";s:5:"data4";s:8:"2.000000";s:4:"add1";s:1:"0";}i:42;a:6:{s:2:"id";s:2:"11";s:5:"data1";s:3:"110";s:5:"data2";s:3:"111";s:5:"data3";s:3:"112";s:5:"data4";s:8:"2.200000";s:4:"add1";s:2:"11";}i:43;a:6:{s:2:"id";s:2:"12";s:5:"data1";s:3:"120";s:5:"data2";s:3:"121";s:5:"data3";s:3:"122";s:5:"data4";s:8:"2.400000";s:4:"add1";s:1:"0";}i:44;s:63:"running query [select * from rt where id between 3500 and 3502]";i:45;s:12:"total_rows=3";i:46;a:6:{s:2:"id";s:4:"3500";s:5:"data1";s:5:"35000";s:5:"data2";s:5:"35001";s:5:"data3";s:5:"35002";s:5:"data4";s:10:"700.000000";s:4:"add1";s:1:"0";}i:47;a:6:{s:2:"id";s:4:"3501";s:5:"data1";s:5:"35010";s:5:"data2";s:5:"35011";s:5:"data3";s:5:"35012";s:5:"data4";s:10:"700.200012";s:4:"add1";s:4:"3501";}i:48;a:6:{s:2:"id";s:4:"3502";s:5:"data1";s:5:"35020";s:5:"data2";s:5:"35021";s:5:"data3";s:5:"35022";s:5:"data4";s:10:"700.400024";s:4:"add1";s:1:"0";}i:49;s:63:"running query [select * from rt where id between 6500 and 6502]";i:50;s:12:"total_rows=3";i:51;a:6:{s:2:"id";s:4:"6500";s:5:"data1";s:5:"65000";s:5:"data2";s:5:"65001";s:5:"data3";s:5:"65002";s:5:"data4";s:11:"1300.000000";s:4:"add1";s:1:"0";}i:52;a:6:{s:2:"id";s:4:"6501";s:5:"data1";s:5:"65010";s:5:"data2";s:5:"65011";s:5:"data3";s:5:"65012";s:5:"data4";s:11:"1300.199951";s:4:"add1";s:4:"6501";}i:53;a:6:{s:2:"id";s:4:"6502";s:5:"data1";s:5:"65020";s:5:"data2";s:5:"65021";s:5:"data3";s:5:"65022";s:5:"data4";s:11:"1300.400024";s:4:"add1";s:1:"0";}i:54;s:32:"running query [flush rtindex rt]";i:55;s:16:"total_affected=0";i:56;s:59:"running query [select * from rt where id between 10 and 12]";i:57;s:12:"total_rows=3";i:58;a:6:{s:2:"id";s:2:"10";s:5:"data1";s:3:"100";s:5:"data2";s:3:"101";s:5:"data3";s:3:"102";s:5:"data4";s:8:"2.000000";s:4:"add1";s:1:"0";}i:59;a:6:{s:2:"id";s:2:"11";s:5:"data1";s:3:"110";s:5:"data2";s:3:"111";s:5:"data3";s:3:"112";s:5:"data4";s:8:"2.200000";s:4:"add1";s:2:"11";}i:60;a:6:{s:2:"id";s:2:"12";s:5:"data1";s:3:"120";s:5:"data2";s:3:"121";s:5:"data3";s:3:"122";s:5:"data4";s:8:"2.400000";s:4:"add1";s:1:"0";}i:61;s:63:"running query [select * from rt where id between 3500 and 3502]";i:62;s:12:"total_rows=3";i:63;a:6:{s:2:"id";s:4:"3500";s:5:"data1";s:5:"35000";s:5:"data2";s:5:"35001";s:5:"data3";s:5:"35002";s:5:"data4";s:10:"700.000000";s:4:"add1";s:1:"0";}i:64;a:6:{s:2:"id";s:4:"3501";s:5:"data1";s:5:"35010";s:5:"data2";s:5:"35011";s:5:"data3";s:5:"35012";s:5:"data4";s:10:"700.200012";s:4:"add1";s:4:"3501";}i:65;a:6:{s:2:"id";s:4:"3502";s:5:"data1";s:5:"35020";s:5:"data2";s:5:"35021";s:5:"data3";s:5:"35022";s:5:"data4";s:10:"700.400024";s:4:"add1";s:1:"0";}i:66;s:63:"running query [select * from rt where id between 6500 and 6502]";i:67;s:12:"total_rows=3";i:68;a:6:{s:2:"id";s:4:"6500";s:5:"data1";s:5:"65000";s:5:"data2";s:5:"65001";s:5:"data3";s:5:"65002";s:5:"data4";s:11:"1300.000000";s:4:"add1";s:1:"0";}i:69;a:6:{s:2:"id";s:4:"6501";s:5:"data1";s:5:"65010";s:5:"data2";s:5:"65011";s:5:"data3";s:5:"65012";s:5:"data4";s:11:"1300.199951";s:4:"add1";s:4:"6501";}i:70;a:6:{s:2:"id";s:4:"6502";s:5:"data1";s:5:"65020";s:5:"data2";s:5:"65021";s:5:"data3";s:5:"65022";s:5:"data4";s:11:"1300.400024";s:4:"add1";s:1:"0";}i:71;s:52:"running query [alter table rt add column add2 float]";i:72;s:16:"total_affected=0";i:73;s:59:"running query [select * from rt where id between 10 and 12]";i:74;s:12:"total_rows=3";i:75;a:7:{s:2:"id";s:2:"10";s:5:"data1";s:3:"100";s:5:"data2";s:3:"101";s:5:"data3";s:3:"102";s:5:"data4";s:8:"2.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:76;a:7:{s:2:"id";s:2:"11";s:5:"data1";s:3:"110";s:5:"data2";s:3:"111";s:5:"data3";s:3:"112";s:5:"data4";s:8:"2.200000";s:4:"add1";s:2:"11";s:4:"add2";s:8:"0.000000";}i:77;a:7:{s:2:"id";s:2:"12";s:5:"data1";s:3:"120";s:5:"data2";s:3:"121";s:5:"data3";s:3:"122";s:5:"data4";s:8:"2.400000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:78;s:63:"running query [select * from rt where id between 3500 and 3502]";i:79;s:12:"total_rows=3";i:80;a:7:{s:2:"id";s:4:"3500";s:5:"data1";s:5:"35000";s:5:"data2";s:5:"35001";s:5:"data3";s:5:"35002";s:5:"data4";s:10:"700.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:81;a:7:{s:2:"id";s:4:"3501";s:5:"data1";s:5:"35010";s:5:"data2";s:5:"35011";s:5:"data3";s:5:"35012";s:5:"data4";s:10:"700.200012";s:4:"add1";s:4:"3501";s:4:"add2";s:8:"0.000000";}i:82;a:7:{s:2:"id";s:4:"3502";s:5:"data1";s:5:"35020";s:5:"data2";s:5:"35021";s:5:"data3";s:5:"35022";s:5:"data4";s:10:"700.400024";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:83;s:63:"running query [select * from rt where id between 6500 and 6502]";i:84;s:12:"total_rows=3";i:85;a:7:{s:2:"id";s:4:"6500";s:5:"data1";s:5:"65000";s:5:"data2";s:5:"65001";s:5:"data3";s:5:"65002";s:5:"data4";s:11:"1300.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:86;a:7:{s:2:"id";s:4:"6501";s:5:"data1";s:5:"65010";s:5:"data2";s:5:"65011";s:5:"data3";s:5:"65012";s:5:"data4";s:11:"1300.199951";s:4:"add1";s:4:"6501";s:4:"add2";s:8:"0.000000";}i:87;a:7:{s:2:"id";s:4:"6502";s:5:"data1";s:5:"65020";s:5:"data2";s:5:"65021";s:5:"data3";s:5:"65022";s:5:"data4";s:11:"1300.400024";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:88;s:52:"running query [update rt set add2=0.111 where id=10]";i:89;s:16:"total_affected=1";i:90;s:54:"running query [update rt set add2=0.222 where id=3500]";i:91;s:16:"total_affected=1";i:92;s:54:"running query [update rt set add2=0.333 where id=6500]";i:93;s:16:"total_affected=1";i:94;s:59:"running query [select * from rt where id between 10 and 12]";i:95;s:12:"total_rows=3";i:96;a:7:{s:2:"id";s:2:"10";s:5:"data1";s:3:"100";s:5:"data2";s:3:"101";s:5:"data3";s:3:"102";s:5:"data4";s:8:"2.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.111000";}i:97;a:7:{s:2:"id";s:2:"11";s:5:"data1";s:3:"110";s:5:"data2";s:3:"111";s:5:"data3";s:3:"112";s:5:"data4";s:8:"2.200000";s:4:"add1";s:2:"11";s:4:"add2";s:8:"0.000000";}i:98;a:7:{s:2:"id";s:2:"12";s:5:"data1";s:3:"120";s:5:"data2";s:3:"121";s:5:"data3";s:3:"122";s:5:"data4";s:8:"2.400000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:99;s:63:"running query [select * from rt where id between 3500 and 3502]";i:100;s:12:"total_rows=3";i:101;a:7:{s:2:"id";s:4:"3500";s:5:"data1";s:5:"35000";s:5:"data2";s:5:"35001";s:5:"data3";s:5:"35002";s:5:"data4";s:10:"700.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.222000";}i:102;a:7:{s:2:"id";s:4:"3501";s:5:"data1";s:5:"35010";s:5:"data2";s:5:"35011";s:5:"data3";s:5:"35012";s:5:"data4";s:10:"700.200012";s:4:"add1";s:4:"3501";s:4:"add2";s:8:"0.000000";}i:103;a:7:{s:2:"id";s:4:"3502";s:5:"data1";s:5:"35020";s:5:"data2";s:5:"35021";s:5:"data3";s:5:"35022";s:5:"data4";s:10:"700.400024";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:104;s:63:"running query [select * from rt where id between 6500 and 6502]";i:105;s:12:"total_rows=3";i:106;a:7:{s:2:"id";s:4:"6500";s:5:"data1";s:5:"65000";s:5:"data2";s:5:"65001";s:5:"data3";s:5:"65002";s:5:"data4";s:11:"1300.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.333000";}i:107;a:7:{s:2:"id";s:4:"6501";s:5:"data1";s:5:"65010";s:5:"data2";s:5:"65011";s:5:"data3";s:5:"65012";s:5:"data4";s:11:"1300.199951";s:4:"add1";s:4:"6501";s:4:"add2";s:8:"0.000000";}i:108;a:7:{s:2:"id";s:4:"6502";s:5:"data1";s:5:"65020";s:5:"data2";s:5:"65021";s:5:"data3";s:5:"65022";s:5:"data4";s:11:"1300.400024";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:109;s:48:"running query [alter table rt drop column data1]";i:110;s:16:"total_affected=0";i:111;s:59:"running query [select * from rt where id between 10 and 12]";i:112;s:12:"total_rows=3";i:113;a:6:{s:2:"id";s:2:"10";s:5:"data2";s:3:"101";s:5:"data3";s:3:"102";s:5:"data4";s:8:"2.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.111000";}i:114;a:6:{s:2:"id";s:2:"11";s:5:"data2";s:3:"111";s:5:"data3";s:3:"112";s:5:"data4";s:8:"2.200000";s:4:"add1";s:2:"11";s:4:"add2";s:8:"0.000000";}i:115;a:6:{s:2:"id";s:2:"12";s:5:"data2";s:3:"121";s:5:"data3";s:3:"122";s:5:"data4";s:8:"2.400000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:116;s:63:"running query [select * from rt where id between 3500 and 3502]";i:117;s:12:"total_rows=3";i:118;a:6:{s:2:"id";s:4:"3500";s:5:"data2";s:5:"35001";s:5:"data3";s:5:"35002";s:5:"data4";s:10:"700.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.222000";}i:119;a:6:{s:2:"id";s:4:"3501";s:5:"data2";s:5:"35011";s:5:"data3";s:5:"35012";s:5:"data4";s:10:"700.200012";s:4:"add1";s:4:"3501";s:4:"add2";s:8:"0.000000";}i:120;a:6:{s:2:"id";s:4:"3502";s:5:"data2";s:5:"35021";s:5:"data3";s:5:"35022";s:5:"data4";s:10:"700.400024";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:121;s:63:"running query [select * from rt where id between 6500 and 6502]";i:122;s:12:"total_rows=3";i:123;a:6:{s:2:"id";s:4:"6500";s:5:"data2";s:5:"65001";s:5:"data3";s:5:"65002";s:5:"data4";s:11:"1300.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.333000";}i:124;a:6:{s:2:"id";s:4:"6501";s:5:"data2";s:5:"65011";s:5:"data3";s:5:"65012";s:5:"data4";s:11:"1300.199951";s:4:"add1";s:4:"6501";s:4:"add2";s:8:"0.000000";}i:125;a:6:{s:2:"id";s:4:"6502";s:5:"data2";s:5:"65021";s:5:"data3";s:5:"65022";s:5:"data4";s:11:"1300.400024";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:126;s:48:"running query [alter table rt drop column data1]";i:127;s:4:"res=";i:128;s:63:"error: query: 1064 : index rt: attribute 'data1' does not exist";i:129;s:48:"running query [alter table rt drop column data2]";i:130;s:16:"total_affected=0";i:131;s:59:"running query [select * from rt where id between 10 and 12]";i:132;s:12:"total_rows=3";i:133;a:5:{s:2:"id";s:2:"10";s:5:"data3";s:3:"102";s:5:"data4";s:8:"2.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.111000";}i:134;a:5:{s:2:"id";s:2:"11";s:5:"data3";s:3:"112";s:5:"data4";s:8:"2.200000";s:4:"add1";s:2:"11";s:4:"add2";s:8:"0.000000";}i:135;a:5:{s:2:"id";s:2:"12";s:5:"data3";s:3:"122";s:5:"data4";s:8:"2.400000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:136;s:63:"running query [select * from rt where id between 3500 and 3502]";i:137;s:12:"total_rows=3";i:138;a:5:{s:2:"id";s:4:"3500";s:5:"data3";s:5:"35002";s:5:"data4";s:10:"700.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.222000";}i:139;a:5:{s:2:"id";s:4:"3501";s:5:"data3";s:5:"35012";s:5:"data4";s:10:"700.200012";s:4:"add1";s:4:"3501";s:4:"add2";s:8:"0.000000";}i:140;a:5:{s:2:"id";s:4:"3502";s:5:"data3";s:5:"35022";s:5:"data4";s:10:"700.400024";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:141;s:63:"running query [select * from rt where id between 6500 and 6502]";i:142;s:12:"total_rows=3";i:143;a:5:{s:2:"id";s:4:"6500";s:5:"data3";s:5:"65002";s:5:"data4";s:11:"1300.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.333000";}i:144;a:5:{s:2:"id";s:4:"6501";s:5:"data3";s:5:"65012";s:5:"data4";s:11:"1300.199951";s:4:"add1";s:4:"6501";s:4:"add2";s:8:"0.000000";}i:145;a:5:{s:2:"id";s:4:"6502";s:5:"data3";s:5:"65022";s:5:"data4";s:11:"1300.400024";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:146;s:48:"running query [alter table rt drop column data3]";i:147;s:16:"total_affected=0";i:148;s:59:"running query [select * from rt where id between 10 and 12]";i:149;s:12:"total_rows=3";i:150;a:4:{s:2:"id";s:2:"10";s:5:"data4";s:8:"2.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.111000";}i:151;a:4:{s:2:"id";s:2:"11";s:5:"data4";s:8:"2.200000";s:4:"add1";s:2:"11";s:4:"add2";s:8:"0.000000";}i:152;a:4:{s:2:"id";s:2:"12";s:5:"data4";s:8:"2.400000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:153;s:63:"running query [select * from rt where id between 3500 and 3502]";i:154;s:12:"total_rows=3";i:155;a:4:{s:2:"id";s:4:"3500";s:5:"data4";s:10:"700.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.222000";}i:156;a:4:{s:2:"id";s:4:"3501";s:5:"data4";s:10:"700.200012";s:4:"add1";s:4:"3501";s:4:"add2";s:8:"0.000000";}i:157;a:4:{s:2:"id";s:4:"3502";s:5:"data4";s:10:"700.400024";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:158;s:63:"running query [select * from rt where id between 6500 and 6502]";i:159;s:12:"total_rows=3";i:160;a:4:{s:2:"id";s:4:"6500";s:5:"data4";s:11:"1300.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.333000";}i:161;a:4:{s:2:"id";s:4:"6501";s:5:"data4";s:11:"1300.199951";s:4:"add1";s:4:"6501";s:4:"add2";s:8:"0.000000";}i:162;a:4:{s:2:"id";s:4:"6502";s:5:"data4";s:11:"1300.400024";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:163;s:48:"running query [alter table rt drop column data4]";i:164;s:16:"total_affected=0";i:165;s:59:"running query [select * from rt where id between 10 and 12]";i:166;s:12:"total_rows=3";i:167;a:3:{s:2:"id";s:2:"10";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.111000";}i:168;a:3:{s:2:"id";s:2:"11";s:4:"add1";s:2:"11";s:4:"add2";s:8:"0.000000";}i:169;a:3:{s:2:"id";s:2:"12";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:170;s:63:"running query [select * from rt where id between 3500 and 3502]";i:171;s:12:"total_rows=3";i:172;a:3:{s:2:"id";s:4:"3500";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.222000";}i:173;a:3:{s:2:"id";s:4:"3501";s:4:"add1";s:4:"3501";s:4:"add2";s:8:"0.000000";}i:174;a:3:{s:2:"id";s:4:"3502";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:175;s:63:"running query [select * from rt where id between 6500 and 6502]";i:176;s:12:"total_rows=3";i:177;a:3:{s:2:"id";s:4:"6500";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.333000";}i:178;a:3:{s:2:"id";s:4:"6501";s:4:"add1";s:4:"6501";s:4:"add2";s:8:"0.000000";}i:179;a:3:{s:2:"id";s:4:"6502";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:180;s:47:"running query [alter table rt drop column add1]";i:181;s:16:"total_affected=0";i:182;s:59:"running query [select * from rt where id between 10 and 12]";i:183;s:12:"total_rows=3";i:184;a:2:{s:2:"id";s:2:"10";s:4:"add2";s:8:"0.111000";}i:185;a:2:{s:2:"id";s:2:"11";s:4:"add2";s:8:"0.000000";}i:186;a:2:{s:2:"id";s:2:"12";s:4:"add2";s:8:"0.000000";}i:187;s:63:"running query [select * from rt where id between 3500 and 3502]";i:188;s:12:"total_rows=3";i:189;a:2:{s:2:"id";s:4:"3500";s:4:"add2";s:8:"0.222000";}i:190;a:2:{s:2:"id";s:4:"3501";s:4:"add2";s:8:"0.000000";}i:191;a:2:{s:2:"id";s:4:"3502";s:4:"add2";s:8:"0.000000";}i:192;s:63:"running query [select * from rt where id between 6500 and 6502]";i:193;s:12:"total_rows=3";i:194;a:2:{s:2:"id";s:4:"6500";s:4:"add2";s:8:"0.333000";}i:195;a:2:{s:2:"id";s:4:"6501";s:4:"add2";s:8:"0.000000";}i:196;a:2:{s:2:"id";s:4:"6502";s:4:"add2";s:8:"0.000000";}i:197;s:47:"running query [alter table rt drop column add2]";i:198;s:4:"res=";i:199;s:69:"error: query: 1064 : index rt: unable to remove last attribute 'add2'";i:200;s:59:"running query [select * from rt where id between 10 and 12]";i:201;s:12:"total_rows=3";i:202;a:2:{s:2:"id";s:2:"10";s:4:"add2";s:8:"0.111000";}i:203;a:2:{s:2:"id";s:2:"11";s:4:"add2";s:8:"0.000000";}i:204;a:2:{s:2:"id";s:2:"12";s:4:"add2";s:8:"0.000000";}i:205;s:63:"running query [select * from rt where id between 3500 and 3502]";i:206;s:12:"total_rows=3";i:207;a:2:{s:2:"id";s:4:"3500";s:4:"add2";s:8:"0.222000";}i:208;a:2:{s:2:"id";s:4:"3501";s:4:"add2";s:8:"0.000000";}i:209;a:2:{s:2:"id";s:4:"3502";s:4:"add2";s:8:"0.000000";}i:210;s:63:"running query [select * from rt where id between 6500 and 6502]";i:211;s:12:"total_rows=3";i:212;a:2:{s:2:"id";s:4:"6500";s:4:"add2";s:8:"0.333000";}i:213;a:2:{s:2:"id";s:4:"6501";s:4:"add2";s:8:"0.000000";}i:214;a:2:{s:2:"id";s:4:"6502";s:4:"add2";s:8:"0.000000";}i:215;s:47:"running query [alter table rt drop column add2]";i:216;s:4:"res=";i:217;s:69:"error: query: 1064 : index rt: unable to remove last attribute 'add2'";i:218;s:52:"running query [alter table rt add column add3 float]";i:219;s:16:"total_affected=0";i:220;s:59:"running query [select * from rt where id between 10 and 12]";i:221;s:12:"total_rows=3";i:222;a:3:{s:2:"id";s:2:"10";s:4:"add2";s:8:"0.111000";s:4:"add3";s:8:"0.000000";}i:223;a:3:{s:2:"id";s:2:"11";s:4:"add2";s:8:"0.000000";s:4:"add3";s:8:"0.000000";}i:224;a:3:{s:2:"id";s:2:"12";s:4:"add2";s:8:"0.000000";s:4:"add3";s:8:"0.000000";}i:225;s:63:"running query [select * from rt where id between 3500 and 3502]";i:226;s:12:"total_rows=3";i:227;a:3:{s:2:"id";s:4:"3500";s:4:"add2";s:8:"0.222000";s:4:"add3";s:8:"0.000000";}i:228;a:3:{s:2:"id";s:4:"3501";s:4:"add2";s:8:"0.000000";s:4:"add3";s:8:"0.000000";}i:229;a:3:{s:2:"id";s:4:"3502";s:4:"add2";s:8:"0.000000";s:4:"add3";s:8:"0.000000";}i:230;s:63:"running query [select * from rt where id between 6500 and 6502]";i:231;s:12:"total_rows=3";i:232;a:3:{s:2:"id";s:4:"6500";s:4:"add2";s:8:"0.333000";s:4:"add3";s:8:"0.000000";}i:233;a:3:{s:2:"id";s:4:"6501";s:4:"add2";s:8:"0.000000";s:4:"add3";s:8:"0.000000";}i:234;a:3:{s:2:"id";s:4:"6502";s:4:"add2";s:8:"0.000000";s:4:"add3";s:8:"0.000000";}i:235;s:52:"running query [update rt set add3=0.111 where id=10]";i:236;s:16:"total_affected=1";i:237;s:54:"running query [update rt set add3=0.222 where id=3500]";i:238;s:16:"total_affected=1";i:239;s:54:"running query [update rt set add3=0.333 where id=6500]";i:240;s:16:"total_affected=1";i:241;s:59:"running query [select * from rt where id between 10 and 12]";i:242;s:12:"total_rows=3";i:243;a:3:{s:2:"id";s:2:"10";s:4:"add2";s:8:"0.111000";s:4:"add3";s:8:"0.111000";}i:244;a:3:{s:2:"id";s:2:"11";s:4:"add2";s:8:"0.000000";s:4:"add3";s:8:"0.000000";}i:245;a:3:{s:2:"id";s:2:"12";s:4:"add2";s:8:"0.000000";s:4:"add3";s:8:"0.000000";}i:246;s:63:"running query [select * from rt where id between 3500 and 3502]";i:247;s:12:"total_rows=3";i:248;a:3:{s:2:"id";s:4:"3500";s:4:"add2";s:8:"0.222000";s:4:"add3";s:8:"0.222000";}i:249;a:3:{s:2:"id";s:4:"3501";s:4:"add2";s:8:"0.000000";s:4:"add3";s:8:"0.000000";}i:250;a:3:{s:2:"id";s:4:"3502";s:4:"add2";s:8:"0.000000";s:4:"add3";s:8:"0.000000";}i:251;s:63:"running query [select * from rt where id between 6500 and 6502]";i:252;s:12:"total_rows=3";i:253;a:3:{s:2:"id";s:4:"6500";s:4:"add2";s:8:"0.333000";s:4:"add3";s:8:"0.333000";}i:254;a:3:{s:2:"id";s:4:"6501";s:4:"add2";s:8:"0.000000";s:4:"add3";s:8:"0.000000";}i:255;a:3:{s:2:"id";s:4:"6502";s:4:"add2";s:8:"0.000000";s:4:"add3";s:8:"0.000000";}i:256;s:47:"running query [alter table rt drop column add3]";i:257;s:16:"total_affected=0";i:258;s:59:"running query [select * from rt where id between 10 and 12]";i:259;s:12:"total_rows=3";i:260;a:2:{s:2:"id";s:2:"10";s:4:"add2";s:8:"0.111000";}i:261;a:2:{s:2:"id";s:2:"11";s:4:"add2";s:8:"0.000000";}i:262;a:2:{s:2:"id";s:2:"12";s:4:"add2";s:8:"0.000000";}i:263;s:63:"running query [select * from rt where id between 3500 and 3502]";i:264;s:12:"total_rows=3";i:265;a:2:{s:2:"id";s:4:"3500";s:4:"add2";s:8:"0.222000";}i:266;a:2:{s:2:"id";s:4:"3501";s:4:"add2";s:8:"0.000000";}i:267;a:2:{s:2:"id";s:4:"3502";s:4:"add2";s:8:"0.000000";}i:268;s:63:"running query [select * from rt where id between 6500 and 6502]";i:269;s:12:"total_rows=3";i:270;a:2:{s:2:"id";s:4:"6500";s:4:"add2";s:8:"0.333000";}i:271;a:2:{s:2:"id";s:4:"6501";s:4:"add2";s:8:"0.000000";}i:272;a:2:{s:2:"id";s:4:"6502";s:4:"add2";s:8:"0.000000";}i:273;s:56:"running query [alter table rt add column select integer]";i:274;s:4:"res=";i:275;s:84:"error: query: 1064 : sphinxql: syntax error, unexpected SELECT near 'select integer'";i:276;s:58:"running query [alter table rt add column `select` integer]";i:277;s:16:"total_affected=0";i:278;s:51:"running query [select `select` from rt where id=10]";i:279;s:12:"total_rows=1";i:280;a:1:{s:6:"select";s:1:"0";}i:281;s:67:"running query [select min(`select`,`select`+1) from rt where id=10]";i:282;s:12:"total_rows=1";i:283;a:1:{s:24:"min(`select`,`select`+1)";s:1:"0";}i:284;s:53:"running query [select `select`=1 from rt where id=10]";i:285;s:12:"total_rows=1";i:286;a:1:{s:10:"`select`=1";s:1:"0";}}}i:1;a:1:{i:0;a:286:{i:0;s:19:"total inserted=8000";i:1;s:59:"running query [select * from rt where id between 10 and 12]";i:2;s:12:"total_rows=3";i:3;a:6:{s:2:"id";s:2:"10";s:5:"data1";s:3:"100";s:5:"data2";s:3:"101";s:5:"data3";s:3:"102";s:5:"data4";s:8:"2.000000";s:9:"title_len";s:1:"1";}i:4;a:6:{s:2:"id";s:2:"11";s:5:"data1";s:3:"110";s:5:"data2";s:3:"111";s:5:"data3";s:3:"112";s:5:"data4";s:8:"2.200000";s:9:"title_len";s:1:"1";}i:5;a:6:{s:2:"id";s:2:"12";s:5:"data1";s:3:"120";s:5:"data2";s:3:"121";s:5:"data3";s:3:"122";s:5:"data4";s:8:"2.400000";s:9:"title_len";s:1:"1";}i:6;s:63:"running query [select * from rt where id between 3500 and 3502]";i:7;s:12:"total_rows=3";i:8;a:6:{s:2:"id";s:4:"3500";s:5:"data1";s:5:"35000";s:5:"data2";s:5:"35001";s:5:"data3";s:5:"35002";s:5:"data4";s:10:"700.000000";s:9:"title_len";s:1:"1";}i:9;a:6:{s:2:"id";s:4:"3501";s:5:"data1";s:5:"35010";s:5:"data2";s:5:"35011";s:5:"data3";s:5:"35012";s:5:"data4";s:10:"700.200012";s:9:"title_len";s:1:"1";}i:10;a:6:{s:2:"id";s:4:"3502";s:5:"data1";s:5:"35020";s:5:"data2";s:5:"35021";s:5:"data3";s:5:"35022";s:5:"data4";s:10:"700.400024";s:9:"title_len";s:1:"1";}i:11;s:63:"running query [select * from rt where id between 6500 and 6502]";i:12;s:12:"total_rows=3";i:13;a:6:{s:2:"id";s:4:"6500";s:5:"data1";s:5:"65000";s:5:"data2";s:5:"65001";s:5:"data3";s:5:"65002";s:5:"data4";s:11:"1300.000000";s:9:"title_len";s:1:"1";}i:14;a:6:{s:2:"id";s:4:"6501";s:5:"data1";s:5:"65010";s:5:"data2";s:5:"65011";s:5:"data3";s:5:"65012";s:5:"data4";s:11:"1300.199951";s:9:"title_len";s:1:"1";}i:15;a:6:{s:2:"id";s:4:"6502";s:5:"data1";s:5:"65020";s:5:"data2";s:5:"65021";s:5:"data3";s:5:"65022";s:5:"data4";s:11:"1300.400024";s:9:"title_len";s:1:"1";}i:16;s:54:"running query [alter table rt add column add1 integer]";i:17;s:16:"total_affected=0";i:18;s:59:"running query [select * from rt where id between 10 and 12]";i:19;s:12:"total_rows=3";i:20;a:7:{s:2:"id";s:2:"10";s:5:"data1";s:3:"100";s:5:"data2";s:3:"101";s:5:"data3";s:3:"102";s:5:"data4";s:8:"2.000000";s:4:"add1";s:1:"0";s:9:"title_len";s:1:"1";}i:21;a:7:{s:2:"id";s:2:"11";s:5:"data1";s:3:"110";s:5:"data2";s:3:"111";s:5:"data3";s:3:"112";s:5:"data4";s:8:"2.200000";s:4:"add1";s:1:"0";s:9:"title_len";s:1:"1";}i:22;a:7:{s:2:"id";s:2:"12";s:5:"data1";s:3:"120";s:5:"data2";s:3:"121";s:5:"data3";s:3:"122";s:5:"data4";s:8:"2.400000";s:4:"add1";s:1:"0";s:9:"title_len";s:1:"1";}i:23;s:63:"running query [select * from rt where id between 3500 and 3502]";i:24;s:12:"total_rows=3";i:25;a:7:{s:2:"id";s:4:"3500";s:5:"data1";s:5:"35000";s:5:"data2";s:5:"35001";s:5:"data3";s:5:"35002";s:5:"data4";s:10:"700.000000";s:4:"add1";s:1:"0";s:9:"title_len";s:1:"1";}i:26;a:7:{s:2:"id";s:4:"3501";s:5:"data1";s:5:"35010";s:5:"data2";s:5:"35011";s:5:"data3";s:5:"35012";s:5:"data4";s:10:"700.200012";s:4:"add1";s:1:"0";s:9:"title_len";s:1:"1";}i:27;a:7:{s:2:"id";s:4:"3502";s:5:"data1";s:5:"35020";s:5:"data2";s:5:"35021";s:5:"data3";s:5:"35022";s:5:"data4";s:10:"700.400024";s:4:"add1";s:1:"0";s:9:"title_len";s:1:"1";}i:28;s:63:"running query [select * from rt where id between 6500 and 6502]";i:29;s:12:"total_rows=3";i:30;a:7:{s:2:"id";s:4:"6500";s:5:"data1";s:5:"65000";s:5:"data2";s:5:"65001";s:5:"data3";s:5:"65002";s:5:"data4";s:11:"1300.000000";s:4:"add1";s:1:"0";s:9:"title_len";s:1:"1";}i:31;a:7:{s:2:"id";s:4:"6501";s:5:"data1";s:5:"65010";s:5:"data2";s:5:"65011";s:5:"data3";s:5:"65012";s:5:"data4";s:11:"1300.199951";s:4:"add1";s:1:"0";s:9:"title_len";s:1:"1";}i:32;a:7:{s:2:"id";s:4:"6502";s:5:"data1";s:5:"65020";s:5:"data2";s:5:"65021";s:5:"data3";s:5:"65022";s:5:"data4";s:11:"1300.400024";s:4:"add1";s:1:"0";s:9:"title_len";s:1:"1";}i:33;s:49:"running query [update rt set add1=11 where id=11]";i:34;s:16:"total_affected=1";i:35;s:53:"running query [update rt set add1=3501 where id=3501]";i:36;s:16:"total_affected=1";i:37;s:53:"running query [update rt set add1=6501 where id=6501]";i:38;s:16:"total_affected=1";i:39;s:59:"running query [select * from rt where id between 10 and 12]";i:40;s:12:"total_rows=3";i:41;a:7:{s:2:"id";s:2:"10";s:5:"data1";s:3:"100";s:5:"data2";s:3:"101";s:5:"data3";s:3:"102";s:5:"data4";s:8:"2.000000";s:4:"add1";s:1:"0";s:9:"title_len";s:1:"1";}i:42;a:7:{s:2:"id";s:2:"11";s:5:"data1";s:3:"110";s:5:"data2";s:3:"111";s:5:"data3";s:3:"112";s:5:"data4";s:8:"2.200000";s:4:"add1";s:2:"11";s:9:"title_len";s:1:"1";}i:43;a:7:{s:2:"id";s:2:"12";s:5:"data1";s:3:"120";s:5:"data2";s:3:"121";s:5:"data3";s:3:"122";s:5:"data4";s:8:"2.400000";s:4:"add1";s:1:"0";s:9:"title_len";s:1:"1";}i:44;s:63:"running query [select * from rt where id between 3500 and 3502]";i:45;s:12:"total_rows=3";i:46;a:7:{s:2:"id";s:4:"3500";s:5:"data1";s:5:"35000";s:5:"data2";s:5:"35001";s:5:"data3";s:5:"35002";s:5:"data4";s:10:"700.000000";s:4:"add1";s:1:"0";s:9:"title_len";s:1:"1";}i:47;a:7:{s:2:"id";s:4:"3501";s:5:"data1";s:5:"35010";s:5:"data2";s:5:"35011";s:5:"data3";s:5:"35012";s:5:"data4";s:10:"700.200012";s:4:"add1";s:4:"3501";s:9:"title_len";s:1:"1";}i:48;a:7:{s:2:"id";s:4:"3502";s:5:"data1";s:5:"35020";s:5:"data2";s:5:"35021";s:5:"data3";s:5:"35022";s:5:"data4";s:10:"700.400024";s:4:"add1";s:1:"0";s:9:"title_len";s:1:"1";}i:49;s:63:"running query [select * from rt where id between 6500 and 6502]";i:50;s:12:"total_rows=3";i:51;a:7:{s:2:"id";s:4:"6500";s:5:"data1";s:5:"65000";s:5:"data2";s:5:"65001";s:5:"data3";s:5:"65002";s:5:"data4";s:11:"1300.000000";s:4:"add1";s:1:"0";s:9:"title_len";s:1:"1";}i:52;a:7:{s:2:"id";s:4:"6501";s:5:"data1";s:5:"65010";s:5:"data2";s:5:"65011";s:5:"data3";s:5:"65012";s:5:"data4";s:11:"1300.199951";s:4:"add1";s:4:"6501";s:9:"title_len";s:1:"1";}i:53;a:7:{s:2:"id";s:4:"6502";s:5:"data1";s:5:"65020";s:5:"data2";s:5:"65021";s:5:"data3";s:5:"65022";s:5:"data4";s:11:"1300.400024";s:4:"add1";s:1:"0";s:9:"title_len";s:1:"1";}i:54;s:32:"running query [flush rtindex rt]";i:55;s:16:"total_affected=0";i:56;s:59:"running query [select * from rt where id between 10 and 12]";i:57;s:12:"total_rows=3";i:58;a:7:{s:2:"id";s:2:"10";s:5:"data1";s:3:"100";s:5:"data2";s:3:"101";s:5:"data3";s:3:"102";s:5:"data4";s:8:"2.000000";s:4:"add1";s:1:"0";s:9:"title_len";s:1:"1";}i:59;a:7:{s:2:"id";s:2:"11";s:5:"data1";s:3:"110";s:5:"data2";s:3:"111";s:5:"data3";s:3:"112";s:5:"data4";s:8:"2.200000";s:4:"add1";s:2:"11";s:9:"title_len";s:1:"1";}i:60;a:7:{s:2:"id";s:2:"12";s:5:"data1";s:3:"120";s:5:"data2";s:3:"121";s:5:"data3";s:3:"122";s:5:"data4";s:8:"2.400000";s:4:"add1";s:1:"0";s:9:"title_len";s:1:"1";}i:61;s:63:"running query [select * from rt where id between 3500 and 3502]";i:62;s:12:"total_rows=3";i:63;a:7:{s:2:"id";s:4:"3500";s:5:"data1";s:5:"35000";s:5:"data2";s:5:"35001";s:5:"data3";s:5:"35002";s:5:"data4";s:10:"700.000000";s:4:"add1";s:1:"0";s:9:"title_len";s:1:"1";}i:64;a:7:{s:2:"id";s:4:"3501";s:5:"data1";s:5:"35010";s:5:"data2";s:5:"35011";s:5:"data3";s:5:"35012";s:5:"data4";s:10:"700.200012";s:4:"add1";s:4:"3501";s:9:"title_len";s:1:"1";}i:65;a:7:{s:2:"id";s:4:"3502";s:5:"data1";s:5:"35020";s:5:"data2";s:5:"35021";s:5:"data3";s:5:"35022";s:5:"data4";s:10:"700.400024";s:4:"add1";s:1:"0";s:9:"title_len";s:1:"1";}i:66;s:63:"running query [select * from rt where id between 6500 and 6502]";i:67;s:12:"total_rows=3";i:68;a:7:{s:2:"id";s:4:"6500";s:5:"data1";s:5:"65000";s:5:"data2";s:5:"65001";s:5:"data3";s:5:"65002";s:5:"data4";s:11:"1300.000000";s:4:"add1";s:1:"0";s:9:"title_len";s:1:"1";}i:69;a:7:{s:2:"id";s:4:"6501";s:5:"data1";s:5:"65010";s:5:"data2";s:5:"65011";s:5:"data3";s:5:"65012";s:5:"data4";s:11:"1300.199951";s:4:"add1";s:4:"6501";s:9:"title_len";s:1:"1";}i:70;a:7:{s:2:"id";s:4:"6502";s:5:"data1";s:5:"65020";s:5:"data2";s:5:"65021";s:5:"data3";s:5:"65022";s:5:"data4";s:11:"1300.400024";s:4:"add1";s:1:"0";s:9:"title_len";s:1:"1";}i:71;s:52:"running query [alter table rt add column add2 float]";i:72;s:16:"total_affected=0";i:73;s:59:"running query [select * from rt where id between 10 and 12]";i:74;s:12:"total_rows=3";i:75;a:8:{s:2:"id";s:2:"10";s:5:"data1";s:3:"100";s:5:"data2";s:3:"101";s:5:"data3";s:3:"102";s:5:"data4";s:8:"2.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:76;a:8:{s:2:"id";s:2:"11";s:5:"data1";s:3:"110";s:5:"data2";s:3:"111";s:5:"data3";s:3:"112";s:5:"data4";s:8:"2.200000";s:4:"add1";s:2:"11";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:77;a:8:{s:2:"id";s:2:"12";s:5:"data1";s:3:"120";s:5:"data2";s:3:"121";s:5:"data3";s:3:"122";s:5:"data4";s:8:"2.400000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:78;s:63:"running query [select * from rt where id between 3500 and 3502]";i:79;s:12:"total_rows=3";i:80;a:8:{s:2:"id";s:4:"3500";s:5:"data1";s:5:"35000";s:5:"data2";s:5:"35001";s:5:"data3";s:5:"35002";s:5:"data4";s:10:"700.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:81;a:8:{s:2:"id";s:4:"3501";s:5:"data1";s:5:"35010";s:5:"data2";s:5:"35011";s:5:"data3";s:5:"35012";s:5:"data4";s:10:"700.200012";s:4:"add1";s:4:"3501";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:82;a:8:{s:2:"id";s:4:"3502";s:5:"data1";s:5:"35020";s:5:"data2";s:5:"35021";s:5:"data3";s:5:"35022";s:5:"data4";s:10:"700.400024";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:83;s:63:"running query [select * from rt where id between 6500 and 6502]";i:84;s:12:"total_rows=3";i:85;a:8:{s:2:"id";s:4:"6500";s:5:"data1";s:5:"65000";s:5:"data2";s:5:"65001";s:5:"data3";s:5:"65002";s:5:"data4";s:11:"1300.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:86;a:8:{s:2:"id";s:4:"6501";s:5:"data1";s:5:"65010";s:5:"data2";s:5:"65011";s:5:"data3";s:5:"65012";s:5:"data4";s:11:"1300.199951";s:4:"add1";s:4:"6501";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:87;a:8:{s:2:"id";s:4:"6502";s:5:"data1";s:5:"65020";s:5:"data2";s:5:"65021";s:5:"data3";s:5:"65022";s:5:"data4";s:11:"1300.400024";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:88;s:52:"running query [update rt set add2=0.111 where id=10]";i:89;s:16:"total_affected=1";i:90;s:54:"running query [update rt set add2=0.222 where id=3500]";i:91;s:16:"total_affected=1";i:92;s:54:"running query [update rt set add2=0.333 where id=6500]";i:93;s:16:"total_affected=1";i:94;s:59:"running query [select * from rt where id between 10 and 12]";i:95;s:12:"total_rows=3";i:96;a:8:{s:2:"id";s:2:"10";s:5:"data1";s:3:"100";s:5:"data2";s:3:"101";s:5:"data3";s:3:"102";s:5:"data4";s:8:"2.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.111000";s:9:"title_len";s:1:"1";}i:97;a:8:{s:2:"id";s:2:"11";s:5:"data1";s:3:"110";s:5:"data2";s:3:"111";s:5:"data3";s:3:"112";s:5:"data4";s:8:"2.200000";s:4:"add1";s:2:"11";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:98;a:8:{s:2:"id";s:2:"12";s:5:"data1";s:3:"120";s:5:"data2";s:3:"121";s:5:"data3";s:3:"122";s:5:"data4";s:8:"2.400000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:99;s:63:"running query [select * from rt where id between 3500 and 3502]";i:100;s:12:"total_rows=3";i:101;a:8:{s:2:"id";s:4:"3500";s:5:"data1";s:5:"35000";s:5:"data2";s:5:"35001";s:5:"data3";s:5:"35002";s:5:"data4";s:10:"700.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.222000";s:9:"title_len";s:1:"1";}i:102;a:8:{s:2:"id";s:4:"3501";s:5:"data1";s:5:"35010";s:5:"data2";s:5:"35011";s:5:"data3";s:5:"35012";s:5:"data4";s:10:"700.200012";s:4:"add1";s:4:"3501";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:103;a:8:{s:2:"id";s:4:"3502";s:5:"data1";s:5:"35020";s:5:"data2";s:5:"35021";s:5:"data3";s:5:"35022";s:5:"data4";s:10:"700.400024";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:104;s:63:"running query [select * from rt where id between 6500 and 6502]";i:105;s:12:"total_rows=3";i:106;a:8:{s:2:"id";s:4:"6500";s:5:"data1";s:5:"65000";s:5:"data2";s:5:"65001";s:5:"data3";s:5:"65002";s:5:"data4";s:11:"1300.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.333000";s:9:"title_len";s:1:"1";}i:107;a:8:{s:2:"id";s:4:"6501";s:5:"data1";s:5:"65010";s:5:"data2";s:5:"65011";s:5:"data3";s:5:"65012";s:5:"data4";s:11:"1300.199951";s:4:"add1";s:4:"6501";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:108;a:8:{s:2:"id";s:4:"6502";s:5:"data1";s:5:"65020";s:5:"data2";s:5:"65021";s:5:"data3";s:5:"65022";s:5:"data4";s:11:"1300.400024";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:109;s:48:"running query [alter table rt drop column data1]";i:110;s:16:"total_affected=0";i:111;s:59:"running query [select * from rt where id between 10 and 12]";i:112;s:12:"total_rows=3";i:113;a:7:{s:2:"id";s:2:"10";s:5:"data2";s:3:"101";s:5:"data3";s:3:"102";s:5:"data4";s:8:"2.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.111000";s:9:"title_len";s:1:"1";}i:114;a:7:{s:2:"id";s:2:"11";s:5:"data2";s:3:"111";s:5:"data3";s:3:"112";s:5:"data4";s:8:"2.200000";s:4:"add1";s:2:"11";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:115;a:7:{s:2:"id";s:2:"12";s:5:"data2";s:3:"121";s:5:"data3";s:3:"122";s:5:"data4";s:8:"2.400000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:116;s:63:"running query [select * from rt where id between 3500 and 3502]";i:117;s:12:"total_rows=3";i:118;a:7:{s:2:"id";s:4:"3500";s:5:"data2";s:5:"35001";s:5:"data3";s:5:"35002";s:5:"data4";s:10:"700.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.222000";s:9:"title_len";s:1:"1";}i:119;a:7:{s:2:"id";s:4:"3501";s:5:"data2";s:5:"35011";s:5:"data3";s:5:"35012";s:5:"data4";s:10:"700.200012";s:4:"add1";s:4:"3501";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:120;a:7:{s:2:"id";s:4:"3502";s:5:"data2";s:5:"35021";s:5:"data3";s:5:"35022";s:5:"data4";s:10:"700.400024";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:121;s:63:"running query [select * from rt where id between 6500 and 6502]";i:122;s:12:"total_rows=3";i:123;a:7:{s:2:"id";s:4:"6500";s:5:"data2";s:5:"65001";s:5:"data3";s:5:"65002";s:5:"data4";s:11:"1300.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.333000";s:9:"title_len";s:1:"1";}i:124;a:7:{s:2:"id";s:4:"6501";s:5:"data2";s:5:"65011";s:5:"data3";s:5:"65012";s:5:"data4";s:11:"1300.199951";s:4:"add1";s:4:"6501";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:125;a:7:{s:2:"id";s:4:"6502";s:5:"data2";s:5:"65021";s:5:"data3";s:5:"65022";s:5:"data4";s:11:"1300.400024";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:126;s:48:"running query [alter table rt drop column data1]";i:127;s:4:"res=";i:128;s:63:"error: query: 1064 : index rt: attribute 'data1' does not exist";i:129;s:48:"running query [alter table rt drop column data2]";i:130;s:16:"total_affected=0";i:131;s:59:"running query [select * from rt where id between 10 and 12]";i:132;s:12:"total_rows=3";i:133;a:6:{s:2:"id";s:2:"10";s:5:"data3";s:3:"102";s:5:"data4";s:8:"2.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.111000";s:9:"title_len";s:1:"1";}i:134;a:6:{s:2:"id";s:2:"11";s:5:"data3";s:3:"112";s:5:"data4";s:8:"2.200000";s:4:"add1";s:2:"11";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:135;a:6:{s:2:"id";s:2:"12";s:5:"data3";s:3:"122";s:5:"data4";s:8:"2.400000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:136;s:63:"running query [select * from rt where id between 3500 and 3502]";i:137;s:12:"total_rows=3";i:138;a:6:{s:2:"id";s:4:"3500";s:5:"data3";s:5:"35002";s:5:"data4";s:10:"700.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.222000";s:9:"title_len";s:1:"1";}i:139;a:6:{s:2:"id";s:4:"3501";s:5:"data3";s:5:"35012";s:5:"data4";s:10:"700.200012";s:4:"add1";s:4:"3501";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:140;a:6:{s:2:"id";s:4:"3502";s:5:"data3";s:5:"35022";s:5:"data4";s:10:"700.400024";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:141;s:63:"running query [select * from rt where id between 6500 and 6502]";i:142;s:12:"total_rows=3";i:143;a:6:{s:2:"id";s:4:"6500";s:5:"data3";s:5:"65002";s:5:"data4";s:11:"1300.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.333000";s:9:"title_len";s:1:"1";}i:144;a:6:{s:2:"id";s:4:"6501";s:5:"data3";s:5:"65012";s:5:"data4";s:11:"1300.199951";s:4:"add1";s:4:"6501";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:145;a:6:{s:2:"id";s:4:"6502";s:5:"data3";s:5:"65022";s:5:"data4";s:11:"1300.400024";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:146;s:48:"running query [alter table rt drop column data3]";i:147;s:16:"total_affected=0";i:148;s:59:"running query [select * from rt where id between 10 and 12]";i:149;s:12:"total_rows=3";i:150;a:5:{s:2:"id";s:2:"10";s:5:"data4";s:8:"2.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.111000";s:9:"title_len";s:1:"1";}i:151;a:5:{s:2:"id";s:2:"11";s:5:"data4";s:8:"2.200000";s:4:"add1";s:2:"11";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:152;a:5:{s:2:"id";s:2:"12";s:5:"data4";s:8:"2.400000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:153;s:63:"running query [select * from rt where id between 3500 and 3502]";i:154;s:12:"total_rows=3";i:155;a:5:{s:2:"id";s:4:"3500";s:5:"data4";s:10:"700.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.222000";s:9:"title_len";s:1:"1";}i:156;a:5:{s:2:"id";s:4:"3501";s:5:"data4";s:10:"700.200012";s:4:"add1";s:4:"3501";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:157;a:5:{s:2:"id";s:4:"3502";s:5:"data4";s:10:"700.400024";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:158;s:63:"running query [select * from rt where id between 6500 and 6502]";i:159;s:12:"total_rows=3";i:160;a:5:{s:2:"id";s:4:"6500";s:5:"data4";s:11:"1300.000000";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.333000";s:9:"title_len";s:1:"1";}i:161;a:5:{s:2:"id";s:4:"6501";s:5:"data4";s:11:"1300.199951";s:4:"add1";s:4:"6501";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:162;a:5:{s:2:"id";s:4:"6502";s:5:"data4";s:11:"1300.400024";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:163;s:48:"running query [alter table rt drop column data4]";i:164;s:16:"total_affected=0";i:165;s:59:"running query [select * from rt where id between 10 and 12]";i:166;s:12:"total_rows=3";i:167;a:4:{s:2:"id";s:2:"10";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.111000";s:9:"title_len";s:1:"1";}i:168;a:4:{s:2:"id";s:2:"11";s:4:"add1";s:2:"11";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:169;a:4:{s:2:"id";s:2:"12";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:170;s:63:"running query [select * from rt where id between 3500 and 3502]";i:171;s:12:"total_rows=3";i:172;a:4:{s:2:"id";s:4:"3500";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.222000";s:9:"title_len";s:1:"1";}i:173;a:4:{s:2:"id";s:4:"3501";s:4:"add1";s:4:"3501";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:174;a:4:{s:2:"id";s:4:"3502";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:175;s:63:"running query [select * from rt where id between 6500 and 6502]";i:176;s:12:"total_rows=3";i:177;a:4:{s:2:"id";s:4:"6500";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.333000";s:9:"title_len";s:1:"1";}i:178;a:4:{s:2:"id";s:4:"6501";s:4:"add1";s:4:"6501";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:179;a:4:{s:2:"id";s:4:"6502";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:180;s:47:"running query [alter table rt drop column add1]";i:181;s:16:"total_affected=0";i:182;s:59:"running query [select * from rt where id between 10 and 12]";i:183;s:12:"total_rows=3";i:184;a:3:{s:2:"id";s:2:"10";s:4:"add2";s:8:"0.111000";s:9:"title_len";s:1:"1";}i:185;a:3:{s:2:"id";s:2:"11";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:186;a:3:{s:2:"id";s:2:"12";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:187;s:63:"running query [select * from rt where id between 3500 and 3502]";i:188;s:12:"total_rows=3";i:189;a:3:{s:2:"id";s:4:"3500";s:4:"add2";s:8:"0.222000";s:9:"title_len";s:1:"1";}i:190;a:3:{s:2:"id";s:4:"3501";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:191;a:3:{s:2:"id";s:4:"3502";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:192;s:63:"running query [select * from rt where id between 6500 and 6502]";i:193;s:12:"total_rows=3";i:194;a:3:{s:2:"id";s:4:"6500";s:4:"add2";s:8:"0.333000";s:9:"title_len";s:1:"1";}i:195;a:3:{s:2:"id";s:4:"6501";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:196;a:3:{s:2:"id";s:4:"6502";s:4:"add2";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:197;s:47:"running query [alter table rt drop column add2]";i:198;s:16:"total_affected=0";i:199;s:59:"running query [select * from rt where id between 10 and 12]";i:200;s:12:"total_rows=3";i:201;a:2:{s:2:"id";s:2:"10";s:9:"title_len";s:1:"1";}i:202;a:2:{s:2:"id";s:2:"11";s:9:"title_len";s:1:"1";}i:203;a:2:{s:2:"id";s:2:"12";s:9:"title_len";s:1:"1";}i:204;s:63:"running query [select * from rt where id between 3500 and 3502]";i:205;s:12:"total_rows=3";i:206;a:2:{s:2:"id";s:4:"3500";s:9:"title_len";s:1:"1";}i:207;a:2:{s:2:"id";s:4:"3501";s:9:"title_len";s:1:"1";}i:208;a:2:{s:2:"id";s:4:"3502";s:9:"title_len";s:1:"1";}i:209;s:63:"running query [select * from rt where id between 6500 and 6502]";i:210;s:12:"total_rows=3";i:211;a:2:{s:2:"id";s:4:"6500";s:9:"title_len";s:1:"1";}i:212;a:2:{s:2:"id";s:4:"6501";s:9:"title_len";s:1:"1";}i:213;a:2:{s:2:"id";s:4:"6502";s:9:"title_len";s:1:"1";}i:214;s:47:"running query [alter table rt drop column add2]";i:215;s:4:"res=";i:216;s:62:"error: query: 1064 : index rt: attribute 'add2' does not exist";i:217;s:52:"running query [alter table rt add column add3 float]";i:218;s:16:"total_affected=0";i:219;s:59:"running query [select * from rt where id between 10 and 12]";i:220;s:12:"total_rows=3";i:221;a:3:{s:2:"id";s:2:"10";s:4:"add3";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:222;a:3:{s:2:"id";s:2:"11";s:4:"add3";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:223;a:3:{s:2:"id";s:2:"12";s:4:"add3";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:224;s:63:"running query [select * from rt where id between 3500 and 3502]";i:225;s:12:"total_rows=3";i:226;a:3:{s:2:"id";s:4:"3500";s:4:"add3";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:227;a:3:{s:2:"id";s:4:"3501";s:4:"add3";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:228;a:3:{s:2:"id";s:4:"3502";s:4:"add3";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:229;s:63:"running query [select * from rt where id between 6500 and 6502]";i:230;s:12:"total_rows=3";i:231;a:3:{s:2:"id";s:4:"6500";s:4:"add3";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:232;a:3:{s:2:"id";s:4:"6501";s:4:"add3";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:233;a:3:{s:2:"id";s:4:"6502";s:4:"add3";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:234;s:52:"running query [update rt set add3=0.111 where id=10]";i:235;s:16:"total_affected=1";i:236;s:54:"running query [update rt set add3=0.222 where id=3500]";i:237;s:16:"total_affected=1";i:238;s:54:"running query [update rt set add3=0.333 where id=6500]";i:239;s:16:"total_affected=1";i:240;s:59:"running query [select * from rt where id between 10 and 12]";i:241;s:12:"total_rows=3";i:242;a:3:{s:2:"id";s:2:"10";s:4:"add3";s:8:"0.111000";s:9:"title_len";s:1:"1";}i:243;a:3:{s:2:"id";s:2:"11";s:4:"add3";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:244;a:3:{s:2:"id";s:2:"12";s:4:"add3";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:245;s:63:"running query [select * from rt where id between 3500 and 3502]";i:246;s:12:"total_rows=3";i:247;a:3:{s:2:"id";s:4:"3500";s:4:"add3";s:8:"0.222000";s:9:"title_len";s:1:"1";}i:248;a:3:{s:2:"id";s:4:"3501";s:4:"add3";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:249;a:3:{s:2:"id";s:4:"3502";s:4:"add3";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:250;s:63:"running query [select * from rt where id between 6500 and 6502]";i:251;s:12:"total_rows=3";i:252;a:3:{s:2:"id";s:4:"6500";s:4:"add3";s:8:"0.333000";s:9:"title_len";s:1:"1";}i:253;a:3:{s:2:"id";s:4:"6501";s:4:"add3";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:254;a:3:{s:2:"id";s:4:"6502";s:4:"add3";s:8:"0.000000";s:9:"title_len";s:1:"1";}i:255;s:47:"running query [alter table rt drop column add3]";i:256;s:16:"total_affected=0";i:257;s:59:"running query [select * from rt where id between 10 and 12]";i:258;s:12:"total_rows=3";i:259;a:2:{s:2:"id";s:2:"10";s:9:"title_len";s:1:"1";}i:260;a:2:{s:2:"id";s:2:"11";s:9:"title_len";s:1:"1";}i:261;a:2:{s:2:"id";s:2:"12";s:9:"title_len";s:1:"1";}i:262;s:63:"running query [select * from rt where id between 3500 and 3502]";i:263;s:12:"total_rows=3";i:264;a:2:{s:2:"id";s:4:"3500";s:9:"title_len";s:1:"1";}i:265;a:2:{s:2:"id";s:4:"3501";s:9:"title_len";s:1:"1";}i:266;a:2:{s:2:"id";s:4:"3502";s:9:"title_len";s:1:"1";}i:267;s:63:"running query [select * from rt where id between 6500 and 6502]";i:268;s:12:"total_rows=3";i:269;a:2:{s:2:"id";s:4:"6500";s:9:"title_len";s:1:"1";}i:270;a:2:{s:2:"id";s:4:"6501";s:9:"title_len";s:1:"1";}i:271;a:2:{s:2:"id";s:4:"6502";s:9:"title_len";s:1:"1";}i:272;s:56:"running query [alter table rt add column select integer]";i:273;s:4:"res=";i:274;s:84:"error: query: 1064 : sphinxql: syntax error, unexpected SELECT near 'select integer'";i:275;s:58:"running query [alter table rt add column `select` integer]";i:276;s:16:"total_affected=0";i:277;s:51:"running query [select `select` from rt where id=10]";i:278;s:12:"total_rows=1";i:279;a:1:{s:6:"select";s:1:"0";}i:280;s:67:"running query [select min(`select`,`select`+1) from rt where id=10]";i:281;s:12:"total_rows=1";i:282;a:1:{s:24:"min(`select`,`select`+1)";s:1:"0";}i:283;s:53:"running query [select `select`=1 from rt where id=10]";i:284;s:12:"total_rows=1";i:285;a:1:{s:10:"`select`=1";s:1:"0";}}}}sphinx-2.2.11-release/test/test_213/0000755000175000017500000000000012743402012016402 5ustar alexeyalexeysphinx-2.2.11-release/test/test_213/test.xml0000644000175000017500000001043312743402012020104 0ustar alexeyalexey ALTER indexer { mem_limit = 16M } searchd { workers = threads workers = fork workers = prefork } source test { type = mysql sql_query = select * from test_table sql_attr_uint = gid } index test { source = test path = /test } CREATE TABLE `test_table` ( `id` int(11) NOT NULL, `gid` int(11) NOT NULL, `title` varchar(255) NOT NULL ); DROP TABLE IF EXISTS `test_table`; INSERT INTO `test_table` VALUES (1,1,'test one'), (2,1,'test two'), (3,2,'another doc'), (4,2,'doc number four'), (5,3,'numeric fixup'), (6,3,'numeric fixup contd') select * from test select *, count(*) from test order by id asc select * from test group by gid select * from test where match ('four') select * from test where match ('doc') and gid=2 select * from test where match ('fixup') alter table test add column add1 integer select * from test select *, count(*) from test order by id asc select * from test group by gid select * from test where match ('four') select * from test where match ('doc') and gid=2 select * from test where match ('fixup') alter table test add column add2 float select * from test select *, count(*) from test order by id asc select * from test group by gid select * from test where match ('four') select * from test where match ('doc') and gid=2 select * from test where match ('fixup') alter table test add column add3 bigint select * from test select *, count(*) from test order by id asc select * from test group by gid select * from test where match ('four') select * from test where match ('doc') and gid=2 select * from test where match ('fixup') alter table test add column mva multi select * from test update test set mva=(1,2,3) where id=3 select * from test alter table test add column mva64 multi64 select * from test update test set mva64=(4,5,6) where id=4 select * from test alter table test add column json1 json select * from test alter table test add column str1 string select * from test alter table test drop column str1 select * from test alter table test drop column str1 alter table test drop column str0 alter table test drop column json1 select * from test alter table test drop column mva64 select * from test alter table test drop column mva select * from test alter table test drop column add1 select * from test alter table test drop column add2 select * from test alter table test drop column add3 select * from test alter table test drop column gid select * from test alter table test add column add1 integer select * from test alter table missed_index add column add1 integer sphinx-2.2.11-release/test/test_213/model.bin0000644000175000017500000017530212743402012020204 0ustar alexeyalexeya:3:{i:0;a:60:{i:0;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";}i:3;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";}i:4;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";}i:5;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";}}}i:1;a:3:{s:8:"sphinxql";s:44:"select *, count(*) from test order by id asc";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:8:"count(*)";s:1:"6";}}}i:2;a:3:{s:8:"sphinxql";s:31:"select * from test group by gid";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";}i:2;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";}}}i:3;a:3:{s:8:"sphinxql";s:39:"select * from test where match ('four')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";}}}i:4;a:3:{s:8:"sphinxql";s:48:"select * from test where match ('doc') and gid=2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";}}}i:5;a:3:{s:8:"sphinxql";s:40:"select * from test where match ('fixup')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";}i:1;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";}}}i:6;a:2:{s:8:"sphinxql";s:40:"alter table test add column add1 integer";s:14:"total_affected";i:0;}i:7;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";}}}i:8;a:3:{s:8:"sphinxql";s:44:"select *, count(*) from test order by id asc";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:8:"count(*)";s:1:"6";}}}i:9;a:3:{s:8:"sphinxql";s:31:"select * from test group by gid";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";}i:1;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";}i:2;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";}}}i:10;a:3:{s:8:"sphinxql";s:39:"select * from test where match ('four')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";}}}i:11;a:3:{s:8:"sphinxql";s:48:"select * from test where match ('doc') and gid=2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";}i:1;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";}}}i:12;a:3:{s:8:"sphinxql";s:40:"select * from test where match ('fixup')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";}i:1;a:3:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";}}}i:13;a:2:{s:8:"sphinxql";s:38:"alter table test add column add2 float";s:14:"total_affected";i:0;}i:14;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:2;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:3;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:4;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:5;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}}}i:15;a:3:{s:8:"sphinxql";s:44:"select *, count(*) from test order by id asc";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:8:"count(*)";s:1:"6";}}}i:16;a:3:{s:8:"sphinxql";s:31:"select * from test group by gid";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:1;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:2;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}}}i:17;a:3:{s:8:"sphinxql";s:39:"select * from test where match ('four')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}}}i:18;a:3:{s:8:"sphinxql";s:48:"select * from test where match ('doc') and gid=2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:1;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}}}i:19;a:3:{s:8:"sphinxql";s:40:"select * from test where match ('fixup')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:1;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}}}i:20;a:2:{s:8:"sphinxql";s:39:"alter table test add column add3 bigint";s:14:"total_affected";i:0;}i:21;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:1;a:5:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:2;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:3;a:5:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:4;a:5:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:5;a:5:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}}}i:22;a:3:{s:8:"sphinxql";s:44:"select *, count(*) from test order by id asc";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:6:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:8:"count(*)";s:1:"6";}}}i:23;a:3:{s:8:"sphinxql";s:31:"select * from test group by gid";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:1;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:2;a:5:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}}}i:24;a:3:{s:8:"sphinxql";s:39:"select * from test where match ('four')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}}}i:25;a:3:{s:8:"sphinxql";s:48:"select * from test where match ('doc') and gid=2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:1;a:5:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}}}i:26;a:3:{s:8:"sphinxql";s:40:"select * from test where match ('fixup')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:5:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:1;a:5:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}}}i:27;a:2:{s:8:"sphinxql";s:37:"alter table test add column mva multi";s:14:"total_affected";i:0;}i:28;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:6:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:1;a:6:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:2;a:6:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:3;a:6:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:4;a:6:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:5;a:6:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}}}i:29;a:2:{s:8:"sphinxql";s:38:"update test set mva=(1,2,3) where id=3";s:14:"total_affected";i:1;}i:30;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:6:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:1;a:6:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:2;a:6:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:5:"1,2,3";}i:3;a:6:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:4;a:6:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:5;a:6:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}}}i:31;a:2:{s:8:"sphinxql";s:41:"alter table test add column mva64 multi64";s:14:"total_affected";i:0;}i:32;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:7:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:1;a:7:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:2;a:7:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:5:"1,2,3";s:5:"mva64";s:0:"";}i:3;a:7:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:4;a:7:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:5;a:7:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}}}i:33;a:2:{s:8:"sphinxql";s:40:"update test set mva64=(4,5,6) where id=4";s:14:"total_affected";i:1;}i:34;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:7:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:1;a:7:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:2;a:7:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:5:"1,2,3";s:5:"mva64";s:0:"";}i:3;a:7:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:5:"4,5,6";}i:4;a:7:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:5;a:7:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}}}i:35;a:2:{s:8:"sphinxql";s:38:"alter table test add column json1 json";s:14:"total_affected";i:0;}i:36;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:8:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;}i:1;a:8:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;}i:2;a:8:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:5:"1,2,3";s:5:"mva64";s:0:"";s:5:"json1";N;}i:3;a:8:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:5:"4,5,6";s:5:"json1";N;}i:4;a:8:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;}i:5;a:8:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;}}}i:37;a:2:{s:8:"sphinxql";s:39:"alter table test add column str1 string";s:14:"total_affected";i:0;}i:38;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:9:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;s:4:"str1";s:0:"";}i:1;a:9:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;s:4:"str1";s:0:"";}i:2;a:9:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:5:"1,2,3";s:5:"mva64";s:0:"";s:5:"json1";N;s:4:"str1";s:0:"";}i:3;a:9:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:5:"4,5,6";s:5:"json1";N;s:4:"str1";s:0:"";}i:4;a:9:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;s:4:"str1";s:0:"";}i:5;a:9:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;s:4:"str1";s:0:"";}}}i:39;a:2:{s:8:"sphinxql";s:33:"alter table test drop column str1";s:14:"total_affected";i:0;}i:40;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:8:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;}i:1;a:8:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;}i:2;a:8:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:5:"1,2,3";s:5:"mva64";s:0:"";s:5:"json1";N;}i:3;a:8:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:5:"4,5,6";s:5:"json1";N;}i:4;a:8:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;}i:5;a:8:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;}}}i:41;a:3:{s:8:"sphinxql";s:33:"alter table test drop column str1";s:5:"error";s:43:"index test: attribute 'str1' does not exist";s:5:"errno";i:1064;}i:42;a:3:{s:8:"sphinxql";s:33:"alter table test drop column str0";s:5:"error";s:43:"index test: attribute 'str0' does not exist";s:5:"errno";i:1064;}i:43;a:2:{s:8:"sphinxql";s:34:"alter table test drop column json1";s:14:"total_affected";i:0;}i:44;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:7:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:1;a:7:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:2;a:7:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:5:"1,2,3";s:5:"mva64";s:0:"";}i:3;a:7:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:5:"4,5,6";}i:4;a:7:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:5;a:7:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}}}i:45;a:2:{s:8:"sphinxql";s:34:"alter table test drop column mva64";s:14:"total_affected";i:0;}i:46;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:6:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:1;a:6:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:2;a:6:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:5:"1,2,3";}i:3;a:6:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:4;a:6:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:5;a:6:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}}}i:47;a:2:{s:8:"sphinxql";s:32:"alter table test drop column mva";s:14:"total_affected";i:0;}i:48;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:1;a:5:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:2;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:3;a:5:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:4;a:5:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:5;a:5:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}}}i:49;a:2:{s:8:"sphinxql";s:33:"alter table test drop column add1";s:14:"total_affected";i:0;}i:50;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:2;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:3;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:4;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:5;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}}}i:51;a:2:{s:8:"sphinxql";s:33:"alter table test drop column add2";s:14:"total_affected";i:0;}i:52;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add3";s:1:"0";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add3";s:1:"0";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add3";s:1:"0";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add3";s:1:"0";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add3";s:1:"0";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add3";s:1:"0";}}}i:53;a:2:{s:8:"sphinxql";s:33:"alter table test drop column add3";s:14:"total_affected";i:0;}i:54;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";}i:3;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";}i:4;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";}i:5;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";}}}i:55;a:3:{s:8:"sphinxql";s:32:"alter table test drop column gid";s:5:"error";s:49:"index test: unable to remove last attribute 'gid'";s:5:"errno";i:1064;}i:56;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";}i:3;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";}i:4;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";}i:5;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";}}}i:57;a:2:{s:8:"sphinxql";s:40:"alter table test add column add1 integer";s:14:"total_affected";i:0;}i:58;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";}}}i:59;a:3:{s:8:"sphinxql";s:48:"alter table missed_index add column add1 integer";s:5:"error";s:56:"index missed_index: unknown local index in ALTER request";s:5:"errno";i:1064;}}i:1;a:60:{i:0;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";}i:3;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";}i:4;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";}i:5;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";}}}i:1;a:3:{s:8:"sphinxql";s:44:"select *, count(*) from test order by id asc";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:8:"count(*)";s:1:"6";}}}i:2;a:3:{s:8:"sphinxql";s:31:"select * from test group by gid";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";}i:2;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";}}}i:3;a:3:{s:8:"sphinxql";s:39:"select * from test where match ('four')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";}}}i:4;a:3:{s:8:"sphinxql";s:48:"select * from test where match ('doc') and gid=2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";}}}i:5;a:3:{s:8:"sphinxql";s:40:"select * from test where match ('fixup')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";}i:1;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";}}}i:6;a:2:{s:8:"sphinxql";s:40:"alter table test add column add1 integer";s:14:"total_affected";i:0;}i:7;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";}}}i:8;a:3:{s:8:"sphinxql";s:44:"select *, count(*) from test order by id asc";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:8:"count(*)";s:1:"6";}}}i:9;a:3:{s:8:"sphinxql";s:31:"select * from test group by gid";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";}i:1;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";}i:2;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";}}}i:10;a:3:{s:8:"sphinxql";s:39:"select * from test where match ('four')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";}}}i:11;a:3:{s:8:"sphinxql";s:48:"select * from test where match ('doc') and gid=2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";}i:1;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";}}}i:12;a:3:{s:8:"sphinxql";s:40:"select * from test where match ('fixup')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";}i:1;a:3:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";}}}i:13;a:2:{s:8:"sphinxql";s:38:"alter table test add column add2 float";s:14:"total_affected";i:0;}i:14;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:2;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:3;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:4;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:5;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}}}i:15;a:3:{s:8:"sphinxql";s:44:"select *, count(*) from test order by id asc";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:8:"count(*)";s:1:"6";}}}i:16;a:3:{s:8:"sphinxql";s:31:"select * from test group by gid";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:1;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:2;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}}}i:17;a:3:{s:8:"sphinxql";s:39:"select * from test where match ('four')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}}}i:18;a:3:{s:8:"sphinxql";s:48:"select * from test where match ('doc') and gid=2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:1;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}}}i:19;a:3:{s:8:"sphinxql";s:40:"select * from test where match ('fixup')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:1;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}}}i:20;a:2:{s:8:"sphinxql";s:39:"alter table test add column add3 bigint";s:14:"total_affected";i:0;}i:21;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:1;a:5:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:2;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:3;a:5:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:4;a:5:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:5;a:5:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}}}i:22;a:3:{s:8:"sphinxql";s:44:"select *, count(*) from test order by id asc";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:6:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:8:"count(*)";s:1:"6";}}}i:23;a:3:{s:8:"sphinxql";s:31:"select * from test group by gid";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:1;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:2;a:5:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}}}i:24;a:3:{s:8:"sphinxql";s:39:"select * from test where match ('four')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}}}i:25;a:3:{s:8:"sphinxql";s:48:"select * from test where match ('doc') and gid=2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:1;a:5:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}}}i:26;a:3:{s:8:"sphinxql";s:40:"select * from test where match ('fixup')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:5:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:1;a:5:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}}}i:27;a:2:{s:8:"sphinxql";s:37:"alter table test add column mva multi";s:14:"total_affected";i:0;}i:28;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:6:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:1;a:6:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:2;a:6:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:3;a:6:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:4;a:6:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:5;a:6:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}}}i:29;a:2:{s:8:"sphinxql";s:38:"update test set mva=(1,2,3) where id=3";s:14:"total_affected";i:1;}i:30;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:6:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:1;a:6:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:2;a:6:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:5:"1,2,3";}i:3;a:6:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:4;a:6:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:5;a:6:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}}}i:31;a:2:{s:8:"sphinxql";s:41:"alter table test add column mva64 multi64";s:14:"total_affected";i:0;}i:32;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:7:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:1;a:7:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:2;a:7:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:5:"1,2,3";s:5:"mva64";s:0:"";}i:3;a:7:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:4;a:7:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:5;a:7:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}}}i:33;a:2:{s:8:"sphinxql";s:40:"update test set mva64=(4,5,6) where id=4";s:14:"total_affected";i:1;}i:34;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:7:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:1;a:7:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:2;a:7:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:5:"1,2,3";s:5:"mva64";s:0:"";}i:3;a:7:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:5:"4,5,6";}i:4;a:7:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:5;a:7:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}}}i:35;a:2:{s:8:"sphinxql";s:38:"alter table test add column json1 json";s:14:"total_affected";i:0;}i:36;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:8:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;}i:1;a:8:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;}i:2;a:8:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:5:"1,2,3";s:5:"mva64";s:0:"";s:5:"json1";N;}i:3;a:8:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:5:"4,5,6";s:5:"json1";N;}i:4;a:8:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;}i:5;a:8:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;}}}i:37;a:2:{s:8:"sphinxql";s:39:"alter table test add column str1 string";s:14:"total_affected";i:0;}i:38;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:9:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;s:4:"str1";s:0:"";}i:1;a:9:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;s:4:"str1";s:0:"";}i:2;a:9:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:5:"1,2,3";s:5:"mva64";s:0:"";s:5:"json1";N;s:4:"str1";s:0:"";}i:3;a:9:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:5:"4,5,6";s:5:"json1";N;s:4:"str1";s:0:"";}i:4;a:9:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;s:4:"str1";s:0:"";}i:5;a:9:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;s:4:"str1";s:0:"";}}}i:39;a:2:{s:8:"sphinxql";s:33:"alter table test drop column str1";s:14:"total_affected";i:0;}i:40;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:8:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;}i:1;a:8:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;}i:2;a:8:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:5:"1,2,3";s:5:"mva64";s:0:"";s:5:"json1";N;}i:3;a:8:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:5:"4,5,6";s:5:"json1";N;}i:4;a:8:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;}i:5;a:8:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;}}}i:41;a:3:{s:8:"sphinxql";s:33:"alter table test drop column str1";s:5:"error";s:43:"index test: attribute 'str1' does not exist";s:5:"errno";i:1064;}i:42;a:3:{s:8:"sphinxql";s:33:"alter table test drop column str0";s:5:"error";s:43:"index test: attribute 'str0' does not exist";s:5:"errno";i:1064;}i:43;a:2:{s:8:"sphinxql";s:34:"alter table test drop column json1";s:14:"total_affected";i:0;}i:44;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:7:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:1;a:7:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:2;a:7:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:5:"1,2,3";s:5:"mva64";s:0:"";}i:3;a:7:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:5:"4,5,6";}i:4;a:7:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:5;a:7:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}}}i:45;a:2:{s:8:"sphinxql";s:34:"alter table test drop column mva64";s:14:"total_affected";i:0;}i:46;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:6:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:1;a:6:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:2;a:6:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:5:"1,2,3";}i:3;a:6:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:4;a:6:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:5;a:6:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}}}i:47;a:2:{s:8:"sphinxql";s:32:"alter table test drop column mva";s:14:"total_affected";i:0;}i:48;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:1;a:5:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:2;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:3;a:5:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:4;a:5:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:5;a:5:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}}}i:49;a:2:{s:8:"sphinxql";s:33:"alter table test drop column add1";s:14:"total_affected";i:0;}i:50;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:2;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:3;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:4;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:5;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}}}i:51;a:2:{s:8:"sphinxql";s:33:"alter table test drop column add2";s:14:"total_affected";i:0;}i:52;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add3";s:1:"0";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add3";s:1:"0";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add3";s:1:"0";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add3";s:1:"0";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add3";s:1:"0";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add3";s:1:"0";}}}i:53;a:2:{s:8:"sphinxql";s:33:"alter table test drop column add3";s:14:"total_affected";i:0;}i:54;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";}i:3;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";}i:4;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";}i:5;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";}}}i:55;a:3:{s:8:"sphinxql";s:32:"alter table test drop column gid";s:5:"error";s:49:"index test: unable to remove last attribute 'gid'";s:5:"errno";i:1064;}i:56;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";}i:3;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";}i:4;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";}i:5;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";}}}i:57;a:2:{s:8:"sphinxql";s:40:"alter table test add column add1 integer";s:14:"total_affected";i:0;}i:58;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";}}}i:59;a:3:{s:8:"sphinxql";s:48:"alter table missed_index add column add1 integer";s:5:"error";s:56:"index missed_index: unknown local index in ALTER request";s:5:"errno";i:1064;}}i:2;a:60:{i:0;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";}i:3;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";}i:4;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";}i:5;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";}}}i:1;a:3:{s:8:"sphinxql";s:44:"select *, count(*) from test order by id asc";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:8:"count(*)";s:1:"6";}}}i:2;a:3:{s:8:"sphinxql";s:31:"select * from test group by gid";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";}i:2;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";}}}i:3;a:3:{s:8:"sphinxql";s:39:"select * from test where match ('four')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";}}}i:4;a:3:{s:8:"sphinxql";s:48:"select * from test where match ('doc') and gid=2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";}}}i:5;a:3:{s:8:"sphinxql";s:40:"select * from test where match ('fixup')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";}i:1;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";}}}i:6;a:2:{s:8:"sphinxql";s:40:"alter table test add column add1 integer";s:14:"total_affected";i:0;}i:7;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";}}}i:8;a:3:{s:8:"sphinxql";s:44:"select *, count(*) from test order by id asc";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:8:"count(*)";s:1:"6";}}}i:9;a:3:{s:8:"sphinxql";s:31:"select * from test group by gid";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";}i:1;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";}i:2;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";}}}i:10;a:3:{s:8:"sphinxql";s:39:"select * from test where match ('four')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";}}}i:11;a:3:{s:8:"sphinxql";s:48:"select * from test where match ('doc') and gid=2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";}i:1;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";}}}i:12;a:3:{s:8:"sphinxql";s:40:"select * from test where match ('fixup')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";}i:1;a:3:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";}}}i:13;a:2:{s:8:"sphinxql";s:38:"alter table test add column add2 float";s:14:"total_affected";i:0;}i:14;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:2;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:3;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:4;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:5;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}}}i:15;a:3:{s:8:"sphinxql";s:44:"select *, count(*) from test order by id asc";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:8:"count(*)";s:1:"6";}}}i:16;a:3:{s:8:"sphinxql";s:31:"select * from test group by gid";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:1;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:2;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}}}i:17;a:3:{s:8:"sphinxql";s:39:"select * from test where match ('four')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}}}i:18;a:3:{s:8:"sphinxql";s:48:"select * from test where match ('doc') and gid=2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:1;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}}}i:19;a:3:{s:8:"sphinxql";s:40:"select * from test where match ('fixup')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}i:1;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";}}}i:20;a:2:{s:8:"sphinxql";s:39:"alter table test add column add3 bigint";s:14:"total_affected";i:0;}i:21;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:1;a:5:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:2;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:3;a:5:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:4;a:5:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:5;a:5:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}}}i:22;a:3:{s:8:"sphinxql";s:44:"select *, count(*) from test order by id asc";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:6:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:8:"count(*)";s:1:"6";}}}i:23;a:3:{s:8:"sphinxql";s:31:"select * from test group by gid";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:1;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:2;a:5:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}}}i:24;a:3:{s:8:"sphinxql";s:39:"select * from test where match ('four')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}}}i:25;a:3:{s:8:"sphinxql";s:48:"select * from test where match ('doc') and gid=2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:1;a:5:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}}}i:26;a:3:{s:8:"sphinxql";s:40:"select * from test where match ('fixup')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:5:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:1;a:5:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}}}i:27;a:2:{s:8:"sphinxql";s:37:"alter table test add column mva multi";s:14:"total_affected";i:0;}i:28;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:6:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:1;a:6:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:2;a:6:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:3;a:6:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:4;a:6:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:5;a:6:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}}}i:29;a:2:{s:8:"sphinxql";s:38:"update test set mva=(1,2,3) where id=3";s:14:"total_affected";i:1;}i:30;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:6:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:1;a:6:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:2;a:6:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:5:"1,2,3";}i:3;a:6:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:4;a:6:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:5;a:6:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}}}i:31;a:2:{s:8:"sphinxql";s:41:"alter table test add column mva64 multi64";s:14:"total_affected";i:0;}i:32;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:7:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:1;a:7:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:2;a:7:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:5:"1,2,3";s:5:"mva64";s:0:"";}i:3;a:7:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:4;a:7:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:5;a:7:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}}}i:33;a:2:{s:8:"sphinxql";s:40:"update test set mva64=(4,5,6) where id=4";s:14:"total_affected";i:1;}i:34;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:7:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:1;a:7:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:2;a:7:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:5:"1,2,3";s:5:"mva64";s:0:"";}i:3;a:7:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:5:"4,5,6";}i:4;a:7:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:5;a:7:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}}}i:35;a:2:{s:8:"sphinxql";s:38:"alter table test add column json1 json";s:14:"total_affected";i:0;}i:36;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:8:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;}i:1;a:8:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;}i:2;a:8:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:5:"1,2,3";s:5:"mva64";s:0:"";s:5:"json1";N;}i:3;a:8:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:5:"4,5,6";s:5:"json1";N;}i:4;a:8:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;}i:5;a:8:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;}}}i:37;a:2:{s:8:"sphinxql";s:39:"alter table test add column str1 string";s:14:"total_affected";i:0;}i:38;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:9:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;s:4:"str1";s:0:"";}i:1;a:9:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;s:4:"str1";s:0:"";}i:2;a:9:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:5:"1,2,3";s:5:"mva64";s:0:"";s:5:"json1";N;s:4:"str1";s:0:"";}i:3;a:9:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:5:"4,5,6";s:5:"json1";N;s:4:"str1";s:0:"";}i:4;a:9:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;s:4:"str1";s:0:"";}i:5;a:9:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;s:4:"str1";s:0:"";}}}i:39;a:2:{s:8:"sphinxql";s:33:"alter table test drop column str1";s:14:"total_affected";i:0;}i:40;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:8:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;}i:1;a:8:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;}i:2;a:8:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:5:"1,2,3";s:5:"mva64";s:0:"";s:5:"json1";N;}i:3;a:8:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:5:"4,5,6";s:5:"json1";N;}i:4;a:8:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;}i:5;a:8:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";s:5:"json1";N;}}}i:41;a:3:{s:8:"sphinxql";s:33:"alter table test drop column str1";s:5:"error";s:43:"index test: attribute 'str1' does not exist";s:5:"errno";i:1064;}i:42;a:3:{s:8:"sphinxql";s:33:"alter table test drop column str0";s:5:"error";s:43:"index test: attribute 'str0' does not exist";s:5:"errno";i:1064;}i:43;a:2:{s:8:"sphinxql";s:34:"alter table test drop column json1";s:14:"total_affected";i:0;}i:44;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:7:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:1;a:7:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:2;a:7:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:5:"1,2,3";s:5:"mva64";s:0:"";}i:3;a:7:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:5:"4,5,6";}i:4;a:7:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}i:5;a:7:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";s:5:"mva64";s:0:"";}}}i:45;a:2:{s:8:"sphinxql";s:34:"alter table test drop column mva64";s:14:"total_affected";i:0;}i:46;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:6:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:1;a:6:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:2;a:6:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:5:"1,2,3";}i:3;a:6:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:4;a:6:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}i:5;a:6:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";s:3:"mva";s:0:"";}}}i:47;a:2:{s:8:"sphinxql";s:32:"alter table test drop column mva";s:14:"total_affected";i:0;}i:48;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:1;a:5:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:2;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:3;a:5:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:4;a:5:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:5;a:5:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}}}i:49;a:2:{s:8:"sphinxql";s:33:"alter table test drop column add1";s:14:"total_affected";i:0;}i:50;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:2;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:3;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:4;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}i:5;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add2";s:8:"0.000000";s:4:"add3";s:1:"0";}}}i:51;a:2:{s:8:"sphinxql";s:33:"alter table test drop column add2";s:14:"total_affected";i:0;}i:52;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add3";s:1:"0";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add3";s:1:"0";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add3";s:1:"0";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add3";s:1:"0";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add3";s:1:"0";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add3";s:1:"0";}}}i:53;a:2:{s:8:"sphinxql";s:33:"alter table test drop column add3";s:14:"total_affected";i:0;}i:54;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";}i:3;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";}i:4;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";}i:5;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";}}}i:55;a:3:{s:8:"sphinxql";s:32:"alter table test drop column gid";s:5:"error";s:49:"index test: unable to remove last attribute 'gid'";s:5:"errno";i:1064;}i:56;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";}i:3;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";}i:4;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";}i:5;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";}}}i:57;a:2:{s:8:"sphinxql";s:40:"alter table test add column add1 integer";s:14:"total_affected";i:0;}i:58;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:4:"add1";s:1:"0";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:4:"add1";s:1:"0";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:4:"add1";s:1:"0";}}}i:59;a:3:{s:8:"sphinxql";s:48:"alter table missed_index add column add1 integer";s:5:"error";s:56:"index missed_index: unknown local index in ALTER request";s:5:"errno";i:1064;}}}sphinx-2.2.11-release/test/test_212/0000755000175000017500000000000012743402012016401 5ustar alexeyalexeysphinx-2.2.11-release/test/test_212/test.xml0000644000175000017500000000240112743402012020077 0ustar alexeyalexey index format backwards compatibility pt.2 indexer { mem_limit = 16M } searchd { workers = threads seamless_rotate = 0 seamless_rotate = 1 } source test { type = mysql sql_query = select 1, 'dummy' dummy } index plain { source = test path = /plain } source dummy_rot { type = mysql sql_query = select 1, 'dummy' body } index dummy_rot { source = dummy_rot path = /dummy_rot } Query ( 'dummy', 'plain' ); $results[] = $client->Query ( 'something', 'plain' ); $files = array ( 'spa', 'spd', 'sph', 'spi', 'spk', 'spm', 'spp', 'sps' ); foreach ( $files as $ext ) copy ( "test_212/refdata/plain.new.$ext", "data/plain.new.$ext" ); RunIndexer ( $errors, '--rotate dummy_rot' ); // just to send SIGHUP to daemon sleep(2); $results[] = $client->Query ( 'dummy', 'plain' ); $results[] = $client->Query ( 'something', 'plain' ); for ( $i=0; $i sphinx-2.2.11-release/test/test_212/refdata/0000755000175000017500000000000012743402012020007 5ustar alexeyalexeysphinx-2.2.11-release/test/test_212/refdata/plain.new.sps0000644000175000017500000000000112743402012022420 0ustar alexeyalexeysphinx-2.2.11-release/test/test_212/refdata/plain.new.spp0000644000175000017500000000000112743402012022415 0ustar alexeyalexeysphinx-2.2.11-release/test/test_212/refdata/plain.new.spm0000644000175000017500000000000012743402012022411 0ustar alexeyalexeysphinx-2.2.11-release/test/test_212/refdata/plain.new.spk0000644000175000017500000000000012743402012022407 0ustar alexeyalexeysphinx-2.2.11-release/test/test_212/refdata/plain.new.spi0000644000175000017500000000003212743402012022412 0ustar alexeyalexey{1 sphinx-2.2.11-release/test/test_212/refdata/plain.new.sph0000644000175000017500000000036712743402012022424 0ustar alexeyalexeySPHX something  sphinx-2.2.11-release/test/test_212/refdata/plain.new.spd0000644000175000017500000000000612743402012022406 0ustar alexeyalexeysphinx-2.2.11-release/test/test_212/refdata/plain.new.spa0000644000175000017500000000000012743402012022375 0ustar alexeyalexeysphinx-2.2.11-release/test/test_212/model.bin0000644000175000017500000000436612743402012020204 0ustar alexeyalexeya:2:{i:0;a:1:{i:0;a:4:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"dummy";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"dummy";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:1;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"dummy";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:9:"something";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:2;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:9:"something";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:5:"dummy";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:3;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:9:"something";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:9:"something";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}i:1;a:1:{i:0;a:4:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"dummy";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"dummy";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:1;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"dummy";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:9:"something";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:2;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:9:"something";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:5:"dummy";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:3;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:9:"something";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:9:"something";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}}sphinx-2.2.11-release/test/test_211/0000755000175000017500000000000012743402012016400 5ustar alexeyalexeysphinx-2.2.11-release/test/test_211/test.xml0000644000175000017500000000256212743402012020106 0ustar alexeyalexey field-start modifier vs star-expansion vs tiny-keyword cache indexer { mem_limit = 16M } searchd { } source test { type = mysql sql_query = select * from test_table sql_attr_uint = gid } index test { source = test path = /test dict = keywords min_prefix_len = 2 } index test1 { source = test path = /test1 dict = keywords min_word_len = 2 } CREATE TABLE test_table ( id INTEGER PRIMARY KEY NOT NULL, gid INTEGER NOT NULL, title VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table VALUES (1, 1, 'one two abcx'), (2, 1, 'three abcx four'), (3, 1, 'five six seven abcx'), (4, 1, 'eight in abcx-nine'), (5, 1, 'one two three in abcm'), (6, 1, 'abcm ftw'), (7, 1, 'abcx test') abcx ^abcx abcm ^abcm abc* ^abc* @title ^a$ sphinx-2.2.11-release/test/test_211/model.bin0000644000175000017500000000717212743402012020201 0ustar alexeyalexeya:1:{i:0;a:7:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1444";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:2;a:2:{s:6:"weight";s:4:"1444";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"1444";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1444";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:7;a:2:{s:6:"weight";s:4:"1444";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"abcx";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"abcx";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1444";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"abcx";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"^abcx";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:5;a:2:{s:6:"weight";s:4:"1620";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:6;a:2:{s:6:"weight";s:4:"1620";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"abcm";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"abcm";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1620";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"abcm";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"^abcm";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:7:{i:1;a:2:{s:6:"weight";s:4:"1287";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:2;a:2:{s:6:"weight";s:4:"1287";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"1287";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1287";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:5;a:2:{s:6:"weight";s:4:"1287";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:6;a:2:{s:6:"weight";s:4:"1287";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:7;a:2:{s:6:"weight";s:4:"1287";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"7";s:11:"total_found";s:1:"7";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"abc*";a:2:{s:4:"docs";s:1:"7";s:4:"hits";s:1:"7";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"abc*";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:6;a:2:{s:6:"weight";s:4:"1620";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:7;a:2:{s:6:"weight";s:4:"1620";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"abc*";a:2:{s:4:"docs";s:1:"7";s:4:"hits";s:1:"7";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"^abc*";}i:6;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:"@title ^a$";}}}sphinx-2.2.11-release/test/test_210/0000755000175000017500000000000012743402012016377 5ustar alexeyalexeysphinx-2.2.11-release/test/test_210/test.xml0000644000175000017500000000220112743402012020073 0ustar alexeyalexey stopwords_stem indexer { mem_limit = 16M } searchd { } source test { type = mysql sql_query = select * from test_table sql_attr_uint = gid } index test { source = test path = /test morphology = stem_en stopwords = //stopwords.txt stopwords_unstemmed = 0 stopwords_unstemmed = 1 } CREATE TABLE test_table ( id INTEGER PRIMARY KEY NOT NULL, gid INTEGER NOT NULL, title VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table VALUES ( 1, 123, 'one busy' ), ( 2, 123, 'one busier' ), ( 3, 123, 'one busiest' ), ( 4, 123, 'one business' ), ( 5, 123, 'two run' ), ( 6, 123, 'two runs' ), ( 7, 123, 'two running' ) one busy one business two run two runs sphinx-2.2.11-release/test/test_210/stopwords.txt0000644000175000017500000000001612743402012021201 0ustar alexeyalexeybusiness runs sphinx-2.2.11-release/test/test_210/model.bin0000644000175000017500000001610512743402012020174 0ustar alexeyalexeya:3:{i:0;a:4:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:2;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:3;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:4;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"one busy";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:2;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:3;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:4;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"one business";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:5;a:2:{s:6:"weight";s:4:"1555";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:6;a:2:{s:6:"weight";s:4:"1555";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:7;a:2:{s:6:"weight";s:4:"1555";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"two";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"two run";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:5;a:2:{s:6:"weight";s:4:"1555";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:6;a:2:{s:6:"weight";s:4:"1555";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:7;a:2:{s:6:"weight";s:4:"1555";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"two";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"two runs";}}i:1;a:4:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:2;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:3;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:4;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"one busy";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:2;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:3;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:4;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"one business";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:5;a:2:{s:6:"weight";s:4:"1555";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:6;a:2:{s:6:"weight";s:4:"1555";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:7;a:2:{s:6:"weight";s:4:"1555";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"two";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"two run";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:5;a:2:{s:6:"weight";s:4:"1555";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:6;a:2:{s:6:"weight";s:4:"1555";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:7;a:2:{s:6:"weight";s:4:"1555";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"two";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"two runs";}}i:2;a:4:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"2606";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:4:"busi";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"one busy";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:2;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:3;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:4;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"one business";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:5;a:2:{s:6:"weight";s:4:"2587";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:7;a:2:{s:6:"weight";s:4:"2587";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"two";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:3:"run";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"two run";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:5;a:2:{s:6:"weight";s:4:"1555";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:6;a:2:{s:6:"weight";s:4:"1555";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:7;a:2:{s:6:"weight";s:4:"1555";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"two";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"two runs";}}}sphinx-2.2.11-release/test/test_209/0000755000175000017500000000000012743402012016407 5ustar alexeyalexeysphinx-2.2.11-release/test/test_209/test.xml0000644000175000017500000001376112743402012020120 0ustar alexeyalexey like operator indexer { mem_limit = 16M } searchd { workers = threads predicted_time_costs = doc=100000000, hit=1000000, skip=0, match=0 } source src { type = mysql sql_query = SELECT document_id, group_id, group_id2, title, content FROM test_table sql_attr_uint = group_id sql_attr_uint = group_id2 } index test { source = src path = /test } source srchalf1 { type = mysql sql_query = SELECT 1, 11 idd, 'text goes here' text UNION SELECT 2, 11 idd, 'text goes there' text sql_attr_uint = idd } source srchalf2 { type = mysql sql_query = SELECT 3, 11 idd, 'text everywhere but got text here' text UNION SELECT 4, 11 idd, 'got text hole' text sql_attr_uint = idd } index loc1 { source = srchalf1 path = /loc1 } index loc2 { source = srchalf2 path = /loc2 } index d1 { type = distributed local = loc1 agent = :loc2 } index end1 { type = distributed agent = :loc1 agent = :loc2 } index proxy1 { type = distributed agent = :end1 } index d2 { type = distributed agent = :proxy1 } index d3 { type = distributed agent = :end1 } source src10 { type = mysql sql_query = SELECT document_id, group_id, group_id2, title, content FROM test_table where document_id in (1,2) sql_attr_uint = group_id sql_attr_uint = group_id2 } index test10 { source = src10 path = /test10 } source src11 { type = mysql sql_query = SELECT document_id, group_id, group_id2, title, content FROM test_table where document_id in (3,4) sql_attr_uint = group_id sql_attr_uint = group_id2 } index test11 { source = src11 path = /test11 } index dist1 { type =distributed agent = :test10 agent = :test11 } source src20 { type = mysql sql_query = SELECT document_id, group_id, group_id2, title, content FROM test_table where document_id in (1,3) sql_attr_uint = group_id sql_attr_uint = group_id2 } index test20 { source = src20 path = /test20 } source src21 { type = mysql sql_query = SELECT document_id, group_id, group_id2, title, content FROM test_table where document_id in (2,4) sql_attr_uint = group_id sql_attr_uint = group_id2 } index test21 { source = src21 path = /test21 } index dist2 { type =distributed agent = :test20 agent = :test21 } SHOW STATUS LIKE '%n_\_up%' SHOW META LIKE '%al%found' DESCRIBE test LIKE 'g_oup%' SHOW TABLES LIKE '__s_' SHOW AGENT STATUS LIKE '%seconds%' SELECT *, GROUPBY(), COUNT(*) FROM test GROUP BY group_id, group_id2 SELECT *, GROUPBY(), COUNT(*) FROM test GROUP BY group_id2, group_id, group_id2 SELECT * FROM loc1 WHERE MATCH ( 'text | got | here') LIMIT 1 OPTION max_predicted_time=10000 SHOW META LIKE 'local%' SHOW META LIKE 'dist%' SHOW META LIKE '%predict%' SELECT * FROM loc2 WHERE MATCH ( 'text | got | here') LIMIT 1 OPTION max_predicted_time=10000 SHOW META LIKE 'local%' SHOW META LIKE 'dist%' SHOW META LIKE '%predict%' SELECT * FROM loc1, loc2 WHERE MATCH ( 'text | got | here') LIMIT 1 OPTION max_predicted_time=10000 SHOW META LIKE 'local%' SHOW META LIKE 'dist%' SHOW META LIKE '%predict%' SELECT * FROM d1 WHERE MATCH ( 'text | got | here') LIMIT 1 OPTION max_predicted_time=10000 SHOW META LIKE 'local%' SHOW META LIKE 'dist%' SHOW META LIKE '%predict%' SELECT * FROM d2 WHERE MATCH ( 'text | got | here') LIMIT 1 OPTION max_predicted_time=10000 SHOW META LIKE 'local%' SHOW META LIKE 'dist%' SHOW META LIKE '%predict%' SELECT * FROM d3 WHERE MATCH ( 'text | got | here') LIMIT 1 OPTION max_predicted_time=10000 SHOW META LIKE 'local%' SHOW META LIKE 'dist%' SHOW META LIKE '%predict%' SELECT COUNT(*) FROM test SELECT id id1, COUNT(DISTINCT id1) FROM test SELECT *, GROUPBY(), COUNT(*) FROM dist1 GROUP BY group_id, group_id2 SELECT *, GROUPBY(), COUNT(*) FROM dist1 GROUP BY group_id2, group_id, group_id2 SELECT *, GROUPBY(), COUNT(*) FROM dist2 GROUP BY group_id, group_id2 SELECT *, GROUPBY(), COUNT(*) FROM dist2 GROUP BY group_id2, group_id, group_id2 CREATE TABLE test_table ( document_id INTEGER PRIMARY KEY NOT NULL AUTO_INCREMENT, group_id INTEGER NOT NULL, group_id2 INTEGER NOT NULL, title VARCHAR(255) NOT NULL, content VARCHAR(255) NOT NULL ) DROP TABLE IF EXISTS test_table INSERT INTO test_table ( document_id, group_id, group_id2, title, content ) VALUES ( 1, 1, 5, 'test one', 'this is my test document number one. also checking search within phrases.' ), ( 2, 1, 6, 'test two', 'this is my test document number two' ), ( 3, 2, 7, 'test three', 'this is another group' ), ( 4, 2, 8, 'test four', 'this is to test groups' ) sphinx-2.2.11-release/test/test_209/model.bin0000644000175000017500000002623712743402012020213 0ustar alexeyalexeya:1:{i:0;a:37:{i:0;a:3:{s:8:"sphinxql";s:27:"SHOW STATUS LIKE '%n_\_up%'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:7:"Counter";s:14:"command_update";s:5:"Value";s:1:"0";}}}i:1;a:3:{s:8:"sphinxql";s:26:"SHOW META LIKE '%al%found'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}}}i:2;a:3:{s:8:"sphinxql";s:27:"DESCRIBE test LIKE 'g_oup%'";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:5:"Field";s:8:"group_id";s:4:"Type";s:4:"uint";}i:1;a:2:{s:5:"Field";s:9:"group_id2";s:4:"Type";s:4:"uint";}}}i:3;a:3:{s:8:"sphinxql";s:23:"SHOW TABLES LIKE '__s_'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:5:"Index";s:4:"test";s:4:"Type";s:5:"local";}}}i:4;a:3:{s:8:"sphinxql";s:34:"SHOW AGENT STATUS LIKE '%seconds%'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:3:"Key";s:21:"status_period_seconds";s:5:"Value";s:2:"60";}}}i:5;a:3:{s:8:"sphinxql";s:68:"SELECT *, GROUPBY(), COUNT(*) FROM test GROUP BY group_id, group_id2";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:5:{s:2:"id";s:1:"1";s:8:"group_id";s:1:"1";s:9:"group_id2";s:1:"5";s:9:"groupby()";s:20:"-2580082279533744703";s:8:"count(*)";s:1:"1";}i:1;a:5:{s:2:"id";s:1:"2";s:8:"group_id";s:1:"1";s:9:"group_id2";s:1:"6";s:9:"groupby()";s:19:"-347766872566155294";s:8:"count(*)";s:1:"1";}i:2;a:5:{s:2:"id";s:1:"3";s:8:"group_id";s:1:"2";s:9:"group_id2";s:1:"7";s:9:"groupby()";s:19:"5566688876897930752";s:8:"count(*)";s:1:"1";}i:3;a:5:{s:2:"id";s:1:"4";s:8:"group_id";s:1:"2";s:9:"group_id2";s:1:"8";s:9:"groupby()";s:19:"2157931833992668655";s:8:"count(*)";s:1:"1";}}}i:6;a:3:{s:8:"sphinxql";s:79:"SELECT *, GROUPBY(), COUNT(*) FROM test GROUP BY group_id2, group_id, group_id2";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:5:{s:2:"id";s:1:"1";s:8:"group_id";s:1:"1";s:9:"group_id2";s:1:"5";s:9:"groupby()";s:20:"-2580082279533744703";s:8:"count(*)";s:1:"1";}i:1;a:5:{s:2:"id";s:1:"2";s:8:"group_id";s:1:"1";s:9:"group_id2";s:1:"6";s:9:"groupby()";s:19:"-347766872566155294";s:8:"count(*)";s:1:"1";}i:2;a:5:{s:2:"id";s:1:"3";s:8:"group_id";s:1:"2";s:9:"group_id2";s:1:"7";s:9:"groupby()";s:19:"5566688876897930752";s:8:"count(*)";s:1:"1";}i:3;a:5:{s:2:"id";s:1:"4";s:8:"group_id";s:1:"2";s:9:"group_id2";s:1:"8";s:9:"groupby()";s:19:"2157931833992668655";s:8:"count(*)";s:1:"1";}}}i:7;a:3:{s:8:"sphinxql";s:94:"SELECT * FROM loc1 WHERE MATCH ( 'text | got | here') LIMIT 1 OPTION max_predicted_time=10000";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:8;a:3:{s:8:"sphinxql";s:23:"SHOW META LIKE 'local%'";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:13:"Variable_name";s:18:"local_fetched_docs";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:18:"local_fetched_hits";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:19:"local_fetched_skips";s:5:"Value";s:1:"0";}}}i:9;a:2:{s:8:"sphinxql";s:22:"SHOW META LIKE 'dist%'";s:10:"total_rows";i:0;}i:10;a:3:{s:8:"sphinxql";s:26:"SHOW META LIKE '%predict%'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:13:"Variable_name";s:14:"predicted_time";s:5:"Value";s:3:"303";}}}i:11;a:3:{s:8:"sphinxql";s:94:"SELECT * FROM loc2 WHERE MATCH ( 'text | got | here') LIMIT 1 OPTION max_predicted_time=10000";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:12;a:3:{s:8:"sphinxql";s:23:"SHOW META LIKE 'local%'";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:13:"Variable_name";s:18:"local_fetched_docs";s:5:"Value";s:1:"5";}i:1;a:2:{s:13:"Variable_name";s:18:"local_fetched_hits";s:5:"Value";s:1:"6";}i:2;a:2:{s:13:"Variable_name";s:19:"local_fetched_skips";s:5:"Value";s:1:"0";}}}i:13;a:2:{s:8:"sphinxql";s:22:"SHOW META LIKE 'dist%'";s:10:"total_rows";i:0;}i:14;a:3:{s:8:"sphinxql";s:26:"SHOW META LIKE '%predict%'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:13:"Variable_name";s:14:"predicted_time";s:5:"Value";s:3:"506";}}}i:15;a:3:{s:8:"sphinxql";s:100:"SELECT * FROM loc1, loc2 WHERE MATCH ( 'text | got | here') LIMIT 1 OPTION max_predicted_time=10000";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:16;a:3:{s:8:"sphinxql";s:23:"SHOW META LIKE 'local%'";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:13:"Variable_name";s:18:"local_fetched_docs";s:5:"Value";s:1:"8";}i:1;a:2:{s:13:"Variable_name";s:18:"local_fetched_hits";s:5:"Value";s:1:"9";}i:2;a:2:{s:13:"Variable_name";s:19:"local_fetched_skips";s:5:"Value";s:1:"0";}}}i:17;a:2:{s:8:"sphinxql";s:22:"SHOW META LIKE 'dist%'";s:10:"total_rows";i:0;}i:18;a:3:{s:8:"sphinxql";s:26:"SHOW META LIKE '%predict%'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:13:"Variable_name";s:14:"predicted_time";s:5:"Value";s:3:"809";}}}i:19;a:3:{s:8:"sphinxql";s:92:"SELECT * FROM d1 WHERE MATCH ( 'text | got | here') LIMIT 1 OPTION max_predicted_time=10000";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:20;a:3:{s:8:"sphinxql";s:23:"SHOW META LIKE 'local%'";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:13:"Variable_name";s:18:"local_fetched_docs";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:18:"local_fetched_hits";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:19:"local_fetched_skips";s:5:"Value";s:1:"0";}}}i:21;a:3:{s:8:"sphinxql";s:22:"SHOW META LIKE 'dist%'";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:13:"Variable_name";s:19:"dist_predicted_time";s:5:"Value";s:3:"506";}i:1;a:2:{s:13:"Variable_name";s:17:"dist_fetched_docs";s:5:"Value";s:1:"8";}i:2;a:2:{s:13:"Variable_name";s:17:"dist_fetched_hits";s:5:"Value";s:1:"9";}i:3;a:2:{s:13:"Variable_name";s:18:"dist_fetched_skips";s:5:"Value";s:1:"0";}}}i:22;a:3:{s:8:"sphinxql";s:26:"SHOW META LIKE '%predict%'";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:13:"Variable_name";s:14:"predicted_time";s:5:"Value";s:3:"303";}i:1;a:2:{s:13:"Variable_name";s:19:"dist_predicted_time";s:5:"Value";s:3:"506";}}}i:23;a:3:{s:8:"sphinxql";s:92:"SELECT * FROM d2 WHERE MATCH ( 'text | got | here') LIMIT 1 OPTION max_predicted_time=10000";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:24;a:3:{s:8:"sphinxql";s:23:"SHOW META LIKE 'local%'";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:13:"Variable_name";s:18:"local_fetched_docs";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:18:"local_fetched_hits";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:19:"local_fetched_skips";s:5:"Value";s:1:"0";}}}i:25;a:3:{s:8:"sphinxql";s:22:"SHOW META LIKE 'dist%'";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:13:"Variable_name";s:19:"dist_predicted_time";s:5:"Value";s:3:"809";}i:1;a:2:{s:13:"Variable_name";s:17:"dist_fetched_docs";s:5:"Value";s:1:"8";}i:2;a:2:{s:13:"Variable_name";s:17:"dist_fetched_hits";s:5:"Value";s:1:"9";}i:3;a:2:{s:13:"Variable_name";s:18:"dist_fetched_skips";s:5:"Value";s:1:"0";}}}i:26;a:3:{s:8:"sphinxql";s:26:"SHOW META LIKE '%predict%'";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:13:"Variable_name";s:14:"predicted_time";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:19:"dist_predicted_time";s:5:"Value";s:3:"809";}}}i:27;a:3:{s:8:"sphinxql";s:92:"SELECT * FROM d3 WHERE MATCH ( 'text | got | here') LIMIT 1 OPTION max_predicted_time=10000";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:28;a:3:{s:8:"sphinxql";s:23:"SHOW META LIKE 'local%'";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:13:"Variable_name";s:18:"local_fetched_docs";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:18:"local_fetched_hits";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:19:"local_fetched_skips";s:5:"Value";s:1:"0";}}}i:29;a:3:{s:8:"sphinxql";s:22:"SHOW META LIKE 'dist%'";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:13:"Variable_name";s:19:"dist_predicted_time";s:5:"Value";s:3:"809";}i:1;a:2:{s:13:"Variable_name";s:17:"dist_fetched_docs";s:5:"Value";s:1:"8";}i:2;a:2:{s:13:"Variable_name";s:17:"dist_fetched_hits";s:5:"Value";s:1:"9";}i:3;a:2:{s:13:"Variable_name";s:18:"dist_fetched_skips";s:5:"Value";s:1:"0";}}}i:30;a:3:{s:8:"sphinxql";s:26:"SHOW META LIKE '%predict%'";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:13:"Variable_name";s:14:"predicted_time";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:19:"dist_predicted_time";s:5:"Value";s:3:"809";}}}i:31;a:3:{s:8:"sphinxql";s:25:"SELECT COUNT(*) FROM test";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:8:"count(*)";s:1:"4";}}}i:32;a:3:{s:8:"sphinxql";s:44:"SELECT id id1, COUNT(DISTINCT id1) FROM test";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:3:"id1";s:1:"1";s:19:"count(distinct id1)";s:1:"4";}}}i:33;a:3:{s:8:"sphinxql";s:69:"SELECT *, GROUPBY(), COUNT(*) FROM dist1 GROUP BY group_id, group_id2";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:5:{s:2:"id";s:1:"1";s:8:"group_id";s:1:"1";s:9:"group_id2";s:1:"5";s:9:"groupby()";s:20:"-2580082279533744703";s:8:"count(*)";s:1:"1";}i:1;a:5:{s:2:"id";s:1:"2";s:8:"group_id";s:1:"1";s:9:"group_id2";s:1:"6";s:9:"groupby()";s:19:"-347766872566155294";s:8:"count(*)";s:1:"1";}i:2;a:5:{s:2:"id";s:1:"3";s:8:"group_id";s:1:"2";s:9:"group_id2";s:1:"7";s:9:"groupby()";s:19:"5566688876897930752";s:8:"count(*)";s:1:"1";}i:3;a:5:{s:2:"id";s:1:"4";s:8:"group_id";s:1:"2";s:9:"group_id2";s:1:"8";s:9:"groupby()";s:19:"2157931833992668655";s:8:"count(*)";s:1:"1";}}}i:34;a:3:{s:8:"sphinxql";s:80:"SELECT *, GROUPBY(), COUNT(*) FROM dist1 GROUP BY group_id2, group_id, group_id2";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:5:{s:2:"id";s:1:"1";s:8:"group_id";s:1:"1";s:9:"group_id2";s:1:"5";s:9:"groupby()";s:20:"-2580082279533744703";s:8:"count(*)";s:1:"1";}i:1;a:5:{s:2:"id";s:1:"2";s:8:"group_id";s:1:"1";s:9:"group_id2";s:1:"6";s:9:"groupby()";s:19:"-347766872566155294";s:8:"count(*)";s:1:"1";}i:2;a:5:{s:2:"id";s:1:"3";s:8:"group_id";s:1:"2";s:9:"group_id2";s:1:"7";s:9:"groupby()";s:19:"5566688876897930752";s:8:"count(*)";s:1:"1";}i:3;a:5:{s:2:"id";s:1:"4";s:8:"group_id";s:1:"2";s:9:"group_id2";s:1:"8";s:9:"groupby()";s:19:"2157931833992668655";s:8:"count(*)";s:1:"1";}}}i:35;a:3:{s:8:"sphinxql";s:69:"SELECT *, GROUPBY(), COUNT(*) FROM dist2 GROUP BY group_id, group_id2";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:5:{s:2:"id";s:1:"1";s:8:"group_id";s:1:"1";s:9:"group_id2";s:1:"5";s:9:"groupby()";s:20:"-2580082279533744703";s:8:"count(*)";s:1:"1";}i:1;a:5:{s:2:"id";s:1:"2";s:8:"group_id";s:1:"1";s:9:"group_id2";s:1:"6";s:9:"groupby()";s:19:"-347766872566155294";s:8:"count(*)";s:1:"1";}i:2;a:5:{s:2:"id";s:1:"3";s:8:"group_id";s:1:"2";s:9:"group_id2";s:1:"7";s:9:"groupby()";s:19:"5566688876897930752";s:8:"count(*)";s:1:"1";}i:3;a:5:{s:2:"id";s:1:"4";s:8:"group_id";s:1:"2";s:9:"group_id2";s:1:"8";s:9:"groupby()";s:19:"2157931833992668655";s:8:"count(*)";s:1:"1";}}}i:36;a:3:{s:8:"sphinxql";s:80:"SELECT *, GROUPBY(), COUNT(*) FROM dist2 GROUP BY group_id2, group_id, group_id2";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:5:{s:2:"id";s:1:"1";s:8:"group_id";s:1:"1";s:9:"group_id2";s:1:"5";s:9:"groupby()";s:20:"-2580082279533744703";s:8:"count(*)";s:1:"1";}i:1;a:5:{s:2:"id";s:1:"2";s:8:"group_id";s:1:"1";s:9:"group_id2";s:1:"6";s:9:"groupby()";s:19:"-347766872566155294";s:8:"count(*)";s:1:"1";}i:2;a:5:{s:2:"id";s:1:"3";s:8:"group_id";s:1:"2";s:9:"group_id2";s:1:"7";s:9:"groupby()";s:19:"5566688876897930752";s:8:"count(*)";s:1:"1";}i:3;a:5:{s:2:"id";s:1:"4";s:8:"group_id";s:1:"2";s:9:"group_id2";s:1:"8";s:9:"groupby()";s:19:"2157931833992668655";s:8:"count(*)";s:1:"1";}}}}}sphinx-2.2.11-release/test/test_207/0000755000175000017500000000000012743402012016405 5ustar alexeyalexeysphinx-2.2.11-release/test/test_207/wordforms3.txt0000644000175000017500000000004312743402012021250 0ustar alexeyalexeyкамеди > comedi comedi > pop sphinx-2.2.11-release/test/test_207/wordforms2.txt0000644000175000017500000000003312743402012021246 0ustar alexeyalexey13 => тринадцать sphinx-2.2.11-release/test/test_207/wordforms.txt0000644000175000017500000000006712743402012021173 0ustar alexeyalexeyрыба > селедка ~клейстер > клей sphinx-2.2.11-release/test/test_207/test.xml0000644000175000017500000006024412743402012020114 0ustar alexeyalexey aot morphology in utf-8 common { lemmatizer_base = lemmatizer_base } searchd { workers = threads } source test1 { type = mysql sql_query_pre = set names utf8 sql_query = select * from test_table sql_attr_uint = gid } index test1 { source = test1 path = /test1 morphology = lemmatize_ru_all blend_chars = @, . wordforms = /wordforms.txt } index test2 : test1 { path = /test2 morphology = lemmatize_ru } index test3 : test1 { path = /test3 index_exact_words = 1 morphology = stem_en,lemmatize_ru_all } index test4 : test1 { path = /test4 index_exact_words = 1 morphology = lemmatize_en_all, stem_ru } index testrt1 { type = rt path = /testrt1 morphology = lemmatize_ru_all blend_chars = @, . wordforms = /wordforms.txt rt_attr_uint = gid rt_field = title } index testrt2 : testrt1 { path = /testrt2 morphology = lemmatize_ru } source stalin_src { type = mysql sql_query_pre = set names utf8 sql_query = select * from test_table where id=1000 sql_attr_uint = gid } index stalin_plain { source = stalin_src path = /stalin_plain morphology = lemmatize_ru min_infix_len = 2 expand_keywords = 1 } index stalin_rt { type = rt path = /stalin_rt morphology = lemmatize_ru_all dict = keywords min_infix_len = 2 expand_keywords = 1 rt_field = text rt_attr_uint = gid } index crash_idx { type = rt path = /crash_idx rt_field = query rt_attr_bigint = rating morphology = stem_en, lemmatize_ru_all wordforms = /wordforms2.txt } source test_wf { type = mysql sql_query_pre = set names utf8 sql_query = select 1 id, 11 gid, 'камеди full source' UNION select 2 id, 11 gid, 'comedi central' UNION select 3 id, 11 gid, 'pop idol' sql_attr_uint = gid } index test_wf1 { source = test_wf path = /test_wf1 morphology = stem_en, lemmatize_ru_all wordforms = /wordforms3.txt dict = keywords min_prefix_len = 2 } index test_wf2 { source = test_wf path = /test_wf2 morphology = stem_en, lemmatize_ru_all wordforms = /wordforms3.txt dict = keywords } source test_quorum { type = mysql sql_query_pre = set names utf8 sql_query = select 1 id, 11 gid,'1' docid, 'Иван Иванович меняет песенка' text UNION select 2 id, 11 gid, '1' docid, 'Иванович песенка' text sql_attr_uint = gid } index test_quorum { source = test_quorum path = /test_quorum morphology = lemmatize_ru_all dict = keywords index_exact_words = 1 } source test_lemmas { type = mysql sql_query_pre = set names utf8 sql_query = select 1 id, 11 gid,'1' docid, 'так Иван Иванович меняет вот' title, 'Иван Иванович меняет вот' body sql_attr_uint = gid } index test_lemmas { source = test_lemmas path = /test_lemmas charset_type = utf-8 morphology = lemmatize_ru_all dict = keywords } source test_lemmas1 { type = mysql sql_query_pre = set names utf8 sql_query = select 1 id, 11 gid,'1' docid, 'так Иван Иванович меняет вот.да' title, 'Иван Иванович меняет вот.да' body sql_attr_uint = gid } index test_lemmas1 { source = test_lemmas1 path = /test_lemmas1 charset_type = utf-8 morphology = lemmatize_ru_all dict = keywords blend_chars = . } source test_lemmas2 { type = mysql sql_query_pre = set names utf8 sql_query = select 1 id, 11 gid,'1' docid, 'так Иван Иванович меняет да.вот' title, 'Иван Иванович меняет да.вот' body sql_attr_uint = gid } index test_lemmas2 { source = test_lemmas2 path = /test_lemmas2 charset_type = utf-8 morphology = lemmatize_ru_all dict = keywords blend_chars = . } source src_stop10 { type = mysql sql_query = SELECT 1, 11 as idd, 'поглазова ответы' as text UNION SELECT 2, 22 as idd, 'kPMHkQCFrL' as text sql_query_pre = SET NAMES utf8 sql_attr_uint = idd } index test_stop10 { source = src_stop10 path = /test_stop10 dict = keywords charset_type = utf-8 charset_table = 0..9, A..Z->a..z, _, ., -, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F, U+0401->U+0435, U+0451->U+0435 morphology = lemmatize_ru_all, stem_enru index_exact_words = 1 } source src_all11 { type = mysql sql_query = SELECT 1, 11 as idd, 'секс' as text UNION SELECT 2, 22 as idd, 'себульба' as text sql_query_pre = SET NAMES utf8 sql_attr_uint = idd } index test_all11 { source = src_all11 path = /test_all11 dict = keywords charset_type = utf-8 charset_table = 0..9, A..Z->a..z, _, ., -, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F, U+0401->U+0435, U+0451->U+0435 morphology = lemmatize_ru_all, stem_enru min_prefix_len = 2 enable_star = 1 } source test_en_all { type = mysql sql_query_pre = set names utf8 sql_query = select 1 id, 11 idd, 'told me stops' body sql_attr_uint = idd } index test_en_all { source = test_en_all dict = keywords path = /test_en_all morphology = lemmatize_en_all } index test_en_all1 { source = test_en_all dict = keywords path = /test_en_all1 morphology = lemmatize_en_all index_exact_words = 1 } source src_over { type = mysql sql_query = SELECT 1, 11 as idd, 'Общиехарактеристикиизмерительногопреобразователя' as text UNION SELECT 2, 22 as idd, 'себульба' as text sql_query_pre = SET NAMES utf8 sql_attr_uint = idd } index test_over { source = src_over path = /test_over dict = keywords charset_type = utf-8 charset_table = 0..9, A..Z->a..z, _, ., -, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F, U+0401->U+0435, U+0451->U+0435 morphology = lemmatize_ru_all, stem_enru index_exact_words = 1 min_word_len = 1 min_infix_len = 2 } CREATE TABLE test_table ( id INTEGER PRIMARY KEY NOT NULL, gid INTEGER NOT NULL, title VARCHAR(255) CHARACTER SET utf8 NOT NULL ); DROP TABLE IF EXISTS test_table SET NAMES utf8 INSERT INTO test_table VALUES ( 1, 11, 'они стали есть' ), ( 2, 11, 'Крыса из Нержавеющей Стали' ), ( 3, 11, 'воруй@убивай' ), ( 4, 11, 'воровал' ), ( 5, 11, 'убиваю' ), ( 6, 11, 'вокзал г.Зажопинска' ), ( 7, 11, 'бросить бы все, да в Зажопинск' ), ( 8, 11, 'Лучшая рыба это колбаса!' ), ( 9, 11, 'косой шакал' ), ( 10, 11, 'косая линия' ), ( 11, 11, 'длинная коса' ), ( 12, 11, 'для __лицо' ), ( 13, 11, 'длить __лица' ), ( 14, 11, 'глава12раздел' ), ( 15, 11, 'попил клейстера' ), ( 16, 11, 'понюхал клея' ), ( 17, 11, 'Ё моё' ), ( 18, 11, 'я санктение люблю спб' ), ( 1000, 11, 'сталин начал курить' ), ( 1001, 11, 'Фичин баг' ), ( 1002, 11, 'english text' ) test1 test2 test3 SELECT * FROM test1 WHERE MATCH('сталь') SELECT * FROM test1 WHERE MATCH('стать') SELECT * FROM test1 WHERE MATCH('сталью') SELECT * FROM test1 WHERE MATCH('стали') SELECT * FROM test1 WHERE MATCH('"они стали"') SELECT * FROM test1 WHERE MATCH('воруй@убивай') SELECT * FROM test1 WHERE MATCH('воровать') SELECT * FROM test1 WHERE MATCH('убивать') SELECT * FROM test1 WHERE MATCH('воруй') SELECT * FROM test1 WHERE MATCH('убивай') SELECT * FROM test1 WHERE MATCH('Зажопинск') SELECT * FROM test1 WHERE MATCH('Зажопинска') SELECT * FROM test1 WHERE MATCH('"вокзал г зажопинск"') SELECT * FROM test1 WHERE MATCH('рыба') SELECT * FROM test1 WHERE MATCH('селедка') SELECT * FROM test1 WHERE MATCH('косой') SELECT * FROM test1 WHERE MATCH('косая') SELECT * FROM test1 WHERE MATCH('для') SELECT * FROM test1 WHERE MATCH('длить') SELECT * FROM test1 WHERE MATCH('__лицо') SELECT * FROM test1 WHERE MATCH('__лица') SELECT * FROM test1 WHERE MATCH('глава12раздел') SELECT * FROM test1 WHERE MATCH('клейстеру') SELECT * FROM test1 WHERE MATCH('клей') SELECT * FROM test1 WHERE MATCH('ё') SELECT * FROM test2 WHERE MATCH('сталь') SELECT * FROM test2 WHERE MATCH('стать') SELECT * FROM test2 WHERE MATCH('сталью') SELECT * FROM test2 WHERE MATCH('стали') SELECT * FROM test2 WHERE MATCH('"они стали"') SELECT * FROM test2 WHERE MATCH('воруй@убивай') SELECT * FROM test2 WHERE MATCH('воровать') SELECT * FROM test2 WHERE MATCH('убивать') SELECT * FROM test2 WHERE MATCH('воруй') SELECT * FROM test2 WHERE MATCH('убивай') SELECT * FROM test2 WHERE MATCH('Зажопинск') SELECT * FROM test2 WHERE MATCH('Зажопинска') SELECT * FROM test2 WHERE MATCH('"вокзал г зажопинск"') SELECT * FROM test2 WHERE MATCH('рыба') SELECT * FROM test2 WHERE MATCH('селедка') SELECT * FROM test2 WHERE MATCH('косой') SELECT * FROM test2 WHERE MATCH('косая') SELECT * FROM test2 WHERE MATCH('для') SELECT * FROM test2 WHERE MATCH('длить') SELECT * FROM test2 WHERE MATCH('__лицо') SELECT * FROM test2 WHERE MATCH('__лица') SELECT * FROM test2 WHERE MATCH('глава12раздел') SELECT * FROM test2 WHERE MATCH('клейстеру') SELECT * FROM test2 WHERE MATCH('клей') SELECT * FROM test2 WHERE MATCH('ё') SELECT id,gid,weight() as my_weight FROM META:plain WHERE MATCH('Фичин баг') option ranker=SPH04;show meta SELECT id,gid,weight() as my_weight FROM META:plain WHERE MATCH('Фичин баг');show meta SELECT id,gid,weight() as my_weight FROM META:plain WHERE MATCH('^Фичин баг$');show meta SELECT id,gid,weight(),packedfactors() as my_weight FROM META:plain WHERE MATCH('Фичин баг') option ranker=expr('sum((4*lcs+2*(min_hit_pos==1)+exact_hit)*user_weight)*1000+bm25');show meta SELECT id,gid,weight(),packedfactors() as my_weight FROM META:plain WHERE MATCH('"Фичин баг"') option ranker=expr('sum((4*lcs+2*(min_hit_pos==1)+exact_hit)*user_weight)*1000+bm25');show meta SELECT id,gid,weight(),packedfactors() as my_weight FROM META:plain WHERE MATCH('english text') option ranker=expr('sum((4*lcs+2*(min_hit_pos==1)+exact_hit)*user_weight)*1000+bm25');show meta SELECT id,gid,weight(),packedfactors() as my_weight FROM META:plain WHERE MATCH('"english text"') option ranker=expr('sum((4*lcs+2*(min_hit_pos==1)+exact_hit)*user_weight)*1000+bm25');show meta INSERT INTO testrt1 VALUES ( 1, 'они стали есть', 11 ) INSERT INTO testrt1 VALUES ( 2, 'Крыса из Нержавеющей Стали', 11 ) INSERT INTO testrt1 VALUES ( 3, 'воруй@убивай', 11 ) INSERT INTO testrt1 VALUES ( 4, 'воровал', 11 ) INSERT INTO testrt1 VALUES ( 5, 'убиваю', 11 ) INSERT INTO testrt1 VALUES ( 6, 'вокзал г.Зажопинска', 11) INSERT INTO testrt1 VALUES ( 7, 'бросить бы все, да в Зажопинск', 11 ) INSERT INTO testrt1 VALUES ( 8, 'Лучшая рыба это колбаса!', 11 ) INSERT INTO testrt1 VALUES ( 9, 'косой шакал', 11 ) INSERT INTO testrt1 VALUES ( 10, 'косая линия', 11 ) INSERT INTO testrt1 VALUES ( 11, 'длинная коса', 11 ) INSERT INTO testrt1 VALUES ( 12, 'для __лицо', 11 ) INSERT INTO testrt1 VALUES ( 13, 'длить __лица', 11 ) INSERT INTO testrt1 VALUES ( 14, 'глава12раздел', 11 ) INSERT INTO testrt1 VALUES ( 15, 'попил клейстера', 11 ) INSERT INTO testrt1 VALUES ( 16, 'понюхал клея', 11 ) INSERT INTO testrt1 VALUES ( 17, 'Ё моё', 11 ) INSERT INTO testrt1 VALUES ( 18, 'я санктение люблю спб', 11 ) SELECT * FROM testrt1 WHERE MATCH('сталь') SELECT * FROM testrt1 WHERE MATCH('стать') SELECT * FROM testrt1 WHERE MATCH('сталью') SELECT * FROM testrt1 WHERE MATCH('стали') SELECT * FROM testrt1 WHERE MATCH('"они стали"') SELECT * FROM testrt1 WHERE MATCH('воруй@убивай') SELECT * FROM testrt1 WHERE MATCH('воровать') SELECT * FROM testrt1 WHERE MATCH('убивать') SELECT * FROM testrt1 WHERE MATCH('воруй') SELECT * FROM testrt1 WHERE MATCH('убивай') SELECT * FROM testrt1 WHERE MATCH('Зажопинск') SELECT * FROM testrt1 WHERE MATCH('Зажопинска') SELECT * FROM testrt1 WHERE MATCH('"вокзал г зажопинск"') SELECT * FROM testrt1 WHERE MATCH('рыба') SELECT * FROM testrt1 WHERE MATCH('селедка') SELECT * FROM testrt1 WHERE MATCH('косой') SELECT * FROM testrt1 WHERE MATCH('косая') SELECT * FROM testrt1 WHERE MATCH('для') SELECT * FROM testrt1 WHERE MATCH('длить') SELECT * FROM testrt1 WHERE MATCH('__лицо') SELECT * FROM testrt1 WHERE MATCH('__лица') SELECT * FROM testrt1 WHERE MATCH('глава12раздел') SELECT * FROM testrt1 WHERE MATCH('клейстеру') SELECT * FROM testrt1 WHERE MATCH('клей') SELECT * FROM testrt1 WHERE MATCH('ё') INSERT INTO testrt2 VALUES ( 1, 'они стали есть', 11 ) INSERT INTO testrt2 VALUES ( 2, 'Крыса из Нержавеющей Стали', 11 ) INSERT INTO testrt2 VALUES ( 3, 'воруй@убивай', 11 ) INSERT INTO testrt2 VALUES ( 4, 'воровал', 11 ) INSERT INTO testrt2 VALUES ( 5, 'убиваю', 11 ) INSERT INTO testrt2 VALUES ( 6, 'вокзал г.Зажопинска', 11) INSERT INTO testrt2 VALUES ( 7, 'бросить бы все, да в Зажопинск', 11 ) INSERT INTO testrt2 VALUES ( 8, 'Лучшая рыба это колбаса!', 11 ) INSERT INTO testrt2 VALUES ( 9, 'косой шакал', 11 ) INSERT INTO testrt2 VALUES ( 10, 'косая линия', 11 ) INSERT INTO testrt2 VALUES ( 11, 'длинная коса', 11 ) INSERT INTO testrt2 VALUES ( 12, 'для __лицо', 11 ) INSERT INTO testrt2 VALUES ( 13, 'длить __лица', 11 ) INSERT INTO testrt2 VALUES ( 14, 'глава12раздел', 11 ) INSERT INTO testrt2 VALUES ( 15, 'попил клейстера', 11 ) INSERT INTO testrt2 VALUES ( 16, 'понюхал клея', 11 ) INSERT INTO testrt2 VALUES ( 17, 'Ё моё', 11 ) INSERT INTO testrt2 VALUES ( 18, 'я санктение люблю спб', 11 ) SELECT * FROM testrt2 WHERE MATCH('сталь') SELECT * FROM testrt2 WHERE MATCH('стать') SELECT * FROM testrt2 WHERE MATCH('сталью') SELECT * FROM testrt2 WHERE MATCH('стали') SELECT * FROM testrt2 WHERE MATCH('"они стали"') SELECT * FROM testrt2 WHERE MATCH('воруй@убивай') SELECT * FROM testrt2 WHERE MATCH('воровать') SELECT * FROM testrt2 WHERE MATCH('убивать') SELECT * FROM testrt2 WHERE MATCH('воруй') SELECT * FROM testrt2 WHERE MATCH('убивай') SELECT * FROM testrt2 WHERE MATCH('Зажопинск') SELECT * FROM testrt2 WHERE MATCH('Зажопинска') SELECT * FROM testrt2 WHERE MATCH('"вокзал г зажопинск"') SELECT * FROM testrt2 WHERE MATCH('рыба') SELECT * FROM testrt2 WHERE MATCH('селедка') SELECT * FROM testrt2 WHERE MATCH('косой') SELECT * FROM testrt2 WHERE MATCH('косая') SELECT * FROM testrt2 WHERE MATCH('для') SELECT * FROM testrt2 WHERE MATCH('длить') SELECT * FROM testrt2 WHERE MATCH('__лицо') SELECT * FROM testrt2 WHERE MATCH('__лица') SELECT * FROM testrt2 WHERE MATCH('глава12раздел') SELECT * FROM testrt2 WHERE MATCH('клейстеру') SELECT * FROM testrt2 WHERE MATCH('клей') SELECT * FROM testrt2 WHERE MATCH('ё') REPLACE INTO stalin_rt VALUES ( 1000, 'сталин начал курить', 11 ) SELECT * FROM stalin_rt WHERE MATCH('стали') SELECT * FROM stalin_plain WHERE MATCH('стали') SELECT * FROM stalin_plain WHERE MATCH('стали') ORDER BY id ASC, gid ASC SELECT id,gid,weight() as my_weight FROM META:plain WHERE MATCH('=english =text') option ranker=sph04;show meta SELECT id,gid,weight() as my_weight FROM test4 WHERE MATCH('клея') option ranker=sph04;show meta SELECT id,gid,weight() as my_weight FROM test4 WHERE MATCH('=клея') option ranker=sph04;show meta SELECT id FROM stalin_plain WHERE MATCH('"один два три"/0.5') limit 1 SHOW META SELECT id FROM crash_idx WHERE MATCH('"DOG 13"') SELECT id,gid,weight() w FROM test_wf1 WHERE MATCH('камеди');show meta SELECT id,gid,weight() w FROM test_wf2 WHERE MATCH('камеди');show meta SELECT id,gid,weight() w FROM test_wf1 WHERE MATCH('comedi');show meta SELECT id,gid,weight() w FROM test_wf2 WHERE MATCH('comedi');show meta SELECT id,gid,weight() w FROM test_wf1 WHERE MATCH('pop');show meta SELECT id,gid,weight() w FROM test_wf2 WHERE MATCH('pop');show meta SELECT id FROM test_quorum WHERE MATCH(' "меняет песенка Иван"/2 (@docid 1)');show meta SET profiling=1 SELECT id, WEIGHT() FROM test1 WHERE MATCH('^ попил $'); SHOW PLAN; SELECT id, WEIGHT() FROM test1 WHERE MATCH('попил'); SHOW PLAN; SELECT id, WEIGHT() FROM test1 WHERE MATCH('попил^1.234'); SHOW PLAN; SELECT id, WEIGHT() FROM test1 WHERE MATCH('попил$^1.234'); SHOW PLAN; SELECT id, WEIGHT() FROM test1 WHERE MATCH('попил^1.234$'); SHOW PLAN; SELECT *, weight() w FROM test_lemmas WHERE MATCH('вот'); show meta SELECT *, weight() w FROM test_lemmas WHERE MATCH('@title вот'); show meta SELECT *, weight() w FROM test_lemmas WHERE MATCH('@body вот'); show meta SELECT *, weight() w FROM test_lemmas1 WHERE MATCH('вот'); show meta SELECT *, weight() w FROM test_lemmas1 WHERE MATCH('@title вот'); show meta SELECT *, weight() w FROM test_lemmas1 WHERE MATCH('@body вот'); show meta SELECT *, weight() w FROM test_lemmas1 WHERE MATCH('вот.да'); show meta SELECT *, weight() w FROM test_lemmas1 WHERE MATCH('(@title вот.да)'); show meta SELECT *, weight() w FROM test_lemmas1 WHERE MATCH('(@body вот.да)'); show meta SELECT *, weight() w FROM test_lemmas2 WHERE MATCH('вот'); show meta SELECT *, weight() w FROM test_lemmas2 WHERE MATCH('@title вот'); show meta SELECT *, weight() w FROM test_lemmas2 WHERE MATCH('@body вот'); show meta SELECT *, weight() w FROM test_lemmas2 WHERE MATCH('да.вот'); show meta SELECT *, weight() w FROM test_lemmas2 WHERE MATCH('(@title да.вот)'); show meta SELECT *, weight() w FROM test_lemmas2 WHERE MATCH('(@body да.вот)'); show meta SELECT *, weight() w FROM test_stop10 WHERE MATCH('поглазова') SELECT *, weight() w FROM test_stop10 WHERE MATCH('kPMHkQCFrL') SELECT *, weight() w FROM test_all11 WHERE MATCH('се*'); show meta SELECT *, weight() w FROM test_all11 WHERE MATCH('^се*'); show meta SELECT id FROM test_en_all WHERE MATCH('told me'); show meta SELECT id FROM test_en_all WHERE MATCH('=stops'); show meta SELECT id FROM test_en_all WHERE MATCH('=stop'); show meta SELECT id FROM test_en_all WHERE MATCH('stops'); show meta SELECT id FROM test_en_all WHERE MATCH('stop'); show meta SELECT id FROM test_en_all1 WHERE MATCH('=stops'); show meta SELECT id FROM test_en_all1 WHERE MATCH('=stop'); show meta SELECT id FROM test_en_all1 WHERE MATCH('stops'); show meta SELECT id FROM test_en_all1 WHERE MATCH('stop'); show meta sphinx-2.2.11-release/test/test_207/model.bin0000644000175000017500000024542112743402012020207 0ustar alexeyalexeya:1:{i:0;a:274:{i:0;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM test1 WHERE MATCH('сталь')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}}i:1;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM test1 WHERE MATCH('стать')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}}i:2;a:3:{s:8:"sphinxql";s:47:"SELECT * FROM test1 WHERE MATCH('сталью')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}}i:3;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM test1 WHERE MATCH('стали')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}}i:4;a:3:{s:8:"sphinxql";s:54:"SELECT * FROM test1 WHERE MATCH('"они стали"')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}}}i:5;a:3:{s:8:"sphinxql";s:58:"SELECT * FROM test1 WHERE MATCH('воруй@убивай')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}}}i:6;a:3:{s:8:"sphinxql";s:51:"SELECT * FROM test1 WHERE MATCH('воровать')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}}i:7;a:3:{s:8:"sphinxql";s:49:"SELECT * FROM test1 WHERE MATCH('убивать')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:2:"11";}}}i:8;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM test1 WHERE MATCH('воруй')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}}i:9;a:3:{s:8:"sphinxql";s:47:"SELECT * FROM test1 WHERE MATCH('убивай')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:2:"11";}}}i:10;a:3:{s:8:"sphinxql";s:53:"SELECT * FROM test1 WHERE MATCH('Зажопинск')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}}i:11;a:3:{s:8:"sphinxql";s:55:"SELECT * FROM test1 WHERE MATCH('Зажопинска')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}}i:12;a:3:{s:8:"sphinxql";s:71:"SELECT * FROM test1 WHERE MATCH('"вокзал г зажопинск"')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:2:"11";}}}i:13;a:3:{s:8:"sphinxql";s:43:"SELECT * FROM test1 WHERE MATCH('рыба')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"8";s:3:"gid";s:2:"11";}}}i:14;a:3:{s:8:"sphinxql";s:49:"SELECT * FROM test1 WHERE MATCH('селедка')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"8";s:3:"gid";s:2:"11";}}}i:15;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM test1 WHERE MATCH('косой')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"9";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";}i:2;a:2:{s:2:"id";s:2:"11";s:3:"gid";s:2:"11";}}}i:16;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM test1 WHERE MATCH('косая')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"9";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";}i:2;a:2:{s:2:"id";s:2:"11";s:3:"gid";s:2:"11";}}}i:17;a:3:{s:8:"sphinxql";s:41:"SELECT * FROM test1 WHERE MATCH('для')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"12";s:3:"gid";s:2:"11";}}}i:18;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM test1 WHERE MATCH('длить')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"13";s:3:"gid";s:2:"11";}}}i:19;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM test1 WHERE MATCH('__лицо')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"12";s:3:"gid";s:2:"11";}}}i:20;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM test1 WHERE MATCH('__лица')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"13";s:3:"gid";s:2:"11";}}}i:21;a:3:{s:8:"sphinxql";s:59:"SELECT * FROM test1 WHERE MATCH('глава12раздел')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"14";s:3:"gid";s:2:"11";}}}i:22;a:3:{s:8:"sphinxql";s:53:"SELECT * FROM test1 WHERE MATCH('клейстеру')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:2:"15";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:2:"16";s:3:"gid";s:2:"11";}}}i:23;a:3:{s:8:"sphinxql";s:43:"SELECT * FROM test1 WHERE MATCH('клей')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:2:"16";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:2:"15";s:3:"gid";s:2:"11";}}}i:24;a:3:{s:8:"sphinxql";s:37:"SELECT * FROM test1 WHERE MATCH('ё')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"17";s:3:"gid";s:2:"11";}}}i:25;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM test2 WHERE MATCH('сталь')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}}i:26;a:2:{s:8:"sphinxql";s:45:"SELECT * FROM test2 WHERE MATCH('стать')";s:10:"total_rows";i:0;}i:27;a:3:{s:8:"sphinxql";s:47:"SELECT * FROM test2 WHERE MATCH('сталью')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}}i:28;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM test2 WHERE MATCH('стали')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}}i:29;a:3:{s:8:"sphinxql";s:54:"SELECT * FROM test2 WHERE MATCH('"они стали"')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}}}i:30;a:3:{s:8:"sphinxql";s:58:"SELECT * FROM test2 WHERE MATCH('воруй@убивай')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}}}i:31;a:3:{s:8:"sphinxql";s:51:"SELECT * FROM test2 WHERE MATCH('воровать')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}}i:32;a:3:{s:8:"sphinxql";s:49:"SELECT * FROM test2 WHERE MATCH('убивать')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:2:"11";}}}i:33;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM test2 WHERE MATCH('воруй')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}}i:34;a:3:{s:8:"sphinxql";s:47:"SELECT * FROM test2 WHERE MATCH('убивай')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:2:"11";}}}i:35;a:3:{s:8:"sphinxql";s:53:"SELECT * FROM test2 WHERE MATCH('Зажопинск')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}}i:36;a:3:{s:8:"sphinxql";s:55:"SELECT * FROM test2 WHERE MATCH('Зажопинска')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}}i:37;a:3:{s:8:"sphinxql";s:71:"SELECT * FROM test2 WHERE MATCH('"вокзал г зажопинск"')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:2:"11";}}}i:38;a:3:{s:8:"sphinxql";s:43:"SELECT * FROM test2 WHERE MATCH('рыба')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"8";s:3:"gid";s:2:"11";}}}i:39;a:3:{s:8:"sphinxql";s:49:"SELECT * FROM test2 WHERE MATCH('селедка')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"8";s:3:"gid";s:2:"11";}}}i:40;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM test2 WHERE MATCH('косой')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"9";s:3:"gid";s:2:"11";}}}i:41;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM test2 WHERE MATCH('косая')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";}}}i:42;a:3:{s:8:"sphinxql";s:41:"SELECT * FROM test2 WHERE MATCH('для')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"12";s:3:"gid";s:2:"11";}}}i:43;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM test2 WHERE MATCH('длить')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"13";s:3:"gid";s:2:"11";}}}i:44;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM test2 WHERE MATCH('__лицо')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"12";s:3:"gid";s:2:"11";}}}i:45;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM test2 WHERE MATCH('__лица')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"13";s:3:"gid";s:2:"11";}}}i:46;a:3:{s:8:"sphinxql";s:59:"SELECT * FROM test2 WHERE MATCH('глава12раздел')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"14";s:3:"gid";s:2:"11";}}}i:47;a:3:{s:8:"sphinxql";s:53:"SELECT * FROM test2 WHERE MATCH('клейстеру')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:2:"15";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:2:"16";s:3:"gid";s:2:"11";}}}i:48;a:3:{s:8:"sphinxql";s:43:"SELECT * FROM test2 WHERE MATCH('клей')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:2:"15";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:2:"16";s:3:"gid";s:2:"11";}}}i:49;a:3:{s:8:"sphinxql";s:37:"SELECT * FROM test2 WHERE MATCH('ё')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"17";s:3:"gid";s:2:"11";}}}i:50;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:4:"1001";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11723";}}s:8:"sphinxql";s:109:"SELECT id,gid,weight() as my_weight FROM test1 WHERE MATCH('Фичин баг') option ranker=SPH04;show meta";}i:51;a:3:{s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"фичина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:52;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:4:"1001";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11723";}}s:8:"sphinxql";s:109:"SELECT id,gid,weight() as my_weight FROM test2 WHERE MATCH('Фичин баг') option ranker=SPH04;show meta";}i:53;a:3:{s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"фичина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:54;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:4:"1001";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11723";}}s:8:"sphinxql";s:109:"SELECT id,gid,weight() as my_weight FROM test3 WHERE MATCH('Фичин баг') option ranker=SPH04;show meta";}i:55;a:3:{s:10:"total_rows";i:15;s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:11:"=фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:12:"фичина";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:7:"=баг";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:6:"баг";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"1";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:56;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:4:"1001";s:3:"gid";s:2:"11";s:9:"my_weight";s:4:"2723";}}s:8:"sphinxql";s:89:"SELECT id,gid,weight() as my_weight FROM test1 WHERE MATCH('Фичин баг');show meta";}i:57;a:3:{s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"фичина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:58;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:4:"1001";s:3:"gid";s:2:"11";s:9:"my_weight";s:4:"2723";}}s:8:"sphinxql";s:89:"SELECT id,gid,weight() as my_weight FROM test2 WHERE MATCH('Фичин баг');show meta";}i:59;a:3:{s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"фичина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:60;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:4:"1001";s:3:"gid";s:2:"11";s:9:"my_weight";s:4:"2723";}}s:8:"sphinxql";s:89:"SELECT id,gid,weight() as my_weight FROM test3 WHERE MATCH('Фичин баг');show meta";}i:61;a:3:{s:10:"total_rows";i:15;s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:11:"=фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:12:"фичина";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:7:"=баг";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:6:"баг";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"1";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:62;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:4:"1001";s:3:"gid";s:2:"11";s:9:"my_weight";s:4:"2723";}}s:8:"sphinxql";s:91:"SELECT id,gid,weight() as my_weight FROM test1 WHERE MATCH('^Фичин баг$');show meta";}i:63;a:3:{s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"фичина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:64;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:4:"1001";s:3:"gid";s:2:"11";s:9:"my_weight";s:4:"2723";}}s:8:"sphinxql";s:91:"SELECT id,gid,weight() as my_weight FROM test2 WHERE MATCH('^Фичин баг$');show meta";}i:65;a:3:{s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"фичина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:66;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:4:"1001";s:3:"gid";s:2:"11";s:9:"my_weight";s:4:"2723";}}s:8:"sphinxql";s:91:"SELECT id,gid,weight() as my_weight FROM test3 WHERE MATCH('^Фичин баг$');show meta";}i:67;a:3:{s:10:"total_rows";i:15;s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:11:"=фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:12:"фичина";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:7:"=баг";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:6:"баг";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"1";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:68;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:4:"1001";s:3:"gid";s:2:"11";s:8:"weight()";s:5:"11723";s:9:"my_weight";s:359:"bm25=723, bm25a=0.878827, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.492475, min_idf=0.246238, max_idf=0.246238, sum_idf=0.492475, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.492475, atc=0.114458), word0=(tf=1, idf=0.246238), word1=(tf=1, idf=0.246238)";}}s:8:"sphinxql";s:191:"SELECT id,gid,weight(),packedfactors() as my_weight FROM test1 WHERE MATCH('Фичин баг') option ranker=expr('sum((4*lcs+2*(min_hit_pos==1)+exact_hit)*user_weight)*1000+bm25');show meta";}i:69;a:3:{s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"фичина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:70;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:4:"1001";s:3:"gid";s:2:"11";s:8:"weight()";s:5:"11723";s:9:"my_weight";s:359:"bm25=723, bm25a=0.878827, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.492475, min_idf=0.246238, max_idf=0.246238, sum_idf=0.492475, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.492475, atc=0.114458), word0=(tf=1, idf=0.246238), word1=(tf=1, idf=0.246238)";}}s:8:"sphinxql";s:191:"SELECT id,gid,weight(),packedfactors() as my_weight FROM test2 WHERE MATCH('Фичин баг') option ranker=expr('sum((4*lcs+2*(min_hit_pos==1)+exact_hit)*user_weight)*1000+bm25');show meta";}i:71;a:3:{s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"фичина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:72;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:4:"1001";s:3:"gid";s:2:"11";s:8:"weight()";s:5:"11723";s:9:"my_weight";s:359:"bm25=723, bm25a=0.714120, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=4, word_count=2, tf_idf=0.492475, min_idf=0.123119, max_idf=0.123119, sum_idf=0.246238, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.246238, atc=0.058866), word0=(tf=2, idf=0.123119), word1=(tf=2, idf=0.123119)";}}s:8:"sphinxql";s:191:"SELECT id,gid,weight(),packedfactors() as my_weight FROM test3 WHERE MATCH('Фичин баг') option ranker=expr('sum((4*lcs+2*(min_hit_pos==1)+exact_hit)*user_weight)*1000+bm25');show meta";}i:73;a:3:{s:10:"total_rows";i:15;s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:11:"=фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:12:"фичина";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:7:"=баг";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:6:"баг";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"1";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:74;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:4:"1001";s:3:"gid";s:2:"11";s:8:"weight()";s:5:"10723";s:9:"my_weight";s:359:"bm25=723, bm25a=0.878827, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.492475, min_idf=0.246238, max_idf=0.246238, sum_idf=0.492475, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.246238, atc=0.000000), word0=(tf=1, idf=0.246238), word1=(tf=1, idf=0.246238)";}}s:8:"sphinxql";s:193:"SELECT id,gid,weight(),packedfactors() as my_weight FROM test1 WHERE MATCH('"Фичин баг"') option ranker=expr('sum((4*lcs+2*(min_hit_pos==1)+exact_hit)*user_weight)*1000+bm25');show meta";}i:75;a:3:{s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"фичина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:76;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:4:"1001";s:3:"gid";s:2:"11";s:8:"weight()";s:5:"10723";s:9:"my_weight";s:359:"bm25=723, bm25a=0.878827, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.492475, min_idf=0.246238, max_idf=0.246238, sum_idf=0.492475, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.246238, atc=0.000000), word0=(tf=1, idf=0.246238), word1=(tf=1, idf=0.246238)";}}s:8:"sphinxql";s:193:"SELECT id,gid,weight(),packedfactors() as my_weight FROM test2 WHERE MATCH('"Фичин баг"') option ranker=expr('sum((4*lcs+2*(min_hit_pos==1)+exact_hit)*user_weight)*1000+bm25');show meta";}i:77;a:3:{s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:12:"фичина";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:6:"баг";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:78;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:4:"1001";s:3:"gid";s:2:"11";s:8:"weight()";s:5:"10723";s:9:"my_weight";s:359:"bm25=723, bm25a=0.689413, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.246238, min_idf=0.123119, max_idf=0.123119, sum_idf=0.246238, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.123119, atc=0.000000), word0=(tf=1, idf=0.123119), word1=(tf=1, idf=0.123119)";}}s:8:"sphinxql";s:193:"SELECT id,gid,weight(),packedfactors() as my_weight FROM test3 WHERE MATCH('"Фичин баг"') option ranker=expr('sum((4*lcs+2*(min_hit_pos==1)+exact_hit)*user_weight)*1000+bm25');show meta";}i:79;a:3:{s:10:"total_rows";i:15;s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:11:"=фичин";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:12:"фичина";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:7:"=баг";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:6:"баг";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"1";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:80;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:4:"1002";s:3:"gid";s:2:"11";s:8:"weight()";s:5:"11723";s:9:"my_weight";s:359:"bm25=723, bm25a=0.878827, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.492475, min_idf=0.246238, max_idf=0.246238, sum_idf=0.492475, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.492475, atc=0.114458), word0=(tf=1, idf=0.246238), word1=(tf=1, idf=0.246238)";}}s:8:"sphinxql";s:186:"SELECT id,gid,weight(),packedfactors() as my_weight FROM test1 WHERE MATCH('english text') option ranker=expr('sum((4*lcs+2*(min_hit_pos==1)+exact_hit)*user_weight)*1000+bm25');show meta";}i:81;a:3:{s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:82;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:4:"1002";s:3:"gid";s:2:"11";s:8:"weight()";s:5:"11723";s:9:"my_weight";s:359:"bm25=723, bm25a=0.878827, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.492475, min_idf=0.246238, max_idf=0.246238, sum_idf=0.492475, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.492475, atc=0.114458), word0=(tf=1, idf=0.246238), word1=(tf=1, idf=0.246238)";}}s:8:"sphinxql";s:186:"SELECT id,gid,weight(),packedfactors() as my_weight FROM test2 WHERE MATCH('english text') option ranker=expr('sum((4*lcs+2*(min_hit_pos==1)+exact_hit)*user_weight)*1000+bm25');show meta";}i:83;a:3:{s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:84;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:4:"1002";s:3:"gid";s:2:"11";s:8:"weight()";s:5:"11723";s:9:"my_weight";s:359:"bm25=723, bm25a=0.878827, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.492475, min_idf=0.246238, max_idf=0.246238, sum_idf=0.492475, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.492475, atc=0.114458), word0=(tf=1, idf=0.246238), word1=(tf=1, idf=0.246238)";}}s:8:"sphinxql";s:186:"SELECT id,gid,weight(),packedfactors() as my_weight FROM test3 WHERE MATCH('english text') option ranker=expr('sum((4*lcs+2*(min_hit_pos==1)+exact_hit)*user_weight)*1000+bm25');show meta";}i:85;a:3:{s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:86;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:4:"1002";s:3:"gid";s:2:"11";s:8:"weight()";s:5:"10723";s:9:"my_weight";s:359:"bm25=723, bm25a=0.878827, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.492475, min_idf=0.246238, max_idf=0.246238, sum_idf=0.492475, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.246238, atc=0.000000), word0=(tf=1, idf=0.246238), word1=(tf=1, idf=0.246238)";}}s:8:"sphinxql";s:188:"SELECT id,gid,weight(),packedfactors() as my_weight FROM test1 WHERE MATCH('"english text"') option ranker=expr('sum((4*lcs+2*(min_hit_pos==1)+exact_hit)*user_weight)*1000+bm25');show meta";}i:87;a:3:{s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:88;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:4:"1002";s:3:"gid";s:2:"11";s:8:"weight()";s:5:"10723";s:9:"my_weight";s:359:"bm25=723, bm25a=0.878827, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.492475, min_idf=0.246238, max_idf=0.246238, sum_idf=0.492475, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.246238, atc=0.000000), word0=(tf=1, idf=0.246238), word1=(tf=1, idf=0.246238)";}}s:8:"sphinxql";s:188:"SELECT id,gid,weight(),packedfactors() as my_weight FROM test2 WHERE MATCH('"english text"') option ranker=expr('sum((4*lcs+2*(min_hit_pos==1)+exact_hit)*user_weight)*1000+bm25');show meta";}i:89;a:3:{s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:90;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:4:"1002";s:3:"gid";s:2:"11";s:8:"weight()";s:5:"10723";s:9:"my_weight";s:359:"bm25=723, bm25a=0.878827, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.492475, min_idf=0.246238, max_idf=0.246238, sum_idf=0.492475, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.246238, atc=0.000000), word0=(tf=1, idf=0.246238), word1=(tf=1, idf=0.246238)";}}s:8:"sphinxql";s:188:"SELECT id,gid,weight(),packedfactors() as my_weight FROM test3 WHERE MATCH('"english text"') option ranker=expr('sum((4*lcs+2*(min_hit_pos==1)+exact_hit)*user_weight)*1000+bm25');show meta";}i:91;a:3:{s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:92;a:2:{s:8:"sphinxql";s:66:"INSERT INTO testrt1 VALUES ( 1, 'они стали есть', 11 )";s:14:"total_affected";i:1;}i:93;a:2:{s:8:"sphinxql";s:89:"INSERT INTO testrt1 VALUES ( 2, 'Крыса из Нержавеющей Стали', 11 )";s:14:"total_affected";i:1;}i:94;a:2:{s:8:"sphinxql";s:63:"INSERT INTO testrt1 VALUES ( 3, 'воруй@убивай', 11 )";s:14:"total_affected";i:1;}i:95;a:2:{s:8:"sphinxql";s:54:"INSERT INTO testrt1 VALUES ( 4, 'воровал', 11 )";s:14:"total_affected";i:1;}i:96;a:2:{s:8:"sphinxql";s:52:"INSERT INTO testrt1 VALUES ( 5, 'убиваю', 11 )";s:14:"total_affected";i:1;}i:97;a:2:{s:8:"sphinxql";s:75:"INSERT INTO testrt1 VALUES ( 6, 'вокзал г.Зажопинска', 11)";s:14:"total_affected";i:1;}i:98;a:2:{s:8:"sphinxql";s:94:"INSERT INTO testrt1 VALUES ( 7, 'бросить бы все, да в Зажопинск', 11 )";s:14:"total_affected";i:1;}i:99;a:2:{s:8:"sphinxql";s:84:"INSERT INTO testrt1 VALUES ( 8, 'Лучшая рыба это колбаса!', 11 )";s:14:"total_affected";i:1;}i:100;a:2:{s:8:"sphinxql";s:61:"INSERT INTO testrt1 VALUES ( 9, 'косой шакал', 11 )";s:14:"total_affected";i:1;}i:101;a:2:{s:8:"sphinxql";s:62:"INSERT INTO testrt1 VALUES ( 10, 'косая линия', 11 )";s:14:"total_affected";i:1;}i:102;a:2:{s:8:"sphinxql";s:64:"INSERT INTO testrt1 VALUES ( 11, 'длинная коса', 11 )";s:14:"total_affected";i:1;}i:103;a:2:{s:8:"sphinxql";s:58:"INSERT INTO testrt1 VALUES ( 12, 'для __лицо', 11 )";s:14:"total_affected";i:1;}i:104;a:2:{s:8:"sphinxql";s:62:"INSERT INTO testrt1 VALUES ( 13, 'длить __лица', 11 )";s:14:"total_affected";i:1;}i:105;a:2:{s:8:"sphinxql";s:65:"INSERT INTO testrt1 VALUES ( 14, 'глава12раздел', 11 )";s:14:"total_affected";i:1;}i:106;a:2:{s:8:"sphinxql";s:70:"INSERT INTO testrt1 VALUES ( 15, 'попил клейстера', 11 )";s:14:"total_affected";i:1;}i:107;a:2:{s:8:"sphinxql";s:64:"INSERT INTO testrt1 VALUES ( 16, 'понюхал клея', 11 )";s:14:"total_affected";i:1;}i:108;a:2:{s:8:"sphinxql";s:50:"INSERT INTO testrt1 VALUES ( 17, 'Ё моё', 11 )";s:14:"total_affected";i:1;}i:109;a:2:{s:8:"sphinxql";s:80:"INSERT INTO testrt1 VALUES ( 18, 'я санктение люблю спб', 11 )";s:14:"total_affected";i:1;}i:110;a:3:{s:8:"sphinxql";s:47:"SELECT * FROM testrt1 WHERE MATCH('сталь')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}}i:111;a:3:{s:8:"sphinxql";s:47:"SELECT * FROM testrt1 WHERE MATCH('стать')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}}i:112;a:3:{s:8:"sphinxql";s:49:"SELECT * FROM testrt1 WHERE MATCH('сталью')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}}i:113;a:3:{s:8:"sphinxql";s:47:"SELECT * FROM testrt1 WHERE MATCH('стали')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}}i:114;a:3:{s:8:"sphinxql";s:56:"SELECT * FROM testrt1 WHERE MATCH('"они стали"')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}}}i:115;a:3:{s:8:"sphinxql";s:60:"SELECT * FROM testrt1 WHERE MATCH('воруй@убивай')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}}}i:116;a:3:{s:8:"sphinxql";s:53:"SELECT * FROM testrt1 WHERE MATCH('воровать')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}}i:117;a:3:{s:8:"sphinxql";s:51:"SELECT * FROM testrt1 WHERE MATCH('убивать')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:2:"11";}}}i:118;a:3:{s:8:"sphinxql";s:47:"SELECT * FROM testrt1 WHERE MATCH('воруй')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}}i:119;a:3:{s:8:"sphinxql";s:49:"SELECT * FROM testrt1 WHERE MATCH('убивай')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:2:"11";}}}i:120;a:3:{s:8:"sphinxql";s:55:"SELECT * FROM testrt1 WHERE MATCH('Зажопинск')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}}i:121;a:3:{s:8:"sphinxql";s:57:"SELECT * FROM testrt1 WHERE MATCH('Зажопинска')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}}i:122;a:3:{s:8:"sphinxql";s:73:"SELECT * FROM testrt1 WHERE MATCH('"вокзал г зажопинск"')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:2:"11";}}}i:123;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM testrt1 WHERE MATCH('рыба')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"8";s:3:"gid";s:2:"11";}}}i:124;a:3:{s:8:"sphinxql";s:51:"SELECT * FROM testrt1 WHERE MATCH('селедка')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"8";s:3:"gid";s:2:"11";}}}i:125;a:3:{s:8:"sphinxql";s:47:"SELECT * FROM testrt1 WHERE MATCH('косой')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"9";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";}i:2;a:2:{s:2:"id";s:2:"11";s:3:"gid";s:2:"11";}}}i:126;a:3:{s:8:"sphinxql";s:47:"SELECT * FROM testrt1 WHERE MATCH('косая')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"9";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";}i:2;a:2:{s:2:"id";s:2:"11";s:3:"gid";s:2:"11";}}}i:127;a:3:{s:8:"sphinxql";s:43:"SELECT * FROM testrt1 WHERE MATCH('для')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"12";s:3:"gid";s:2:"11";}}}i:128;a:3:{s:8:"sphinxql";s:47:"SELECT * FROM testrt1 WHERE MATCH('длить')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"13";s:3:"gid";s:2:"11";}}}i:129;a:3:{s:8:"sphinxql";s:47:"SELECT * FROM testrt1 WHERE MATCH('__лицо')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"12";s:3:"gid";s:2:"11";}}}i:130;a:3:{s:8:"sphinxql";s:47:"SELECT * FROM testrt1 WHERE MATCH('__лица')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"13";s:3:"gid";s:2:"11";}}}i:131;a:3:{s:8:"sphinxql";s:61:"SELECT * FROM testrt1 WHERE MATCH('глава12раздел')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"14";s:3:"gid";s:2:"11";}}}i:132;a:3:{s:8:"sphinxql";s:55:"SELECT * FROM testrt1 WHERE MATCH('клейстеру')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:2:"15";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:2:"16";s:3:"gid";s:2:"11";}}}i:133;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM testrt1 WHERE MATCH('клей')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:2:"16";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:2:"15";s:3:"gid";s:2:"11";}}}i:134;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM testrt1 WHERE MATCH('ё')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"17";s:3:"gid";s:2:"11";}}}i:135;a:2:{s:8:"sphinxql";s:66:"INSERT INTO testrt2 VALUES ( 1, 'они стали есть', 11 )";s:14:"total_affected";i:1;}i:136;a:2:{s:8:"sphinxql";s:89:"INSERT INTO testrt2 VALUES ( 2, 'Крыса из Нержавеющей Стали', 11 )";s:14:"total_affected";i:1;}i:137;a:2:{s:8:"sphinxql";s:63:"INSERT INTO testrt2 VALUES ( 3, 'воруй@убивай', 11 )";s:14:"total_affected";i:1;}i:138;a:2:{s:8:"sphinxql";s:54:"INSERT INTO testrt2 VALUES ( 4, 'воровал', 11 )";s:14:"total_affected";i:1;}i:139;a:2:{s:8:"sphinxql";s:52:"INSERT INTO testrt2 VALUES ( 5, 'убиваю', 11 )";s:14:"total_affected";i:1;}i:140;a:2:{s:8:"sphinxql";s:75:"INSERT INTO testrt2 VALUES ( 6, 'вокзал г.Зажопинска', 11)";s:14:"total_affected";i:1;}i:141;a:2:{s:8:"sphinxql";s:94:"INSERT INTO testrt2 VALUES ( 7, 'бросить бы все, да в Зажопинск', 11 )";s:14:"total_affected";i:1;}i:142;a:2:{s:8:"sphinxql";s:84:"INSERT INTO testrt2 VALUES ( 8, 'Лучшая рыба это колбаса!', 11 )";s:14:"total_affected";i:1;}i:143;a:2:{s:8:"sphinxql";s:61:"INSERT INTO testrt2 VALUES ( 9, 'косой шакал', 11 )";s:14:"total_affected";i:1;}i:144;a:2:{s:8:"sphinxql";s:62:"INSERT INTO testrt2 VALUES ( 10, 'косая линия', 11 )";s:14:"total_affected";i:1;}i:145;a:2:{s:8:"sphinxql";s:64:"INSERT INTO testrt2 VALUES ( 11, 'длинная коса', 11 )";s:14:"total_affected";i:1;}i:146;a:2:{s:8:"sphinxql";s:58:"INSERT INTO testrt2 VALUES ( 12, 'для __лицо', 11 )";s:14:"total_affected";i:1;}i:147;a:2:{s:8:"sphinxql";s:62:"INSERT INTO testrt2 VALUES ( 13, 'длить __лица', 11 )";s:14:"total_affected";i:1;}i:148;a:2:{s:8:"sphinxql";s:65:"INSERT INTO testrt2 VALUES ( 14, 'глава12раздел', 11 )";s:14:"total_affected";i:1;}i:149;a:2:{s:8:"sphinxql";s:70:"INSERT INTO testrt2 VALUES ( 15, 'попил клейстера', 11 )";s:14:"total_affected";i:1;}i:150;a:2:{s:8:"sphinxql";s:64:"INSERT INTO testrt2 VALUES ( 16, 'понюхал клея', 11 )";s:14:"total_affected";i:1;}i:151;a:2:{s:8:"sphinxql";s:50:"INSERT INTO testrt2 VALUES ( 17, 'Ё моё', 11 )";s:14:"total_affected";i:1;}i:152;a:2:{s:8:"sphinxql";s:80:"INSERT INTO testrt2 VALUES ( 18, 'я санктение люблю спб', 11 )";s:14:"total_affected";i:1;}i:153;a:3:{s:8:"sphinxql";s:47:"SELECT * FROM testrt2 WHERE MATCH('сталь')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}}i:154;a:2:{s:8:"sphinxql";s:47:"SELECT * FROM testrt2 WHERE MATCH('стать')";s:10:"total_rows";i:0;}i:155;a:3:{s:8:"sphinxql";s:49:"SELECT * FROM testrt2 WHERE MATCH('сталью')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}}i:156;a:3:{s:8:"sphinxql";s:47:"SELECT * FROM testrt2 WHERE MATCH('стали')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}}i:157;a:3:{s:8:"sphinxql";s:56:"SELECT * FROM testrt2 WHERE MATCH('"они стали"')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}}}i:158;a:3:{s:8:"sphinxql";s:60:"SELECT * FROM testrt2 WHERE MATCH('воруй@убивай')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}}}i:159;a:3:{s:8:"sphinxql";s:53:"SELECT * FROM testrt2 WHERE MATCH('воровать')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}}i:160;a:3:{s:8:"sphinxql";s:51:"SELECT * FROM testrt2 WHERE MATCH('убивать')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:2:"11";}}}i:161;a:3:{s:8:"sphinxql";s:47:"SELECT * FROM testrt2 WHERE MATCH('воруй')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}}i:162;a:3:{s:8:"sphinxql";s:49:"SELECT * FROM testrt2 WHERE MATCH('убивай')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:2:"11";}}}i:163;a:3:{s:8:"sphinxql";s:55:"SELECT * FROM testrt2 WHERE MATCH('Зажопинск')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}}i:164;a:3:{s:8:"sphinxql";s:57:"SELECT * FROM testrt2 WHERE MATCH('Зажопинска')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:2:"11";}}}i:165;a:3:{s:8:"sphinxql";s:73:"SELECT * FROM testrt2 WHERE MATCH('"вокзал г зажопинск"')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:2:"11";}}}i:166;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM testrt2 WHERE MATCH('рыба')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"8";s:3:"gid";s:2:"11";}}}i:167;a:3:{s:8:"sphinxql";s:51:"SELECT * FROM testrt2 WHERE MATCH('селедка')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"8";s:3:"gid";s:2:"11";}}}i:168;a:3:{s:8:"sphinxql";s:47:"SELECT * FROM testrt2 WHERE MATCH('косой')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"9";s:3:"gid";s:2:"11";}}}i:169;a:3:{s:8:"sphinxql";s:47:"SELECT * FROM testrt2 WHERE MATCH('косая')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"10";s:3:"gid";s:2:"11";}}}i:170;a:3:{s:8:"sphinxql";s:43:"SELECT * FROM testrt2 WHERE MATCH('для')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"12";s:3:"gid";s:2:"11";}}}i:171;a:3:{s:8:"sphinxql";s:47:"SELECT * FROM testrt2 WHERE MATCH('длить')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"13";s:3:"gid";s:2:"11";}}}i:172;a:3:{s:8:"sphinxql";s:47:"SELECT * FROM testrt2 WHERE MATCH('__лицо')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"12";s:3:"gid";s:2:"11";}}}i:173;a:3:{s:8:"sphinxql";s:47:"SELECT * FROM testrt2 WHERE MATCH('__лица')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"13";s:3:"gid";s:2:"11";}}}i:174;a:3:{s:8:"sphinxql";s:61:"SELECT * FROM testrt2 WHERE MATCH('глава12раздел')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"14";s:3:"gid";s:2:"11";}}}i:175;a:3:{s:8:"sphinxql";s:55:"SELECT * FROM testrt2 WHERE MATCH('клейстеру')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:2:"15";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:2:"16";s:3:"gid";s:2:"11";}}}i:176;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM testrt2 WHERE MATCH('клей')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:2:"15";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:2:"16";s:3:"gid";s:2:"11";}}}i:177;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM testrt2 WHERE MATCH('ё')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"17";s:3:"gid";s:2:"11";}}}i:178;a:2:{s:8:"sphinxql";s:82:"REPLACE INTO stalin_rt VALUES ( 1000, 'сталин начал курить', 11 )";s:14:"total_affected";i:1;}i:179;a:3:{s:8:"sphinxql";s:49:"SELECT * FROM stalin_rt WHERE MATCH('стали')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:4:"1000";s:3:"gid";s:2:"11";}}}i:180;a:3:{s:8:"sphinxql";s:52:"SELECT * FROM stalin_plain WHERE MATCH('стали')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:4:"1000";s:3:"gid";s:2:"11";}}}i:181;a:3:{s:8:"sphinxql";s:77:"SELECT * FROM stalin_plain WHERE MATCH('стали') ORDER BY id ASC, gid ASC";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:4:"1000";s:3:"gid";s:2:"11";}}}i:182;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:4:"1002";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11723";}}s:8:"sphinxql";s:106:"SELECT id,gid,weight() as my_weight FROM test1 WHERE MATCH('=english =text') option ranker=sph04;show meta";}i:183;a:3:{s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:184;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:4:"1002";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11723";}}s:8:"sphinxql";s:106:"SELECT id,gid,weight() as my_weight FROM test2 WHERE MATCH('=english =text') option ranker=sph04;show meta";}i:185;a:3:{s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:186;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:4:"1002";s:3:"gid";s:2:"11";s:9:"my_weight";s:5:"11723";}}s:8:"sphinxql";s:106:"SELECT id,gid,weight() as my_weight FROM test3 WHERE MATCH('=english =text') option ranker=sph04;show meta";}i:187;a:3:{s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:8:"=english";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:5:"=text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:188;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:2:"16";s:3:"gid";s:2:"11";s:9:"my_weight";s:4:"4723";}}s:8:"sphinxql";s:100:"SELECT id,gid,weight() as my_weight FROM test4 WHERE MATCH('клея') option ranker=sph04;show meta";}i:189;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"кле";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:190;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:2:"16";s:3:"gid";s:2:"11";s:9:"my_weight";s:4:"4723";}}s:8:"sphinxql";s:101:"SELECT id,gid,weight() as my_weight FROM test4 WHERE MATCH('=клея') option ranker=sph04;show meta";}i:191;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:9:"=клея";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:192;a:2:{s:8:"sphinxql";s:79:"SELECT id FROM stalin_plain WHERE MATCH('"один два три"/0.5') limit 1";s:10:"total_rows";i:0;}i:193;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:30;s:4:"rows";a:29:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"*один*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"0";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"0";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:8:"*два*";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:8:"*три*";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"0";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"0";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:9:"=один";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"0";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"0";}i:14;a:2:{s:13:"Variable_name";s:10:"keyword[4]";s:5:"Value";s:8:"один";}i:15;a:2:{s:13:"Variable_name";s:7:"docs[4]";s:5:"Value";s:1:"0";}i:16;a:2:{s:13:"Variable_name";s:7:"hits[4]";s:5:"Value";s:1:"0";}i:17;a:2:{s:13:"Variable_name";s:10:"keyword[5]";s:5:"Value";s:7:"=два";}i:18;a:2:{s:13:"Variable_name";s:7:"docs[5]";s:5:"Value";s:1:"0";}i:19;a:2:{s:13:"Variable_name";s:7:"hits[5]";s:5:"Value";s:1:"0";}i:20;a:2:{s:13:"Variable_name";s:10:"keyword[6]";s:5:"Value";s:6:"два";}i:21;a:2:{s:13:"Variable_name";s:7:"docs[6]";s:5:"Value";s:1:"0";}i:22;a:2:{s:13:"Variable_name";s:7:"hits[6]";s:5:"Value";s:1:"0";}i:23;a:2:{s:13:"Variable_name";s:10:"keyword[7]";s:5:"Value";s:7:"=три";}i:24;a:2:{s:13:"Variable_name";s:7:"docs[7]";s:5:"Value";s:1:"0";}i:25;a:2:{s:13:"Variable_name";s:7:"hits[7]";s:5:"Value";s:1:"0";}i:26;a:2:{s:13:"Variable_name";s:10:"keyword[8]";s:5:"Value";s:12:"тереть";}i:27;a:2:{s:13:"Variable_name";s:7:"docs[8]";s:5:"Value";s:1:"0";}i:28;a:2:{s:13:"Variable_name";s:7:"hits[8]";s:5:"Value";s:1:"0";}}}i:194;a:2:{s:8:"sphinxql";s:48:"SELECT id FROM crash_idx WHERE MATCH('"DOG 13"')";s:10:"total_rows";i:0;}i:195;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:1:"w";s:4:"1680";}}s:8:"sphinxql";s:76:"SELECT id,gid,weight() w FROM test_wf1 WHERE MATCH('камеди');show meta";}i:196;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"comedi";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:197;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:1:"w";s:4:"1680";}}s:8:"sphinxql";s:76:"SELECT id,gid,weight() w FROM test_wf2 WHERE MATCH('камеди');show meta";}i:198;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"comedi";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:199;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";s:1:"w";s:4:"1500";}i:1;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";s:1:"w";s:4:"1500";}}s:8:"sphinxql";s:70:"SELECT id,gid,weight() w FROM test_wf1 WHERE MATCH('comedi');show meta";}i:200;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"pop";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:201;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";s:1:"w";s:4:"1500";}i:1;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";s:1:"w";s:4:"1500";}}s:8:"sphinxql";s:70:"SELECT id,gid,weight() w FROM test_wf2 WHERE MATCH('comedi');show meta";}i:202;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"pop";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:203;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";s:1:"w";s:4:"1500";}i:1;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";s:1:"w";s:4:"1500";}}s:8:"sphinxql";s:67:"SELECT id,gid,weight() w FROM test_wf1 WHERE MATCH('pop');show meta";}i:204;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"pop";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:205;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";s:1:"w";s:4:"1500";}i:1;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";s:1:"w";s:4:"1500";}}s:8:"sphinxql";s:67:"SELECT id,gid,weight() w FROM test_wf2 WHERE MATCH('pop');show meta";}i:206;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"pop";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:207;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}}s:8:"sphinxql";s:105:"SELECT id FROM test_quorum WHERE MATCH(' "меняет песенка Иван"/2 (@docid 1)');show meta";}i:208;a:3:{s:10:"total_rows";i:24;s:4:"rows";a:23:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:13:"=меняет";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:12:"менять";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:15:"=песенка";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:14:"песенка";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}i:14;a:2:{s:13:"Variable_name";s:10:"keyword[4]";s:5:"Value";s:9:"=иван";}i:15;a:2:{s:13:"Variable_name";s:7:"docs[4]";s:5:"Value";s:1:"1";}i:16;a:2:{s:13:"Variable_name";s:7:"hits[4]";s:5:"Value";s:1:"1";}i:17;a:2:{s:13:"Variable_name";s:10:"keyword[5]";s:5:"Value";s:8:"иван";}i:18;a:2:{s:13:"Variable_name";s:7:"docs[5]";s:5:"Value";s:1:"2";}i:19;a:2:{s:13:"Variable_name";s:7:"hits[5]";s:5:"Value";s:1:"3";}i:20;a:2:{s:13:"Variable_name";s:10:"keyword[6]";s:5:"Value";s:1:"1";}i:21;a:2:{s:13:"Variable_name";s:7:"docs[6]";s:5:"Value";s:1:"2";}i:22;a:2:{s:13:"Variable_name";s:7:"hits[6]";s:5:"Value";s:1:"2";}}s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";}i:209;a:2:{s:8:"sphinxql";s:15:"SET profiling=1";s:14:"total_affected";i:0;}i:210;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"15";s:8:"weight()";s:4:"1723";}}s:8:"sphinxql";s:61:"SELECT id, WEIGHT() FROM test1 WHERE MATCH('^ попил $');";}i:211;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:8:"Variable";s:16:"transformed_tree";s:5:"Value";s:47:"AND(KEYWORD(попить, querypos=1, morphed))";}}s:8:"sphinxql";s:10:"SHOW PLAN;";}i:212;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"15";s:8:"weight()";s:4:"1723";}}s:8:"sphinxql";s:57:"SELECT id, WEIGHT() FROM test1 WHERE MATCH('попил');";}i:213;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:8:"Variable";s:16:"transformed_tree";s:5:"Value";s:47:"AND(KEYWORD(попить, querypos=1, morphed))";}}s:8:"sphinxql";s:10:"SHOW PLAN;";}i:214;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"15";s:8:"weight()";s:4:"1776";}}s:8:"sphinxql";s:63:"SELECT id, WEIGHT() FROM test1 WHERE MATCH('попил^1.234');";}i:215;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:8:"Variable";s:16:"transformed_tree";s:5:"Value";s:63:"AND(KEYWORD(попить, querypos=1, morphed, boost=1.234000))";}}s:8:"sphinxql";s:10:"SHOW PLAN;";}i:216;a:2:{s:10:"total_rows";i:0;s:8:"sphinxql";s:64:"SELECT id, WEIGHT() FROM test1 WHERE MATCH('попил$^1.234');";}i:217;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:8:"Variable";s:16:"transformed_tree";s:5:"Value";s:74:"AND(KEYWORD(попить, querypos=1, field_end, morphed, boost=1.234000))";}}s:8:"sphinxql";s:10:"SHOW PLAN;";}i:218;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"15";s:8:"weight()";s:4:"1776";}}s:8:"sphinxql";s:64:"SELECT id, WEIGHT() FROM test1 WHERE MATCH('попил^1.234$');";}i:219;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:8:"Variable";s:16:"transformed_tree";s:5:"Value";s:63:"AND(KEYWORD(попить, querypos=1, morphed, boost=1.234000))";}}s:8:"sphinxql";s:10:"SHOW PLAN;";}i:220;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:1:"w";s:4:"2500";}}s:8:"sphinxql";s:70:"SELECT *, weight() w FROM test_lemmas WHERE MATCH('вот'); show meta";}i:221;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"вот";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:222;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:1:"w";s:4:"1500";}}s:8:"sphinxql";s:77:"SELECT *, weight() w FROM test_lemmas WHERE MATCH('@title вот'); show meta";}i:223;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"вот";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:224;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:1:"w";s:4:"1500";}}s:8:"sphinxql";s:76:"SELECT *, weight() w FROM test_lemmas WHERE MATCH('@body вот'); show meta";}i:225;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"вот";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:226;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:1:"w";s:4:"2500";}}s:8:"sphinxql";s:71:"SELECT *, weight() w FROM test_lemmas1 WHERE MATCH('вот'); show meta";}i:227;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"вот";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:228;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:1:"w";s:4:"1500";}}s:8:"sphinxql";s:78:"SELECT *, weight() w FROM test_lemmas1 WHERE MATCH('@title вот'); show meta";}i:229;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"вот";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:230;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:1:"w";s:4:"1500";}}s:8:"sphinxql";s:77:"SELECT *, weight() w FROM test_lemmas1 WHERE MATCH('@body вот'); show meta";}i:231;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"вот";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:232;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:1:"w";s:4:"2500";}}s:8:"sphinxql";s:76:"SELECT *, weight() w FROM test_lemmas1 WHERE MATCH('вот.да'); show meta";}i:233;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:11:"вот.да";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:234;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:1:"w";s:4:"1500";}}s:8:"sphinxql";s:85:"SELECT *, weight() w FROM test_lemmas1 WHERE MATCH('(@title вот.да)'); show meta";}i:235;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:11:"вот.да";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:236;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:1:"w";s:4:"1500";}}s:8:"sphinxql";s:84:"SELECT *, weight() w FROM test_lemmas1 WHERE MATCH('(@body вот.да)'); show meta";}i:237;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:11:"вот.да";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:238;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:1:"w";s:4:"2500";}}s:8:"sphinxql";s:71:"SELECT *, weight() w FROM test_lemmas2 WHERE MATCH('вот'); show meta";}i:239;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"вот";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:240;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:1:"w";s:4:"1500";}}s:8:"sphinxql";s:78:"SELECT *, weight() w FROM test_lemmas2 WHERE MATCH('@title вот'); show meta";}i:241;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"вот";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:242;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:1:"w";s:4:"1500";}}s:8:"sphinxql";s:77:"SELECT *, weight() w FROM test_lemmas2 WHERE MATCH('@body вот'); show meta";}i:243;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"вот";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:244;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:1:"w";s:4:"2500";}}s:8:"sphinxql";s:76:"SELECT *, weight() w FROM test_lemmas2 WHERE MATCH('да.вот'); show meta";}i:245;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:11:"да.вот";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:246;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:1:"w";s:4:"1500";}}s:8:"sphinxql";s:85:"SELECT *, weight() w FROM test_lemmas2 WHERE MATCH('(@title да.вот)'); show meta";}i:247;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:11:"да.вот";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:248;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:1:"w";s:4:"1500";}}s:8:"sphinxql";s:84:"SELECT *, weight() w FROM test_lemmas2 WHERE MATCH('(@body да.вот)'); show meta";}i:249;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:11:"да.вот";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:250;a:3:{s:8:"sphinxql";s:71:"SELECT *, weight() w FROM test_stop10 WHERE MATCH('поглазова')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:1:"w";s:4:"1571";}}}i:251;a:3:{s:8:"sphinxql";s:63:"SELECT *, weight() w FROM test_stop10 WHERE MATCH('kPMHkQCFrL')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"2";s:3:"idd";s:2:"22";s:1:"w";s:4:"1643";}}}i:252;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:1:"w";s:4:"1356";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"idd";s:2:"22";s:1:"w";s:4:"1356";}}s:8:"sphinxql";s:68:"SELECT *, weight() w FROM test_all11 WHERE MATCH('се*'); show meta";}i:253;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"се*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:254;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:1:"w";s:4:"1356";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"idd";s:2:"22";s:1:"w";s:4:"1356";}}s:8:"sphinxql";s:69:"SELECT *, weight() w FROM test_all11 WHERE MATCH('^се*'); show meta";}i:255;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"се*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:256;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:60:"SELECT id FROM test_en_all WHERE MATCH('told me'); show meta";}i:257;a:3:{s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"tell";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:1:"i";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:258;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:59:"SELECT id FROM test_en_all WHERE MATCH('=stops'); show meta";}i:259;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"stop";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:260;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:58:"SELECT id FROM test_en_all WHERE MATCH('=stop'); show meta";}i:261;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"stop";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:262;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:58:"SELECT id FROM test_en_all WHERE MATCH('stops'); show meta";}i:263;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"stop";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:264;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:57:"SELECT id FROM test_en_all WHERE MATCH('stop'); show meta";}i:265;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"stop";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:266;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:60:"SELECT id FROM test_en_all1 WHERE MATCH('=stops'); show meta";}i:267;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"=stops";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:268;a:2:{s:10:"total_rows";i:0;s:8:"sphinxql";s:59:"SELECT id FROM test_en_all1 WHERE MATCH('=stop'); show meta";}i:269;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"=stop";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"0";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"0";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:270;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:59:"SELECT id FROM test_en_all1 WHERE MATCH('stops'); show meta";}i:271;a:3:{s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"=stops";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"stop";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}i:272;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}s:8:"sphinxql";s:58:"SELECT id FROM test_en_all1 WHERE MATCH('stop'); show meta";}i:273;a:3:{s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"=stop";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"0";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"0";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"stop";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";}}}sphinx-2.2.11-release/test/test_206/0000755000175000017500000000000012743402012016404 5ustar alexeyalexeysphinx-2.2.11-release/test/test_206/test.xml0000644000175000017500000010260712743402012020113 0ustar alexeyalexey JSON attributes common { on_json_attr_error = ignore_attr json_autoconv_numbers = 1 } indexer { mem_limit = 16M } searchd { workers = threads collation_libc_locale = C collation_server = binary } source test { type = mysql sql_query = select * from test_table sql_attr_uint = gid sql_attr_json = j } index test { source = test path = /test } source src1 { type = mysql sql_query = select *, 1 as gid, 'dummy' as title from json_table where id%3=1 sql_attr_uint = gid sql_attr_json = j } source src2 { type = mysql sql_query = select *, 2 as gid, 'dummy' as title from json_table where id%3=2 sql_attr_uint = gid sql_attr_json = j } source src3 { type = mysql sql_query = select *, 3 as gid, 'dummy' as title from json_table where id%3=0 sql_attr_uint = gid sql_attr_json = j } index i1 { source = src1 path = /i1 } index i2 { source = src2 path = /i2 } index i3 { source = src3 path = /i3 } index loc { type = distributed local = i1 local = i2 } index dist { type = distributed agent = :i1 agent = :i2 } index dist1 { type = distributed agent = :i1 agent = :i2 local = i3 } index loc1 { type = distributed local = i1 agent = :i2 } index loc_field { type = distributed local = test agent = :i2 } index dist_field { type = distributed local = :i2 agent = :test } source src_case { type = mysql sql_query = select *, 11 as gid, 'dummy' as title from json_case sql_attr_uint = gid sql_attr_json = j } index json_case { source = src_case path = /case } index rt { type = rt path = /rt rt_field = title rt_attr_json = data } source json_attr { type = mysql sql_query = SELECT * from json_attr sql_attr_json = json1 } index json_attr { source = json_attr path=/json_attr } index dist_str { type = distributed agent = :json_attr } index rt1 { type = rt path = /rt1 rt_field = title rt_attr_string = s1 rt_attr_json = j1 } source json_arrays { type = mysql sql_query = SELECT * from json_arrays sql_attr_json = j } index arrays { source = json_arrays path=/json_arrays } source json_objects { type = mysql sql_query = SELECT * from json_objects sql_attr_json = j } index objects { source = json_objects path=/json_objects } index dist_case { type = distributed agent = :json_case } source json_inplace { type = mysql sql_query = SELECT * from json_inplace sql_attr_uint = gid sql_attr_json = j } index json_inplace { source = json_inplace path=/json_inplace } index json_inplace_rt { type = rt path = /json_inplace_rt rt_field = title rt_attr_uint = gid rt_attr_json = j } index json_search { type = rt path = /json_search rt_attr_json = j rt_attr_string = title rt_field = text } index json_order { type = rt path = /json_order rt_attr_json = j rt_field = text } index json_toplevel { type = rt path = /json_toplevel rt_attr_json = j rt_field = text } source json_up1 { type = mysql sql_query = SELECT 1, 'test me' t, '{"R158S": 901, "rom": 202, "t1":"A", "t2":"AB", T1:"C"}' j sql_attr_json = j } index json_up1 { source = json_up1 path=/json_up1 } source json_up2 { type = mysql sql_query = SELECT 100, 'test me' t, '{"R158S": 100, "rom": 303, "t1":"B", "t2":"BC", T1:"D"}' j sql_attr_json = j } index json_up2 { source = json_up2 path=/json_up2 } index dist_up { type = distributed agent = :json_up1 agent = :json_up2 } index json_remap { type = rt path = /json_remap rt_attr_json = j1 rt_attr_json = j2 rt_field = text } CREATE TABLE `test_table` ( `id` int(11) NOT NULL AUTO_INCREMENT, `gid` int(11) NOT NULL, `title` varchar(255) NOT NULL, `j` varchar(8192) NOT NULL, PRIMARY KEY (`id`) ); DROP TABLE IF EXISTS `test_table`; INSERT INTO `test_table` VALUES (1,1,'test one','{"name":"Alice","uid":123}'), (2,1,'test two','{"name":"Bob","uid":234,"gid":12}'), (3,2,'another doc','{"name":"Charlie","uid":345}'), (4,2,'doc number four','{"name":"Damon","uid":456,"gid":23}'), (5,3,'numeric fixup','{"12":345, "34":"567"}'), (6,3,'numeric fixup contd','{"12":"346", "179":"971"}'), (7,3,'strings over 256 bytes','{"long":" You can run on for a long time Run on for a long time Run on for a long time Sooner or later God\'ll cut you down Sooner or later God\'ll cut you down Go tell that long tongue liar Go and tell that midnight rider Tell the rambler, the gambler, the back biter Tell \'em that God\'s gonna cut \'em down Tell \'em that God\'s gonna cut \'em down ", "short":"ohai"}'), (8,3,'stringvector test','{sv:["one","two","three"],gid:315}'), (9,3,'empty','{}'), (10,3,'empty v2',''), (11,3,'all the bitnesses','{"t1":123456789,"t2":-123456789, "t3":3123456789,"t4":-3123456789, "t5":9876543210,"t6":-9876543210}'), (12,3,'stringvector vs longer strings','{sv:[" Mary had a little lamb, whose fleece was white as snow. And everywhere that Mary went, the lamb was sure to go. It followed her to school one day which was against the rules. It made the children laugh and play, to see a lamb at school. And so the teacher turned it out, but still it lingered near.", "another world, another time, the age of wonders"], "gid":316}'), (13,3,'long numbers vs string to numeric fixup','{ i1:"123", i2:"-123", i3:"18446744073709551615", i4:"-18446744073709551615", i5:"9223372036854775807", i6:"9223372036854775808", i7:"9223372036854775809", i8:"-9223372036854775807", i9:"-9223372036854775808", i10:"-9223372036854775809", i11:"123abc", i12:"-123abc", f1:"3.15", f2:"16777217.123"}'), (14,3,'floats','{ f1:3.15, f2:-7.40, f3:65536.7, f4:16777217.123}'), (15,3,'invalid json','{ this is not valid }'), (16,4,'unescaping','{nick:"One\nTwo"}'), (17,4,'unescaping','{nick:"One\\nTwo"}'), (18,4,'unescaping','{nick:"One Two"}') CREATE TABLE `json_table` ( `id` int(11) NOT NULL, `j` varchar(8192) NOT NULL ); DROP TABLE IF EXISTS `json_table`; INSERT INTO `json_table` VALUES (1,'{"uid":123}'), (2,'{"uid":234}'), (3,'{"uid":345}'), (4,'{"uid":456}'), (5,'{"uid":567}'), (6,'{"uid":678}'), (7,'{"uid":123}'), (8,'{"uid":567}'), (9,'{"uid":345}'), ( 100, '' ) CREATE TABLE `json_case` ( `id` int(11) NOT NULL, `j` varchar(8192) NOT NULL ); DROP TABLE IF EXISTS `json_case`; INSERT INTO `json_case` VALUES (1,'{"Attr":123, "aTTr":12, "Str":"nope", "STR":"yep" }'), (2,'{"Attr":23, "Str":"nope", "STR":"yep2" }'), (3,'{"Attr":123, "aTTr":12, "STR":"yep" }'), (4,'{"Attr":123, "aTTr":212, "Str":"nope11" }'), (5,'{"Attr":12, "aTTr":12 }'), (6,'{ "Str":"nope", "STR":"yep" }'), (7,'{ "aTTr":212, "STR":"yep2" }'), (8,'{"Attr":12, "Str":"nope11" }') CREATE TABLE json_attr ( id INTEGER NOT NULL, gid INTEGER NOT NULL, json1 VARCHAR(255) NOT NULL ) DROP TABLE IF EXISTS `json_attr`; INSERT INTO json_attr ( id, gid, json1 ) VALUES ( 123, 1, '{"username":"Alice","year":2000,"floatkey": 1.01}' ), ( 234, 1, '{"username":"Bob","year":2001,"floatkey": 2.22}' ), ( 345, 2, '{"username":"Charlie","year":2002,"floatkey": 3.00}' ), ( 456, 2, '{"username":"Damon","year":2003,"floatkey": 4.44}' ) CREATE TABLE json_arrays ( id INTEGER NOT NULL, gid INTEGER NOT NULL, j VARCHAR(255) NOT NULL ) DROP TABLE IF EXISTS `json_arrays`; INSERT INTO json_arrays ( id, gid, j ) VALUES ( 123, 1, '{"a":[1,2,3,4], "t":["t1", "t2", "t3"]}' ), ( 234, 1, '{"a":[2,3,4,5], "t":["t2", "t3", "t4"]}' ), ( 345, 2, '{"a":[3,4,5,1], "t":["t3", "t4", "t5"]}' ), ( 456, 2, '{"a":["4","5","6","2"], "t":["t4", "t5", "t6"]}' ) CREATE TABLE json_objects ( id INTEGER NOT NULL, gid INTEGER NOT NULL, j VARCHAR(255) NOT NULL ) DROP TABLE IF EXISTS `json_objects`; INSERT INTO json_objects ( id, gid, j ) VALUES (1,1,'[6,[6,[6,[6,6.0]]]]'), (2,1,'[1, 2, 3.0, 1000000000000,["a","b","c"],{"a":"b"}]'), (3,1,'{"a":"tag","b":"another tag"}'), (4,1,'[1,2,3,[4,5,6,[7,8]]]'), (5,1,'{"MixedCase":"passed"}'), (6,2,'[1,2,3,[4,5,[6]],7,"8",{a:"b"},{},[6,6,6.0,6]]'), (7,2,'[1,"x",{"y":"3","assoc":{"a1":6,"a2":5,"a3":"tag1", "a4":{"b1":1,"b2":2}}}, "123"]'), (8,2,'{"a":{"c":"d"},"b":"c","e":6}'), (9,2,'[false, true, null, "15\\u00f8C"]'), (10,3,'{key1:{key2:{key3:"value"}}}'), (11,4,'{"1234":1,"123":2,"1234a":3}'), (12,4,'{}'), (13,4,'[]'), (14,4,'') CREATE TABLE json_inplace ( id INTEGER NOT NULL, gid INTEGER NOT NULL, title VARCHAR(255), j VARCHAR(255) NOT NULL ) DROP TABLE IF EXISTS `json_inplace`; INSERT INTO json_inplace ( id, gid, title, j ) VALUES ( 1,1,'','{"a":[1,2,3,4],"f":[1.0,3.0,2.0]}'), ( 2,1,'','{"a":[2,3,4,5],"f":[2.0,4.0,3.0]}'), ( 3,2,'','{"a":"tag1","b":"tag2"}'), ( 4,3,'','{"a":1,"c":2}'); select *, count(*) from loc group by j.uid order by id asc select *, count(*) from loc1 group by j.uid order by id asc select *, count(*) from dist group by j.uid order by id asc select *, count(*) from dist1 group by j.uid order by id asc select * from count() loc group by j.uid select * from test select * from test where j.uid>200 select * from test where j.t1>0 select * from test where j.t2<0 select * from test where j.t5>0 select * from test where j.t6<0 select * from test where j.name='Alice' select * from test where j.name='alice' select * from test where j.short='ohai' select * from test where j.gid=315 select * from test where j.gid='315' select * from test where j.gid>315 select * from test where j.gid=12 select * from test where id=13 select * from test where id=14 select id, j from test order by j.name asc, j.gid desc select id, j from test order by j.name desc, j.gid asc select id, j.uid, j.name from loc_field where j.uid>250 select id, j.uid, j.name from loc_field order by j.name asc, j.gid desc select id, j.name, j.uid from dist_field order by j.name desc, j.gid asc select id, j.name, j.34, j.179, j.uid, j.sv, j.t6, j. f2, j.f1 from dist_field select id, j.Attr as j1, j.aTTr j2, j.Str as j3, j.STR j4 from json_case select id, j.Attr, j.aTTr, j.Str, j.STR from json_case where j.Attr>100 select id, j.Attr, j.aTTr, j.Str, j.STR from json_case where j.aTTr<100 select id, j.Attr, j.aTTr, j.Str, j.STR from json_case where j.Str='nope' select id, j.Attr, j.aTTr, j.Str, j.STR from json_case where j.STR='yep' select id, count(*) c, j.Attr, j.aTTr, j.Str, j.STR from json_case group by j.Attr select id, count(*) c, j.Attr, j.aTTr, j.Str, j.STR from json_case group by j.aTTr select id, count(*) c, j.Attr, j.aTTr, j.Str, j.STR from json_case group by j.Str select id, count(*) c, j.Attr, j.aTTr, j.Str, j.STR from json_case group by j.STR select id, j.Attr, j.aTTr, j.Str, j.STR from json_case order by j.Attr asc, id desc select id, j.Attr, j.aTTr, j.Str, j.STR from json_case order by j.aTTr desc, id desc select id, j.Attr, j.aTTr, j.Str, j.STR from json_case order by j.Str asc, id desc select id, j.Attr, j.aTTr, j.Str, j.STR from json_case order by j.STR desc, id desc insert into rt (id, title, data) values (1, 'title1','{attr1:10, attr2:"test1"}') insert into rt (id, title, data) values (2, 'title2','{attr1:20, attr2:"test2"}') insert into rt (id, title, data) values (3, 'title3','{attr1:30, attr2:"test3"}') select * from rt select * from rt where data.attr1=20 select * from rt group by data.attr1 replace into rt (id, data) values (3, '{attr1:100, attr2:"replaced", new_attr:"text"}') select * from rt select * from rt group by data.new_attr select data.attr2 from rt group by data.new_attr select * from json_attr select json1.username from json_attr where id=123 select json1.year from json_attr where id=123 select * from json_attr where json1.floatkey>1.234 select * from json_attr where json1.floatkey between 1 and 3 select * from json_attr where json1.floatkey between 1.01 and 3.0 select * from json_attr where json1.floatkey between 1.01 and 1.02 select * from json_attr where json1.floatkey>2.22 select * from json_attr where json1.floatkey>=2.22 select *, groupby(), count(*) from test group by gid, j.t1, j.gid select double(json1.year) from json_attr select double(json1.floatkey) from json_attr select sum(integer(json1.year)) from json_attr select sum(double(json1.floatkey)) from json_attr select avg(double(json1.floatkey)) from json_attr select avg(integer(json1.floatkey)) from json_attr select min(bigint(json1.floatkey)) from json_attr select min(bigint(json1.year)) from json_attr select max(double(json1.floatkey)) from json_attr select max(integer(json1.floatkey)) from json_attr select double(json1.year) as year from json_attr where year>=2002.0 select integer(json1.floatkey) as floatkey from json_attr where floatkey>=2 select * from json_attr where json1.year=2000 and json1.floatkey>=1.01 select * from json_attr where json1.year=2000 and json1.floatkey>=1.01 and json1.username='Alice' insert into rt1 (id, title) values (100, 'title1' ) select * from rt1 where id=100 select * from json_attr where json1.year>=2001 and json1.year<2003 select * from json_attr where json1.year>=2001.0 and json1.year<2003 select * from json_attr where json1.year>=2001.0 and json1.year<2003.0 select * from json_attr where json1.year>=2000.0001 and json1.year<2003.0001 select * from json_attr where json1.year>=2000.000001 and json1.year<2003.000001 select * from dist_str where json1.username='Alice' select * from dist_str where json1.username='Damon' select * from test where j.nick='One\nTwo' select * from test where j.nick='one\ntwo' select * from test where j.nick='One Two' select * from arrays select j.a[0] from arrays select j.a[2] from arrays where j.a[2]>2 select j.a[2] from arrays order by j.a[2] desc select in(j.a,4,6) as p from arrays where p=1 select j.t[2] from arrays select j.t[2] from arrays where j.t[2]='t3' select j.t[2] from arrays order by j.t[2] desc select j.t, in(j.t,'t4','t6') as p from arrays where p=1 select j.a[-1], j.t[-1], j.a[5], j.t[5] from arrays select least(j.a), greatest(j.a), least(j.t), greatest(j.t) from arrays select j from objects select j[0] from objects where j[0] is not null select j[1] from objects where j[1] is not null select j[2] from objects where j[2] is not null select j[2]['assoc'].a4 from objects where j[2]['assoc'].a4 is not null select j['MixedCase'], j['mixedcase'] from objects where j.MixedCase is not null select j[1][1][1][1] from objects where j[1][1][1][1] is not null select j.a[j.b] from objects where j.a[j.b] is not null select j[id] from objects where j[id] is not null select j[2*id-3] from objects where j[2*id-3] is not null select j.a from objects group by j.a select j[0] from objects group by j[0] select j[1] from objects group by j[1] select j, in(j,6) as p from objects where p=1 select j.a, in(j.a,'tag') as p from objects where p=1 select j[0], in(j[0],1,2) as p from objects where p=1 select j[2], in(j[2],2,3) as p from objects where p=1 select j[3][3], in(j[3][3],7) as p from objects where p=1 select j.1234, j.123, .1234, .123 from objects where j.1234 is not null select j.1234, j.1234a from objects where j.1234a is not null select j 0.1234 as error from objects select j from objects where j is not null select j as p from objects where p is not null select j[2]['assoc'].a4 as p from objects where p is not null select length(j) from objects select length(j[0]) from objects select length(j.a) from objects select j.str from dist_case where j.str is not null order by j.str asc select j.Str from dist_case where j.Str is not null order by j.Str asc select j.STR from dist_case where j.STR is not null order by j.STR asc select j.Str as p from json_case where p is not null order by p asc select j.Str as p from json_case where p is not null order by p desc select j.Str as p from dist_case where p is not null order by p asc select j.Str as p from dist_case where p is not null order by p desc update json_inplace set j.a[0]=5 where id=1 select * from json_inplace update json_inplace set j.a[0]=10.0, j.f[1]=3.1415926535 where gid=1 select * from json_inplace update json_inplace set j.a[0]=-5 where id=1 select * from json_inplace update json_inplace set j.a[1]=-15 where gid>0 select * from json_inplace update json_inplace set j.a[1]=-20 where gid=1 option strict=1 select * from json_inplace update json_inplace set j.a[1]=-30 where gid>0 option strict=1 select * from json_inplace update json_inplace set j.a=5, j.c=5, j.a[0]=5 where gid>0 select * from json_inplace update json_inplace set j.a=10, j.c=10, j.a[0]=10 where gid>0 option strict=1 select * from json_inplace update json_inplace set j.a=15, j.c=15 where gid=3 option strict=1 select * from json_inplace insert into json_inplace_rt (id, gid, title, j) values ( 1,1,'','{"a":[1,2,3,4],"f":[1.0,3.0,2.0]}'), ( 2,1,'','{"a":[2,3,4,5],"f":[2.0,4.0,3.0]}'), ( 3,2,'','{"a":"tag1","b":"tag2"}'), ( 4,3,'','{"a":1,"c":2}') update json_inplace_rt set j.a[0]=5 where id=1 select * from json_inplace_rt update json_inplace_rt set j.a[0]=10.0, j.f[1]=3.1415926535 where gid=1 select * from json_inplace_rt update json_inplace_rt set j.a[0]=-5 where id=1 select * from json_inplace_rt update json_inplace_rt set j.a[1]=-15 where gid>0 select * from json_inplace_rt update json_inplace_rt set j.a[1]=-20 where gid=1 option strict=1 select * from json_inplace_rt update json_inplace_rt set j.a[1]=-30 where gid>0 option strict=1 select * from json_inplace_rt update json_inplace_rt set j.a=5, j.c=5, j.a[0]=5 where gid>0 select * from json_inplace_rt update json_inplace_rt set j.a=10, j.c=10, j.a[0]=10 where gid>0 option strict=1 select * from json_inplace_rt update json_inplace_rt set j.a=15, j.c=15 where gid=3 option strict=1 select * from json_inplace_rt insert into json_inplace_rt (id, gid, title, j) values (666, 666, '', '{}') insert into rt (id, data) values (4, '{"f": 1e-5}') insert into rt (id, data) values (5, '{"f": 1e5}') insert into rt (id, data) values (6, '{"f": -1e-5}') insert into rt (id, data) values (7, '{"f": -1e5}') insert into rt (id, data) values (8, '{"f": 6.022e+3}') insert into rt (id, data) values (9, '{"f": 1.4738223E-1}') select * from rt where id>=4 and id<=9 select * from json_inplace_rt group by j select * from json_inplace_rt group by title, j insert into json_search (id, title, j) values (1, 'a1', '{"array":[{gid:1,name:"a1"},{gid:2,name:"a2"},{gid:3,name:"a3"}], "intarray":[1,2,3], "tags":["a1","a2","a3"]}'), (2, 'a5', '{"array":[{gid:4,name:"a4"},{gid:5,name:"a5"},{gid:6,name:"a6"}], "intarray":[4,5,6], "tags":["a4","a5","a6"]}'), (3, 'a9', '{"array":[{gid:7,name:"a7"},{gid:8,name:"a8"},{gid:9,name:"a9"}], "intarray":[7,8,9], "tags":["a7","a8","a9"]}') select all(x>3 and x<7 for x in j.intarray) from json_search select any(x>1 and x<3 for x in j.intarray) from json_search select indexof(x>2 and x<4 for x in j.intarray) from json_search select all(x>5 for x in j.intarray) from json_search select all(1+x.gid+1>5 for x in j.array) from json_search select indexof(x.gid=any(y.gid=x.gid for y in j.array) for x in j.array) from json_search select id, j.array[indexof(1+x.gid=2 for x in j.array)].name as p from json_search where p is not null select all(z.gid=1 for x in j.array) as error_unknown_column_z from json_search select indexof(x.name='a2' for x in j.array) from json_search select indexof(x.name='a2' or x.name='a6' or x.name='a7' for x in j.array) from json_search select indexof(x.name='a2' or x.gid=6 or x.name='a7' for x in j.array) from json_search select indexof(x.name='a2' and x.gid=2 for x in j.array) from json_search select indexof(x.name=title for x in j.array) from json_search select indexof('a2'=x.name for x in j.array) from json_search select indexof(title=x.name for x in j.array) from json_search select indexof(to_string(1)=to_string(1) for x in j.array) from json_search select all(x='a1' for x in j.tags) from json_search select any(x='a3' for x in j.tags) from json_search select indexof(x='a5' for x in j.tags) from json_search insert into json_order (id, j) values (1, '{i:123,d:123.0,b:12300000000}'), (2, '{i:23,d:23.0,b:2300000000}'), (3, '{i:3,d:3.0,b:300000000}') select j.i from json_order order by j.i asc select j.i from json_order order by integer(j.i) asc select j.d from json_order order by j.d asc select j.d from json_order order by double(j.d) asc select j.b from json_order order by j.b asc select j.b from json_order order by bigint(j.b) asc select j[0] is null, if(j[0] is null,0,1), j[0] is not null, if(j[0] is not null,0,1) from objects select id, j.uid from loc1 order by j.uid asc select id, j.uid from loc1 order by j.uid desc select id, j.uid from loc1 order by integer(j.uid) asc select id, j.uid from loc1 order by double(j.uid) asc select id, j.uid from loc1 order by bigint(j.uid) asc select id, j.uid as p from loc1 order by p asc select id, j.uid as p from loc1 order by p desc select count(*), groupby() from arrays group by j.a select count(*), groupby() from arrays group by j.t select count(*) as p, groupby() as q from arrays group by j.t order by q asc, p desc select count(*) as p, groupby() as q from loc1 group by j.uid order by q asc, p desc insert into json_toplevel (id, j) values (1, '[1,2,3,4]'), (2, '[1,2,3]'), (3, '[1,2]'), (4, '["a","b","c"]'), (5, '["a","b"]'), (6, '["a"]'), (7, '[]'), (8, ''), (9, '{"a":"b"}'), (10, '{}') select count(*) p, groupby() q from json_toplevel group by j order by p desc replace into rt (id, data) values (1,'{"html":"p class="document""}') select data, data.html from rt where id=1 replace into rt (id, data) values (1,'{"html":"p class=\"document\""}') select data, data.html from rt where id=1 replace into rt (id, data) values (1,'{"html":"p class=\\"document\\""}') select data, data.html from rt where id=1 select j.a, interval(uint(j.a[0]),1,2,3) from arrays select j.a, interval(j.a[0],1,2,3) from arrays select * from json_up1, json_up2 order by j.R158S asc select * from json_up1, json_up2 order by j.R158S desc select * from json_up1, json_up2 order by j.rom asc select * from json_up1, json_up2 order by j.rom desc select * from dist_up order by j.R158S asc select * from dist_up order by j.R158S desc select * from dist_up order by j.rom asc select * from dist_up order by j.rom desc select id, j.id, j.uid from dist select id, j.uid, j.uid is null, j.uid is not null from dist select all(x=1 for x in j.uid), any(x='1' for x in j.uid), indexof(x.uid='1' for x in j.uid) from dist select title, j.array[0].name, title='a1', j.array[0].name='a4', if(j.array[1].name='a5',0,1) from json_search select j.array as some_alias, any(some_alias.name>x.name for x in j.array) from json_search select j.intarray as p, p[1], indexof(x>p[1] for x in j.intarray) from json_search insert into json_remap(id,j1,j2) values (1, '[1]','[1]'), (2, '','[2]') select groupby() from json_remap group by j2 select count(*), groupby() from json_up1, json_up2 group by j.t1 select count(*), groupby() from json_up1, json_up2 group by j.T1 select count(*), groupby() from dist_up group by j.t1 select count(*), groupby() from dist_up group by j.T1 select integer(j.rom)=202 as p from json_up1 select j.rom=202 as p from json_up1 select j.rom='202' as p from json_up1 select id as v, double(v) as dv, v is null, v is not null from dist_up select j.rom as v, double(v) as dv, v is null, v is not null from dist_up select j.rom as v, double(v) as dv, v is null, v is not null from dist_up order by dv asc update json_inplace set j.f[0]=345345345354, j.f[1]=777 where id=1 select j.f[0], j.f[1] from json_inplace where id=1 update json_inplace_rt set j.f[0]=345345345354, j.f[1]=777 where id=1 select j.f[0], j.f[1] from json_inplace_rt where id=1 select j.f, indexof(x>345345345353 for x in j.f) as p from json_inplace where p=0 select id, count(*), groupby(), j.a as p from arrays where id=123 group by p select j from objects where id=9 and j[0]=0 and j[1]=1 and j[2]=0 select j from objects where id=9 and j[0]!=1 and j[1]>1 and j[2]<1 sphinx-2.2.11-release/test/test_206/model.bin0000644000175000017500000034661212743402012020212 0ustar alexeyalexeya:1:{i:0;a:271:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:5:{s:1:"j";i:7;s:3:"gid";i:1;s:6:"@count";i:1;s:8:"@groupby";i:6;s:11:"@groupbystr";i:7;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:1:"j";s:11:"{"uid":123}";s:3:"gid";s:1:"1";s:6:"@count";s:1:"2";s:8:"@groupby";s:19:"5003431119771845851";s:11:"@groupbystr";s:3:"123";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:1:"j";s:11:"{"uid":234}";s:3:"gid";s:1:"2";s:6:"@count";s:1:"1";s:8:"@groupby";s:19:"6936161455428368914";s:11:"@groupbystr";s:3:"234";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:1:"j";s:11:"{"uid":456}";s:3:"gid";s:1:"1";s:6:"@count";s:1:"1";s:8:"@groupby";s:19:"3162435238262057340";s:11:"@groupbystr";s:3:"456";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:1:"j";s:11:"{"uid":567}";s:3:"gid";s:1:"2";s:6:"@count";s:1:"2";s:8:"@groupby";s:19:"2510495211647253119";s:11:"@groupbystr";s:3:"567";}}i:100;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:1:"j";s:2:"{}";s:3:"gid";s:1:"1";s:6:"@count";s:1:"1";s:8:"@groupby";s:1:"0";s:11:"@groupbystr";s:0:"";}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.002";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:5:{s:1:"j";i:7;s:3:"gid";i:1;s:6:"@count";i:1;s:8:"@groupby";i:6;s:11:"@groupbystr";i:7;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:1:"j";s:11:"{"uid":123}";s:3:"gid";s:1:"1";s:6:"@count";s:1:"2";s:8:"@groupby";s:19:"5003431119771845851";s:11:"@groupbystr";s:3:"123";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:1:"j";s:11:"{"uid":234}";s:3:"gid";s:1:"2";s:6:"@count";s:1:"1";s:8:"@groupby";s:19:"6936161455428368914";s:11:"@groupbystr";s:3:"234";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:1:"j";s:11:"{"uid":456}";s:3:"gid";s:1:"1";s:6:"@count";s:1:"1";s:8:"@groupby";s:19:"3162435238262057340";s:11:"@groupbystr";s:3:"456";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:1:"j";s:11:"{"uid":567}";s:3:"gid";s:1:"2";s:6:"@count";s:1:"2";s:8:"@groupby";s:19:"2510495211647253119";s:11:"@groupbystr";s:3:"567";}}i:100;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:1:"j";s:2:"{}";s:3:"gid";s:1:"1";s:6:"@count";s:1:"1";s:8:"@groupby";s:1:"0";s:11:"@groupbystr";s:0:"";}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.003";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:5:{s:1:"j";i:7;s:3:"gid";i:1;s:6:"@count";i:1;s:8:"@groupby";i:6;s:11:"@groupbystr";i:7;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:1:"j";s:11:"{"uid":123}";s:3:"gid";s:1:"1";s:6:"@count";s:1:"2";s:8:"@groupby";s:19:"5003431119771845851";s:11:"@groupbystr";s:3:"123";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:1:"j";s:11:"{"uid":234}";s:3:"gid";s:1:"2";s:6:"@count";s:1:"1";s:8:"@groupby";s:19:"6936161455428368914";s:11:"@groupbystr";s:3:"234";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:1:"j";s:11:"{"uid":456}";s:3:"gid";s:1:"1";s:6:"@count";s:1:"1";s:8:"@groupby";s:19:"3162435238262057340";s:11:"@groupbystr";s:3:"456";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:1:"j";s:11:"{"uid":567}";s:3:"gid";s:1:"2";s:6:"@count";s:1:"2";s:8:"@groupby";s:19:"2510495211647253119";s:11:"@groupbystr";s:3:"567";}}i:100;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:1:"j";s:2:"{}";s:3:"gid";s:1:"1";s:6:"@count";s:1:"1";s:8:"@groupby";s:1:"0";s:11:"@groupbystr";s:0:"";}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.003";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:5:{s:1:"j";i:7;s:3:"gid";i:1;s:6:"@count";i:1;s:8:"@groupby";i:6;s:11:"@groupbystr";i:7;}s:7:"matches";a:7:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:1:"j";s:11:"{"uid":123}";s:3:"gid";s:1:"1";s:6:"@count";s:1:"2";s:8:"@groupby";s:19:"5003431119771845851";s:11:"@groupbystr";s:3:"123";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:1:"j";s:11:"{"uid":234}";s:3:"gid";s:1:"2";s:6:"@count";s:1:"1";s:8:"@groupby";s:19:"6936161455428368914";s:11:"@groupbystr";s:3:"234";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:1:"j";s:11:"{"uid":345}";s:3:"gid";s:1:"3";s:6:"@count";s:1:"2";s:8:"@groupby";s:19:"6284221428813564693";s:11:"@groupbystr";s:3:"345";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:1:"j";s:11:"{"uid":456}";s:3:"gid";s:1:"1";s:6:"@count";s:1:"1";s:8:"@groupby";s:19:"3162435238262057340";s:11:"@groupbystr";s:3:"456";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:1:"j";s:11:"{"uid":567}";s:3:"gid";s:1:"2";s:6:"@count";s:1:"2";s:8:"@groupby";s:19:"2510495211647253119";s:11:"@groupbystr";s:3:"567";}}i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:1:"j";s:11:"{"uid":678}";s:3:"gid";s:1:"3";s:6:"@count";s:1:"1";s:8:"@groupby";s:19:"4473923911957372102";s:11:"@groupbystr";s:3:"678";}}i:100;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:1:"j";s:2:"{}";s:3:"gid";s:1:"1";s:6:"@count";s:1:"1";s:8:"@groupby";s:1:"0";s:11:"@groupbystr";s:0:"";}}}s:5:"total";s:1:"7";s:11:"total_found";s:1:"7";s:4:"time";s:5:"0.005";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:3:{s:13:"bigint ( id )";i:6;s:5:"j.uid";i:7;s:6:"j.name";i:7;}s:7:"matches";a:4:{i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:3;s:5:"j.uid";s:3:"345";s:6:"j.name";s:7:"Charlie";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:4;s:5:"j.uid";s:3:"456";s:6:"j.name";s:5:"Damon";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:5;s:5:"j.uid";s:3:"567";s:6:"j.name";s:0:"";}}i:8;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:8;s:5:"j.uid";s:3:"567";s:6:"j.name";s:0:"";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:3:{s:13:"bigint ( id )";i:6;s:5:"j.uid";i:7;s:6:"j.name";i:7;}s:7:"matches";a:18:{i:12;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:12;s:5:"j.uid";s:0:"";s:6:"j.name";s:0:"";}}i:8;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:8;s:5:"j.uid";s:0:"";s:6:"j.name";s:0:"";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:5;s:5:"j.uid";s:0:"";s:6:"j.name";s:0:"";}}i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:6;s:5:"j.uid";s:0:"";s:6:"j.name";s:0:"";}}i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:7;s:5:"j.uid";s:0:"";s:6:"j.name";s:0:"";}}i:9;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:9;s:5:"j.uid";s:0:"";s:6:"j.name";s:0:"";}}i:10;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:10;s:5:"j.uid";s:0:"";s:6:"j.name";s:0:"";}}i:11;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:11;s:5:"j.uid";s:0:"";s:6:"j.name";s:0:"";}}i:13;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:13;s:5:"j.uid";s:0:"";s:6:"j.name";s:0:"";}}i:14;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:14;s:5:"j.uid";s:0:"";s:6:"j.name";s:0:"";}}i:15;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:15;s:5:"j.uid";s:0:"";s:6:"j.name";s:0:"";}}i:16;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:16;s:5:"j.uid";s:0:"";s:6:"j.name";s:0:"";}}i:17;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:17;s:5:"j.uid";s:0:"";s:6:"j.name";s:0:"";}}i:18;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:18;s:5:"j.uid";s:0:"";s:6:"j.name";s:0:"";}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:1;s:5:"j.uid";s:3:"123";s:6:"j.name";s:5:"Alice";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:2;s:5:"j.uid";s:3:"234";s:6:"j.name";s:3:"Bob";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:3;s:5:"j.uid";s:3:"345";s:6:"j.name";s:7:"Charlie";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:4;s:5:"j.uid";s:3:"456";s:6:"j.name";s:5:"Damon";}}}s:5:"total";s:2:"18";s:11:"total_found";s:2:"18";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:3:{s:13:"bigint ( id )";i:6;s:6:"j.name";i:7;s:5:"j.uid";i:7;}s:7:"matches";a:18:{i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:4;s:6:"j.name";s:5:"Damon";s:5:"j.uid";s:3:"456";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:3;s:6:"j.name";s:7:"Charlie";s:5:"j.uid";s:3:"345";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:2;s:6:"j.name";s:3:"Bob";s:5:"j.uid";s:3:"234";}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:1;s:6:"j.name";s:5:"Alice";s:5:"j.uid";s:3:"123";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:5;s:6:"j.name";s:0:"";s:5:"j.uid";s:0:"";}}i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:6;s:6:"j.name";s:0:"";s:5:"j.uid";s:0:"";}}i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:7;s:6:"j.name";s:0:"";s:5:"j.uid";s:0:"";}}i:9;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:9;s:6:"j.name";s:0:"";s:5:"j.uid";s:0:"";}}i:10;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:10;s:6:"j.name";s:0:"";s:5:"j.uid";s:0:"";}}i:11;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:11;s:6:"j.name";s:0:"";s:5:"j.uid";s:0:"";}}i:13;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:13;s:6:"j.name";s:0:"";s:5:"j.uid";s:0:"";}}i:14;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:14;s:6:"j.name";s:0:"";s:5:"j.uid";s:0:"";}}i:15;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:15;s:6:"j.name";s:0:"";s:5:"j.uid";s:0:"";}}i:16;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:16;s:6:"j.name";s:0:"";s:5:"j.uid";s:0:"";}}i:17;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:17;s:6:"j.name";s:0:"";s:5:"j.uid";s:0:"";}}i:18;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:18;s:6:"j.name";s:0:"";s:5:"j.uid";s:0:"";}}i:8;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:8;s:6:"j.name";s:0:"";s:5:"j.uid";s:0:"";}}i:12;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:13:"bigint ( id )";i:12;s:6:"j.name";s:0:"";s:5:"j.uid";s:0:"";}}}s:5:"total";s:2:"18";s:11:"total_found";s:2:"18";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:9:{s:13:"bigint ( id )";i:6;s:6:"j.name";i:7;s:4:"j.34";i:7;s:5:"j.179";i:7;s:5:"j.uid";i:7;s:4:"j.sv";i:7;s:4:"j.t6";i:7;s:5:"j. f2";i:7;s:4:"j.f1";i:7;}s:7:"matches";a:18:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:9:{s:13:"bigint ( id )";i:1;s:6:"j.name";s:5:"Alice";s:4:"j.34";s:0:"";s:5:"j.179";s:0:"";s:5:"j.uid";s:3:"123";s:4:"j.sv";s:0:"";s:4:"j.t6";s:0:"";s:5:"j. f2";s:0:"";s:4:"j.f1";s:0:"";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:9:{s:13:"bigint ( id )";i:2;s:6:"j.name";s:3:"Bob";s:4:"j.34";s:0:"";s:5:"j.179";s:0:"";s:5:"j.uid";s:3:"234";s:4:"j.sv";s:0:"";s:4:"j.t6";s:0:"";s:5:"j. f2";s:0:"";s:4:"j.f1";s:0:"";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:9:{s:13:"bigint ( id )";i:3;s:6:"j.name";s:7:"Charlie";s:4:"j.34";s:0:"";s:5:"j.179";s:0:"";s:5:"j.uid";s:3:"345";s:4:"j.sv";s:0:"";s:4:"j.t6";s:0:"";s:5:"j. f2";s:0:"";s:4:"j.f1";s:0:"";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:9:{s:13:"bigint ( id )";i:4;s:6:"j.name";s:5:"Damon";s:4:"j.34";s:0:"";s:5:"j.179";s:0:"";s:5:"j.uid";s:3:"456";s:4:"j.sv";s:0:"";s:4:"j.t6";s:0:"";s:5:"j. f2";s:0:"";s:4:"j.f1";s:0:"";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:9:{s:13:"bigint ( id )";i:5;s:6:"j.name";s:0:"";s:4:"j.34";s:3:"567";s:5:"j.179";s:0:"";s:5:"j.uid";s:0:"";s:4:"j.sv";s:0:"";s:4:"j.t6";s:0:"";s:5:"j. f2";s:0:"";s:4:"j.f1";s:0:"";}}i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:9:{s:13:"bigint ( id )";i:6;s:6:"j.name";s:0:"";s:4:"j.34";s:0:"";s:5:"j.179";s:3:"971";s:5:"j.uid";s:0:"";s:4:"j.sv";s:0:"";s:4:"j.t6";s:0:"";s:5:"j. f2";s:0:"";s:4:"j.f1";s:0:"";}}i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:9:{s:13:"bigint ( id )";i:7;s:6:"j.name";s:0:"";s:4:"j.34";s:0:"";s:5:"j.179";s:0:"";s:5:"j.uid";s:0:"";s:4:"j.sv";s:0:"";s:4:"j.t6";s:0:"";s:5:"j. f2";s:0:"";s:4:"j.f1";s:0:"";}}i:8;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:9:{s:13:"bigint ( id )";i:8;s:6:"j.name";s:0:"";s:4:"j.34";s:0:"";s:5:"j.179";s:0:"";s:5:"j.uid";s:0:"";s:4:"j.sv";s:21:"["one","two","three"]";s:4:"j.t6";s:0:"";s:5:"j. f2";s:0:"";s:4:"j.f1";s:0:"";}}i:9;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:9:{s:13:"bigint ( id )";i:9;s:6:"j.name";s:0:"";s:4:"j.34";s:0:"";s:5:"j.179";s:0:"";s:5:"j.uid";s:0:"";s:4:"j.sv";s:0:"";s:4:"j.t6";s:0:"";s:5:"j. f2";s:0:"";s:4:"j.f1";s:0:"";}}i:10;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:9:{s:13:"bigint ( id )";i:10;s:6:"j.name";s:0:"";s:4:"j.34";s:0:"";s:5:"j.179";s:0:"";s:5:"j.uid";s:0:"";s:4:"j.sv";s:0:"";s:4:"j.t6";s:0:"";s:5:"j. f2";s:0:"";s:4:"j.f1";s:0:"";}}i:11;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:9:{s:13:"bigint ( id )";i:11;s:6:"j.name";s:0:"";s:4:"j.34";s:0:"";s:5:"j.179";s:0:"";s:5:"j.uid";s:0:"";s:4:"j.sv";s:0:"";s:4:"j.t6";s:11:"-9876543210";s:5:"j. f2";s:0:"";s:4:"j.f1";s:0:"";}}i:12;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:9:{s:13:"bigint ( id )";i:12;s:6:"j.name";s:0:"";s:4:"j.34";s:0:"";s:5:"j.179";s:0:"";s:5:"j.uid";s:0:"";s:4:"j.sv";s:358:"["\nMary had a little lamb, whose fleece was white as snow.\nAnd everywhere that Mary went, the lamb was sure to go.\nIt followed her to school one day which was against the rules.\nIt made the children laugh and play, to see a lamb at school.\nAnd so the teacher turned it out, but still it lingered near.","another world, another time, the age of wonders"]";s:4:"j.t6";s:0:"";s:5:"j. f2";s:0:"";s:4:"j.f1";s:0:"";}}i:13;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:9:{s:13:"bigint ( id )";i:13;s:6:"j.name";s:0:"";s:4:"j.34";s:0:"";s:5:"j.179";s:0:"";s:5:"j.uid";s:0:"";s:4:"j.sv";s:0:"";s:4:"j.t6";s:0:"";s:5:"j. f2";s:15:"16777217.123000";s:4:"j.f1";s:8:"3.150000";}}i:14;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:9:{s:13:"bigint ( id )";i:14;s:6:"j.name";s:0:"";s:4:"j.34";s:0:"";s:5:"j.179";s:0:"";s:5:"j.uid";s:0:"";s:4:"j.sv";s:0:"";s:4:"j.t6";s:0:"";s:5:"j. f2";s:9:"-7.400000";s:4:"j.f1";s:8:"3.150000";}}i:15;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:9:{s:13:"bigint ( id )";i:15;s:6:"j.name";s:0:"";s:4:"j.34";s:0:"";s:5:"j.179";s:0:"";s:5:"j.uid";s:0:"";s:4:"j.sv";s:0:"";s:4:"j.t6";s:0:"";s:5:"j. f2";s:0:"";s:4:"j.f1";s:0:"";}}i:16;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:9:{s:13:"bigint ( id )";i:16;s:6:"j.name";s:0:"";s:4:"j.34";s:0:"";s:5:"j.179";s:0:"";s:5:"j.uid";s:0:"";s:4:"j.sv";s:0:"";s:4:"j.t6";s:0:"";s:5:"j. f2";s:0:"";s:4:"j.f1";s:0:"";}}i:17;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:9:{s:13:"bigint ( id )";i:17;s:6:"j.name";s:0:"";s:4:"j.34";s:0:"";s:5:"j.179";s:0:"";s:5:"j.uid";s:0:"";s:4:"j.sv";s:0:"";s:4:"j.t6";s:0:"";s:5:"j. f2";s:0:"";s:4:"j.f1";s:0:"";}}i:18;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:9:{s:13:"bigint ( id )";i:18;s:6:"j.name";s:0:"";s:4:"j.34";s:0:"";s:5:"j.179";s:0:"";s:5:"j.uid";s:0:"";s:4:"j.sv";s:0:"";s:4:"j.t6";s:0:"";s:5:"j. f2";s:0:"";s:4:"j.f1";s:0:"";}}}s:5:"total";s:2:"18";s:11:"total_found";s:2:"18";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:3:"gid";}s:5:"attrs";a:1:{s:5:"json1";i:7;}s:7:"matches";a:1:{i:123;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:5:"json1";s:52:"{"username":"Alice","year":2000,"floatkey":1.010000}";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:3:"gid";}s:5:"attrs";a:1:{s:5:"json1";i:7;}s:7:"matches";a:1:{i:456;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:5:"json1";s:52:"{"username":"Damon","year":2003,"floatkey":4.440000}";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:10;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:3:"gid";}s:5:"attrs";a:2:{s:1:"j";i:7;s:16:"j.key1.key2.key3";i:7;}s:7:"matches";a:1:{i:10;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"j";s:34:"{"key1":{"key2":{"key3":"value"}}}";s:16:"j.key1.key2.key3";s:5:"value";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:11;a:3:{s:8:"sphinxql";s:58:"select *, count(*) from loc group by j.uid order by id asc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:4:{s:2:"id";s:1:"1";s:1:"j";s:11:"{"uid":123}";s:3:"gid";s:1:"1";s:8:"count(*)";s:1:"2";}i:1;a:4:{s:2:"id";s:1:"2";s:1:"j";s:11:"{"uid":234}";s:3:"gid";s:1:"2";s:8:"count(*)";s:1:"1";}i:2;a:4:{s:2:"id";s:1:"4";s:1:"j";s:11:"{"uid":456}";s:3:"gid";s:1:"1";s:8:"count(*)";s:1:"1";}i:3;a:4:{s:2:"id";s:1:"5";s:1:"j";s:11:"{"uid":567}";s:3:"gid";s:1:"2";s:8:"count(*)";s:1:"2";}i:4;a:4:{s:2:"id";s:3:"100";s:1:"j";N;s:3:"gid";s:1:"1";s:8:"count(*)";s:1:"1";}}}i:12;a:3:{s:8:"sphinxql";s:59:"select *, count(*) from loc1 group by j.uid order by id asc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:4:{s:2:"id";s:1:"1";s:1:"j";s:11:"{"uid":123}";s:3:"gid";s:1:"1";s:8:"count(*)";s:1:"2";}i:1;a:4:{s:2:"id";s:1:"2";s:1:"j";s:11:"{"uid":234}";s:3:"gid";s:1:"2";s:8:"count(*)";s:1:"1";}i:2;a:4:{s:2:"id";s:1:"4";s:1:"j";s:11:"{"uid":456}";s:3:"gid";s:1:"1";s:8:"count(*)";s:1:"1";}i:3;a:4:{s:2:"id";s:1:"5";s:1:"j";s:11:"{"uid":567}";s:3:"gid";s:1:"2";s:8:"count(*)";s:1:"2";}i:4;a:4:{s:2:"id";s:3:"100";s:1:"j";N;s:3:"gid";s:1:"1";s:8:"count(*)";s:1:"1";}}}i:13;a:3:{s:8:"sphinxql";s:59:"select *, count(*) from dist group by j.uid order by id asc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:4:{s:2:"id";s:1:"1";s:1:"j";s:11:"{"uid":123}";s:3:"gid";s:1:"1";s:8:"count(*)";s:1:"2";}i:1;a:4:{s:2:"id";s:1:"2";s:1:"j";s:11:"{"uid":234}";s:3:"gid";s:1:"2";s:8:"count(*)";s:1:"1";}i:2;a:4:{s:2:"id";s:1:"4";s:1:"j";s:11:"{"uid":456}";s:3:"gid";s:1:"1";s:8:"count(*)";s:1:"1";}i:3;a:4:{s:2:"id";s:1:"5";s:1:"j";s:11:"{"uid":567}";s:3:"gid";s:1:"2";s:8:"count(*)";s:1:"2";}i:4;a:4:{s:2:"id";s:3:"100";s:1:"j";N;s:3:"gid";s:1:"1";s:8:"count(*)";s:1:"1";}}}i:14;a:3:{s:8:"sphinxql";s:60:"select *, count(*) from dist1 group by j.uid order by id asc";s:10:"total_rows";i:7;s:4:"rows";a:7:{i:0;a:4:{s:2:"id";s:1:"1";s:1:"j";s:11:"{"uid":123}";s:3:"gid";s:1:"1";s:8:"count(*)";s:1:"2";}i:1;a:4:{s:2:"id";s:1:"2";s:1:"j";s:11:"{"uid":234}";s:3:"gid";s:1:"2";s:8:"count(*)";s:1:"1";}i:2;a:4:{s:2:"id";s:1:"3";s:1:"j";s:11:"{"uid":345}";s:3:"gid";s:1:"3";s:8:"count(*)";s:1:"2";}i:3;a:4:{s:2:"id";s:1:"4";s:1:"j";s:11:"{"uid":456}";s:3:"gid";s:1:"1";s:8:"count(*)";s:1:"1";}i:4;a:4:{s:2:"id";s:1:"5";s:1:"j";s:11:"{"uid":567}";s:3:"gid";s:1:"2";s:8:"count(*)";s:1:"2";}i:5;a:4:{s:2:"id";s:1:"6";s:1:"j";s:11:"{"uid":678}";s:3:"gid";s:1:"3";s:8:"count(*)";s:1:"1";}i:6;a:4:{s:2:"id";s:3:"100";s:1:"j";N;s:3:"gid";s:1:"1";s:8:"count(*)";s:1:"1";}}}i:15;a:3:{s:8:"sphinxql";s:40:"select * from count() loc group by j.uid";s:5:"error";s:83:"sphinxql: syntax error, unexpected '(', expecting $end near '() loc group by j.uid'";s:5:"errno";i:1064;}i:16;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:18;s:4:"rows";a:18:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:1:"j";s:26:"{"name":"Alice","uid":123}";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:1:"j";s:33:"{"name":"Bob","uid":234,"gid":12}";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:1:"j";s:28:"{"name":"Charlie","uid":345}";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:1:"j";s:35:"{"name":"Damon","uid":456,"gid":23}";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:1:"j";s:19:"{"12":345,"34":567}";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"gid";s:1:"3";s:1:"j";s:20:"{"12":346,"179":971}";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"gid";s:1:"3";s:1:"j";s:375:"{"long":"\nYou can run on for a long time\nRun on for a long time\nRun on for a long time\nSooner or later God'll cut you down\nSooner or later God'll cut you down\n\nGo tell that long tongue liar\nGo and tell that midnight rider\nTell the rambler, the gambler, the back biter\nTell 'em that God's gonna cut 'em down\nTell 'em that God's gonna cut 'em down\n","short":"ohai"}";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"gid";s:1:"3";s:1:"j";s:38:"{"sv":["one","two","three"],"gid":315}";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"gid";s:1:"3";s:1:"j";s:2:"{}";}i:9;a:3:{s:2:"id";s:2:"10";s:3:"gid";s:1:"3";s:1:"j";N;}i:10;a:3:{s:2:"id";s:2:"11";s:3:"gid";s:1:"3";s:1:"j";s:98:"{"t1":123456789,"t2":-123456789,"t3":3123456789,"t4":-3123456789,"t5":9876543210,"t6":-9876543210}";}i:11;a:3:{s:2:"id";s:2:"12";s:3:"gid";s:1:"3";s:1:"j";s:375:"{"sv":["\nMary had a little lamb, whose fleece was white as snow.\nAnd everywhere that Mary went, the lamb was sure to go.\nIt followed her to school one day which was against the rules.\nIt made the children laugh and play, to see a lamb at school.\nAnd so the teacher turned it out, but still it lingered near.","another world, another time, the age of wonders"],"gid":316}";}i:12;a:3:{s:2:"id";s:2:"13";s:3:"gid";s:1:"3";s:1:"j";s:303:"{"i1":123,"i2":-123,"i3":"18446744073709551615","i4":"-18446744073709551615","i5":9223372036854775807,"i6":"9223372036854775808","i7":"9223372036854775809","i8":-9223372036854775807,"i9":-9223372036854775808,"i10":"-9223372036854775809","i11":"123abc","i12":"-123abc","f1":3.150000,"f2":16777217.123000}";}i:13;a:3:{s:2:"id";s:2:"14";s:3:"gid";s:1:"3";s:1:"j";s:69:"{"f1":3.150000,"f2":-7.400000,"f3":65536.700000,"f4":16777217.123000}";}i:14;a:3:{s:2:"id";s:2:"15";s:3:"gid";s:1:"3";s:1:"j";N;}i:15;a:3:{s:2:"id";s:2:"16";s:3:"gid";s:1:"4";s:1:"j";s:19:"{"nick":"One\nTwo"}";}i:16;a:3:{s:2:"id";s:2:"17";s:3:"gid";s:1:"4";s:1:"j";s:19:"{"nick":"One\nTwo"}";}i:17;a:3:{s:2:"id";s:2:"18";s:3:"gid";s:1:"4";s:1:"j";s:19:"{"nick":"One\nTwo"}";}}}i:17;a:3:{s:8:"sphinxql";s:34:"select * from test where j.uid>200";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:1:"j";s:33:"{"name":"Bob","uid":234,"gid":12}";}i:1;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:1:"j";s:28:"{"name":"Charlie","uid":345}";}i:2;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:1:"j";s:35:"{"name":"Damon","uid":456,"gid":23}";}}}i:18;a:3:{s:8:"sphinxql";s:31:"select * from test where j.t1>0";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:2:"11";s:3:"gid";s:1:"3";s:1:"j";s:98:"{"t1":123456789,"t2":-123456789,"t3":3123456789,"t4":-3123456789,"t5":9876543210,"t6":-9876543210}";}}}i:19;a:3:{s:8:"sphinxql";s:31:"select * from test where j.t2<0";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:2:"11";s:3:"gid";s:1:"3";s:1:"j";s:98:"{"t1":123456789,"t2":-123456789,"t3":3123456789,"t4":-3123456789,"t5":9876543210,"t6":-9876543210}";}}}i:20;a:3:{s:8:"sphinxql";s:31:"select * from test where j.t5>0";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:2:"11";s:3:"gid";s:1:"3";s:1:"j";s:98:"{"t1":123456789,"t2":-123456789,"t3":3123456789,"t4":-3123456789,"t5":9876543210,"t6":-9876543210}";}}}i:21;a:3:{s:8:"sphinxql";s:31:"select * from test where j.t6<0";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:2:"11";s:3:"gid";s:1:"3";s:1:"j";s:98:"{"t1":123456789,"t2":-123456789,"t3":3123456789,"t4":-3123456789,"t5":9876543210,"t6":-9876543210}";}}}i:22;a:3:{s:8:"sphinxql";s:39:"select * from test where j.name='Alice'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:1:"j";s:26:"{"name":"Alice","uid":123}";}}}i:23;a:2:{s:8:"sphinxql";s:39:"select * from test where j.name='alice'";s:10:"total_rows";i:0;}i:24;a:3:{s:8:"sphinxql";s:39:"select * from test where j.short='ohai'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"7";s:3:"gid";s:1:"3";s:1:"j";s:375:"{"long":"\nYou can run on for a long time\nRun on for a long time\nRun on for a long time\nSooner or later God'll cut you down\nSooner or later God'll cut you down\n\nGo tell that long tongue liar\nGo and tell that midnight rider\nTell the rambler, the gambler, the back biter\nTell 'em that God's gonna cut 'em down\nTell 'em that God's gonna cut 'em down\n","short":"ohai"}";}}}i:25;a:3:{s:8:"sphinxql";s:34:"select * from test where j.gid=315";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"8";s:3:"gid";s:1:"3";s:1:"j";s:38:"{"sv":["one","two","three"],"gid":315}";}}}i:26;a:2:{s:8:"sphinxql";s:36:"select * from test where j.gid='315'";s:10:"total_rows";i:0;}i:27;a:3:{s:8:"sphinxql";s:34:"select * from test where j.gid>315";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:2:"12";s:3:"gid";s:1:"3";s:1:"j";s:375:"{"sv":["\nMary had a little lamb, whose fleece was white as snow.\nAnd everywhere that Mary went, the lamb was sure to go.\nIt followed her to school one day which was against the rules.\nIt made the children laugh and play, to see a lamb at school.\nAnd so the teacher turned it out, but still it lingered near.","another world, another time, the age of wonders"],"gid":316}";}}}i:28;a:3:{s:8:"sphinxql";s:33:"select * from test where j.gid=12";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:1:"j";s:33:"{"name":"Bob","uid":234,"gid":12}";}}}i:29;a:3:{s:8:"sphinxql";s:30:"select * from test where id=13";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:2:"13";s:3:"gid";s:1:"3";s:1:"j";s:303:"{"i1":123,"i2":-123,"i3":"18446744073709551615","i4":"-18446744073709551615","i5":9223372036854775807,"i6":"9223372036854775808","i7":"9223372036854775809","i8":-9223372036854775807,"i9":-9223372036854775808,"i10":"-9223372036854775809","i11":"123abc","i12":"-123abc","f1":3.150000,"f2":16777217.123000}";}}}i:30;a:3:{s:8:"sphinxql";s:30:"select * from test where id=14";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:2:"14";s:3:"gid";s:1:"3";s:1:"j";s:69:"{"f1":3.150000,"f2":-7.400000,"f3":65536.700000,"f4":16777217.123000}";}}}i:31;a:3:{s:8:"sphinxql";s:54:"select id, j from test order by j.name asc, j.gid desc";s:10:"total_rows";i:18;s:4:"rows";a:18:{i:0;a:2:{s:2:"id";s:2:"12";s:1:"j";s:375:"{"sv":["\nMary had a little lamb, whose fleece was white as snow.\nAnd everywhere that Mary went, the lamb was sure to go.\nIt followed her to school one day which was against the rules.\nIt made the children laugh and play, to see a lamb at school.\nAnd so the teacher turned it out, but still it lingered near.","another world, another time, the age of wonders"],"gid":316}";}i:1;a:2:{s:2:"id";s:1:"8";s:1:"j";s:38:"{"sv":["one","two","three"],"gid":315}";}i:2;a:2:{s:2:"id";s:1:"5";s:1:"j";s:19:"{"12":345,"34":567}";}i:3;a:2:{s:2:"id";s:1:"6";s:1:"j";s:20:"{"12":346,"179":971}";}i:4;a:2:{s:2:"id";s:1:"7";s:1:"j";s:375:"{"long":"\nYou can run on for a long time\nRun on for a long time\nRun on for a long time\nSooner or later God'll cut you down\nSooner or later God'll cut you down\n\nGo tell that long tongue liar\nGo and tell that midnight rider\nTell the rambler, the gambler, the back biter\nTell 'em that God's gonna cut 'em down\nTell 'em that God's gonna cut 'em down\n","short":"ohai"}";}i:5;a:2:{s:2:"id";s:1:"9";s:1:"j";s:2:"{}";}i:6;a:2:{s:2:"id";s:2:"10";s:1:"j";N;}i:7;a:2:{s:2:"id";s:2:"11";s:1:"j";s:98:"{"t1":123456789,"t2":-123456789,"t3":3123456789,"t4":-3123456789,"t5":9876543210,"t6":-9876543210}";}i:8;a:2:{s:2:"id";s:2:"13";s:1:"j";s:303:"{"i1":123,"i2":-123,"i3":"18446744073709551615","i4":"-18446744073709551615","i5":9223372036854775807,"i6":"9223372036854775808","i7":"9223372036854775809","i8":-9223372036854775807,"i9":-9223372036854775808,"i10":"-9223372036854775809","i11":"123abc","i12":"-123abc","f1":3.150000,"f2":16777217.123000}";}i:9;a:2:{s:2:"id";s:2:"14";s:1:"j";s:69:"{"f1":3.150000,"f2":-7.400000,"f3":65536.700000,"f4":16777217.123000}";}i:10;a:2:{s:2:"id";s:2:"15";s:1:"j";N;}i:11;a:2:{s:2:"id";s:2:"16";s:1:"j";s:19:"{"nick":"One\nTwo"}";}i:12;a:2:{s:2:"id";s:2:"17";s:1:"j";s:19:"{"nick":"One\nTwo"}";}i:13;a:2:{s:2:"id";s:2:"18";s:1:"j";s:19:"{"nick":"One\nTwo"}";}i:14;a:2:{s:2:"id";s:1:"1";s:1:"j";s:26:"{"name":"Alice","uid":123}";}i:15;a:2:{s:2:"id";s:1:"2";s:1:"j";s:33:"{"name":"Bob","uid":234,"gid":12}";}i:16;a:2:{s:2:"id";s:1:"3";s:1:"j";s:28:"{"name":"Charlie","uid":345}";}i:17;a:2:{s:2:"id";s:1:"4";s:1:"j";s:35:"{"name":"Damon","uid":456,"gid":23}";}}}i:32;a:3:{s:8:"sphinxql";s:54:"select id, j from test order by j.name desc, j.gid asc";s:10:"total_rows";i:18;s:4:"rows";a:18:{i:0;a:2:{s:2:"id";s:1:"4";s:1:"j";s:35:"{"name":"Damon","uid":456,"gid":23}";}i:1;a:2:{s:2:"id";s:1:"3";s:1:"j";s:28:"{"name":"Charlie","uid":345}";}i:2;a:2:{s:2:"id";s:1:"2";s:1:"j";s:33:"{"name":"Bob","uid":234,"gid":12}";}i:3;a:2:{s:2:"id";s:1:"1";s:1:"j";s:26:"{"name":"Alice","uid":123}";}i:4;a:2:{s:2:"id";s:1:"5";s:1:"j";s:19:"{"12":345,"34":567}";}i:5;a:2:{s:2:"id";s:1:"6";s:1:"j";s:20:"{"12":346,"179":971}";}i:6;a:2:{s:2:"id";s:1:"7";s:1:"j";s:375:"{"long":"\nYou can run on for a long time\nRun on for a long time\nRun on for a long time\nSooner or later God'll cut you down\nSooner or later God'll cut you down\n\nGo tell that long tongue liar\nGo and tell that midnight rider\nTell the rambler, the gambler, the back biter\nTell 'em that God's gonna cut 'em down\nTell 'em that God's gonna cut 'em down\n","short":"ohai"}";}i:7;a:2:{s:2:"id";s:1:"9";s:1:"j";s:2:"{}";}i:8;a:2:{s:2:"id";s:2:"10";s:1:"j";N;}i:9;a:2:{s:2:"id";s:2:"11";s:1:"j";s:98:"{"t1":123456789,"t2":-123456789,"t3":3123456789,"t4":-3123456789,"t5":9876543210,"t6":-9876543210}";}i:10;a:2:{s:2:"id";s:2:"13";s:1:"j";s:303:"{"i1":123,"i2":-123,"i3":"18446744073709551615","i4":"-18446744073709551615","i5":9223372036854775807,"i6":"9223372036854775808","i7":"9223372036854775809","i8":-9223372036854775807,"i9":-9223372036854775808,"i10":"-9223372036854775809","i11":"123abc","i12":"-123abc","f1":3.150000,"f2":16777217.123000}";}i:11;a:2:{s:2:"id";s:2:"14";s:1:"j";s:69:"{"f1":3.150000,"f2":-7.400000,"f3":65536.700000,"f4":16777217.123000}";}i:12;a:2:{s:2:"id";s:2:"15";s:1:"j";N;}i:13;a:2:{s:2:"id";s:2:"16";s:1:"j";s:19:"{"nick":"One\nTwo"}";}i:14;a:2:{s:2:"id";s:2:"17";s:1:"j";s:19:"{"nick":"One\nTwo"}";}i:15;a:2:{s:2:"id";s:2:"18";s:1:"j";s:19:"{"nick":"One\nTwo"}";}i:16;a:2:{s:2:"id";s:1:"8";s:1:"j";s:38:"{"sv":["one","two","three"],"gid":315}";}i:17;a:2:{s:2:"id";s:2:"12";s:1:"j";s:375:"{"sv":["\nMary had a little lamb, whose fleece was white as snow.\nAnd everywhere that Mary went, the lamb was sure to go.\nIt followed her to school one day which was against the rules.\nIt made the children laugh and play, to see a lamb at school.\nAnd so the teacher turned it out, but still it lingered near.","another world, another time, the age of wonders"],"gid":316}";}}}i:33;a:3:{s:8:"sphinxql";s:55:"select id, j.uid, j.name from loc_field where j.uid>250";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"3";s:5:"j.uid";s:3:"345";s:6:"j.name";s:7:"Charlie";}i:1;a:3:{s:2:"id";s:1:"4";s:5:"j.uid";s:3:"456";s:6:"j.name";s:5:"Damon";}i:2;a:3:{s:2:"id";s:1:"5";s:5:"j.uid";s:3:"567";s:6:"j.name";N;}i:3;a:3:{s:2:"id";s:1:"8";s:5:"j.uid";s:3:"567";s:6:"j.name";N;}}}i:34;a:3:{s:8:"sphinxql";s:71:"select id, j.uid, j.name from loc_field order by j.name asc, j.gid desc";s:10:"total_rows";i:18;s:4:"rows";a:18:{i:0;a:3:{s:2:"id";s:2:"12";s:5:"j.uid";N;s:6:"j.name";N;}i:1;a:3:{s:2:"id";s:1:"8";s:5:"j.uid";N;s:6:"j.name";N;}i:2;a:3:{s:2:"id";s:1:"5";s:5:"j.uid";N;s:6:"j.name";N;}i:3;a:3:{s:2:"id";s:1:"6";s:5:"j.uid";N;s:6:"j.name";N;}i:4;a:3:{s:2:"id";s:1:"7";s:5:"j.uid";N;s:6:"j.name";N;}i:5;a:3:{s:2:"id";s:1:"9";s:5:"j.uid";N;s:6:"j.name";N;}i:6;a:3:{s:2:"id";s:2:"10";s:5:"j.uid";N;s:6:"j.name";N;}i:7;a:3:{s:2:"id";s:2:"11";s:5:"j.uid";N;s:6:"j.name";N;}i:8;a:3:{s:2:"id";s:2:"13";s:5:"j.uid";N;s:6:"j.name";N;}i:9;a:3:{s:2:"id";s:2:"14";s:5:"j.uid";N;s:6:"j.name";N;}i:10;a:3:{s:2:"id";s:2:"15";s:5:"j.uid";N;s:6:"j.name";N;}i:11;a:3:{s:2:"id";s:2:"16";s:5:"j.uid";N;s:6:"j.name";N;}i:12;a:3:{s:2:"id";s:2:"17";s:5:"j.uid";N;s:6:"j.name";N;}i:13;a:3:{s:2:"id";s:2:"18";s:5:"j.uid";N;s:6:"j.name";N;}i:14;a:3:{s:2:"id";s:1:"1";s:5:"j.uid";s:3:"123";s:6:"j.name";s:5:"Alice";}i:15;a:3:{s:2:"id";s:1:"2";s:5:"j.uid";s:3:"234";s:6:"j.name";s:3:"Bob";}i:16;a:3:{s:2:"id";s:1:"3";s:5:"j.uid";s:3:"345";s:6:"j.name";s:7:"Charlie";}i:17;a:3:{s:2:"id";s:1:"4";s:5:"j.uid";s:3:"456";s:6:"j.name";s:5:"Damon";}}}i:35;a:3:{s:8:"sphinxql";s:72:"select id, j.name, j.uid from dist_field order by j.name desc, j.gid asc";s:10:"total_rows";i:18;s:4:"rows";a:18:{i:0;a:3:{s:2:"id";s:1:"4";s:6:"j.name";s:5:"Damon";s:5:"j.uid";s:3:"456";}i:1;a:3:{s:2:"id";s:1:"3";s:6:"j.name";s:7:"Charlie";s:5:"j.uid";s:3:"345";}i:2;a:3:{s:2:"id";s:1:"2";s:6:"j.name";s:3:"Bob";s:5:"j.uid";s:3:"234";}i:3;a:3:{s:2:"id";s:1:"1";s:6:"j.name";s:5:"Alice";s:5:"j.uid";s:3:"123";}i:4;a:3:{s:2:"id";s:1:"5";s:6:"j.name";N;s:5:"j.uid";N;}i:5;a:3:{s:2:"id";s:1:"6";s:6:"j.name";N;s:5:"j.uid";N;}i:6;a:3:{s:2:"id";s:1:"7";s:6:"j.name";N;s:5:"j.uid";N;}i:7;a:3:{s:2:"id";s:1:"9";s:6:"j.name";N;s:5:"j.uid";N;}i:8;a:3:{s:2:"id";s:2:"10";s:6:"j.name";N;s:5:"j.uid";N;}i:9;a:3:{s:2:"id";s:2:"11";s:6:"j.name";N;s:5:"j.uid";N;}i:10;a:3:{s:2:"id";s:2:"13";s:6:"j.name";N;s:5:"j.uid";N;}i:11;a:3:{s:2:"id";s:2:"14";s:6:"j.name";N;s:5:"j.uid";N;}i:12;a:3:{s:2:"id";s:2:"15";s:6:"j.name";N;s:5:"j.uid";N;}i:13;a:3:{s:2:"id";s:2:"16";s:6:"j.name";N;s:5:"j.uid";N;}i:14;a:3:{s:2:"id";s:2:"17";s:6:"j.name";N;s:5:"j.uid";N;}i:15;a:3:{s:2:"id";s:2:"18";s:6:"j.name";N;s:5:"j.uid";N;}i:16;a:3:{s:2:"id";s:1:"8";s:6:"j.name";N;s:5:"j.uid";N;}i:17;a:3:{s:2:"id";s:2:"12";s:6:"j.name";N;s:5:"j.uid";N;}}}i:36;a:3:{s:8:"sphinxql";s:80:"select id, j.name, j.34, j.179, j.uid, j.sv, j.t6, j. f2, j.f1 from dist_field ";s:10:"total_rows";i:18;s:4:"rows";a:18:{i:0;a:9:{s:2:"id";s:1:"1";s:6:"j.name";s:5:"Alice";s:4:"j.34";N;s:5:"j.179";N;s:5:"j.uid";s:3:"123";s:4:"j.sv";N;s:4:"j.t6";N;s:5:"j. f2";N;s:4:"j.f1";N;}i:1;a:9:{s:2:"id";s:1:"2";s:6:"j.name";s:3:"Bob";s:4:"j.34";N;s:5:"j.179";N;s:5:"j.uid";s:3:"234";s:4:"j.sv";N;s:4:"j.t6";N;s:5:"j. f2";N;s:4:"j.f1";N;}i:2;a:9:{s:2:"id";s:1:"3";s:6:"j.name";s:7:"Charlie";s:4:"j.34";N;s:5:"j.179";N;s:5:"j.uid";s:3:"345";s:4:"j.sv";N;s:4:"j.t6";N;s:5:"j. f2";N;s:4:"j.f1";N;}i:3;a:9:{s:2:"id";s:1:"4";s:6:"j.name";s:5:"Damon";s:4:"j.34";N;s:5:"j.179";N;s:5:"j.uid";s:3:"456";s:4:"j.sv";N;s:4:"j.t6";N;s:5:"j. f2";N;s:4:"j.f1";N;}i:4;a:9:{s:2:"id";s:1:"5";s:6:"j.name";N;s:4:"j.34";s:3:"567";s:5:"j.179";N;s:5:"j.uid";N;s:4:"j.sv";N;s:4:"j.t6";N;s:5:"j. f2";N;s:4:"j.f1";N;}i:5;a:9:{s:2:"id";s:1:"6";s:6:"j.name";N;s:4:"j.34";N;s:5:"j.179";s:3:"971";s:5:"j.uid";N;s:4:"j.sv";N;s:4:"j.t6";N;s:5:"j. f2";N;s:4:"j.f1";N;}i:6;a:9:{s:2:"id";s:1:"7";s:6:"j.name";N;s:4:"j.34";N;s:5:"j.179";N;s:5:"j.uid";N;s:4:"j.sv";N;s:4:"j.t6";N;s:5:"j. f2";N;s:4:"j.f1";N;}i:7;a:9:{s:2:"id";s:1:"8";s:6:"j.name";N;s:4:"j.34";N;s:5:"j.179";N;s:5:"j.uid";N;s:4:"j.sv";s:21:"["one","two","three"]";s:4:"j.t6";N;s:5:"j. f2";N;s:4:"j.f1";N;}i:8;a:9:{s:2:"id";s:1:"9";s:6:"j.name";N;s:4:"j.34";N;s:5:"j.179";N;s:5:"j.uid";N;s:4:"j.sv";N;s:4:"j.t6";N;s:5:"j. f2";N;s:4:"j.f1";N;}i:9;a:9:{s:2:"id";s:2:"10";s:6:"j.name";N;s:4:"j.34";N;s:5:"j.179";N;s:5:"j.uid";N;s:4:"j.sv";N;s:4:"j.t6";N;s:5:"j. f2";N;s:4:"j.f1";N;}i:10;a:9:{s:2:"id";s:2:"11";s:6:"j.name";N;s:4:"j.34";N;s:5:"j.179";N;s:5:"j.uid";N;s:4:"j.sv";N;s:4:"j.t6";s:11:"-9876543210";s:5:"j. f2";N;s:4:"j.f1";N;}i:11;a:9:{s:2:"id";s:2:"12";s:6:"j.name";N;s:4:"j.34";N;s:5:"j.179";N;s:5:"j.uid";N;s:4:"j.sv";s:358:"["\nMary had a little lamb, whose fleece was white as snow.\nAnd everywhere that Mary went, the lamb was sure to go.\nIt followed her to school one day which was against the rules.\nIt made the children laugh and play, to see a lamb at school.\nAnd so the teacher turned it out, but still it lingered near.","another world, another time, the age of wonders"]";s:4:"j.t6";N;s:5:"j. f2";N;s:4:"j.f1";N;}i:12;a:9:{s:2:"id";s:2:"13";s:6:"j.name";N;s:4:"j.34";N;s:5:"j.179";N;s:5:"j.uid";N;s:4:"j.sv";N;s:4:"j.t6";N;s:5:"j. f2";s:15:"16777217.123000";s:4:"j.f1";s:8:"3.150000";}i:13;a:9:{s:2:"id";s:2:"14";s:6:"j.name";N;s:4:"j.34";N;s:5:"j.179";N;s:5:"j.uid";N;s:4:"j.sv";N;s:4:"j.t6";N;s:5:"j. f2";s:9:"-7.400000";s:4:"j.f1";s:8:"3.150000";}i:14;a:9:{s:2:"id";s:2:"15";s:6:"j.name";N;s:4:"j.34";N;s:5:"j.179";N;s:5:"j.uid";N;s:4:"j.sv";N;s:4:"j.t6";N;s:5:"j. f2";N;s:4:"j.f1";N;}i:15;a:9:{s:2:"id";s:2:"16";s:6:"j.name";N;s:4:"j.34";N;s:5:"j.179";N;s:5:"j.uid";N;s:4:"j.sv";N;s:4:"j.t6";N;s:5:"j. f2";N;s:4:"j.f1";N;}i:16;a:9:{s:2:"id";s:2:"17";s:6:"j.name";N;s:4:"j.34";N;s:5:"j.179";N;s:5:"j.uid";N;s:4:"j.sv";N;s:4:"j.t6";N;s:5:"j. f2";N;s:4:"j.f1";N;}i:17;a:9:{s:2:"id";s:2:"18";s:6:"j.name";N;s:4:"j.34";N;s:5:"j.179";N;s:5:"j.uid";N;s:4:"j.sv";N;s:4:"j.t6";N;s:5:"j. f2";N;s:4:"j.f1";N;}}}i:37;a:3:{s:8:"sphinxql";s:72:"select id, j.Attr as j1, j.aTTr j2, j.Str as j3, j.STR j4 from json_case";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:5:{s:2:"id";s:1:"1";s:2:"j1";s:3:"123";s:2:"j2";s:2:"12";s:2:"j3";s:4:"nope";s:2:"j4";s:3:"yep";}i:1;a:5:{s:2:"id";s:1:"2";s:2:"j1";s:2:"23";s:2:"j2";N;s:2:"j3";s:4:"nope";s:2:"j4";s:4:"yep2";}i:2;a:5:{s:2:"id";s:1:"3";s:2:"j1";s:3:"123";s:2:"j2";s:2:"12";s:2:"j3";N;s:2:"j4";s:3:"yep";}i:3;a:5:{s:2:"id";s:1:"4";s:2:"j1";s:3:"123";s:2:"j2";s:3:"212";s:2:"j3";s:6:"nope11";s:2:"j4";N;}i:4;a:5:{s:2:"id";s:1:"5";s:2:"j1";s:2:"12";s:2:"j2";s:2:"12";s:2:"j3";N;s:2:"j4";N;}i:5;a:5:{s:2:"id";s:1:"6";s:2:"j1";N;s:2:"j2";N;s:2:"j3";s:4:"nope";s:2:"j4";s:3:"yep";}i:6;a:5:{s:2:"id";s:1:"7";s:2:"j1";N;s:2:"j2";s:3:"212";s:2:"j3";N;s:2:"j4";s:4:"yep2";}i:7;a:5:{s:2:"id";s:1:"8";s:2:"j1";s:2:"12";s:2:"j2";N;s:2:"j3";s:6:"nope11";s:2:"j4";N;}}}i:38;a:3:{s:8:"sphinxql";s:71:"select id, j.Attr, j.aTTr, j.Str, j.STR from json_case where j.Attr>100";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:5:{s:2:"id";s:1:"1";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:2:"12";s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:3:"yep";}i:1;a:5:{s:2:"id";s:1:"3";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:2:"12";s:5:"j.Str";N;s:5:"j.STR";s:3:"yep";}i:2;a:5:{s:2:"id";s:1:"4";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:3:"212";s:5:"j.Str";s:6:"nope11";s:5:"j.STR";N;}}}i:39;a:3:{s:8:"sphinxql";s:71:"select id, j.Attr, j.aTTr, j.Str, j.STR from json_case where j.aTTr<100";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:5:{s:2:"id";s:1:"1";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:2:"12";s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:3:"yep";}i:1;a:5:{s:2:"id";s:1:"2";s:6:"j.Attr";s:2:"23";s:6:"j.aTTr";N;s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:4:"yep2";}i:2;a:5:{s:2:"id";s:1:"3";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:2:"12";s:5:"j.Str";N;s:5:"j.STR";s:3:"yep";}i:3;a:5:{s:2:"id";s:1:"5";s:6:"j.Attr";s:2:"12";s:6:"j.aTTr";s:2:"12";s:5:"j.Str";N;s:5:"j.STR";N;}i:4;a:5:{s:2:"id";s:1:"6";s:6:"j.Attr";N;s:6:"j.aTTr";N;s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:3:"yep";}i:5;a:5:{s:2:"id";s:1:"8";s:6:"j.Attr";s:2:"12";s:6:"j.aTTr";N;s:5:"j.Str";s:6:"nope11";s:5:"j.STR";N;}}}i:40;a:3:{s:8:"sphinxql";s:73:"select id, j.Attr, j.aTTr, j.Str, j.STR from json_case where j.Str='nope'";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:5:{s:2:"id";s:1:"1";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:2:"12";s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:3:"yep";}i:1;a:5:{s:2:"id";s:1:"2";s:6:"j.Attr";s:2:"23";s:6:"j.aTTr";N;s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:4:"yep2";}i:2;a:5:{s:2:"id";s:1:"6";s:6:"j.Attr";N;s:6:"j.aTTr";N;s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:3:"yep";}}}i:41;a:3:{s:8:"sphinxql";s:72:"select id, j.Attr, j.aTTr, j.Str, j.STR from json_case where j.STR='yep'";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:5:{s:2:"id";s:1:"1";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:2:"12";s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:3:"yep";}i:1;a:5:{s:2:"id";s:1:"3";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:2:"12";s:5:"j.Str";N;s:5:"j.STR";s:3:"yep";}i:2;a:5:{s:2:"id";s:1:"6";s:6:"j.Attr";N;s:6:"j.aTTr";N;s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:3:"yep";}}}i:42;a:3:{s:8:"sphinxql";s:82:"select id, count(*) c, j.Attr, j.aTTr, j.Str, j.STR from json_case group by j.Attr";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:6:{s:2:"id";s:1:"1";s:1:"c";s:1:"3";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:2:"12";s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:3:"yep";}i:1;a:6:{s:2:"id";s:1:"2";s:1:"c";s:1:"1";s:6:"j.Attr";s:2:"23";s:6:"j.aTTr";N;s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:4:"yep2";}i:2;a:6:{s:2:"id";s:1:"5";s:1:"c";s:1:"2";s:6:"j.Attr";s:2:"12";s:6:"j.aTTr";s:2:"12";s:5:"j.Str";N;s:5:"j.STR";N;}i:3;a:6:{s:2:"id";s:1:"6";s:1:"c";s:1:"2";s:6:"j.Attr";N;s:6:"j.aTTr";N;s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:3:"yep";}}}i:43;a:3:{s:8:"sphinxql";s:82:"select id, count(*) c, j.Attr, j.aTTr, j.Str, j.STR from json_case group by j.aTTr";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:6:{s:2:"id";s:1:"1";s:1:"c";s:1:"3";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:2:"12";s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:3:"yep";}i:1;a:6:{s:2:"id";s:1:"2";s:1:"c";s:1:"3";s:6:"j.Attr";s:2:"23";s:6:"j.aTTr";N;s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:4:"yep2";}i:2;a:6:{s:2:"id";s:1:"4";s:1:"c";s:1:"2";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:3:"212";s:5:"j.Str";s:6:"nope11";s:5:"j.STR";N;}}}i:44;a:3:{s:8:"sphinxql";s:81:"select id, count(*) c, j.Attr, j.aTTr, j.Str, j.STR from json_case group by j.Str";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:6:{s:2:"id";s:1:"1";s:1:"c";s:1:"3";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:2:"12";s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:3:"yep";}i:1;a:6:{s:2:"id";s:1:"3";s:1:"c";s:1:"3";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:2:"12";s:5:"j.Str";N;s:5:"j.STR";s:3:"yep";}i:2;a:6:{s:2:"id";s:1:"4";s:1:"c";s:1:"2";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:3:"212";s:5:"j.Str";s:6:"nope11";s:5:"j.STR";N;}}}i:45;a:3:{s:8:"sphinxql";s:81:"select id, count(*) c, j.Attr, j.aTTr, j.Str, j.STR from json_case group by j.STR";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:6:{s:2:"id";s:1:"1";s:1:"c";s:1:"3";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:2:"12";s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:3:"yep";}i:1;a:6:{s:2:"id";s:1:"2";s:1:"c";s:1:"2";s:6:"j.Attr";s:2:"23";s:6:"j.aTTr";N;s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:4:"yep2";}i:2;a:6:{s:2:"id";s:1:"4";s:1:"c";s:1:"3";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:3:"212";s:5:"j.Str";s:6:"nope11";s:5:"j.STR";N;}}}i:46;a:3:{s:8:"sphinxql";s:83:"select id, j.Attr, j.aTTr, j.Str, j.STR from json_case order by j.Attr asc, id desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:5:{s:2:"id";s:1:"7";s:6:"j.Attr";N;s:6:"j.aTTr";s:3:"212";s:5:"j.Str";N;s:5:"j.STR";s:4:"yep2";}i:1;a:5:{s:2:"id";s:1:"6";s:6:"j.Attr";N;s:6:"j.aTTr";N;s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:3:"yep";}i:2;a:5:{s:2:"id";s:1:"8";s:6:"j.Attr";s:2:"12";s:6:"j.aTTr";N;s:5:"j.Str";s:6:"nope11";s:5:"j.STR";N;}i:3;a:5:{s:2:"id";s:1:"5";s:6:"j.Attr";s:2:"12";s:6:"j.aTTr";s:2:"12";s:5:"j.Str";N;s:5:"j.STR";N;}i:4;a:5:{s:2:"id";s:1:"4";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:3:"212";s:5:"j.Str";s:6:"nope11";s:5:"j.STR";N;}i:5;a:5:{s:2:"id";s:1:"3";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:2:"12";s:5:"j.Str";N;s:5:"j.STR";s:3:"yep";}i:6;a:5:{s:2:"id";s:1:"1";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:2:"12";s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:3:"yep";}i:7;a:5:{s:2:"id";s:1:"2";s:6:"j.Attr";s:2:"23";s:6:"j.aTTr";N;s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:4:"yep2";}}}i:47;a:3:{s:8:"sphinxql";s:84:"select id, j.Attr, j.aTTr, j.Str, j.STR from json_case order by j.aTTr desc, id desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:5:{s:2:"id";s:1:"7";s:6:"j.Attr";N;s:6:"j.aTTr";s:3:"212";s:5:"j.Str";N;s:5:"j.STR";s:4:"yep2";}i:1;a:5:{s:2:"id";s:1:"4";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:3:"212";s:5:"j.Str";s:6:"nope11";s:5:"j.STR";N;}i:2;a:5:{s:2:"id";s:1:"5";s:6:"j.Attr";s:2:"12";s:6:"j.aTTr";s:2:"12";s:5:"j.Str";N;s:5:"j.STR";N;}i:3;a:5:{s:2:"id";s:1:"3";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:2:"12";s:5:"j.Str";N;s:5:"j.STR";s:3:"yep";}i:4;a:5:{s:2:"id";s:1:"1";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:2:"12";s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:3:"yep";}i:5;a:5:{s:2:"id";s:1:"8";s:6:"j.Attr";s:2:"12";s:6:"j.aTTr";N;s:5:"j.Str";s:6:"nope11";s:5:"j.STR";N;}i:6;a:5:{s:2:"id";s:1:"6";s:6:"j.Attr";N;s:6:"j.aTTr";N;s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:3:"yep";}i:7;a:5:{s:2:"id";s:1:"2";s:6:"j.Attr";s:2:"23";s:6:"j.aTTr";N;s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:4:"yep2";}}}i:48;a:3:{s:8:"sphinxql";s:82:"select id, j.Attr, j.aTTr, j.Str, j.STR from json_case order by j.Str asc, id desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:5:{s:2:"id";s:1:"7";s:6:"j.Attr";N;s:6:"j.aTTr";s:3:"212";s:5:"j.Str";N;s:5:"j.STR";s:4:"yep2";}i:1;a:5:{s:2:"id";s:1:"5";s:6:"j.Attr";s:2:"12";s:6:"j.aTTr";s:2:"12";s:5:"j.Str";N;s:5:"j.STR";N;}i:2;a:5:{s:2:"id";s:1:"3";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:2:"12";s:5:"j.Str";N;s:5:"j.STR";s:3:"yep";}i:3;a:5:{s:2:"id";s:1:"6";s:6:"j.Attr";N;s:6:"j.aTTr";N;s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:3:"yep";}i:4;a:5:{s:2:"id";s:1:"2";s:6:"j.Attr";s:2:"23";s:6:"j.aTTr";N;s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:4:"yep2";}i:5;a:5:{s:2:"id";s:1:"1";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:2:"12";s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:3:"yep";}i:6;a:5:{s:2:"id";s:1:"8";s:6:"j.Attr";s:2:"12";s:6:"j.aTTr";N;s:5:"j.Str";s:6:"nope11";s:5:"j.STR";N;}i:7;a:5:{s:2:"id";s:1:"4";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:3:"212";s:5:"j.Str";s:6:"nope11";s:5:"j.STR";N;}}}i:49;a:3:{s:8:"sphinxql";s:83:"select id, j.Attr, j.aTTr, j.Str, j.STR from json_case order by j.STR desc, id desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:5:{s:2:"id";s:1:"7";s:6:"j.Attr";N;s:6:"j.aTTr";s:3:"212";s:5:"j.Str";N;s:5:"j.STR";s:4:"yep2";}i:1;a:5:{s:2:"id";s:1:"2";s:6:"j.Attr";s:2:"23";s:6:"j.aTTr";N;s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:4:"yep2";}i:2;a:5:{s:2:"id";s:1:"6";s:6:"j.Attr";N;s:6:"j.aTTr";N;s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:3:"yep";}i:3;a:5:{s:2:"id";s:1:"3";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:2:"12";s:5:"j.Str";N;s:5:"j.STR";s:3:"yep";}i:4;a:5:{s:2:"id";s:1:"1";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:2:"12";s:5:"j.Str";s:4:"nope";s:5:"j.STR";s:3:"yep";}i:5;a:5:{s:2:"id";s:1:"8";s:6:"j.Attr";s:2:"12";s:6:"j.aTTr";N;s:5:"j.Str";s:6:"nope11";s:5:"j.STR";N;}i:6;a:5:{s:2:"id";s:1:"5";s:6:"j.Attr";s:2:"12";s:6:"j.aTTr";s:2:"12";s:5:"j.Str";N;s:5:"j.STR";N;}i:7;a:5:{s:2:"id";s:1:"4";s:6:"j.Attr";s:3:"123";s:6:"j.aTTr";s:3:"212";s:5:"j.Str";s:6:"nope11";s:5:"j.STR";N;}}}i:50;a:2:{s:8:"sphinxql";s:81:"insert into rt (id, title, data) values (1, 'title1','{attr1:10, attr2:"test1"}')";s:14:"total_affected";i:1;}i:51;a:2:{s:8:"sphinxql";s:81:"insert into rt (id, title, data) values (2, 'title2','{attr1:20, attr2:"test2"}')";s:14:"total_affected";i:1;}i:52;a:2:{s:8:"sphinxql";s:81:"insert into rt (id, title, data) values (3, 'title3','{attr1:30, attr2:"test3"}')";s:14:"total_affected";i:1;}i:53;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:4:"data";s:28:"{"attr1":10,"attr2":"test1"}";}i:1;a:2:{s:2:"id";s:1:"2";s:4:"data";s:28:"{"attr1":20,"attr2":"test2"}";}i:2;a:2:{s:2:"id";s:1:"3";s:4:"data";s:28:"{"attr1":30,"attr2":"test3"}";}}}i:54;a:3:{s:8:"sphinxql";s:36:"select * from rt where data.attr1=20";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:4:"data";s:28:"{"attr1":20,"attr2":"test2"}";}}}i:55;a:3:{s:8:"sphinxql";s:36:"select * from rt group by data.attr1";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:4:"data";s:28:"{"attr1":10,"attr2":"test1"}";}i:1;a:2:{s:2:"id";s:1:"2";s:4:"data";s:28:"{"attr1":20,"attr2":"test2"}";}i:2;a:2:{s:2:"id";s:1:"3";s:4:"data";s:28:"{"attr1":30,"attr2":"test3"}";}}}i:56;a:2:{s:8:"sphinxql";s:87:"replace into rt (id, data) values (3, '{attr1:100, attr2:"replaced", new_attr:"text"}')";s:14:"total_affected";i:1;}i:57;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:4:"data";s:28:"{"attr1":10,"attr2":"test1"}";}i:1;a:2:{s:2:"id";s:1:"2";s:4:"data";s:28:"{"attr1":20,"attr2":"test2"}";}i:2;a:2:{s:2:"id";s:1:"3";s:4:"data";s:50:"{"attr1":100,"attr2":"replaced","new_attr":"text"}";}}}i:58;a:3:{s:8:"sphinxql";s:39:"select * from rt group by data.new_attr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:4:"data";s:28:"{"attr1":10,"attr2":"test1"}";}i:1;a:2:{s:2:"id";s:1:"3";s:4:"data";s:50:"{"attr1":100,"attr2":"replaced","new_attr":"text"}";}}}i:59;a:3:{s:8:"sphinxql";s:48:"select data.attr2 from rt group by data.new_attr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:10:"data.attr2";s:5:"test1";}i:1;a:1:{s:10:"data.attr2";s:8:"replaced";}}}i:60;a:3:{s:8:"sphinxql";s:23:"select * from json_attr";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:2:"id";s:3:"123";s:5:"json1";s:52:"{"username":"Alice","year":2000,"floatkey":1.010000}";}i:1;a:2:{s:2:"id";s:3:"234";s:5:"json1";s:50:"{"username":"Bob","year":2001,"floatkey":2.220000}";}i:2;a:2:{s:2:"id";s:3:"345";s:5:"json1";s:54:"{"username":"Charlie","year":2002,"floatkey":3.000000}";}i:3;a:2:{s:2:"id";s:3:"456";s:5:"json1";s:52:"{"username":"Damon","year":2003,"floatkey":4.440000}";}}}i:61;a:3:{s:8:"sphinxql";s:49:"select json1.username from json_attr where id=123";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:14:"json1.username";s:5:"Alice";}}}i:62;a:3:{s:8:"sphinxql";s:45:"select json1.year from json_attr where id=123";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:10:"json1.year";s:4:"2000";}}}i:63;a:3:{s:8:"sphinxql";s:50:"select * from json_attr where json1.floatkey>1.234";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"234";s:5:"json1";s:50:"{"username":"Bob","year":2001,"floatkey":2.220000}";}i:1;a:2:{s:2:"id";s:3:"345";s:5:"json1";s:54:"{"username":"Charlie","year":2002,"floatkey":3.000000}";}i:2;a:2:{s:2:"id";s:3:"456";s:5:"json1";s:52:"{"username":"Damon","year":2003,"floatkey":4.440000}";}}}i:64;a:3:{s:8:"sphinxql";s:60:"select * from json_attr where json1.floatkey between 1 and 3";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"123";s:5:"json1";s:52:"{"username":"Alice","year":2000,"floatkey":1.010000}";}i:1;a:2:{s:2:"id";s:3:"234";s:5:"json1";s:50:"{"username":"Bob","year":2001,"floatkey":2.220000}";}i:2;a:2:{s:2:"id";s:3:"345";s:5:"json1";s:54:"{"username":"Charlie","year":2002,"floatkey":3.000000}";}}}i:65;a:3:{s:8:"sphinxql";s:65:"select * from json_attr where json1.floatkey between 1.01 and 3.0";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"123";s:5:"json1";s:52:"{"username":"Alice","year":2000,"floatkey":1.010000}";}i:1;a:2:{s:2:"id";s:3:"234";s:5:"json1";s:50:"{"username":"Bob","year":2001,"floatkey":2.220000}";}i:2;a:2:{s:2:"id";s:3:"345";s:5:"json1";s:54:"{"username":"Charlie","year":2002,"floatkey":3.000000}";}}}i:66;a:3:{s:8:"sphinxql";s:66:"select * from json_attr where json1.floatkey between 1.01 and 1.02";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"123";s:5:"json1";s:52:"{"username":"Alice","year":2000,"floatkey":1.010000}";}}}i:67;a:3:{s:8:"sphinxql";s:49:"select * from json_attr where json1.floatkey>2.22";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:3:"345";s:5:"json1";s:54:"{"username":"Charlie","year":2002,"floatkey":3.000000}";}i:1;a:2:{s:2:"id";s:3:"456";s:5:"json1";s:52:"{"username":"Damon","year":2003,"floatkey":4.440000}";}}}i:68;a:3:{s:8:"sphinxql";s:50:"select * from json_attr where json1.floatkey>=2.22";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"234";s:5:"json1";s:50:"{"username":"Bob","year":2001,"floatkey":2.220000}";}i:1;a:2:{s:2:"id";s:3:"345";s:5:"json1";s:54:"{"username":"Charlie","year":2002,"floatkey":3.000000}";}i:2;a:2:{s:2:"id";s:3:"456";s:5:"json1";s:52:"{"username":"Damon","year":2003,"floatkey":4.440000}";}}}i:69;a:3:{s:8:"sphinxql";s:65:"select *, groupby(), count(*) from test group by gid, j.t1, j.gid";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:1:"j";s:26:"{"name":"Alice","uid":123}";s:9:"groupby()";s:20:"-8517097267634966620";s:8:"count(*)";s:1:"1";}i:1;a:5:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:1:"j";s:33:"{"name":"Bob","uid":234,"gid":12}";s:9:"groupby()";s:20:"-2373716570211279320";s:8:"count(*)";s:1:"1";}i:2;a:5:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:1:"j";s:28:"{"name":"Charlie","uid":345}";s:9:"groupby()";s:20:"-1820151046732198393";s:8:"count(*)";s:1:"1";}i:3;a:5:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";s:1:"j";s:35:"{"name":"Damon","uid":456,"gid":23}";s:9:"groupby()";s:20:"-2396262009976883440";s:8:"count(*)";s:1:"1";}i:4;a:5:{s:2:"id";s:1:"5";s:3:"gid";s:1:"3";s:1:"j";s:19:"{"12":345,"34":567}";s:9:"groupby()";s:20:"-4052466453699787802";s:8:"count(*)";s:1:"8";}i:5;a:5:{s:2:"id";s:1:"8";s:3:"gid";s:1:"3";s:1:"j";s:38:"{"sv":["one","two","three"],"gid":315}";s:9:"groupby()";s:20:"-6831488740572856958";s:8:"count(*)";s:1:"1";}i:6;a:5:{s:2:"id";s:2:"11";s:3:"gid";s:1:"3";s:1:"j";s:98:"{"t1":123456789,"t2":-123456789,"t3":3123456789,"t4":-3123456789,"t5":9876543210,"t6":-9876543210}";s:9:"groupby()";s:20:"-4613611387524301066";s:8:"count(*)";s:1:"1";}i:7;a:5:{s:2:"id";s:2:"12";s:3:"gid";s:1:"3";s:1:"j";s:375:"{"sv":["\nMary had a little lamb, whose fleece was white as snow.\nAnd everywhere that Mary went, the lamb was sure to go.\nIt followed her to school one day which was against the rules.\nIt made the children laugh and play, to see a lamb at school.\nAnd so the teacher turned it out, but still it lingered near.","another world, another time, the age of wonders"],"gid":316}";s:9:"groupby()";s:20:"-3272816110436498139";s:8:"count(*)";s:1:"1";}i:8;a:5:{s:2:"id";s:2:"16";s:3:"gid";s:1:"4";s:1:"j";s:19:"{"nick":"One\nTwo"}";s:9:"groupby()";s:19:"3232700585171816769";s:8:"count(*)";s:1:"3";}}}i:70;a:3:{s:8:"sphinxql";s:40:"select double(json1.year) from json_attr";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:1:{s:18:"double(json1.year)";s:11:"2000.000000";}i:1;a:1:{s:18:"double(json1.year)";s:11:"2001.000000";}i:2;a:1:{s:18:"double(json1.year)";s:11:"2002.000000";}i:3;a:1:{s:18:"double(json1.year)";s:11:"2003.000000";}}}i:71;a:3:{s:8:"sphinxql";s:44:"select double(json1.floatkey) from json_attr";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:1:{s:22:"double(json1.floatkey)";s:8:"1.010000";}i:1;a:1:{s:22:"double(json1.floatkey)";s:8:"2.220000";}i:2;a:1:{s:22:"double(json1.floatkey)";s:8:"3.000000";}i:3;a:1:{s:22:"double(json1.floatkey)";s:8:"4.440000";}}}i:72;a:3:{s:8:"sphinxql";s:46:"select sum(integer(json1.year)) from json_attr";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:24:"sum(integer(json1.year))";s:4:"8006";}}}i:73;a:3:{s:8:"sphinxql";s:49:"select sum(double(json1.floatkey)) from json_attr";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:27:"sum(double(json1.floatkey))";s:9:"10.670000";}}}i:74;a:3:{s:8:"sphinxql";s:49:"select avg(double(json1.floatkey)) from json_attr";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:27:"avg(double(json1.floatkey))";s:8:"2.667500";}}}i:75;a:3:{s:8:"sphinxql";s:50:"select avg(integer(json1.floatkey)) from json_attr";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:28:"avg(integer(json1.floatkey))";s:8:"2.667500";}}}i:76;a:3:{s:8:"sphinxql";s:49:"select min(bigint(json1.floatkey)) from json_attr";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:27:"min(bigint(json1.floatkey))";s:1:"1";}}}i:77;a:3:{s:8:"sphinxql";s:45:"select min(bigint(json1.year)) from json_attr";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:23:"min(bigint(json1.year))";s:4:"2000";}}}i:78;a:3:{s:8:"sphinxql";s:49:"select max(double(json1.floatkey)) from json_attr";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:27:"max(double(json1.floatkey))";s:8:"4.440000";}}}i:79;a:3:{s:8:"sphinxql";s:50:"select max(integer(json1.floatkey)) from json_attr";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:28:"max(integer(json1.floatkey))";s:1:"4";}}}i:80;a:3:{s:8:"sphinxql";s:67:"select double(json1.year) as year from json_attr where year>=2002.0";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:4:"year";s:11:"2002.000000";}i:1;a:1:{s:4:"year";s:11:"2003.000000";}}}i:81;a:3:{s:8:"sphinxql";s:75:"select integer(json1.floatkey) as floatkey from json_attr where floatkey>=2";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:8:"floatkey";s:1:"2";}i:1;a:1:{s:8:"floatkey";s:1:"3";}i:2;a:1:{s:8:"floatkey";s:1:"4";}}}i:82;a:3:{s:8:"sphinxql";s:70:"select * from json_attr where json1.year=2000 and json1.floatkey>=1.01";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"123";s:5:"json1";s:52:"{"username":"Alice","year":2000,"floatkey":1.010000}";}}}i:83;a:3:{s:8:"sphinxql";s:97:"select * from json_attr where json1.year=2000 and json1.floatkey>=1.01 and json1.username='Alice'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"123";s:5:"json1";s:52:"{"username":"Alice","year":2000,"floatkey":1.010000}";}}}i:84;a:2:{s:8:"sphinxql";s:51:"insert into rt1 (id, title) values (100, 'title1' )";s:14:"total_affected";i:1;}i:85;a:3:{s:8:"sphinxql";s:30:"select * from rt1 where id=100";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:3:"100";s:2:"s1";s:0:"";s:2:"j1";N;}}}i:86;a:3:{s:8:"sphinxql";s:66:"select * from json_attr where json1.year>=2001 and json1.year<2003";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:3:"234";s:5:"json1";s:50:"{"username":"Bob","year":2001,"floatkey":2.220000}";}i:1;a:2:{s:2:"id";s:3:"345";s:5:"json1";s:54:"{"username":"Charlie","year":2002,"floatkey":3.000000}";}}}i:87;a:3:{s:8:"sphinxql";s:68:"select * from json_attr where json1.year>=2001.0 and json1.year<2003";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:3:"234";s:5:"json1";s:50:"{"username":"Bob","year":2001,"floatkey":2.220000}";}i:1;a:2:{s:2:"id";s:3:"345";s:5:"json1";s:54:"{"username":"Charlie","year":2002,"floatkey":3.000000}";}}}i:88;a:3:{s:8:"sphinxql";s:70:"select * from json_attr where json1.year>=2001.0 and json1.year<2003.0";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:3:"234";s:5:"json1";s:50:"{"username":"Bob","year":2001,"floatkey":2.220000}";}i:1;a:2:{s:2:"id";s:3:"345";s:5:"json1";s:54:"{"username":"Charlie","year":2002,"floatkey":3.000000}";}}}i:89;a:3:{s:8:"sphinxql";s:76:"select * from json_attr where json1.year>=2000.0001 and json1.year<2003.0001";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"234";s:5:"json1";s:50:"{"username":"Bob","year":2001,"floatkey":2.220000}";}i:1;a:2:{s:2:"id";s:3:"345";s:5:"json1";s:54:"{"username":"Charlie","year":2002,"floatkey":3.000000}";}i:2;a:2:{s:2:"id";s:3:"456";s:5:"json1";s:52:"{"username":"Damon","year":2003,"floatkey":4.440000}";}}}i:90;a:3:{s:8:"sphinxql";s:80:"select * from json_attr where json1.year>=2000.000001 and json1.year<2003.000001";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"123";s:5:"json1";s:52:"{"username":"Alice","year":2000,"floatkey":1.010000}";}i:1;a:2:{s:2:"id";s:3:"234";s:5:"json1";s:50:"{"username":"Bob","year":2001,"floatkey":2.220000}";}i:2;a:2:{s:2:"id";s:3:"345";s:5:"json1";s:54:"{"username":"Charlie","year":2002,"floatkey":3.000000}";}}}i:91;a:3:{s:8:"sphinxql";s:51:"select * from dist_str where json1.username='Alice'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"123";s:5:"json1";s:52:"{"username":"Alice","year":2000,"floatkey":1.010000}";}}}i:92;a:3:{s:8:"sphinxql";s:51:"select * from dist_str where json1.username='Damon'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"456";s:5:"json1";s:52:"{"username":"Damon","year":2003,"floatkey":4.440000}";}}}i:93;a:3:{s:8:"sphinxql";s:42:"select * from test where j.nick='One\nTwo'";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:2:"16";s:3:"gid";s:1:"4";s:1:"j";s:19:"{"nick":"One\nTwo"}";}i:1;a:3:{s:2:"id";s:2:"17";s:3:"gid";s:1:"4";s:1:"j";s:19:"{"nick":"One\nTwo"}";}i:2;a:3:{s:2:"id";s:2:"18";s:3:"gid";s:1:"4";s:1:"j";s:19:"{"nick":"One\nTwo"}";}}}i:94;a:2:{s:8:"sphinxql";s:42:"select * from test where j.nick='one\ntwo'";s:10:"total_rows";i:0;}i:95;a:3:{s:8:"sphinxql";s:41:"select * from test where j.nick='One Two'";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:2:"16";s:3:"gid";s:1:"4";s:1:"j";s:19:"{"nick":"One\nTwo"}";}i:1;a:3:{s:2:"id";s:2:"17";s:3:"gid";s:1:"4";s:1:"j";s:19:"{"nick":"One\nTwo"}";}i:2;a:3:{s:2:"id";s:2:"18";s:3:"gid";s:1:"4";s:1:"j";s:19:"{"nick":"One\nTwo"}";}}}i:96;a:3:{s:8:"sphinxql";s:20:"select * from arrays";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:2:"id";s:3:"123";s:1:"j";s:36:"{"a":[1,2,3,4],"t":["t1","t2","t3"]}";}i:1;a:2:{s:2:"id";s:3:"234";s:1:"j";s:36:"{"a":[2,3,4,5],"t":["t2","t3","t4"]}";}i:2;a:2:{s:2:"id";s:3:"345";s:1:"j";s:36:"{"a":[3,4,5,1],"t":["t3","t4","t5"]}";}i:3;a:2:{s:2:"id";s:3:"456";s:1:"j";s:36:"{"a":[4,5,6,2],"t":["t4","t5","t6"]}";}}}i:97;a:3:{s:8:"sphinxql";s:25:"select j.a[0] from arrays";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:1:{s:6:"j.a[0]";s:1:"1";}i:1;a:1:{s:6:"j.a[0]";s:1:"2";}i:2;a:1:{s:6:"j.a[0]";s:1:"3";}i:3;a:1:{s:6:"j.a[0]";s:1:"4";}}}i:98;a:3:{s:8:"sphinxql";s:40:"select j.a[2] from arrays where j.a[2]>2";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:1:{s:6:"j.a[2]";s:1:"3";}i:1;a:1:{s:6:"j.a[2]";s:1:"4";}i:2;a:1:{s:6:"j.a[2]";s:1:"5";}i:3;a:1:{s:6:"j.a[2]";s:1:"6";}}}i:99;a:3:{s:8:"sphinxql";s:46:"select j.a[2] from arrays order by j.a[2] desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:1:{s:6:"j.a[2]";s:1:"6";}i:1;a:1:{s:6:"j.a[2]";s:1:"5";}i:2;a:1:{s:6:"j.a[2]";s:1:"4";}i:3;a:1:{s:6:"j.a[2]";s:1:"3";}}}i:100;a:3:{s:8:"sphinxql";s:45:"select in(j.a,4,6) as p from arrays where p=1";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:1:{s:1:"p";s:1:"1";}i:1;a:1:{s:1:"p";s:1:"1";}i:2;a:1:{s:1:"p";s:1:"1";}i:3;a:1:{s:1:"p";s:1:"1";}}}i:101;a:3:{s:8:"sphinxql";s:25:"select j.t[2] from arrays";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:1:{s:6:"j.t[2]";s:2:"t3";}i:1;a:1:{s:6:"j.t[2]";s:2:"t4";}i:2;a:1:{s:6:"j.t[2]";s:2:"t5";}i:3;a:1:{s:6:"j.t[2]";s:2:"t6";}}}i:102;a:3:{s:8:"sphinxql";s:43:"select j.t[2] from arrays where j.t[2]='t3'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:6:"j.t[2]";s:2:"t3";}}}i:103;a:3:{s:8:"sphinxql";s:46:"select j.t[2] from arrays order by j.t[2] desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:1:{s:6:"j.t[2]";s:2:"t6";}i:1;a:1:{s:6:"j.t[2]";s:2:"t5";}i:2;a:1:{s:6:"j.t[2]";s:2:"t4";}i:3;a:1:{s:6:"j.t[2]";s:2:"t3";}}}i:104;a:3:{s:8:"sphinxql";s:56:"select j.t, in(j.t,'t4','t6') as p from arrays where p=1";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:3:"j.t";s:16:"["t2","t3","t4"]";s:1:"p";s:1:"1";}i:1;a:2:{s:3:"j.t";s:16:"["t3","t4","t5"]";s:1:"p";s:1:"1";}i:2;a:2:{s:3:"j.t";s:16:"["t4","t5","t6"]";s:1:"p";s:1:"1";}}}i:105;a:3:{s:8:"sphinxql";s:51:"select j.a[-1], j.t[-1], j.a[5], j.t[5] from arrays";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:7:"j.a[-1]";N;s:7:"j.t[-1]";N;s:6:"j.a[5]";N;s:6:"j.t[5]";N;}i:1;a:4:{s:7:"j.a[-1]";N;s:7:"j.t[-1]";N;s:6:"j.a[5]";N;s:6:"j.t[5]";N;}i:2;a:4:{s:7:"j.a[-1]";N;s:7:"j.t[-1]";N;s:6:"j.a[5]";N;s:6:"j.t[5]";N;}i:3;a:4:{s:7:"j.a[-1]";N;s:7:"j.t[-1]";N;s:6:"j.a[5]";N;s:6:"j.t[5]";N;}}}i:106;a:3:{s:8:"sphinxql";s:71:"select least(j.a), greatest(j.a), least(j.t), greatest(j.t) from arrays";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:10:"least(j.a)";s:1:"1";s:13:"greatest(j.a)";s:1:"4";s:10:"least(j.t)";s:2:"t1";s:13:"greatest(j.t)";s:2:"t3";}i:1;a:4:{s:10:"least(j.a)";s:1:"2";s:13:"greatest(j.a)";s:1:"5";s:10:"least(j.t)";s:2:"t2";s:13:"greatest(j.t)";s:2:"t4";}i:2;a:4:{s:10:"least(j.a)";s:1:"1";s:13:"greatest(j.a)";s:1:"5";s:10:"least(j.t)";s:2:"t3";s:13:"greatest(j.t)";s:2:"t5";}i:3;a:4:{s:10:"least(j.a)";s:1:"2";s:13:"greatest(j.a)";s:1:"6";s:10:"least(j.t)";s:2:"t4";s:13:"greatest(j.t)";s:2:"t6";}}}i:107;a:3:{s:8:"sphinxql";s:21:"select j from objects";s:10:"total_rows";i:14;s:4:"rows";a:14:{i:0;a:1:{s:1:"j";s:24:"[6,[6,[6,[6,6.000000]]]]";}i:1;a:1:{s:1:"j";s:52:"[1,2,3.000000,1000000000000,["a","b","c"],{"a":"b"}]";}i:2;a:1:{s:1:"j";s:29:"{"a":"tag","b":"another tag"}";}i:3;a:1:{s:1:"j";s:21:"[1,2,3,[4,5,6,[7,8]]]";}i:4;a:1:{s:1:"j";s:22:"{"MixedCase":"passed"}";}i:5;a:1:{s:1:"j";s:51:"[1,2,3,[4,5,[6]],7,8,{"a":"b"},{},[6,6,6.000000,6]]";}i:6;a:1:{s:1:"j";s:76:"[1,"x",{"y":3,"assoc":{"a1":6,"a2":5,"a3":"tag1","a4":{"b1":1,"b2":2}}},123]";}i:7;a:1:{s:1:"j";s:29:"{"a":{"c":"d"},"b":"c","e":6}";}i:8;a:1:{s:1:"j";s:25:"[false,true,null,"15øC"]";}i:9;a:1:{s:1:"j";s:34:"{"key1":{"key2":{"key3":"value"}}}";}i:10;a:1:{s:1:"j";s:28:"{"1234":1,"123":2,"1234a":3}";}i:11;a:1:{s:1:"j";s:2:"{}";}i:12;a:1:{s:1:"j";s:2:"[]";}i:13;a:1:{s:1:"j";N;}}}i:108;a:3:{s:8:"sphinxql";s:47:"select j[0] from objects where j[0] is not null";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:1:{s:4:"j[0]";s:1:"6";}i:1;a:1:{s:4:"j[0]";s:1:"1";}i:2;a:1:{s:4:"j[0]";s:1:"1";}i:3;a:1:{s:4:"j[0]";s:1:"1";}i:4;a:1:{s:4:"j[0]";s:1:"1";}i:5;a:1:{s:4:"j[0]";s:1:"0";}}}i:109;a:3:{s:8:"sphinxql";s:47:"select j[1] from objects where j[1] is not null";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:1:{s:4:"j[1]";s:20:"[6,[6,[6,6.000000]]]";}i:1;a:1:{s:4:"j[1]";s:1:"2";}i:2;a:1:{s:4:"j[1]";s:1:"2";}i:3;a:1:{s:4:"j[1]";s:1:"2";}i:4;a:1:{s:4:"j[1]";s:1:"x";}i:5;a:1:{s:4:"j[1]";s:1:"1";}}}i:110;a:3:{s:8:"sphinxql";s:47:"select j[2] from objects where j[2] is not null";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:1:{s:4:"j[2]";s:8:"3.000000";}i:1;a:1:{s:4:"j[2]";s:1:"3";}i:2;a:1:{s:4:"j[2]";s:1:"3";}i:3;a:1:{s:4:"j[2]";s:64:"{"y":3,"assoc":{"a1":6,"a2":5,"a3":"tag1","a4":{"b1":1,"b2":2}}}";}}}i:111;a:3:{s:8:"sphinxql";s:71:"select j[2]['assoc'].a4 from objects where j[2]['assoc'].a4 is not null";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:16:"j[2]['assoc'].a4";s:15:"{"b1":1,"b2":2}";}}}i:112;a:3:{s:8:"sphinxql";s:80:"select j['MixedCase'], j['mixedcase'] from objects where j.MixedCase is not null";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:14:"j['MixedCase']";s:6:"passed";s:14:"j['mixedcase']";N;}}}i:113;a:3:{s:8:"sphinxql";s:65:"select j[1][1][1][1] from objects where j[1][1][1][1] is not null";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:13:"j[1][1][1][1]";s:8:"6.000000";}}}i:114;a:3:{s:8:"sphinxql";s:55:"select j.a[j.b] from objects where j.a[j.b] is not null";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:8:"j.a[j.b]";s:1:"d";}}}i:115;a:3:{s:8:"sphinxql";s:49:"select j[id] from objects where j[id] is not null";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:5:"j[id]";s:20:"[6,[6,[6,6.000000]]]";}i:1;a:1:{s:5:"j[id]";s:8:"3.000000";}i:2;a:1:{s:5:"j[id]";s:9:"{"a":"b"}";}}}i:116;a:3:{s:8:"sphinxql";s:57:"select j[2*id-3] from objects where j[2*id-3] is not null";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:9:"j[2*id-3]";s:1:"2";}}}i:117;a:3:{s:8:"sphinxql";s:36:"select j.a from objects group by j.a";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:3:"j.a";N;}i:1;a:1:{s:3:"j.a";s:3:"tag";}i:2;a:1:{s:3:"j.a";s:9:"{"c":"d"}";}}}i:118;a:3:{s:8:"sphinxql";s:38:"select j[0] from objects group by j[0]";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:4:"j[0]";s:1:"6";}i:1;a:1:{s:4:"j[0]";s:1:"1";}i:2;a:1:{s:4:"j[0]";N;}}}i:119;a:3:{s:8:"sphinxql";s:38:"select j[1] from objects group by j[1]";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:1:{s:4:"j[1]";s:20:"[6,[6,[6,6.000000]]]";}i:1;a:1:{s:4:"j[1]";s:1:"2";}i:2;a:1:{s:4:"j[1]";N;}i:3;a:1:{s:4:"j[1]";s:1:"x";}}}i:120;a:3:{s:8:"sphinxql";s:45:"select j, in(j,6) as p from objects where p=1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:1:"j";s:24:"[6,[6,[6,[6,6.000000]]]]";s:1:"p";s:1:"1";}}}i:121;a:3:{s:8:"sphinxql";s:53:"select j.a, in(j.a,'tag') as p from objects where p=1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:3:"j.a";s:3:"tag";s:1:"p";s:1:"1";}}}i:122;a:3:{s:8:"sphinxql";s:53:"select j[0], in(j[0],1,2) as p from objects where p=1";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:4:"j[0]";s:1:"1";s:1:"p";s:1:"1";}i:1;a:2:{s:4:"j[0]";s:1:"1";s:1:"p";s:1:"1";}i:2;a:2:{s:4:"j[0]";s:1:"1";s:1:"p";s:1:"1";}i:3;a:2:{s:4:"j[0]";s:1:"1";s:1:"p";s:1:"1";}}}i:123;a:3:{s:8:"sphinxql";s:53:"select j[2], in(j[2],2,3) as p from objects where p=1";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:4:"j[2]";s:1:"3";s:1:"p";s:1:"1";}i:1;a:2:{s:4:"j[2]";s:1:"3";s:1:"p";s:1:"1";}}}i:124;a:3:{s:8:"sphinxql";s:57:"select j[3][3], in(j[3][3],7) as p from objects where p=1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:7:"j[3][3]";s:5:"[7,8]";s:1:"p";s:1:"1";}}}i:125;a:3:{s:8:"sphinxql";s:71:"select j.1234, j.123, .1234, .123 from objects where j.1234 is not null";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:6:"j.1234";s:1:"1";s:5:"j.123";s:1:"2";s:5:".1234";s:8:"0.123400";s:4:".123";s:8:"0.123000";}}}i:126;a:3:{s:8:"sphinxql";s:61:"select j.1234, j.1234a from objects where j.1234a is not null";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:6:"j.1234";s:1:"1";s:7:"j.1234a";s:1:"3";}}}i:127;a:3:{s:8:"sphinxql";s:37:"select j 0.1234 as error from objects";s:5:"error";s:105:"sphinxql: syntax error, unexpected CONST_FLOAT, expecting FROM or ',' near '0.1234 as error from objects'";s:5:"errno";i:1064;}i:128;a:3:{s:8:"sphinxql";s:41:"select j from objects where j is not null";s:10:"total_rows";i:13;s:4:"rows";a:13:{i:0;a:1:{s:1:"j";s:24:"[6,[6,[6,[6,6.000000]]]]";}i:1;a:1:{s:1:"j";s:52:"[1,2,3.000000,1000000000000,["a","b","c"],{"a":"b"}]";}i:2;a:1:{s:1:"j";s:29:"{"a":"tag","b":"another tag"}";}i:3;a:1:{s:1:"j";s:21:"[1,2,3,[4,5,6,[7,8]]]";}i:4;a:1:{s:1:"j";s:22:"{"MixedCase":"passed"}";}i:5;a:1:{s:1:"j";s:51:"[1,2,3,[4,5,[6]],7,8,{"a":"b"},{},[6,6,6.000000,6]]";}i:6;a:1:{s:1:"j";s:76:"[1,"x",{"y":3,"assoc":{"a1":6,"a2":5,"a3":"tag1","a4":{"b1":1,"b2":2}}},123]";}i:7;a:1:{s:1:"j";s:29:"{"a":{"c":"d"},"b":"c","e":6}";}i:8;a:1:{s:1:"j";s:25:"[false,true,null,"15øC"]";}i:9;a:1:{s:1:"j";s:34:"{"key1":{"key2":{"key3":"value"}}}";}i:10;a:1:{s:1:"j";s:28:"{"1234":1,"123":2,"1234a":3}";}i:11;a:1:{s:1:"j";s:2:"{}";}i:12;a:1:{s:1:"j";s:2:"[]";}}}i:129;a:3:{s:8:"sphinxql";s:46:"select j as p from objects where p is not null";s:10:"total_rows";i:13;s:4:"rows";a:13:{i:0;a:1:{s:1:"p";s:24:"[6,[6,[6,[6,6.000000]]]]";}i:1;a:1:{s:1:"p";s:52:"[1,2,3.000000,1000000000000,["a","b","c"],{"a":"b"}]";}i:2;a:1:{s:1:"p";s:29:"{"a":"tag","b":"another tag"}";}i:3;a:1:{s:1:"p";s:21:"[1,2,3,[4,5,6,[7,8]]]";}i:4;a:1:{s:1:"p";s:22:"{"MixedCase":"passed"}";}i:5;a:1:{s:1:"p";s:51:"[1,2,3,[4,5,[6]],7,8,{"a":"b"},{},[6,6,6.000000,6]]";}i:6;a:1:{s:1:"p";s:76:"[1,"x",{"y":3,"assoc":{"a1":6,"a2":5,"a3":"tag1","a4":{"b1":1,"b2":2}}},123]";}i:7;a:1:{s:1:"p";s:29:"{"a":{"c":"d"},"b":"c","e":6}";}i:8;a:1:{s:1:"p";s:25:"[false,true,null,"15øC"]";}i:9;a:1:{s:1:"p";s:34:"{"key1":{"key2":{"key3":"value"}}}";}i:10;a:1:{s:1:"p";s:28:"{"1234":1,"123":2,"1234a":3}";}i:11;a:1:{s:1:"p";s:2:"{}";}i:12;a:1:{s:1:"p";s:2:"[]";}}}i:130;a:3:{s:8:"sphinxql";s:61:"select j[2]['assoc'].a4 as p from objects where p is not null";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:1:"p";s:15:"{"b1":1,"b2":2}";}}}i:131;a:3:{s:8:"sphinxql";s:29:"select length(j) from objects";s:10:"total_rows";i:14;s:4:"rows";a:14:{i:0;a:1:{s:9:"length(j)";s:1:"2";}i:1;a:1:{s:9:"length(j)";s:1:"6";}i:2;a:1:{s:9:"length(j)";s:1:"2";}i:3;a:1:{s:9:"length(j)";s:1:"4";}i:4;a:1:{s:9:"length(j)";s:1:"1";}i:5;a:1:{s:9:"length(j)";s:1:"9";}i:6;a:1:{s:9:"length(j)";s:1:"4";}i:7;a:1:{s:9:"length(j)";s:1:"3";}i:8;a:1:{s:9:"length(j)";s:1:"4";}i:9;a:1:{s:9:"length(j)";s:1:"1";}i:10;a:1:{s:9:"length(j)";s:1:"3";}i:11;a:1:{s:9:"length(j)";s:1:"0";}i:12;a:1:{s:9:"length(j)";s:1:"0";}i:13;a:1:{s:9:"length(j)";s:1:"0";}}}i:132;a:3:{s:8:"sphinxql";s:32:"select length(j[0]) from objects";s:10:"total_rows";i:14;s:4:"rows";a:14:{i:0;a:1:{s:12:"length(j[0])";s:1:"1";}i:1;a:1:{s:12:"length(j[0])";s:1:"1";}i:2;a:1:{s:12:"length(j[0])";s:1:"0";}i:3;a:1:{s:12:"length(j[0])";s:1:"1";}i:4;a:1:{s:12:"length(j[0])";s:1:"0";}i:5;a:1:{s:12:"length(j[0])";s:1:"1";}i:6;a:1:{s:12:"length(j[0])";s:1:"1";}i:7;a:1:{s:12:"length(j[0])";s:1:"0";}i:8;a:1:{s:12:"length(j[0])";s:1:"0";}i:9;a:1:{s:12:"length(j[0])";s:1:"0";}i:10;a:1:{s:12:"length(j[0])";s:1:"0";}i:11;a:1:{s:12:"length(j[0])";s:1:"0";}i:12;a:1:{s:12:"length(j[0])";s:1:"0";}i:13;a:1:{s:12:"length(j[0])";s:1:"0";}}}i:133;a:3:{s:8:"sphinxql";s:31:"select length(j.a) from objects";s:10:"total_rows";i:14;s:4:"rows";a:14:{i:0;a:1:{s:11:"length(j.a)";s:1:"0";}i:1;a:1:{s:11:"length(j.a)";s:1:"0";}i:2;a:1:{s:11:"length(j.a)";s:1:"0";}i:3;a:1:{s:11:"length(j.a)";s:1:"0";}i:4;a:1:{s:11:"length(j.a)";s:1:"0";}i:5;a:1:{s:11:"length(j.a)";s:1:"0";}i:6;a:1:{s:11:"length(j.a)";s:1:"0";}i:7;a:1:{s:11:"length(j.a)";s:1:"1";}i:8;a:1:{s:11:"length(j.a)";s:1:"0";}i:9;a:1:{s:11:"length(j.a)";s:1:"0";}i:10;a:1:{s:11:"length(j.a)";s:1:"0";}i:11;a:1:{s:11:"length(j.a)";s:1:"0";}i:12;a:1:{s:11:"length(j.a)";s:1:"0";}i:13;a:1:{s:11:"length(j.a)";s:1:"0";}}}i:134;a:2:{s:8:"sphinxql";s:70:"select j.str from dist_case where j.str is not null order by j.str asc";s:10:"total_rows";i:0;}i:135;a:3:{s:8:"sphinxql";s:70:"select j.Str from dist_case where j.Str is not null order by j.Str asc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:1:{s:5:"j.Str";s:4:"nope";}i:1;a:1:{s:5:"j.Str";s:4:"nope";}i:2;a:1:{s:5:"j.Str";s:4:"nope";}i:3;a:1:{s:5:"j.Str";s:6:"nope11";}i:4;a:1:{s:5:"j.Str";s:6:"nope11";}}}i:136;a:3:{s:8:"sphinxql";s:70:"select j.STR from dist_case where j.STR is not null order by j.STR asc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:1:{s:5:"j.STR";s:3:"yep";}i:1;a:1:{s:5:"j.STR";s:3:"yep";}i:2;a:1:{s:5:"j.STR";s:3:"yep";}i:3;a:1:{s:5:"j.STR";s:4:"yep2";}i:4;a:1:{s:5:"j.STR";s:4:"yep2";}}}i:137;a:3:{s:8:"sphinxql";s:67:"select j.Str as p from json_case where p is not null order by p asc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:1:{s:1:"p";s:4:"nope";}i:1;a:1:{s:1:"p";s:4:"nope";}i:2;a:1:{s:1:"p";s:4:"nope";}i:3;a:1:{s:1:"p";s:6:"nope11";}i:4;a:1:{s:1:"p";s:6:"nope11";}}}i:138;a:3:{s:8:"sphinxql";s:68:"select j.Str as p from json_case where p is not null order by p desc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:1:{s:1:"p";s:6:"nope11";}i:1;a:1:{s:1:"p";s:6:"nope11";}i:2;a:1:{s:1:"p";s:4:"nope";}i:3;a:1:{s:1:"p";s:4:"nope";}i:4;a:1:{s:1:"p";s:4:"nope";}}}i:139;a:3:{s:8:"sphinxql";s:67:"select j.Str as p from dist_case where p is not null order by p asc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:1:{s:1:"p";s:4:"nope";}i:1;a:1:{s:1:"p";s:4:"nope";}i:2;a:1:{s:1:"p";s:4:"nope";}i:3;a:1:{s:1:"p";s:6:"nope11";}i:4;a:1:{s:1:"p";s:6:"nope11";}}}i:140;a:3:{s:8:"sphinxql";s:68:"select j.Str as p from dist_case where p is not null order by p desc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:1:{s:1:"p";s:6:"nope11";}i:1;a:1:{s:1:"p";s:6:"nope11";}i:2;a:1:{s:1:"p";s:4:"nope";}i:3;a:1:{s:1:"p";s:4:"nope";}i:4;a:1:{s:1:"p";s:4:"nope";}}}i:141;a:2:{s:8:"sphinxql";s:43:"update json_inplace set j.a[0]=5 where id=1";s:14:"total_affected";i:1;}i:142;a:3:{s:8:"sphinxql";s:26:"select * from json_inplace";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:1:"j";s:48:"{"a":[5,2,3,4],"f":[1.000000,3.000000,2.000000]}";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:1:"j";s:48:"{"a":[2,3,4,5],"f":[2.000000,4.000000,3.000000]}";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:1:"j";s:23:"{"a":"tag1","b":"tag2"}";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"3";s:1:"j";s:13:"{"a":1,"c":2}";}}}i:143;a:2:{s:8:"sphinxql";s:68:"update json_inplace set j.a[0]=10.0, j.f[1]=3.1415926535 where gid=1";s:14:"total_affected";i:2;}i:144;a:3:{s:8:"sphinxql";s:26:"select * from json_inplace";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:1:"j";s:49:"{"a":[10,2,3,4],"f":[1.000000,3.141593,2.000000]}";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:1:"j";s:49:"{"a":[10,3,4,5],"f":[2.000000,3.141593,3.000000]}";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:1:"j";s:23:"{"a":"tag1","b":"tag2"}";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"3";s:1:"j";s:13:"{"a":1,"c":2}";}}}i:145;a:2:{s:8:"sphinxql";s:44:"update json_inplace set j.a[0]=-5 where id=1";s:14:"total_affected";i:1;}i:146;a:3:{s:8:"sphinxql";s:26:"select * from json_inplace";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:1:"j";s:49:"{"a":[-5,2,3,4],"f":[1.000000,3.141593,2.000000]}";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:1:"j";s:49:"{"a":[10,3,4,5],"f":[2.000000,3.141593,3.000000]}";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:1:"j";s:23:"{"a":"tag1","b":"tag2"}";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"3";s:1:"j";s:13:"{"a":1,"c":2}";}}}i:147;a:2:{s:8:"sphinxql";s:46:"update json_inplace set j.a[1]=-15 where gid>0";s:14:"total_affected";i:2;}i:148;a:3:{s:8:"sphinxql";s:26:"select * from json_inplace";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:1:"j";s:51:"{"a":[-5,-15,3,4],"f":[1.000000,3.141593,2.000000]}";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:1:"j";s:51:"{"a":[10,-15,4,5],"f":[2.000000,3.141593,3.000000]}";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:1:"j";s:23:"{"a":"tag1","b":"tag2"}";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"3";s:1:"j";s:13:"{"a":1,"c":2}";}}}i:149;a:2:{s:8:"sphinxql";s:62:"update json_inplace set j.a[1]=-20 where gid=1 option strict=1";s:14:"total_affected";i:2;}i:150;a:3:{s:8:"sphinxql";s:26:"select * from json_inplace";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:1:"j";s:51:"{"a":[-5,-20,3,4],"f":[1.000000,3.141593,2.000000]}";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:1:"j";s:51:"{"a":[10,-20,4,5],"f":[2.000000,3.141593,3.000000]}";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:1:"j";s:23:"{"a":"tag1","b":"tag2"}";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"3";s:1:"j";s:13:"{"a":1,"c":2}";}}}i:151;a:3:{s:8:"sphinxql";s:62:"update json_inplace set j.a[1]=-30 where gid>0 option strict=1";s:5:"error";s:92:"index json_inplace: attribute 'j.a[1]' can not be updated (not found or incompatible types) ";s:5:"errno";i:1064;}i:152;a:3:{s:8:"sphinxql";s:26:"select * from json_inplace";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:1:"j";s:51:"{"a":[-5,-20,3,4],"f":[1.000000,3.141593,2.000000]}";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:1:"j";s:51:"{"a":[10,-20,4,5],"f":[2.000000,3.141593,3.000000]}";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:1:"j";s:23:"{"a":"tag1","b":"tag2"}";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"3";s:1:"j";s:13:"{"a":1,"c":2}";}}}i:153;a:2:{s:8:"sphinxql";s:58:"update json_inplace set j.a=5, j.c=5, j.a[0]=5 where gid>0";s:14:"total_affected";i:3;}i:154;a:3:{s:8:"sphinxql";s:26:"select * from json_inplace";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:1:"j";s:50:"{"a":[5,-20,3,4],"f":[1.000000,3.141593,2.000000]}";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:1:"j";s:50:"{"a":[5,-20,4,5],"f":[2.000000,3.141593,3.000000]}";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:1:"j";s:23:"{"a":"tag1","b":"tag2"}";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"3";s:1:"j";s:13:"{"a":5,"c":5}";}}}i:155;a:3:{s:8:"sphinxql";s:77:"update json_inplace set j.a=10, j.c=10, j.a[0]=10 where gid>0 option strict=1";s:5:"error";s:89:"index json_inplace: attribute 'j.a' can not be updated (not found or incompatible types) ";s:5:"errno";i:1064;}i:156;a:3:{s:8:"sphinxql";s:26:"select * from json_inplace";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:1:"j";s:50:"{"a":[5,-20,3,4],"f":[1.000000,3.141593,2.000000]}";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:1:"j";s:50:"{"a":[5,-20,4,5],"f":[2.000000,3.141593,3.000000]}";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:1:"j";s:23:"{"a":"tag1","b":"tag2"}";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"3";s:1:"j";s:13:"{"a":5,"c":5}";}}}i:157;a:2:{s:8:"sphinxql";s:66:"update json_inplace set j.a=15, j.c=15 where gid=3 option strict=1";s:14:"total_affected";i:1;}i:158;a:3:{s:8:"sphinxql";s:26:"select * from json_inplace";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:1:"j";s:50:"{"a":[5,-20,3,4],"f":[1.000000,3.141593,2.000000]}";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:1:"j";s:50:"{"a":[5,-20,4,5],"f":[2.000000,3.141593,3.000000]}";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:1:"j";s:23:"{"a":"tag1","b":"tag2"}";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"3";s:1:"j";s:15:"{"a":15,"c":15}";}}}i:159;a:2:{s:8:"sphinxql";s:212:"insert into json_inplace_rt (id, gid, title, j) values ( 1,1,'','{"a":[1,2,3,4],"f":[1.0,3.0,2.0]}'), ( 2,1,'','{"a":[2,3,4,5],"f":[2.0,4.0,3.0]}'), ( 3,2,'','{"a":"tag1","b":"tag2"}'), ( 4,3,'','{"a":1,"c":2}') ";s:14:"total_affected";i:4;}i:160;a:2:{s:8:"sphinxql";s:46:"update json_inplace_rt set j.a[0]=5 where id=1";s:14:"total_affected";i:1;}i:161;a:3:{s:8:"sphinxql";s:29:"select * from json_inplace_rt";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:1:"j";s:48:"{"a":[5,2,3,4],"f":[1.000000,3.000000,2.000000]}";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:1:"j";s:48:"{"a":[2,3,4,5],"f":[2.000000,4.000000,3.000000]}";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:1:"j";s:23:"{"a":"tag1","b":"tag2"}";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"3";s:1:"j";s:13:"{"a":1,"c":2}";}}}i:162;a:2:{s:8:"sphinxql";s:71:"update json_inplace_rt set j.a[0]=10.0, j.f[1]=3.1415926535 where gid=1";s:14:"total_affected";i:2;}i:163;a:3:{s:8:"sphinxql";s:29:"select * from json_inplace_rt";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:1:"j";s:49:"{"a":[10,2,3,4],"f":[1.000000,3.141593,2.000000]}";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:1:"j";s:49:"{"a":[10,3,4,5],"f":[2.000000,3.141593,3.000000]}";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:1:"j";s:23:"{"a":"tag1","b":"tag2"}";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"3";s:1:"j";s:13:"{"a":1,"c":2}";}}}i:164;a:2:{s:8:"sphinxql";s:47:"update json_inplace_rt set j.a[0]=-5 where id=1";s:14:"total_affected";i:1;}i:165;a:3:{s:8:"sphinxql";s:29:"select * from json_inplace_rt";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:1:"j";s:49:"{"a":[-5,2,3,4],"f":[1.000000,3.141593,2.000000]}";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:1:"j";s:49:"{"a":[10,3,4,5],"f":[2.000000,3.141593,3.000000]}";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:1:"j";s:23:"{"a":"tag1","b":"tag2"}";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"3";s:1:"j";s:13:"{"a":1,"c":2}";}}}i:166;a:2:{s:8:"sphinxql";s:49:"update json_inplace_rt set j.a[1]=-15 where gid>0";s:14:"total_affected";i:2;}i:167;a:3:{s:8:"sphinxql";s:29:"select * from json_inplace_rt";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:1:"j";s:51:"{"a":[-5,-15,3,4],"f":[1.000000,3.141593,2.000000]}";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:1:"j";s:51:"{"a":[10,-15,4,5],"f":[2.000000,3.141593,3.000000]}";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:1:"j";s:23:"{"a":"tag1","b":"tag2"}";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"3";s:1:"j";s:13:"{"a":1,"c":2}";}}}i:168;a:2:{s:8:"sphinxql";s:65:"update json_inplace_rt set j.a[1]=-20 where gid=1 option strict=1";s:14:"total_affected";i:2;}i:169;a:3:{s:8:"sphinxql";s:29:"select * from json_inplace_rt";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:1:"j";s:51:"{"a":[-5,-20,3,4],"f":[1.000000,3.141593,2.000000]}";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:1:"j";s:51:"{"a":[10,-20,4,5],"f":[2.000000,3.141593,3.000000]}";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:1:"j";s:23:"{"a":"tag1","b":"tag2"}";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"3";s:1:"j";s:13:"{"a":1,"c":2}";}}}i:170;a:3:{s:8:"sphinxql";s:65:"update json_inplace_rt set j.a[1]=-30 where gid>0 option strict=1";s:5:"error";s:94:"index json_inplace_rt: attribute 'j.a[1]' can not be updated (not found or incompatible types)";s:5:"errno";i:1064;}i:171;a:3:{s:8:"sphinxql";s:29:"select * from json_inplace_rt";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:1:"j";s:51:"{"a":[-5,-20,3,4],"f":[1.000000,3.141593,2.000000]}";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:1:"j";s:51:"{"a":[10,-20,4,5],"f":[2.000000,3.141593,3.000000]}";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:1:"j";s:23:"{"a":"tag1","b":"tag2"}";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"3";s:1:"j";s:13:"{"a":1,"c":2}";}}}i:172;a:2:{s:8:"sphinxql";s:61:"update json_inplace_rt set j.a=5, j.c=5, j.a[0]=5 where gid>0";s:14:"total_affected";i:3;}i:173;a:3:{s:8:"sphinxql";s:29:"select * from json_inplace_rt";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:1:"j";s:50:"{"a":[5,-20,3,4],"f":[1.000000,3.141593,2.000000]}";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:1:"j";s:50:"{"a":[5,-20,4,5],"f":[2.000000,3.141593,3.000000]}";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:1:"j";s:23:"{"a":"tag1","b":"tag2"}";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"3";s:1:"j";s:13:"{"a":5,"c":5}";}}}i:174;a:3:{s:8:"sphinxql";s:80:"update json_inplace_rt set j.a=10, j.c=10, j.a[0]=10 where gid>0 option strict=1";s:5:"error";s:91:"index json_inplace_rt: attribute 'j.a' can not be updated (not found or incompatible types)";s:5:"errno";i:1064;}i:175;a:3:{s:8:"sphinxql";s:29:"select * from json_inplace_rt";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:1:"j";s:50:"{"a":[5,-20,3,4],"f":[1.000000,3.141593,2.000000]}";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:1:"j";s:50:"{"a":[5,-20,4,5],"f":[2.000000,3.141593,3.000000]}";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:1:"j";s:23:"{"a":"tag1","b":"tag2"}";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"3";s:1:"j";s:13:"{"a":5,"c":5}";}}}i:176;a:2:{s:8:"sphinxql";s:69:"update json_inplace_rt set j.a=15, j.c=15 where gid=3 option strict=1";s:14:"total_affected";i:1;}i:177;a:3:{s:8:"sphinxql";s:29:"select * from json_inplace_rt";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:1:"j";s:50:"{"a":[5,-20,3,4],"f":[1.000000,3.141593,2.000000]}";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:1:"j";s:50:"{"a":[5,-20,4,5],"f":[2.000000,3.141593,3.000000]}";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:1:"j";s:23:"{"a":"tag1","b":"tag2"}";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"3";s:1:"j";s:15:"{"a":15,"c":15}";}}}i:178;a:2:{s:8:"sphinxql";s:75:"insert into json_inplace_rt (id, gid, title, j) values (666, 666, '', '{}')";s:14:"total_affected";i:1;}i:179;a:2:{s:8:"sphinxql";s:51:"insert into rt (id, data) values (4, '{"f": 1e-5}')";s:14:"total_affected";i:1;}i:180;a:2:{s:8:"sphinxql";s:50:"insert into rt (id, data) values (5, '{"f": 1e5}')";s:14:"total_affected";i:1;}i:181;a:2:{s:8:"sphinxql";s:52:"insert into rt (id, data) values (6, '{"f": -1e-5}')";s:14:"total_affected";i:1;}i:182;a:2:{s:8:"sphinxql";s:51:"insert into rt (id, data) values (7, '{"f": -1e5}')";s:14:"total_affected";i:1;}i:183;a:2:{s:8:"sphinxql";s:55:"insert into rt (id, data) values (8, '{"f": 6.022e+3}')";s:14:"total_affected";i:1;}i:184;a:2:{s:8:"sphinxql";s:59:"insert into rt (id, data) values (9, '{"f": 1.4738223E-1}')";s:14:"total_affected";i:1;}i:185;a:3:{s:8:"sphinxql";s:38:"select * from rt where id>=4 and id<=9";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:1:"4";s:4:"data";s:14:"{"f":0.000010}";}i:1;a:2:{s:2:"id";s:1:"5";s:4:"data";s:19:"{"f":100000.000000}";}i:2;a:2:{s:2:"id";s:1:"6";s:4:"data";s:15:"{"f":-0.000010}";}i:3;a:2:{s:2:"id";s:1:"7";s:4:"data";s:20:"{"f":-100000.000000}";}i:4;a:2:{s:2:"id";s:1:"8";s:4:"data";s:17:"{"f":6022.000000}";}i:5;a:2:{s:2:"id";s:1:"9";s:4:"data";s:14:"{"f":0.147382}";}}}i:186;a:3:{s:8:"sphinxql";s:40:"select * from json_inplace_rt group by j";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:1:"j";s:50:"{"a":[5,-20,3,4],"f":[1.000000,3.141593,2.000000]}";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:1:"j";s:50:"{"a":[5,-20,4,5],"f":[2.000000,3.141593,3.000000]}";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:1:"j";s:23:"{"a":"tag1","b":"tag2"}";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:1:"3";s:1:"j";s:15:"{"a":15,"c":15}";}i:4;a:3:{s:2:"id";s:3:"666";s:3:"gid";s:3:"666";s:1:"j";s:2:"{}";}}}i:187;a:3:{s:8:"sphinxql";s:47:"select * from json_inplace_rt group by title, j";s:5:"error";s:67:"index json_inplace_rt: JSON blob can't be used in multiple group-by";s:5:"errno";i:1064;}i:188;a:2:{s:8:"sphinxql";s:423:"insert into json_search (id, title, j) values (1, 'a1', '{"array":[{gid:1,name:"a1"},{gid:2,name:"a2"},{gid:3,name:"a3"}], "intarray":[1,2,3], "tags":["a1","a2","a3"]}'), (2, 'a5', '{"array":[{gid:4,name:"a4"},{gid:5,name:"a5"},{gid:6,name:"a6"}], "intarray":[4,5,6], "tags":["a4","a5","a6"]}'), (3, 'a9', '{"array":[{gid:7,name:"a7"},{gid:8,name:"a8"},{gid:9,name:"a9"}], "intarray":[7,8,9], "tags":["a7","a8","a9"]}') ";s:14:"total_affected";i:3;}i:189;a:3:{s:8:"sphinxql";s:60:"select all(x>3 and x<7 for x in j.intarray) from json_search";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:36:"all(x>3 and x<7 for x in j.intarray)";s:1:"0";}i:1;a:1:{s:36:"all(x>3 and x<7 for x in j.intarray)";s:1:"1";}i:2;a:1:{s:36:"all(x>3 and x<7 for x in j.intarray)";s:1:"0";}}}i:190;a:3:{s:8:"sphinxql";s:60:"select any(x>1 and x<3 for x in j.intarray) from json_search";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:36:"any(x>1 and x<3 for x in j.intarray)";s:1:"1";}i:1;a:1:{s:36:"any(x>1 and x<3 for x in j.intarray)";s:1:"0";}i:2;a:1:{s:36:"any(x>1 and x<3 for x in j.intarray)";s:1:"0";}}}i:191;a:3:{s:8:"sphinxql";s:64:"select indexof(x>2 and x<4 for x in j.intarray) from json_search";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:40:"indexof(x>2 and x<4 for x in j.intarray)";s:1:"2";}i:1;a:1:{s:40:"indexof(x>2 and x<4 for x in j.intarray)";s:2:"-1";}i:2;a:1:{s:40:"indexof(x>2 and x<4 for x in j.intarray)";s:2:"-1";}}}i:192;a:3:{s:8:"sphinxql";s:52:"select all(x>5 for x in j.intarray) from json_search";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:28:"all(x>5 for x in j.intarray)";s:1:"0";}i:1;a:1:{s:28:"all(x>5 for x in j.intarray)";s:1:"0";}i:2;a:1:{s:28:"all(x>5 for x in j.intarray)";s:1:"1";}}}i:193;a:3:{s:8:"sphinxql";s:57:"select all(1+x.gid+1>5 for x in j.array) from json_search";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:33:"all(1+x.gid+1>5 for x in j.array)";s:1:"0";}i:1;a:1:{s:33:"all(1+x.gid+1>5 for x in j.array)";s:1:"1";}i:2;a:1:{s:33:"all(1+x.gid+1>5 for x in j.array)";s:1:"1";}}}i:194;a:3:{s:8:"sphinxql";s:89:"select indexof(x.gid=any(y.gid=x.gid for y in j.array) for x in j.array) from json_search";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:65:"indexof(x.gid=any(y.gid=x.gid for y in j.array) for x in j.array)";s:1:"0";}i:1;a:1:{s:65:"indexof(x.gid=any(y.gid=x.gid for y in j.array) for x in j.array)";s:2:"-1";}i:2;a:1:{s:65:"indexof(x.gid=any(y.gid=x.gid for y in j.array) for x in j.array)";s:2:"-1";}}}i:195;a:3:{s:8:"sphinxql";s:102:"select id, j.array[indexof(1+x.gid=2 for x in j.array)].name as p from json_search where p is not null";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:1:"p";s:2:"a1";}}}i:196;a:3:{s:8:"sphinxql";s:79:"select all(z.gid=1 for x in j.array) as error_unknown_column_z from json_search";s:5:"error";s:49:"index json_search: parse error: unknown column: z";s:5:"errno";i:1064;}i:197;a:3:{s:8:"sphinxql";s:61:"select indexof(x.name='a2' for x in j.array) from json_search";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:37:"indexof(x.name='a2' for x in j.array)";s:1:"1";}i:1;a:1:{s:37:"indexof(x.name='a2' for x in j.array)";s:2:"-1";}i:2;a:1:{s:37:"indexof(x.name='a2' for x in j.array)";s:2:"-1";}}}i:198;a:3:{s:8:"sphinxql";s:91:"select indexof(x.name='a2' or x.name='a6' or x.name='a7' for x in j.array) from json_search";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:67:"indexof(x.name='a2' or x.name='a6' or x.name='a7' for x in j.array)";s:1:"1";}i:1;a:1:{s:67:"indexof(x.name='a2' or x.name='a6' or x.name='a7' for x in j.array)";s:1:"2";}i:2;a:1:{s:67:"indexof(x.name='a2' or x.name='a6' or x.name='a7' for x in j.array)";s:1:"0";}}}i:199;a:3:{s:8:"sphinxql";s:87:"select indexof(x.name='a2' or x.gid=6 or x.name='a7' for x in j.array) from json_search";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:63:"indexof(x.name='a2' or x.gid=6 or x.name='a7' for x in j.array)";s:1:"1";}i:1;a:1:{s:63:"indexof(x.name='a2' or x.gid=6 or x.name='a7' for x in j.array)";s:1:"2";}i:2;a:1:{s:63:"indexof(x.name='a2' or x.gid=6 or x.name='a7' for x in j.array)";s:1:"0";}}}i:200;a:3:{s:8:"sphinxql";s:73:"select indexof(x.name='a2' and x.gid=2 for x in j.array) from json_search";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:49:"indexof(x.name='a2' and x.gid=2 for x in j.array)";s:1:"1";}i:1;a:1:{s:49:"indexof(x.name='a2' and x.gid=2 for x in j.array)";s:2:"-1";}i:2;a:1:{s:49:"indexof(x.name='a2' and x.gid=2 for x in j.array)";s:2:"-1";}}}i:201;a:3:{s:8:"sphinxql";s:62:"select indexof(x.name=title for x in j.array) from json_search";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:38:"indexof(x.name=title for x in j.array)";s:1:"0";}i:1;a:1:{s:38:"indexof(x.name=title for x in j.array)";s:1:"1";}i:2;a:1:{s:38:"indexof(x.name=title for x in j.array)";s:1:"2";}}}i:202;a:3:{s:8:"sphinxql";s:61:"select indexof('a2'=x.name for x in j.array) from json_search";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:37:"indexof('a2'=x.name for x in j.array)";s:1:"1";}i:1;a:1:{s:37:"indexof('a2'=x.name for x in j.array)";s:2:"-1";}i:2;a:1:{s:37:"indexof('a2'=x.name for x in j.array)";s:2:"-1";}}}i:203;a:3:{s:8:"sphinxql";s:62:"select indexof(title=x.name for x in j.array) from json_search";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:38:"indexof(title=x.name for x in j.array)";s:1:"0";}i:1;a:1:{s:38:"indexof(title=x.name for x in j.array)";s:1:"1";}i:2;a:1:{s:38:"indexof(title=x.name for x in j.array)";s:1:"2";}}}i:204;a:3:{s:8:"sphinxql";s:75:"select indexof(to_string(1)=to_string(1) for x in j.array) from json_search";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:51:"indexof(to_string(1)=to_string(1) for x in j.array)";s:1:"0";}i:1;a:1:{s:51:"indexof(to_string(1)=to_string(1) for x in j.array)";s:1:"0";}i:2;a:1:{s:51:"indexof(to_string(1)=to_string(1) for x in j.array)";s:1:"0";}}}i:205;a:3:{s:8:"sphinxql";s:51:"select all(x='a1' for x in j.tags) from json_search";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:27:"all(x='a1' for x in j.tags)";s:1:"0";}i:1;a:1:{s:27:"all(x='a1' for x in j.tags)";s:1:"0";}i:2;a:1:{s:27:"all(x='a1' for x in j.tags)";s:1:"0";}}}i:206;a:3:{s:8:"sphinxql";s:51:"select any(x='a3' for x in j.tags) from json_search";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:27:"any(x='a3' for x in j.tags)";s:1:"1";}i:1;a:1:{s:27:"any(x='a3' for x in j.tags)";s:1:"0";}i:2;a:1:{s:27:"any(x='a3' for x in j.tags)";s:1:"0";}}}i:207;a:3:{s:8:"sphinxql";s:55:"select indexof(x='a5' for x in j.tags) from json_search";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:31:"indexof(x='a5' for x in j.tags)";s:2:"-1";}i:1;a:1:{s:31:"indexof(x='a5' for x in j.tags)";s:1:"1";}i:2;a:1:{s:31:"indexof(x='a5' for x in j.tags)";s:2:"-1";}}}i:208;a:2:{s:8:"sphinxql";s:145:"insert into json_order (id, j) values (1, '{i:123,d:123.0,b:12300000000}'), (2, '{i:23,d:23.0,b:2300000000}'), (3, '{i:3,d:3.0,b:300000000}') ";s:14:"total_affected";i:3;}i:209;a:3:{s:8:"sphinxql";s:43:"select j.i from json_order order by j.i asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:3:"j.i";s:3:"123";}i:1;a:1:{s:3:"j.i";s:2:"23";}i:2;a:1:{s:3:"j.i";s:1:"3";}}}i:210;a:3:{s:8:"sphinxql";s:52:"select j.i from json_order order by integer(j.i) asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:3:"j.i";s:1:"3";}i:1;a:1:{s:3:"j.i";s:2:"23";}i:2;a:1:{s:3:"j.i";s:3:"123";}}}i:211;a:3:{s:8:"sphinxql";s:43:"select j.d from json_order order by j.d asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:3:"j.d";s:10:"123.000000";}i:1;a:1:{s:3:"j.d";s:9:"23.000000";}i:2;a:1:{s:3:"j.d";s:8:"3.000000";}}}i:212;a:3:{s:8:"sphinxql";s:51:"select j.d from json_order order by double(j.d) asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:3:"j.d";s:8:"3.000000";}i:1;a:1:{s:3:"j.d";s:9:"23.000000";}i:2;a:1:{s:3:"j.d";s:10:"123.000000";}}}i:213;a:3:{s:8:"sphinxql";s:43:"select j.b from json_order order by j.b asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:3:"j.b";s:11:"12300000000";}i:1;a:1:{s:3:"j.b";s:10:"2300000000";}i:2;a:1:{s:3:"j.b";s:9:"300000000";}}}i:214;a:3:{s:8:"sphinxql";s:51:"select j.b from json_order order by bigint(j.b) asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:3:"j.b";s:9:"300000000";}i:1;a:1:{s:3:"j.b";s:10:"2300000000";}i:2;a:1:{s:3:"j.b";s:11:"12300000000";}}}i:215;a:3:{s:8:"sphinxql";s:98:"select j[0] is null, if(j[0] is null,0,1), j[0] is not null, if(j[0] is not null,0,1) from objects";s:10:"total_rows";i:14;s:4:"rows";a:14:{i:0;a:4:{s:12:"j[0] is null";s:1:"0";s:20:"if(j[0] is null,0,1)";s:1:"1";s:16:"j[0] is not null";s:1:"1";s:24:"if(j[0] is not null,0,1)";s:1:"0";}i:1;a:4:{s:12:"j[0] is null";s:1:"0";s:20:"if(j[0] is null,0,1)";s:1:"1";s:16:"j[0] is not null";s:1:"1";s:24:"if(j[0] is not null,0,1)";s:1:"0";}i:2;a:4:{s:12:"j[0] is null";s:1:"1";s:20:"if(j[0] is null,0,1)";s:1:"0";s:16:"j[0] is not null";s:1:"0";s:24:"if(j[0] is not null,0,1)";s:1:"1";}i:3;a:4:{s:12:"j[0] is null";s:1:"0";s:20:"if(j[0] is null,0,1)";s:1:"1";s:16:"j[0] is not null";s:1:"1";s:24:"if(j[0] is not null,0,1)";s:1:"0";}i:4;a:4:{s:12:"j[0] is null";s:1:"1";s:20:"if(j[0] is null,0,1)";s:1:"0";s:16:"j[0] is not null";s:1:"0";s:24:"if(j[0] is not null,0,1)";s:1:"1";}i:5;a:4:{s:12:"j[0] is null";s:1:"0";s:20:"if(j[0] is null,0,1)";s:1:"1";s:16:"j[0] is not null";s:1:"1";s:24:"if(j[0] is not null,0,1)";s:1:"0";}i:6;a:4:{s:12:"j[0] is null";s:1:"0";s:20:"if(j[0] is null,0,1)";s:1:"1";s:16:"j[0] is not null";s:1:"1";s:24:"if(j[0] is not null,0,1)";s:1:"0";}i:7;a:4:{s:12:"j[0] is null";s:1:"1";s:20:"if(j[0] is null,0,1)";s:1:"0";s:16:"j[0] is not null";s:1:"0";s:24:"if(j[0] is not null,0,1)";s:1:"1";}i:8;a:4:{s:12:"j[0] is null";s:1:"0";s:20:"if(j[0] is null,0,1)";s:1:"1";s:16:"j[0] is not null";s:1:"1";s:24:"if(j[0] is not null,0,1)";s:1:"0";}i:9;a:4:{s:12:"j[0] is null";s:1:"1";s:20:"if(j[0] is null,0,1)";s:1:"0";s:16:"j[0] is not null";s:1:"0";s:24:"if(j[0] is not null,0,1)";s:1:"1";}i:10;a:4:{s:12:"j[0] is null";s:1:"1";s:20:"if(j[0] is null,0,1)";s:1:"0";s:16:"j[0] is not null";s:1:"0";s:24:"if(j[0] is not null,0,1)";s:1:"1";}i:11;a:4:{s:12:"j[0] is null";s:1:"1";s:20:"if(j[0] is null,0,1)";s:1:"0";s:16:"j[0] is not null";s:1:"0";s:24:"if(j[0] is not null,0,1)";s:1:"1";}i:12;a:4:{s:12:"j[0] is null";s:1:"1";s:20:"if(j[0] is null,0,1)";s:1:"0";s:16:"j[0] is not null";s:1:"0";s:24:"if(j[0] is not null,0,1)";s:1:"1";}i:13;a:4:{s:12:"j[0] is null";s:1:"1";s:20:"if(j[0] is null,0,1)";s:1:"0";s:16:"j[0] is not null";s:1:"0";s:24:"if(j[0] is not null,0,1)";s:1:"1";}}}i:216;a:3:{s:8:"sphinxql";s:45:"select id, j.uid from loc1 order by j.uid asc";s:10:"total_rows";i:7;s:4:"rows";a:7:{i:0;a:2:{s:2:"id";s:3:"100";s:5:"j.uid";N;}i:1;a:2:{s:2:"id";s:1:"1";s:5:"j.uid";s:3:"123";}i:2;a:2:{s:2:"id";s:1:"7";s:5:"j.uid";s:3:"123";}i:3;a:2:{s:2:"id";s:1:"2";s:5:"j.uid";s:3:"234";}i:4;a:2:{s:2:"id";s:1:"4";s:5:"j.uid";s:3:"456";}i:5;a:2:{s:2:"id";s:1:"5";s:5:"j.uid";s:3:"567";}i:6;a:2:{s:2:"id";s:1:"8";s:5:"j.uid";s:3:"567";}}}i:217;a:3:{s:8:"sphinxql";s:46:"select id, j.uid from loc1 order by j.uid desc";s:10:"total_rows";i:7;s:4:"rows";a:7:{i:0;a:2:{s:2:"id";s:1:"5";s:5:"j.uid";s:3:"567";}i:1;a:2:{s:2:"id";s:1:"8";s:5:"j.uid";s:3:"567";}i:2;a:2:{s:2:"id";s:1:"4";s:5:"j.uid";s:3:"456";}i:3;a:2:{s:2:"id";s:1:"2";s:5:"j.uid";s:3:"234";}i:4;a:2:{s:2:"id";s:1:"1";s:5:"j.uid";s:3:"123";}i:5;a:2:{s:2:"id";s:1:"7";s:5:"j.uid";s:3:"123";}i:6;a:2:{s:2:"id";s:3:"100";s:5:"j.uid";N;}}}i:218;a:3:{s:8:"sphinxql";s:54:"select id, j.uid from loc1 order by integer(j.uid) asc";s:10:"total_rows";i:7;s:4:"rows";a:7:{i:0;a:2:{s:2:"id";s:3:"100";s:5:"j.uid";N;}i:1;a:2:{s:2:"id";s:1:"1";s:5:"j.uid";s:3:"123";}i:2;a:2:{s:2:"id";s:1:"7";s:5:"j.uid";s:3:"123";}i:3;a:2:{s:2:"id";s:1:"2";s:5:"j.uid";s:3:"234";}i:4;a:2:{s:2:"id";s:1:"4";s:5:"j.uid";s:3:"456";}i:5;a:2:{s:2:"id";s:1:"5";s:5:"j.uid";s:3:"567";}i:6;a:2:{s:2:"id";s:1:"8";s:5:"j.uid";s:3:"567";}}}i:219;a:3:{s:8:"sphinxql";s:53:"select id, j.uid from loc1 order by double(j.uid) asc";s:10:"total_rows";i:7;s:4:"rows";a:7:{i:0;a:2:{s:2:"id";s:3:"100";s:5:"j.uid";N;}i:1;a:2:{s:2:"id";s:1:"1";s:5:"j.uid";s:3:"123";}i:2;a:2:{s:2:"id";s:1:"7";s:5:"j.uid";s:3:"123";}i:3;a:2:{s:2:"id";s:1:"2";s:5:"j.uid";s:3:"234";}i:4;a:2:{s:2:"id";s:1:"4";s:5:"j.uid";s:3:"456";}i:5;a:2:{s:2:"id";s:1:"5";s:5:"j.uid";s:3:"567";}i:6;a:2:{s:2:"id";s:1:"8";s:5:"j.uid";s:3:"567";}}}i:220;a:3:{s:8:"sphinxql";s:53:"select id, j.uid from loc1 order by bigint(j.uid) asc";s:10:"total_rows";i:7;s:4:"rows";a:7:{i:0;a:2:{s:2:"id";s:3:"100";s:5:"j.uid";N;}i:1;a:2:{s:2:"id";s:1:"1";s:5:"j.uid";s:3:"123";}i:2;a:2:{s:2:"id";s:1:"7";s:5:"j.uid";s:3:"123";}i:3;a:2:{s:2:"id";s:1:"2";s:5:"j.uid";s:3:"234";}i:4;a:2:{s:2:"id";s:1:"4";s:5:"j.uid";s:3:"456";}i:5;a:2:{s:2:"id";s:1:"5";s:5:"j.uid";s:3:"567";}i:6;a:2:{s:2:"id";s:1:"8";s:5:"j.uid";s:3:"567";}}}i:221;a:3:{s:8:"sphinxql";s:46:"select id, j.uid as p from loc1 order by p asc";s:10:"total_rows";i:7;s:4:"rows";a:7:{i:0;a:2:{s:2:"id";s:3:"100";s:1:"p";N;}i:1;a:2:{s:2:"id";s:1:"1";s:1:"p";s:3:"123";}i:2;a:2:{s:2:"id";s:1:"7";s:1:"p";s:3:"123";}i:3;a:2:{s:2:"id";s:1:"2";s:1:"p";s:3:"234";}i:4;a:2:{s:2:"id";s:1:"4";s:1:"p";s:3:"456";}i:5;a:2:{s:2:"id";s:1:"5";s:1:"p";s:3:"567";}i:6;a:2:{s:2:"id";s:1:"8";s:1:"p";s:3:"567";}}}i:222;a:3:{s:8:"sphinxql";s:47:"select id, j.uid as p from loc1 order by p desc";s:10:"total_rows";i:7;s:4:"rows";a:7:{i:0;a:2:{s:2:"id";s:1:"5";s:1:"p";s:3:"567";}i:1;a:2:{s:2:"id";s:1:"8";s:1:"p";s:3:"567";}i:2;a:2:{s:2:"id";s:1:"4";s:1:"p";s:3:"456";}i:3;a:2:{s:2:"id";s:1:"2";s:1:"p";s:3:"234";}i:4;a:2:{s:2:"id";s:1:"1";s:1:"p";s:3:"123";}i:5;a:2:{s:2:"id";s:1:"7";s:1:"p";s:3:"123";}i:6;a:2:{s:2:"id";s:3:"100";s:1:"p";N;}}}i:223;a:3:{s:8:"sphinxql";s:51:"select count(*), groupby() from arrays group by j.a";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:8:"count(*)";s:1:"4";s:9:"groupby()";s:1:"4";}i:1;a:2:{s:8:"count(*)";s:1:"3";s:9:"groupby()";s:1:"3";}i:2;a:2:{s:8:"count(*)";s:1:"3";s:9:"groupby()";s:1:"2";}i:3;a:2:{s:8:"count(*)";s:1:"2";s:9:"groupby()";s:1:"1";}i:4;a:2:{s:8:"count(*)";s:1:"3";s:9:"groupby()";s:1:"5";}i:5;a:2:{s:8:"count(*)";s:1:"1";s:9:"groupby()";s:1:"6";}}}i:224;a:3:{s:8:"sphinxql";s:51:"select count(*), groupby() from arrays group by j.t";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:8:"count(*)";s:1:"3";s:9:"groupby()";s:2:"t3";}i:1;a:2:{s:8:"count(*)";s:1:"2";s:9:"groupby()";s:2:"t2";}i:2;a:2:{s:8:"count(*)";s:1:"1";s:9:"groupby()";s:2:"t1";}i:3;a:2:{s:8:"count(*)";s:1:"3";s:9:"groupby()";s:2:"t4";}i:4;a:2:{s:8:"count(*)";s:1:"2";s:9:"groupby()";s:2:"t5";}i:5;a:2:{s:8:"count(*)";s:1:"1";s:9:"groupby()";s:2:"t6";}}}i:225;a:3:{s:8:"sphinxql";s:84:"select count(*) as p, groupby() as q from arrays group by j.t order by q asc, p desc";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:1:"p";s:1:"3";s:1:"q";s:2:"t3";}i:1;a:2:{s:1:"p";s:1:"3";s:1:"q";s:2:"t4";}i:2;a:2:{s:1:"p";s:1:"2";s:1:"q";s:2:"t2";}i:3;a:2:{s:1:"p";s:1:"2";s:1:"q";s:2:"t5";}i:4;a:2:{s:1:"p";s:1:"1";s:1:"q";s:2:"t1";}i:5;a:2:{s:1:"p";s:1:"1";s:1:"q";s:2:"t6";}}}i:226;a:3:{s:8:"sphinxql";s:84:"select count(*) as p, groupby() as q from loc1 group by j.uid order by q asc, p desc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:2:{s:1:"p";s:1:"2";s:1:"q";s:3:"123";}i:1;a:2:{s:1:"p";s:1:"2";s:1:"q";s:3:"567";}i:2;a:2:{s:1:"p";s:1:"1";s:1:"q";s:3:"234";}i:3;a:2:{s:1:"p";s:1:"1";s:1:"q";s:3:"456";}i:4;a:2:{s:1:"p";s:1:"1";s:1:"q";N;}}}i:227;a:2:{s:8:"sphinxql";s:202:"insert into json_toplevel (id, j) values (1, '[1,2,3,4]'), (2, '[1,2,3]'), (3, '[1,2]'), (4, '["a","b","c"]'), (5, '["a","b"]'), (6, '["a"]'), (7, '[]'), (8, ''), (9, '{"a":"b"}'), (10, '{}') ";s:14:"total_affected";i:10;}i:228;a:3:{s:8:"sphinxql";s:76:"select count(*) p, groupby() q from json_toplevel group by j order by p desc";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:2:{s:1:"p";s:1:"3";s:1:"q";s:1:"2";}i:1;a:2:{s:1:"p";s:1:"3";s:1:"q";s:1:"1";}i:2;a:2:{s:1:"p";s:1:"3";s:1:"q";s:1:"a";}i:3;a:2:{s:1:"p";s:1:"3";s:1:"q";N;}i:4;a:2:{s:1:"p";s:1:"2";s:1:"q";s:1:"3";}i:5;a:2:{s:1:"p";s:1:"2";s:1:"q";s:1:"b";}i:6;a:2:{s:1:"p";s:1:"1";s:1:"q";s:1:"4";}i:7;a:2:{s:1:"p";s:1:"1";s:1:"q";s:1:"c";}i:8;a:2:{s:1:"p";s:1:"1";s:1:"q";s:9:"{"a":"b"}";}}}i:229;a:2:{s:8:"sphinxql";s:69:"replace into rt (id, data) values (1,'{"html":"p class="document""}')";s:14:"total_affected";i:1;}i:230;a:3:{s:8:"sphinxql";s:41:"select data, data.html from rt where id=1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:4:"data";N;s:9:"data.html";N;}}}i:231;a:2:{s:8:"sphinxql";s:71:"replace into rt (id, data) values (1,'{"html":"p class=\"document\""}')";s:14:"total_affected";i:1;}i:232;a:3:{s:8:"sphinxql";s:41:"select data, data.html from rt where id=1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:4:"data";N;s:9:"data.html";N;}}}i:233;a:2:{s:8:"sphinxql";s:73:"replace into rt (id, data) values (1,'{"html":"p class=\\"document\\""}')";s:14:"total_affected";i:1;}i:234;a:3:{s:8:"sphinxql";s:41:"select data, data.html from rt where id=1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:4:"data";s:31:"{"html":"p class=\"document\""}";s:9:"data.html";s:18:"p class="document"";}}}i:235;a:3:{s:8:"sphinxql";s:52:"select j.a, interval(uint(j.a[0]),1,2,3) from arrays";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:3:"j.a";s:9:"[1,2,3,4]";s:28:"interval(uint(j.a[0]),1,2,3)";s:1:"1";}i:1;a:2:{s:3:"j.a";s:9:"[2,3,4,5]";s:28:"interval(uint(j.a[0]),1,2,3)";s:1:"2";}i:2;a:2:{s:3:"j.a";s:9:"[3,4,5,1]";s:28:"interval(uint(j.a[0]),1,2,3)";s:1:"3";}i:3;a:2:{s:3:"j.a";s:9:"[4,5,6,2]";s:28:"interval(uint(j.a[0]),1,2,3)";s:1:"3";}}}i:236;a:3:{s:8:"sphinxql";s:46:"select j.a, interval(j.a[0],1,2,3) from arrays";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:3:"j.a";s:9:"[1,2,3,4]";s:22:"interval(j.a[0],1,2,3)";s:1:"1";}i:1;a:2:{s:3:"j.a";s:9:"[2,3,4,5]";s:22:"interval(j.a[0],1,2,3)";s:1:"2";}i:2;a:2:{s:3:"j.a";s:9:"[3,4,5,1]";s:22:"interval(j.a[0],1,2,3)";s:1:"3";}i:3;a:2:{s:3:"j.a";s:9:"[4,5,6,2]";s:22:"interval(j.a[0],1,2,3)";s:1:"3";}}}i:237;a:3:{s:8:"sphinxql";s:53:"select * from json_up1, json_up2 order by j.R158S asc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:3:"100";s:1:"j";s:51:"{"R158S":100,"rom":303,"t1":"B","t2":"BC","T1":"D"}";}i:1;a:2:{s:2:"id";s:1:"1";s:1:"j";s:51:"{"R158S":901,"rom":202,"t1":"A","t2":"AB","T1":"C"}";}}}i:238;a:3:{s:8:"sphinxql";s:54:"select * from json_up1, json_up2 order by j.R158S desc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:1:"j";s:51:"{"R158S":901,"rom":202,"t1":"A","t2":"AB","T1":"C"}";}i:1;a:2:{s:2:"id";s:3:"100";s:1:"j";s:51:"{"R158S":100,"rom":303,"t1":"B","t2":"BC","T1":"D"}";}}}i:239;a:3:{s:8:"sphinxql";s:51:"select * from json_up1, json_up2 order by j.rom asc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:1:"j";s:51:"{"R158S":901,"rom":202,"t1":"A","t2":"AB","T1":"C"}";}i:1;a:2:{s:2:"id";s:3:"100";s:1:"j";s:51:"{"R158S":100,"rom":303,"t1":"B","t2":"BC","T1":"D"}";}}}i:240;a:3:{s:8:"sphinxql";s:52:"select * from json_up1, json_up2 order by j.rom desc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:3:"100";s:1:"j";s:51:"{"R158S":100,"rom":303,"t1":"B","t2":"BC","T1":"D"}";}i:1;a:2:{s:2:"id";s:1:"1";s:1:"j";s:51:"{"R158S":901,"rom":202,"t1":"A","t2":"AB","T1":"C"}";}}}i:241;a:3:{s:8:"sphinxql";s:42:"select * from dist_up order by j.R158S asc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:3:"100";s:1:"j";s:51:"{"R158S":100,"rom":303,"t1":"B","t2":"BC","T1":"D"}";}i:1;a:2:{s:2:"id";s:1:"1";s:1:"j";s:51:"{"R158S":901,"rom":202,"t1":"A","t2":"AB","T1":"C"}";}}}i:242;a:3:{s:8:"sphinxql";s:43:"select * from dist_up order by j.R158S desc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:1:"j";s:51:"{"R158S":901,"rom":202,"t1":"A","t2":"AB","T1":"C"}";}i:1;a:2:{s:2:"id";s:3:"100";s:1:"j";s:51:"{"R158S":100,"rom":303,"t1":"B","t2":"BC","T1":"D"}";}}}i:243;a:3:{s:8:"sphinxql";s:40:"select * from dist_up order by j.rom asc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:1:"j";s:51:"{"R158S":901,"rom":202,"t1":"A","t2":"AB","T1":"C"}";}i:1;a:2:{s:2:"id";s:3:"100";s:1:"j";s:51:"{"R158S":100,"rom":303,"t1":"B","t2":"BC","T1":"D"}";}}}i:244;a:3:{s:8:"sphinxql";s:41:"select * from dist_up order by j.rom desc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:3:"100";s:1:"j";s:51:"{"R158S":100,"rom":303,"t1":"B","t2":"BC","T1":"D"}";}i:1;a:2:{s:2:"id";s:1:"1";s:1:"j";s:51:"{"R158S":901,"rom":202,"t1":"A","t2":"AB","T1":"C"}";}}}i:245;a:3:{s:8:"sphinxql";s:32:"select id, j.id, j.uid from dist";s:10:"total_rows";i:7;s:4:"rows";a:7:{i:0;a:3:{s:2:"id";s:1:"1";s:4:"j.id";N;s:5:"j.uid";s:3:"123";}i:1;a:3:{s:2:"id";s:1:"2";s:4:"j.id";N;s:5:"j.uid";s:3:"234";}i:2;a:3:{s:2:"id";s:1:"4";s:4:"j.id";N;s:5:"j.uid";s:3:"456";}i:3;a:3:{s:2:"id";s:1:"5";s:4:"j.id";N;s:5:"j.uid";s:3:"567";}i:4;a:3:{s:2:"id";s:1:"7";s:4:"j.id";N;s:5:"j.uid";s:3:"123";}i:5;a:3:{s:2:"id";s:1:"8";s:4:"j.id";N;s:5:"j.uid";s:3:"567";}i:6;a:3:{s:2:"id";s:3:"100";s:4:"j.id";N;s:5:"j.uid";N;}}}i:246;a:3:{s:8:"sphinxql";s:60:"select id, j.uid, j.uid is null, j.uid is not null from dist";s:10:"total_rows";i:7;s:4:"rows";a:7:{i:0;a:4:{s:2:"id";s:1:"1";s:5:"j.uid";s:3:"123";s:13:"j.uid is null";s:1:"0";s:17:"j.uid is not null";s:1:"1";}i:1;a:4:{s:2:"id";s:1:"2";s:5:"j.uid";s:3:"234";s:13:"j.uid is null";s:1:"0";s:17:"j.uid is not null";s:1:"1";}i:2;a:4:{s:2:"id";s:1:"4";s:5:"j.uid";s:3:"456";s:13:"j.uid is null";s:1:"0";s:17:"j.uid is not null";s:1:"1";}i:3;a:4:{s:2:"id";s:1:"5";s:5:"j.uid";s:3:"567";s:13:"j.uid is null";s:1:"0";s:17:"j.uid is not null";s:1:"1";}i:4;a:4:{s:2:"id";s:1:"7";s:5:"j.uid";s:3:"123";s:13:"j.uid is null";s:1:"0";s:17:"j.uid is not null";s:1:"1";}i:5;a:4:{s:2:"id";s:1:"8";s:5:"j.uid";s:3:"567";s:13:"j.uid is null";s:1:"0";s:17:"j.uid is not null";s:1:"1";}i:6;a:4:{s:2:"id";s:3:"100";s:5:"j.uid";N;s:13:"j.uid is null";s:1:"1";s:17:"j.uid is not null";s:1:"0";}}}i:247;a:3:{s:8:"sphinxql";s:102:"select all(x=1 for x in j.uid), any(x='1' for x in j.uid), indexof(x.uid='1' for x in j.uid) from dist";s:10:"total_rows";i:7;s:4:"rows";a:7:{i:0;a:3:{s:23:"all(x=1 for x in j.uid)";s:1:"0";s:25:"any(x='1' for x in j.uid)";s:1:"0";s:33:"indexof(x.uid='1' for x in j.uid)";s:2:"-1";}i:1;a:3:{s:23:"all(x=1 for x in j.uid)";s:1:"0";s:25:"any(x='1' for x in j.uid)";s:1:"0";s:33:"indexof(x.uid='1' for x in j.uid)";s:2:"-1";}i:2;a:3:{s:23:"all(x=1 for x in j.uid)";s:1:"0";s:25:"any(x='1' for x in j.uid)";s:1:"0";s:33:"indexof(x.uid='1' for x in j.uid)";s:2:"-1";}i:3;a:3:{s:23:"all(x=1 for x in j.uid)";s:1:"0";s:25:"any(x='1' for x in j.uid)";s:1:"0";s:33:"indexof(x.uid='1' for x in j.uid)";s:2:"-1";}i:4;a:3:{s:23:"all(x=1 for x in j.uid)";s:1:"0";s:25:"any(x='1' for x in j.uid)";s:1:"0";s:33:"indexof(x.uid='1' for x in j.uid)";s:2:"-1";}i:5;a:3:{s:23:"all(x=1 for x in j.uid)";s:1:"0";s:25:"any(x='1' for x in j.uid)";s:1:"0";s:33:"indexof(x.uid='1' for x in j.uid)";s:2:"-1";}i:6;a:3:{s:23:"all(x=1 for x in j.uid)";s:1:"0";s:25:"any(x='1' for x in j.uid)";s:1:"0";s:33:"indexof(x.uid='1' for x in j.uid)";s:2:"-1";}}}i:248;a:3:{s:8:"sphinxql";s:110:"select title, j.array[0].name, title='a1', j.array[0].name='a4', if(j.array[1].name='a5',0,1) from json_search";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:5:{s:5:"title";s:2:"a1";s:15:"j.array[0].name";s:2:"a1";s:10:"title='a1'";s:1:"1";s:20:"j.array[0].name='a4'";s:1:"0";s:28:"if(j.array[1].name='a5',0,1)";s:1:"1";}i:1;a:5:{s:5:"title";s:2:"a5";s:15:"j.array[0].name";s:2:"a4";s:10:"title='a1'";s:1:"0";s:20:"j.array[0].name='a4'";s:1:"1";s:28:"if(j.array[1].name='a5',0,1)";s:1:"0";}i:2;a:5:{s:5:"title";s:2:"a9";s:15:"j.array[0].name";s:2:"a7";s:10:"title='a1'";s:1:"0";s:20:"j.array[0].name='a4'";s:1:"0";s:28:"if(j.array[1].name='a5',0,1)";s:1:"1";}}}i:249;a:3:{s:8:"sphinxql";s:91:"select j.array as some_alias, any(some_alias.name>x.name for x in j.array) from json_search";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:10:"some_alias";s:67:"[{"gid":1,"name":"a1"},{"gid":2,"name":"a2"},{"gid":3,"name":"a3"}]";s:44:"any(some_alias.name>x.name for x in j.array)";s:1:"0";}i:1;a:2:{s:10:"some_alias";s:67:"[{"gid":4,"name":"a4"},{"gid":5,"name":"a5"},{"gid":6,"name":"a6"}]";s:44:"any(some_alias.name>x.name for x in j.array)";s:1:"0";}i:2;a:2:{s:10:"some_alias";s:67:"[{"gid":7,"name":"a7"},{"gid":8,"name":"a8"},{"gid":9,"name":"a9"}]";s:44:"any(some_alias.name>x.name for x in j.array)";s:1:"0";}}}i:250;a:3:{s:8:"sphinxql";s:82:"select j.intarray as p, p[1], indexof(x>p[1] for x in j.intarray) from json_search";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:1:"p";s:7:"[1,2,3]";s:4:"p[1]";s:1:"2";s:35:"indexof(x>p[1] for x in j.intarray)";s:1:"2";}i:1;a:3:{s:1:"p";s:7:"[4,5,6]";s:4:"p[1]";s:1:"5";s:35:"indexof(x>p[1] for x in j.intarray)";s:1:"2";}i:2;a:3:{s:1:"p";s:7:"[7,8,9]";s:4:"p[1]";s:1:"8";s:35:"indexof(x>p[1] for x in j.intarray)";s:1:"2";}}}i:251;a:2:{s:8:"sphinxql";s:71:"insert into json_remap(id,j1,j2) values (1, '[1]','[1]'), (2, '','[2]')";s:14:"total_affected";i:2;}i:252;a:3:{s:8:"sphinxql";s:44:"select groupby() from json_remap group by j2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:9:"groupby()";s:1:"1";}i:1;a:1:{s:9:"groupby()";s:1:"2";}}}i:253;a:3:{s:8:"sphinxql";s:64:"select count(*), groupby() from json_up1, json_up2 group by j.t1";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:8:"count(*)";s:1:"1";s:9:"groupby()";s:1:"A";}i:1;a:2:{s:8:"count(*)";s:1:"1";s:9:"groupby()";s:1:"B";}}}i:254;a:3:{s:8:"sphinxql";s:64:"select count(*), groupby() from json_up1, json_up2 group by j.T1";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:8:"count(*)";s:1:"1";s:9:"groupby()";s:1:"C";}i:1;a:2:{s:8:"count(*)";s:1:"1";s:9:"groupby()";s:1:"D";}}}i:255;a:3:{s:8:"sphinxql";s:53:"select count(*), groupby() from dist_up group by j.t1";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:8:"count(*)";s:1:"1";s:9:"groupby()";s:1:"A";}i:1;a:2:{s:8:"count(*)";s:1:"1";s:9:"groupby()";s:1:"B";}}}i:256;a:3:{s:8:"sphinxql";s:53:"select count(*), groupby() from dist_up group by j.T1";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:8:"count(*)";s:1:"1";s:9:"groupby()";s:1:"C";}i:1;a:2:{s:8:"count(*)";s:1:"1";s:9:"groupby()";s:1:"D";}}}i:257;a:3:{s:8:"sphinxql";s:44:"select integer(j.rom)=202 as p from json_up1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:1:"p";s:1:"1";}}}i:258;a:3:{s:8:"sphinxql";s:35:"select j.rom=202 as p from json_up1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:1:"p";s:1:"1";}}}i:259;a:3:{s:8:"sphinxql";s:37:"select j.rom='202' as p from json_up1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:1:"p";s:1:"0";}}}i:260;a:3:{s:8:"sphinxql";s:70:"select id as v, double(v) as dv, v is null, v is not null from dist_up";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:1:"v";s:1:"1";s:2:"dv";s:8:"1.000000";s:9:"v is null";s:1:"0";s:13:"v is not null";s:1:"1";}i:1;a:4:{s:1:"v";s:3:"100";s:2:"dv";s:10:"100.000000";s:9:"v is null";s:1:"0";s:13:"v is not null";s:1:"1";}}}i:261;a:3:{s:8:"sphinxql";s:73:"select j.rom as v, double(v) as dv, v is null, v is not null from dist_up";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:1:"v";s:3:"202";s:2:"dv";s:10:"202.000000";s:9:"v is null";s:1:"0";s:13:"v is not null";s:1:"1";}i:1;a:4:{s:1:"v";s:3:"303";s:2:"dv";s:10:"303.000000";s:9:"v is null";s:1:"0";s:13:"v is not null";s:1:"1";}}}i:262;a:3:{s:8:"sphinxql";s:89:"select j.rom as v, double(v) as dv, v is null, v is not null from dist_up order by dv asc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:1:"v";s:3:"202";s:2:"dv";s:10:"202.000000";s:9:"v is null";s:1:"0";s:13:"v is not null";s:1:"1";}i:1;a:4:{s:1:"v";s:3:"303";s:2:"dv";s:10:"303.000000";s:9:"v is null";s:1:"0";s:13:"v is not null";s:1:"1";}}}i:263;a:2:{s:8:"sphinxql";s:66:"update json_inplace set j.f[0]=345345345354, j.f[1]=777 where id=1";s:14:"total_affected";i:1;}i:264;a:3:{s:8:"sphinxql";s:50:"select j.f[0], j.f[1] from json_inplace where id=1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:6:"j.f[0]";s:19:"345345345354.000000";s:6:"j.f[1]";s:10:"777.000000";}}}i:265;a:2:{s:8:"sphinxql";s:69:"update json_inplace_rt set j.f[0]=345345345354, j.f[1]=777 where id=1";s:14:"total_affected";i:1;}i:266;a:3:{s:8:"sphinxql";s:53:"select j.f[0], j.f[1] from json_inplace_rt where id=1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:6:"j.f[0]";s:19:"345345345354.000000";s:6:"j.f[1]";s:10:"777.000000";}}}i:267;a:3:{s:8:"sphinxql";s:81:"select j.f, indexof(x>345345345353 for x in j.f) as p from json_inplace where p=0";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:3:"j.f";s:41:"[345345345354.000000,777.000000,2.000000]";s:1:"p";s:1:"0";}}}i:268;a:3:{s:8:"sphinxql";s:76:"select id, count(*), groupby(), j.a as p from arrays where id=123 group by p";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:3:"123";s:8:"count(*)";s:1:"1";s:9:"groupby()";s:1:"4";s:1:"p";s:9:"[1,2,3,4]";}i:1;a:4:{s:2:"id";s:3:"123";s:8:"count(*)";s:1:"1";s:9:"groupby()";s:1:"3";s:1:"p";s:9:"[1,2,3,4]";}i:2;a:4:{s:2:"id";s:3:"123";s:8:"count(*)";s:1:"1";s:9:"groupby()";s:1:"2";s:1:"p";s:9:"[1,2,3,4]";}i:3;a:4:{s:2:"id";s:3:"123";s:8:"count(*)";s:1:"1";s:9:"groupby()";s:1:"1";s:1:"p";s:9:"[1,2,3,4]";}}}i:269;a:3:{s:8:"sphinxql";s:65:"select j from objects where id=9 and j[0]=0 and j[1]=1 and j[2]=0";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:1:"j";s:25:"[false,true,null,"15øC"]";}}}i:270;a:3:{s:8:"sphinxql";s:66:"select j from objects where id=9 and j[0]!=1 and j[1]>1 and j[2]<1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:1:"j";s:25:"[false,true,null,"15øC"]";}}}}}sphinx-2.2.11-release/test/test_205/0000755000175000017500000000000012743402012016403 5ustar alexeyalexeysphinx-2.2.11-release/test/test_205/test.xml0000644000175000017500000001065312743402012020111 0ustar alexeyalexey idf=plain vs distributed indexer { mem_limit = 16M } searchd { workers = threads } source src_base { type = mysql } source src_1 : src_base { sql_query = SELECT * FROM test_table WHERE gid=1 sql_attr_uint = gid } source src_2 : src_1 { sql_query = SELECT * FROM test_table WHERE gid=2 sql_attr_uint = gid } index i1 { source = src_1 path = /i1 docinfo = extern } index i2 { source = src_2 path = /i2 docinfo = extern } index dd { type = distributed agent = :i1 agent = :i2 } source src_kw : src_1 { sql_query = SELECT 1 as idd, 11 as gid, 'test starts here' as text UNION SELECT 2 as idd, 11 as gid, 'the text from hox' as text UNION SELECT 3 as idd, 11 as gid, 'from moon to fox' as text UNION SELECT 4 as idd, 11 as gid, 'fox from the box' as text UNION SELECT 5 as idd, 11 as gid, 'home no here' as text sql_attr_uint = gid } index kw { source = src_kw path = /kw docinfo = extern min_prefix_len = 1 dict = keywords } source src_l1 : src_base { sql_query = SELECT * FROM test_table WHERE gid=3 sql_attr_uint = gid } source src_l2 : src_1 { sql_query = SELECT * FROM test_table WHERE gid=4 sql_attr_uint = gid } index l1 { source = src_l1 path = /l1 docinfo = extern } index l2 { source = src_l2 path = /l2 docinfo = extern } index dl { type = distributed agent = :l1,l2 } CREATE TABLE test_table ( id INT NOT NULL, gid INT NOT NULL, text VARCHAR(255) NOT NULL DEFAULT '' ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table VALUES ( 1, 1, 'da one' ), ( 2, 1, 'da two' ), ( 3, 1, 'da three' ), ( 11, 2, 'da blow' ), ( 12, 2, 'da pills' ), ( 13, 2, 'da yak' ), ( 14, 2, 'da herb' ), ( 15, 2, 'da blow' ), ( 100, 3, 'da blow' ), ( 101, 3, 'da win' ), ( 102, 3, 'da yak' ), ( 103, 3, 'da herb' ), ( 104, 3, 'da blow' ), ( 200, 4, 'da white' ), ( 201, 4, 'da win' ), ( 202, 4, 'da win' ), ( 203, 4, 'da win' ), ( 204, 4, 'da blow' ) select *, weight() from dd where match('da') select *, weight() from dd where match('da') option idf=plain select *, packedfactors() as f, weight() from i1,i2 where match('da blow') option idf=plain,idf=tfidf_unnormalized, ranker=expr('sum(lcs*user_weight)*1000+bm25') select *, packedfactors() as f, weight() from dd where match('da blow') option idf=plain,idf=tfidf_unnormalized, ranker=expr('sum(lcs*user_weight)*1000+bm25') select *, packedfactors() as f, weight() from i1,i2 where match('da blow') option idf=plain,idf=tfidf_normalized, ranker=expr('sum(lcs*user_weight)*1000+bm25') select *, packedfactors() as f, weight() from dd where match('da blow') option idf=plain,idf=tfidf_normalized, ranker=expr('sum(lcs*user_weight)*1000+bm25') select *, weight() as w, packedfactors() as p from kw where match('t* here') option ranker=expr('sum(lcs)*1000+bm25') select *, weight() as w, packedfactors() as p from kw where match('t* starts h*') option ranker=expr('sum(lcs)*1000+bm25') select *, weight() as w, packedfactors() as p from kw where match('t* from h*') option ranker=expr('sum(lcs)*1000+bm25') select *, weight() as w, packedfactors() as p from kw where match('t* ( starts | from ) h*') option ranker=expr('sum(lcs)*1000+bm25') select *, weight() from l1,l2 where match('da win') option local_df=1 select *, weight() from l1,l2 where match('da win') select *, weight() from dl where match('da win') option local_df=1 select *, weight() from dl where match('da win') select *, weight() from l1,l2 where match('blow') option local_df=1 select *, weight() from l1,l2 where match('blow') select *, weight() from dl where match('blow') option local_df=1 select *, weight() from dl where match('blow') select id from kw order by weight() asc sphinx-2.2.11-release/test/test_205/model.bin0000644000175000017500000003022012743402012020172 0ustar alexeyalexeya:1:{i:0;a:19:{i:0;a:3:{s:8:"sphinxql";s:44:"select *, weight() from dd where match('da')";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:8:"weight()";s:4:"1319";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:8:"weight()";s:4:"1319";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"1";s:8:"weight()";s:4:"1319";}i:3;a:3:{s:2:"id";s:2:"11";s:3:"gid";s:1:"2";s:8:"weight()";s:4:"1295";}i:4;a:3:{s:2:"id";s:2:"12";s:3:"gid";s:1:"2";s:8:"weight()";s:4:"1295";}i:5;a:3:{s:2:"id";s:2:"13";s:3:"gid";s:1:"2";s:8:"weight()";s:4:"1295";}i:6;a:3:{s:2:"id";s:2:"14";s:3:"gid";s:1:"2";s:8:"weight()";s:4:"1295";}i:7;a:3:{s:2:"id";s:2:"15";s:3:"gid";s:1:"2";s:8:"weight()";s:4:"1295";}}}i:1;a:3:{s:8:"sphinxql";s:61:"select *, weight() from dd where match('da') option idf=plain";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:8:"weight()";s:4:"1500";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";s:8:"weight()";s:4:"1500";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:1:"1";s:8:"weight()";s:4:"1500";}i:3;a:3:{s:2:"id";s:2:"11";s:3:"gid";s:1:"2";s:8:"weight()";s:4:"1500";}i:4;a:3:{s:2:"id";s:2:"12";s:3:"gid";s:1:"2";s:8:"weight()";s:4:"1500";}i:5;a:3:{s:2:"id";s:2:"13";s:3:"gid";s:1:"2";s:8:"weight()";s:4:"1500";}i:6;a:3:{s:2:"id";s:2:"14";s:3:"gid";s:1:"2";s:8:"weight()";s:4:"1500";}i:7;a:3:{s:2:"id";s:2:"15";s:3:"gid";s:1:"2";s:8:"weight()";s:4:"1500";}}}i:2;a:3:{s:8:"sphinxql";s:161:"select *, packedfactors() as f, weight() from i1,i2 where match('da blow') option idf=plain,idf=tfidf_unnormalized, ranker=expr('sum(lcs*user_weight)*1000+bm25')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:1:"2";s:1:"f";s:359:"bm25=616, bm25a=0.696689, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.255696, min_idf=0.000000, max_idf=0.255696, sum_idf=0.255696, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.255696, atc=0.000000), word0=(tf=1, idf=0.000000), word1=(tf=1, idf=0.255696)";s:8:"weight()";s:4:"2616";}i:1;a:4:{s:2:"id";s:2:"15";s:3:"gid";s:1:"2";s:1:"f";s:359:"bm25=616, bm25a=0.696689, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.255696, min_idf=0.000000, max_idf=0.255696, sum_idf=0.255696, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.255696, atc=0.000000), word0=(tf=1, idf=0.000000), word1=(tf=1, idf=0.255696)";s:8:"weight()";s:4:"2616";}}}i:3;a:3:{s:8:"sphinxql";s:158:"select *, packedfactors() as f, weight() from dd where match('da blow') option idf=plain,idf=tfidf_unnormalized, ranker=expr('sum(lcs*user_weight)*1000+bm25')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:1:"2";s:1:"f";s:359:"bm25=616, bm25a=0.696689, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.255696, min_idf=0.000000, max_idf=0.255696, sum_idf=0.255696, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.255696, atc=0.000000), word0=(tf=1, idf=0.000000), word1=(tf=1, idf=0.255696)";s:8:"weight()";s:4:"2616";}i:1;a:4:{s:2:"id";s:2:"15";s:3:"gid";s:1:"2";s:1:"f";s:359:"bm25=616, bm25a=0.696689, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.255696, min_idf=0.000000, max_idf=0.255696, sum_idf=0.255696, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.255696, atc=0.000000), word0=(tf=1, idf=0.000000), word1=(tf=1, idf=0.255696)";s:8:"weight()";s:4:"2616";}}}i:4;a:3:{s:8:"sphinxql";s:159:"select *, packedfactors() as f, weight() from i1,i2 where match('da blow') option idf=plain,idf=tfidf_normalized, ranker=expr('sum(lcs*user_weight)*1000+bm25')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:1:"2";s:1:"f";s:359:"bm25=558, bm25a=0.598345, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.127848, min_idf=0.000000, max_idf=0.127848, sum_idf=0.127848, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.127848, atc=0.000000), word0=(tf=1, idf=0.000000), word1=(tf=1, idf=0.127848)";s:8:"weight()";s:4:"2558";}i:1;a:4:{s:2:"id";s:2:"15";s:3:"gid";s:1:"2";s:1:"f";s:359:"bm25=558, bm25a=0.598345, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.127848, min_idf=0.000000, max_idf=0.127848, sum_idf=0.127848, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.127848, atc=0.000000), word0=(tf=1, idf=0.000000), word1=(tf=1, idf=0.127848)";s:8:"weight()";s:4:"2558";}}}i:5;a:3:{s:8:"sphinxql";s:156:"select *, packedfactors() as f, weight() from dd where match('da blow') option idf=plain,idf=tfidf_normalized, ranker=expr('sum(lcs*user_weight)*1000+bm25')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:1:"2";s:1:"f";s:359:"bm25=558, bm25a=0.598345, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.127848, min_idf=0.000000, max_idf=0.127848, sum_idf=0.127848, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.127848, atc=0.000000), word0=(tf=1, idf=0.000000), word1=(tf=1, idf=0.127848)";s:8:"weight()";s:4:"2558";}i:1;a:4:{s:2:"id";s:2:"15";s:3:"gid";s:1:"2";s:1:"f";s:359:"bm25=558, bm25a=0.598345, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.127848, min_idf=0.000000, max_idf=0.127848, sum_idf=0.127848, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=2, wlccs=0.127848, atc=0.000000), word0=(tf=1, idf=0.000000), word1=(tf=1, idf=0.127848)";s:8:"weight()";s:4:"2558";}}}i:6;a:3:{s:8:"sphinxql";s:117:"select *, weight() as w, packedfactors() as p from kw where match('t* here') option ranker=expr('sum(lcs)*1000+bm25')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:1:"w";s:4:"1500";s:1:"p";s:362:"bm25=500, bm25a=0.500000, field_mask=1, doc_word_count=2, field0=(lcs=1, hit_count=2, word_count=2, tf_idf=0.000000, min_idf=-0.096713, max_idf=0.096713, sum_idf=0.000000, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=1, exact_order=1, lccs=1, wlccs=0.096713, atc=-0.005577), word0=(tf=1, idf=-0.096713), word1=(tf=1, idf=0.096713)";}}}i:7;a:3:{s:8:"sphinxql";s:122:"select *, weight() as w, packedfactors() as p from kw where match('t* starts h*') option ranker=expr('sum(lcs)*1000+bm25')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:1:"w";s:4:"3538";s:1:"p";s:390:"bm25=538, bm25a=0.565563, field_mask=1, doc_word_count=3, field0=(lcs=3, hit_count=3, word_count=3, tf_idf=0.085232, min_idf=-0.064475, max_idf=0.149707, sum_idf=0.085232, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=3, wlccs=0.085232, atc=-0.019494), word0=(tf=1, idf=-0.064475), word1=(tf=1, idf=0.149707), word2=(tf=1, idf=0.000000)";}}}i:8;a:3:{s:8:"sphinxql";s:120:"select *, weight() as w, packedfactors() as p from kw where match('t* from h*') option ranker=expr('sum(lcs)*1000+bm25')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";s:1:"w";s:4:"3459";s:1:"p";s:392:"bm25=459, bm25a=0.443934, field_mask=1, doc_word_count=3, field0=(lcs=3, hit_count=4, word_count=3, tf_idf=-0.128951, min_idf=-0.064475, max_idf=0.000000, sum_idf=-0.064475, min_hit_pos=1, min_best_span_pos=2, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=3, wlccs=-0.064475, atc=0.002076), word0=(tf=2, idf=-0.064475), word1=(tf=1, idf=0.000000), word2=(tf=1, idf=0.000000)";}}}i:9;a:3:{s:8:"sphinxql";s:133:"select *, weight() as w, packedfactors() as p from kw where match('t* ( starts | from ) h*') option ranker=expr('sum(lcs)*1000+bm25')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";s:1:"w";s:4:"2529";s:1:"p";s:418:"bm25=529, bm25a=0.549172, field_mask=1, doc_word_count=3, field0=(lcs=2, hit_count=3, word_count=3, tf_idf=0.063924, min_idf=-0.048357, max_idf=0.112281, sum_idf=0.063924, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=2, wlccs=0.063924, atc=-0.010918), word0=(tf=1, idf=-0.048357), word1=(tf=1, idf=0.112281), word2=(tf=0, idf=0.000000), word3=(tf=1, idf=0.000000)";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";s:1:"w";s:4:"2469";s:1:"p";s:419:"bm25=469, bm25a=0.457951, field_mask=1, doc_word_count=3, field0=(lcs=2, hit_count=4, word_count=3, tf_idf=-0.096713, min_idf=-0.048357, max_idf=0.000000, sum_idf=-0.048357, min_hit_pos=1, min_best_span_pos=3, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=0, lccs=2, wlccs=0.000000, atc=0.001169), word0=(tf=2, idf=-0.048357), word1=(tf=0, idf=0.112281), word2=(tf=1, idf=0.000000), word3=(tf=1, idf=0.000000)";}}}i:10;a:3:{s:8:"sphinxql";s:69:"select *, weight() from l1,l2 where match('da win') option local_df=1";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:3:"101";s:3:"gid";s:1:"3";s:8:"weight()";s:4:"2417";}i:1;a:3:{s:2:"id";s:3:"201";s:3:"gid";s:1:"4";s:8:"weight()";s:4:"2417";}i:2;a:3:{s:2:"id";s:3:"202";s:3:"gid";s:1:"4";s:8:"weight()";s:4:"2417";}i:3;a:3:{s:2:"id";s:3:"203";s:3:"gid";s:1:"4";s:8:"weight()";s:4:"2417";}}}i:11;a:3:{s:8:"sphinxql";s:51:"select *, weight() from l1,l2 where match('da win')";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:3:"101";s:3:"gid";s:1:"3";s:8:"weight()";s:4:"2500";}i:1;a:3:{s:2:"id";s:3:"201";s:3:"gid";s:1:"4";s:8:"weight()";s:4:"2397";}i:2;a:3:{s:2:"id";s:3:"202";s:3:"gid";s:1:"4";s:8:"weight()";s:4:"2397";}i:3;a:3:{s:2:"id";s:3:"203";s:3:"gid";s:1:"4";s:8:"weight()";s:4:"2397";}}}i:12;a:3:{s:8:"sphinxql";s:66:"select *, weight() from dl where match('da win') option local_df=1";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:3:"101";s:3:"gid";s:1:"3";s:8:"weight()";s:4:"2417";}i:1;a:3:{s:2:"id";s:3:"201";s:3:"gid";s:1:"4";s:8:"weight()";s:4:"2417";}i:2;a:3:{s:2:"id";s:3:"202";s:3:"gid";s:1:"4";s:8:"weight()";s:4:"2417";}i:3;a:3:{s:2:"id";s:3:"203";s:3:"gid";s:1:"4";s:8:"weight()";s:4:"2417";}}}i:13;a:3:{s:8:"sphinxql";s:48:"select *, weight() from dl where match('da win')";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:3:"101";s:3:"gid";s:1:"3";s:8:"weight()";s:4:"2500";}i:1;a:3:{s:2:"id";s:3:"201";s:3:"gid";s:1:"4";s:8:"weight()";s:4:"2397";}i:2;a:3:{s:2:"id";s:3:"202";s:3:"gid";s:1:"4";s:8:"weight()";s:4:"2397";}i:3;a:3:{s:2:"id";s:3:"203";s:3:"gid";s:1:"4";s:8:"weight()";s:4:"2397";}}}i:14;a:3:{s:8:"sphinxql";s:67:"select *, weight() from l1,l2 where match('blow') option local_df=1";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:3:"100";s:3:"gid";s:1:"3";s:8:"weight()";s:4:"1592";}i:1;a:3:{s:2:"id";s:3:"104";s:3:"gid";s:1:"3";s:8:"weight()";s:4:"1592";}i:2;a:3:{s:2:"id";s:3:"204";s:3:"gid";s:1:"4";s:8:"weight()";s:4:"1592";}}}i:15;a:3:{s:8:"sphinxql";s:49:"select *, weight() from l1,l2 where match('blow')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:3:"204";s:3:"gid";s:1:"4";s:8:"weight()";s:4:"1704";}i:1;a:3:{s:2:"id";s:3:"100";s:3:"gid";s:1:"3";s:8:"weight()";s:4:"1587";}i:2;a:3:{s:2:"id";s:3:"104";s:3:"gid";s:1:"3";s:8:"weight()";s:4:"1587";}}}i:16;a:3:{s:8:"sphinxql";s:64:"select *, weight() from dl where match('blow') option local_df=1";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:3:"100";s:3:"gid";s:1:"3";s:8:"weight()";s:4:"1592";}i:1;a:3:{s:2:"id";s:3:"104";s:3:"gid";s:1:"3";s:8:"weight()";s:4:"1592";}i:2;a:3:{s:2:"id";s:3:"204";s:3:"gid";s:1:"4";s:8:"weight()";s:4:"1592";}}}i:17;a:3:{s:8:"sphinxql";s:46:"select *, weight() from dl where match('blow')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:3:"204";s:3:"gid";s:1:"4";s:8:"weight()";s:4:"1704";}i:1;a:3:{s:2:"id";s:3:"100";s:3:"gid";s:1:"3";s:8:"weight()";s:4:"1587";}i:2;a:3:{s:2:"id";s:3:"104";s:3:"gid";s:1:"3";s:8:"weight()";s:4:"1587";}}}i:18;a:3:{s:8:"sphinxql";s:39:"select id from kw order by weight() asc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}i:2;a:1:{s:2:"id";s:1:"3";}i:3;a:1:{s:2:"id";s:1:"4";}i:4;a:1:{s:2:"id";s:1:"5";}}}}}sphinx-2.2.11-release/test/test_204/0000755000175000017500000000000012743402012016402 5ustar alexeyalexeysphinx-2.2.11-release/test/test_204/test.xml0000644000175000017500000000161112743402012020102 0ustar alexeyalexey regular index test template indexer { mem_limit = 16M } searchd { } source test { type = mysql sql_query = select * from test_table sql_attr_uint = gid } index test { source = test path = /test index_field_lengths = 1 } CREATE TABLE test_table ( id INTEGER PRIMARY KEY NOT NULL, gid INTEGER NOT NULL, title VARCHAR(255) NOT NULL, content VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table VALUES ( 1, 123, 'hello world', 'one two three' ), ( 2, 123, 'zzz', 'xxx yyy aaa bbb ccc' ), ( 3, 123, '', '' ), ( 4, 123, 'shots shots shots', 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' ) sphinx-2.2.11-release/test/test_204/model.bin0000644000175000017500000000151112743402012020172 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:3:{s:3:"gid";i:1;s:9:"title_len";i:11;s:11:"content_len";i:11;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"gid";s:3:"123";s:9:"title_len";s:1:"2";s:11:"content_len";s:1:"3";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"gid";s:3:"123";s:9:"title_len";s:1:"1";s:11:"content_len";s:1:"5";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"gid";s:3:"123";s:9:"title_len";s:1:"0";s:11:"content_len";s:1:"0";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"gid";s:3:"123";s:9:"title_len";s:1:"3";s:11:"content_len";s:1:"1";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}}}sphinx-2.2.11-release/test/test_203/0000755000175000017500000000000012743402012016401 5ustar alexeyalexeysphinx-2.2.11-release/test/test_203/test.xml0000644000175000017500000000227212743402012020105 0ustar alexeyalexey wildcards vs blended indexer { mem_limit = 16M } searchd { } source test { type = mysql sql_query = select * from test_table sql_attr_uint = gid } index test { source = test path = /test blend_chars = %, @ } CREATE TABLE test_table ( id INTEGER PRIMARY KEY NOT NULL, gid INTEGER NOT NULL, title VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table VALUES ( 1, 123, 'just foo' ), ( 2, 123, 'foo and bar' ), ( 3, 123, 'foo% that' ), ( 4, 123, 'foo%bar this' ), ( 5, 123, '%foo there' ), ( 6, 123, '@john' ), ( 7, 123, 'jack@home' ), ( 8, 123, 'jill@' ) foo bar foo% %foo john jack jill \@john jack@ jill@ sphinx-2.2.11-release/test/test_203/model.bin0000644000175000017500000001076612743402012020205 0ustar alexeyalexeya:1:{i:0;a:10:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1476";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:2;a:2:{s:6:"weight";s:4:"1476";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:3;a:2:{s:6:"weight";s:4:"1476";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:4;a:2:{s:6:"weight";s:4:"1476";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:5;a:2:{s:6:"weight";s:4:"1476";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"foo";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"foo";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1629";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:4;a:2:{s:6:"weight";s:4:"1629";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"bar";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"bar";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1715";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"foo%";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"foo%";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1715";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"%foo";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"%foo";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1715";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"john";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"john";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1715";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"jack";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"jack";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:8;a:2:{s:6:"weight";s:4:"1715";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"jill";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"jill";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1715";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"@john";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"\@john";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"jack@";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"jack@";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:8;a:2:{s:6:"weight";s:4:"1715";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"jill@";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"jill@";}}}sphinx-2.2.11-release/test/test_202/0000755000175000017500000000000012743402012016400 5ustar alexeyalexeysphinx-2.2.11-release/test/test_202/test.xml0000644000175000017500000000441512743402012020105 0ustar alexeyalexey adding indexes using rotation #!/usr/bin/python print """ indexer { mem_limit = 32M } searchd { binlog_path = workers = threads seamless_rotate = 0 workers = threads seamless_rotate = 1 workers = fork seamless_rotate = 1 } source sql { type = mysql sql_query = select id, text from test_table where mode = (select mode from test_table where id = 1000); } index plain1 { source = sql path = /plain1 docinfo = none } index plain2 { source = sql path = /plain2 docinfo = none } """ file_exists = False try: with open('part.conf'): file_exists = True except IOError: pass if file_exists==True: with open('part.conf') as f: print f.read() drop table if exists test_table create table test_table ( id int not null, text varchar(255) not null, mode int ); insert into test_table values ( 1, 'first', 1 ), ( 2, 'second', 1 ), ( 3, 'third', 1 ), ( 4, 'fourth', 1 ), ( 5, 'fifth', 1 ), ( 1, 'one', 2 ), ( 2, 'two', 2 ), ( 3, 'three', 2 ), ( 1000, '', 1 ); Query ( "first", $index ); if ( $result ) { unset ( $result["time"] ); return $result; } else return $client->GetLastError(); '); StopSearchd ('config.conf', 'searchd.pid'); foreach ( array ( 'spa', 'spd', 'spe', 'spi', 'spk', 'spm', 'spp', 'sps', 'sph' ) as $ext ) { $path = 'data/plain2.' . $ext; if ( file_exists ( $path ) ) unlink ( $path ); if ( file_exists ( $path ) ) print 'error'; } $state = StartSearchd ('config.conf', 'error.txt', 'searchd.pid', $error); $results[] = $query ( $client, 'plain3' ); $path = "part.conf"; file_put_contents ( $path, "index plain3\n{\nsource = sql\npath = data/plain3\n}\n" ); RunIndexer ( $errors, '--rotate p*lain2 plain3' ); // adding indexes sleep(2); unlink($path); $results[] = $query ( $client, 'plain3' ); $results[] = $query ( $client, 'plain2' ); ]]> sphinx-2.2.11-release/test/test_202/model.bin0000644000175000017500000000410012743402012020165 0ustar alexeyalexeya:3:{i:0;a:1:{i:0;a:3:{i:0;s:46:"unknown local index 'plain3' in search request";i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1709";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"first";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1709";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"first";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}i:1;a:1:{i:0;a:3:{i:0;s:46:"unknown local index 'plain3' in search request";i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1709";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"first";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1709";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"first";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}i:2;a:1:{i:0;a:3:{i:0;s:46:"unknown local index 'plain3' in search request";i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1709";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"first";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1709";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"first";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}}sphinx-2.2.11-release/test/test_201/0000755000175000017500000000000012743402012016377 5ustar alexeyalexeysphinx-2.2.11-release/test/test_201/test.xml0000644000175000017500000000267312743402012020110 0ustar alexeyalexey attribute block subindex vs MVA indexer { mem_limit = 16M } searchd { } source src2 { type = mysql sql_query = SELECT document_id, text, attr1, mva1 FROM main_table2 sql_attr_multi = uint mva1 from field mva1 sql_attr_multi = bigint mva1 from field mva1 sql_attr_uint = attr1 } index test2 { source = src2 path = /test2 docinfo = extern min_word_len = 1 } CREATE TABLE `main_table2` ( `document_id` int(11) DEFAULT NULL, `text` varchar(255) NOT NULL, `attr1` int(11) DEFAULT NULL, `mva1` varchar(255) NOT NULL ); DROP TABLE IF EXISTS `main_table2` sphinx-2.2.11-release/test/test_201/model.bin0000644000175000017500000001317612743402012020201 0ustar alexeyalexeya:2:{i:0;a:7:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:5:"attr1";i:1;s:4:"mva1";i:1073741825;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:5:"attr1";s:3:"101";s:4:"mva1";a:1:{i:0;s:4:"1001";}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:5:"attr1";i:1;s:4:"mva1";i:1073741825;}s:7:"matches";a:1:{i:64;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:5:"attr1";s:3:"164";s:4:"mva1";a:1:{i:0;s:4:"1064";}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:5:"attr1";i:1;s:4:"mva1";i:1073741825;}s:7:"matches";a:1:{i:65;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:5:"attr1";s:3:"165";s:4:"mva1";a:1:{i:0;s:4:"1065";}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:5:"attr1";i:1;s:4:"mva1";i:1073741825;}s:7:"matches";a:1:{i:127;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:5:"attr1";s:3:"227";s:4:"mva1";a:1:{i:0;s:4:"1127";}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:5:"attr1";i:1;s:4:"mva1";i:1073741825;}s:7:"matches";a:1:{i:128;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:5:"attr1";s:3:"228";s:4:"mva1";a:1:{i:0;s:4:"1128";}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:5:"attr1";i:1;s:4:"mva1";i:1073741825;}s:7:"matches";a:1:{i:129;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:5:"attr1";s:3:"229";s:4:"mva1";a:1:{i:0;s:4:"1129";}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:5:"attr1";i:1;s:4:"mva1";i:1073741825;}s:7:"matches";a:1:{i:130;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:5:"attr1";s:3:"230";s:4:"mva1";a:1:{i:0;s:4:"1130";}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}}i:1;a:7:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:5:"attr1";i:1;s:4:"mva1";i:1073741826;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:5:"attr1";s:3:"101";s:4:"mva1";a:1:{i:0;i:1001;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:5:"attr1";i:1;s:4:"mva1";i:1073741826;}s:7:"matches";a:1:{i:64;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:5:"attr1";s:3:"164";s:4:"mva1";a:1:{i:0;i:1064;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:5:"attr1";i:1;s:4:"mva1";i:1073741826;}s:7:"matches";a:1:{i:65;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:5:"attr1";s:3:"165";s:4:"mva1";a:1:{i:0;i:1065;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:5:"attr1";i:1;s:4:"mva1";i:1073741826;}s:7:"matches";a:1:{i:127;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:5:"attr1";s:3:"227";s:4:"mva1";a:1:{i:0;i:1127;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:5:"attr1";i:1;s:4:"mva1";i:1073741826;}s:7:"matches";a:1:{i:128;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:5:"attr1";s:3:"228";s:4:"mva1";a:1:{i:0;i:1128;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:5:"attr1";i:1;s:4:"mva1";i:1073741826;}s:7:"matches";a:1:{i:129;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:5:"attr1";s:3:"229";s:4:"mva1";a:1:{i:0;i:1129;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:5:"attr1";i:1;s:4:"mva1";i:1073741826;}s:7:"matches";a:1:{i:130;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:5:"attr1";s:3:"230";s:4:"mva1";a:1:{i:0;i:1130;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}}}sphinx-2.2.11-release/test/test_200/0000755000175000017500000000000012743402012016376 5ustar alexeyalexeysphinx-2.2.11-release/test/test_200/test.xml0000644000175000017500000000353412743402012020104 0ustar alexeyalexey 64 docids: signed vs unsigned searchd { workers = threads } index test { type = rt path = /test rt_field = title rt_attr_uint = tag } SELECT * FROM test INSERT INTO test VALUES(10400000001000000011,'a',1) INSERT INTO test VALUES(10400000001000000012,'b',2) INSERT INTO test VALUES(10400000001000000013,'c',3) INSERT INTO test VALUES(10400000001000000014,'d',4) INSERT INTO test VALUES(10400000001000000015,'e',5) SELECT * FROM test SELECT * FROM test WHERE id>10400000001000000013 SELECT * FROM test WHERE id>=10400000001000000014 SELECT * FROM test WHERE id<10400000001000000014 SELECT * FROM test WHERE id<=10400000001000000013 SELECT * FROM test WHERE id=10400000001000000011 SELECT * FROM test WHERE id in (10400000001000000011,10400000001000000013, 10400000001000000015) UPDATE test SET tag=11 WHERE id=10400000001000000011 UPDATE test SET tag=33 WHERE id=10400000001000000013 UPDATE test SET tag=55 WHERE id=10400000001000000015 UPDATE test SET tag=999 WHERE id in (10400000001000000012,10400000001000000014) SELECT * FROM test DELETE FROM test WHERE id in (10400000001000000012,10400000001000000014) SELECT * FROM test DELETE FROM test WHERE id=10400000001000000013 SELECT * FROM test sphinx-2.2.11-release/test/test_200/model.bin0000644000175000017500000001044212743402012020171 0ustar alexeyalexeya:1:{i:0;a:22:{i:0;a:2:{s:8:"sphinxql";s:18:"SELECT * FROM test";s:10:"total_rows";i:0;}i:1;a:2:{s:8:"sphinxql";s:51:"INSERT INTO test VALUES(10400000001000000011,'a',1)";s:14:"total_affected";i:1;}i:2;a:2:{s:8:"sphinxql";s:51:"INSERT INTO test VALUES(10400000001000000012,'b',2)";s:14:"total_affected";i:1;}i:3;a:2:{s:8:"sphinxql";s:51:"INSERT INTO test VALUES(10400000001000000013,'c',3)";s:14:"total_affected";i:1;}i:4;a:2:{s:8:"sphinxql";s:51:"INSERT INTO test VALUES(10400000001000000014,'d',4)";s:14:"total_affected";i:1;}i:5;a:2:{s:8:"sphinxql";s:51:"INSERT INTO test VALUES(10400000001000000015,'e',5)";s:14:"total_affected";i:1;}i:6;a:3:{s:8:"sphinxql";s:18:"SELECT * FROM test";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:2:{s:2:"id";s:20:"10400000001000000011";s:3:"tag";s:1:"1";}i:1;a:2:{s:2:"id";s:20:"10400000001000000012";s:3:"tag";s:1:"2";}i:2;a:2:{s:2:"id";s:20:"10400000001000000013";s:3:"tag";s:1:"3";}i:3;a:2:{s:2:"id";s:20:"10400000001000000014";s:3:"tag";s:1:"4";}i:4;a:2:{s:2:"id";s:20:"10400000001000000015";s:3:"tag";s:1:"5";}}}i:7;a:3:{s:8:"sphinxql";s:48:"SELECT * FROM test WHERE id>10400000001000000013";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:20:"10400000001000000014";s:3:"tag";s:1:"4";}i:1;a:2:{s:2:"id";s:20:"10400000001000000015";s:3:"tag";s:1:"5";}}}i:8;a:3:{s:8:"sphinxql";s:49:"SELECT * FROM test WHERE id>=10400000001000000014";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:20:"10400000001000000014";s:3:"tag";s:1:"4";}i:1;a:2:{s:2:"id";s:20:"10400000001000000015";s:3:"tag";s:1:"5";}}}i:9;a:3:{s:8:"sphinxql";s:48:"SELECT * FROM test WHERE id<10400000001000000014";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:20:"10400000001000000011";s:3:"tag";s:1:"1";}i:1;a:2:{s:2:"id";s:20:"10400000001000000012";s:3:"tag";s:1:"2";}i:2;a:2:{s:2:"id";s:20:"10400000001000000013";s:3:"tag";s:1:"3";}}}i:10;a:3:{s:8:"sphinxql";s:49:"SELECT * FROM test WHERE id<=10400000001000000013";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:20:"10400000001000000011";s:3:"tag";s:1:"1";}i:1;a:2:{s:2:"id";s:20:"10400000001000000012";s:3:"tag";s:1:"2";}i:2;a:2:{s:2:"id";s:20:"10400000001000000013";s:3:"tag";s:1:"3";}}}i:11;a:3:{s:8:"sphinxql";s:48:"SELECT * FROM test WHERE id=10400000001000000011";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:20:"10400000001000000011";s:3:"tag";s:1:"1";}}}i:12;a:3:{s:8:"sphinxql";s:96:"SELECT * FROM test WHERE id in (10400000001000000011,10400000001000000013, 10400000001000000015)";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:20:"10400000001000000011";s:3:"tag";s:1:"1";}i:1;a:2:{s:2:"id";s:20:"10400000001000000013";s:3:"tag";s:1:"3";}i:2;a:2:{s:2:"id";s:20:"10400000001000000015";s:3:"tag";s:1:"5";}}}i:13;a:2:{s:8:"sphinxql";s:52:"UPDATE test SET tag=11 WHERE id=10400000001000000011";s:14:"total_affected";i:1;}i:14;a:2:{s:8:"sphinxql";s:52:"UPDATE test SET tag=33 WHERE id=10400000001000000013";s:14:"total_affected";i:1;}i:15;a:2:{s:8:"sphinxql";s:52:"UPDATE test SET tag=55 WHERE id=10400000001000000015";s:14:"total_affected";i:1;}i:16;a:2:{s:8:"sphinxql";s:79:"UPDATE test SET tag=999 WHERE id in (10400000001000000012,10400000001000000014)";s:14:"total_affected";i:2;}i:17;a:3:{s:8:"sphinxql";s:18:"SELECT * FROM test";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:2:{s:2:"id";s:20:"10400000001000000011";s:3:"tag";s:2:"11";}i:1;a:2:{s:2:"id";s:20:"10400000001000000012";s:3:"tag";s:3:"999";}i:2;a:2:{s:2:"id";s:20:"10400000001000000013";s:3:"tag";s:2:"33";}i:3;a:2:{s:2:"id";s:20:"10400000001000000014";s:3:"tag";s:3:"999";}i:4;a:2:{s:2:"id";s:20:"10400000001000000015";s:3:"tag";s:2:"55";}}}i:18;a:2:{s:8:"sphinxql";s:72:"DELETE FROM test WHERE id in (10400000001000000012,10400000001000000014)";s:14:"total_affected";i:2;}i:19;a:3:{s:8:"sphinxql";s:18:"SELECT * FROM test";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:20:"10400000001000000011";s:3:"tag";s:2:"11";}i:1;a:2:{s:2:"id";s:20:"10400000001000000013";s:3:"tag";s:2:"33";}i:2;a:2:{s:2:"id";s:20:"10400000001000000015";s:3:"tag";s:2:"55";}}}i:20;a:2:{s:8:"sphinxql";s:46:"DELETE FROM test WHERE id=10400000001000000013";s:14:"total_affected";i:1;}i:21;a:3:{s:8:"sphinxql";s:18:"SELECT * FROM test";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:20:"10400000001000000011";s:3:"tag";s:2:"11";}i:1;a:2:{s:2:"id";s:20:"10400000001000000015";s:3:"tag";s:2:"55";}}}}}sphinx-2.2.11-release/test/test_199/0000755000175000017500000000000012743402012016417 5ustar alexeyalexeysphinx-2.2.11-release/test/test_199/test.xml0000644000175000017500000001316012743402012020121 0ustar alexeyalexey persist uservars indexer { mem_limit = 16M } searchd { binlog_path = # workers = threads sphinxql_state = /idx.meta } source src { type = mysql sql_query = SELECT id, text, idd FROM test_table sql_attr_uint = idd } index idx { source = src path = /idx docinfo = extern } index rt1 { type = rt stopwords = /stopwords.txt path =/rt1 stopword_step = 0 docinfo = extern morphology = stem_en min_word_len = 1 min_prefix_len = 0 rt_attr_uint = idd rt_field = text dict = keywords } index rt2 { type = rt stopwords = /stopwords.txt path =/rt2 stopword_step = 0 docinfo = extern morphology = stem_en min_word_len = 1 min_prefix_len = 0 rt_attr_uint = idd rt_field = text dict = crc } source src1 { type = mysql sql_query = SELECT id, text, idd FROM stem_table sql_attr_uint = idd } index i1 { source = src1 stopwords = /stopwords.txt path =/i1 stopword_step = 0 docinfo = extern morphology = stem_en min_word_len = 1 min_prefix_len = 0 dict = keywords } index i2 { source = src1 stopwords = /stopwords.txt path =/i2 stopword_step = 0 docinfo = extern morphology = stem_en min_word_len = 1 min_prefix_len = 0 dict = crc } $v ) { $line .= $k . " = " . $v . "\t"; } $results[] = $line; } else { $results[] = $row["Variable_name"] . " = " . $row["Value"]; } } @mysql_free_result ( $res ); } return $results; '); $stop_stem = create_function ( '$q, $sock, $match',' $results = array (); $results = array_merge ( $results, $q ( "SELECT * FROM rt1 WHERE MATCH ( $match );", $sock ) ); $results = array_merge ( $results, $q ( "SHOW META", $sock ) ); $results = array_merge ( $results, $q ( "SELECT * FROM rt2 WHERE MATCH ( $match );", $sock ) ); $results = array_merge ( $results, $q ( "SHOW META", $sock ) ); $results = array_merge ( $results, $q ( "SELECT * FROM i1 WHERE MATCH ( $match );", $sock ) ); $results = array_merge ( $results, $q ( "SHOW META", $sock ) ); $results = array_merge ( $results, $q ( "SELECT * FROM i2 WHERE MATCH ( $match );", $sock ) ); $results = array_merge ( $results, $q ( "SHOW META", $sock ) ); return $results; '); global $sd_address, $sd_sphinxql_port; $sockStr = "$sd_address:$sd_sphinxql_port"; if ($sd_address == "localhost") $sockStr = "127.0.0.1:$sd_sphinxql_port"; $sock = @mysql_connect ($sockStr,'','', true ); if ( $sock === false ) { $results[] = "error: can't connect to searchd: " . @mysql_errno ( $sock ) . " : " . @mysql_error ( $sock ); return; } $results = array_merge ( $results, $query ( " insert into rt1 values(1,'this is the test', 11), (2,'this is thes test', 22) ", $sock ) ); $results = array_merge ( $results, $query ( " insert into rt2 values(1,'this is the test', 11), (2,'this is thes test', 22) ", $sock ) ); $results = array_merge ( $results, $stop_stem ( $query, $sock, " 'the test' " ) ); $results = array_merge ( $results, $query ( "SET GLOBAL @filter1 = ( 101 )", $sock ) ); @mysql_close($sock); for ( $i = 102; $i < 104; $i++) { $sock = @mysql_connect ($sockStr,'','', true ); if ( $sock === false ) { $results[] = "error: can't connect to searchd: " . @mysql_errno ( $sock ) . " : " . @mysql_error ( $sock ); return; } $results = array_merge ( $results, $query ( "SELECT * FROM idx WHERE idd IN @filter1", $sock ) ); $results = array_merge ( $results, $query ( "SHOW META", $sock ) ); $results = array_merge ( $results, $query ( "SET GLOBAL @filter1 = ( 22, $i )", $sock ) ); @mysql_close($sock); usleep ( 50000 ); StopSearchd ( 'config.conf', 'searchd.pid' ); usleep ( 50000 ); $error = ""; $startSta = StartSearchd ( 'config.conf', 'error.txt', 'searchd.pid', $error ); if ( $startSta == 0 || $startSta == 2 ) { $results[] = "started=ok"; } else { $results[] = sprintf("start.err=%d local=%s client=%s", $startSta, $error, $client->GetLastError()); } } $sock = @mysql_connect ($sockStr,'','', true ); if ( $sock === false ) { $results[] = "error: can't connect to searchd: " . @mysql_errno ( $sock ) . " : " . @mysql_error ( $sock ); return; } $results = array_merge ( $results, $stop_stem ( $query, $sock, " 'the test' " ) ); ]]> CREATE TABLE `test_table` ( `id` int(11) DEFAULT NULL, `text` varchar (255) NOT NULL, `idd` int(11) DEFAULT NULL ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` (`id`, `text`, `idd`) VALUES (1, 'test1', 101 ), (2, 'test2', 102 ), (3, 'test3', 103 ), (4, 'test4', 104 ); CREATE TABLE `stem_table` ( `id` int(11) DEFAULT NULL, `text` varchar (255) NOT NULL, `idd` int(11) DEFAULT NULL ) DROP TABLE IF EXISTS `stem_table` INSERT INTO `stem_table` (`id`, `text`, `idd`) VALUES (1, 'this is the test', 11 ), (2, 'this is thes test', 22 ); sphinx-2.2.11-release/test/test_199/stopwords.txt0000644000175000017500000000000412743402012021216 0ustar alexeyalexeythe sphinx-2.2.11-release/test/test_199/model.bin0000644000175000017500000000537112743402012020217 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:89:{i:0;s:79:" insert into rt1 values(1,'this is the test', 11), (2,'this is thes test', 22) ";i:1;s:79:" insert into rt2 values(1,'this is the test', 11), (2,'this is thes test', 22) ";i:2;s:47:"SELECT * FROM rt1 WHERE MATCH ( 'the test' );";i:3;s:16:"id = 1 idd = 11 ";i:4;s:16:"id = 2 idd = 22 ";i:5;s:9:"SHOW META";i:6;s:9:"total = 2";i:7;s:15:"total_found = 2";i:8;s:17:"keyword[0] = test";i:9;s:11:"docs[0] = 2";i:10;s:11:"hits[0] = 2";i:11;s:47:"SELECT * FROM rt2 WHERE MATCH ( 'the test' );";i:12;s:16:"id = 1 idd = 11 ";i:13;s:16:"id = 2 idd = 22 ";i:14;s:9:"SHOW META";i:15;s:9:"total = 2";i:16;s:15:"total_found = 2";i:17;s:17:"keyword[0] = test";i:18;s:11:"docs[0] = 2";i:19;s:11:"hits[0] = 2";i:20;s:46:"SELECT * FROM i1 WHERE MATCH ( 'the test' );";i:21;s:16:"id = 1 idd = 11 ";i:22;s:16:"id = 2 idd = 22 ";i:23;s:9:"SHOW META";i:24;s:9:"total = 2";i:25;s:15:"total_found = 2";i:26;s:17:"keyword[0] = test";i:27;s:11:"docs[0] = 2";i:28;s:11:"hits[0] = 2";i:29;s:46:"SELECT * FROM i2 WHERE MATCH ( 'the test' );";i:30;s:16:"id = 1 idd = 11 ";i:31;s:16:"id = 2 idd = 22 ";i:32;s:9:"SHOW META";i:33;s:9:"total = 2";i:34;s:15:"total_found = 2";i:35;s:17:"keyword[0] = test";i:36;s:11:"docs[0] = 2";i:37;s:11:"hits[0] = 2";i:38;s:29:"SET GLOBAL @filter1 = ( 101 )";i:39;s:39:"SELECT * FROM idx WHERE idd IN @filter1";i:40;s:17:"id = 1 idd = 101 ";i:41;s:9:"SHOW META";i:42;s:9:"total = 1";i:43;s:15:"total_found = 1";i:44;s:33:"SET GLOBAL @filter1 = ( 22, 102 )";i:45;s:10:"started=ok";i:46;s:39:"SELECT * FROM idx WHERE idd IN @filter1";i:47;s:17:"id = 2 idd = 102 ";i:48;s:9:"SHOW META";i:49;s:9:"total = 1";i:50;s:15:"total_found = 1";i:51;s:33:"SET GLOBAL @filter1 = ( 22, 103 )";i:52;s:10:"started=ok";i:53;s:47:"SELECT * FROM rt1 WHERE MATCH ( 'the test' );";i:54;s:16:"id = 1 idd = 11 ";i:55;s:16:"id = 2 idd = 22 ";i:56;s:9:"SHOW META";i:57;s:9:"total = 2";i:58;s:15:"total_found = 2";i:59;s:17:"keyword[0] = test";i:60;s:11:"docs[0] = 2";i:61;s:11:"hits[0] = 2";i:62;s:47:"SELECT * FROM rt2 WHERE MATCH ( 'the test' );";i:63;s:16:"id = 1 idd = 11 ";i:64;s:16:"id = 2 idd = 22 ";i:65;s:9:"SHOW META";i:66;s:9:"total = 2";i:67;s:15:"total_found = 2";i:68;s:17:"keyword[0] = test";i:69;s:11:"docs[0] = 2";i:70;s:11:"hits[0] = 2";i:71;s:46:"SELECT * FROM i1 WHERE MATCH ( 'the test' );";i:72;s:16:"id = 1 idd = 11 ";i:73;s:16:"id = 2 idd = 22 ";i:74;s:9:"SHOW META";i:75;s:9:"total = 2";i:76;s:15:"total_found = 2";i:77;s:17:"keyword[0] = test";i:78;s:11:"docs[0] = 2";i:79;s:11:"hits[0] = 2";i:80;s:46:"SELECT * FROM i2 WHERE MATCH ( 'the test' );";i:81;s:16:"id = 1 idd = 11 ";i:82;s:16:"id = 2 idd = 22 ";i:83;s:9:"SHOW META";i:84;s:9:"total = 2";i:85;s:15:"total_found = 2";i:86;s:17:"keyword[0] = test";i:87;s:11:"docs[0] = 2";i:88;s:11:"hits[0] = 2";}}}sphinx-2.2.11-release/test/test_198/0000755000175000017500000000000012743402012016416 5ustar alexeyalexeysphinx-2.2.11-release/test/test_198/test.xml0000644000175000017500000000312712743402012020122 0ustar alexeyalexey ZONESPAN operator prototype indexer { mem_limit = 16M } searchd { } source test { type = mysql sql_query = select * from test_table sql_attr_uint = gid } index test { source = test path = /test html_strip = 1 index_sp = 1 index_zones = zone* dict = crc dict = keywords exceptions = synonyms.txt } create table test_table ( id int not null, gid int not null, title varchar(16384) not null ); drop table if exists test_table; and kings, and sealing wax, of cabbages, and ships. bla' );]]> select * from test where match('ZONESPAN:zoneC cabbages and kings') select * from test where match('ZONESPAN:zoneC kings and ships') select * from test where match('ZONESPAN:zoneC and ships') select * from test where match('ZONESPAN:zoneC kings and') select * from test,asdf where match('ZONESPAN:zoneC and kings') option ignore_nonexistent_indexes=1 SELECT 2e-1 FROM test LIMIT 1 SELECT .5E1 FROM test LIMIT 1 SELECT 6.e+10 FROM test LIMIT 1 sphinx-2.2.11-release/test/test_198/model.bin0000644000175000017500000001161212743402012020211 0ustar alexeyalexeya:4:{i:0;a:8:{i:0;a:2:{s:8:"sphinxql";s:67:"select * from test where match('ZONESPAN:zoneC cabbages and kings')";s:10:"total_rows";i:0;}i:1;a:2:{s:8:"sphinxql";s:64:"select * from test where match('ZONESPAN:zoneC kings and ships')";s:10:"total_rows";i:0;}i:2;a:3:{s:8:"sphinxql";s:58:"select * from test where match('ZONESPAN:zoneC and ships')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"201";s:3:"gid";s:1:"3";}}}i:3;a:3:{s:8:"sphinxql";s:58:"select * from test where match('ZONESPAN:zoneC kings and')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"201";s:3:"gid";s:1:"3";}}}i:4;a:3:{s:8:"sphinxql";s:99:"select * from test,asdf where match('ZONESPAN:zoneC and kings') option ignore_nonexistent_indexes=1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"201";s:3:"gid";s:1:"3";}}}i:5;a:3:{s:8:"sphinxql";s:29:"SELECT 2e-1 FROM test LIMIT 1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:4:"2e-1";s:8:"0.200000";}}}i:6;a:3:{s:8:"sphinxql";s:29:"SELECT .5E1 FROM test LIMIT 1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:4:".5E1";s:8:"5.000000";}}}i:7;a:3:{s:8:"sphinxql";s:31:"SELECT 6.e+10 FROM test LIMIT 1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:6:"6.e+10";s:18:"60000002048.000000";}}}}i:1;a:8:{i:0;a:2:{s:8:"sphinxql";s:67:"select * from test where match('ZONESPAN:zoneC cabbages and kings')";s:10:"total_rows";i:0;}i:1;a:2:{s:8:"sphinxql";s:64:"select * from test where match('ZONESPAN:zoneC kings and ships')";s:10:"total_rows";i:0;}i:2;a:3:{s:8:"sphinxql";s:58:"select * from test where match('ZONESPAN:zoneC and ships')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"201";s:3:"gid";s:1:"3";}}}i:3;a:3:{s:8:"sphinxql";s:58:"select * from test where match('ZONESPAN:zoneC kings and')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"201";s:3:"gid";s:1:"3";}}}i:4;a:3:{s:8:"sphinxql";s:99:"select * from test,asdf where match('ZONESPAN:zoneC and kings') option ignore_nonexistent_indexes=1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"201";s:3:"gid";s:1:"3";}}}i:5;a:3:{s:8:"sphinxql";s:29:"SELECT 2e-1 FROM test LIMIT 1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:4:"2e-1";s:8:"0.200000";}}}i:6;a:3:{s:8:"sphinxql";s:29:"SELECT .5E1 FROM test LIMIT 1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:4:".5E1";s:8:"5.000000";}}}i:7;a:3:{s:8:"sphinxql";s:31:"SELECT 6.e+10 FROM test LIMIT 1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:6:"6.e+10";s:18:"60000002048.000000";}}}}i:2;a:8:{i:0;a:2:{s:8:"sphinxql";s:67:"select * from test where match('ZONESPAN:zoneC cabbages and kings')";s:10:"total_rows";i:0;}i:1;a:2:{s:8:"sphinxql";s:64:"select * from test where match('ZONESPAN:zoneC kings and ships')";s:10:"total_rows";i:0;}i:2;a:3:{s:8:"sphinxql";s:58:"select * from test where match('ZONESPAN:zoneC and ships')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"201";s:3:"gid";s:1:"3";}}}i:3;a:3:{s:8:"sphinxql";s:58:"select * from test where match('ZONESPAN:zoneC kings and')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"201";s:3:"gid";s:1:"3";}}}i:4;a:3:{s:8:"sphinxql";s:99:"select * from test,asdf where match('ZONESPAN:zoneC and kings') option ignore_nonexistent_indexes=1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"201";s:3:"gid";s:1:"3";}}}i:5;a:3:{s:8:"sphinxql";s:29:"SELECT 2e-1 FROM test LIMIT 1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:4:"2e-1";s:8:"0.200000";}}}i:6;a:3:{s:8:"sphinxql";s:29:"SELECT .5E1 FROM test LIMIT 1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:4:".5E1";s:8:"5.000000";}}}i:7;a:3:{s:8:"sphinxql";s:31:"SELECT 6.e+10 FROM test LIMIT 1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:6:"6.e+10";s:18:"60000002048.000000";}}}}i:3;a:8:{i:0;a:2:{s:8:"sphinxql";s:67:"select * from test where match('ZONESPAN:zoneC cabbages and kings')";s:10:"total_rows";i:0;}i:1;a:2:{s:8:"sphinxql";s:64:"select * from test where match('ZONESPAN:zoneC kings and ships')";s:10:"total_rows";i:0;}i:2;a:3:{s:8:"sphinxql";s:58:"select * from test where match('ZONESPAN:zoneC and ships')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"201";s:3:"gid";s:1:"3";}}}i:3;a:3:{s:8:"sphinxql";s:58:"select * from test where match('ZONESPAN:zoneC kings and')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"201";s:3:"gid";s:1:"3";}}}i:4;a:3:{s:8:"sphinxql";s:99:"select * from test,asdf where match('ZONESPAN:zoneC and kings') option ignore_nonexistent_indexes=1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"201";s:3:"gid";s:1:"3";}}}i:5;a:3:{s:8:"sphinxql";s:29:"SELECT 2e-1 FROM test LIMIT 1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:4:"2e-1";s:8:"0.200000";}}}i:6;a:3:{s:8:"sphinxql";s:29:"SELECT .5E1 FROM test LIMIT 1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:4:".5E1";s:8:"5.000000";}}}i:7;a:3:{s:8:"sphinxql";s:31:"SELECT 6.e+10 FROM test LIMIT 1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:6:"6.e+10";s:18:"60000002048.000000";}}}}}sphinx-2.2.11-release/test/test_197/0000755000175000017500000000000012743402012016415 5ustar alexeyalexeysphinx-2.2.11-release/test/test_197/test.xml0000644000175000017500000000554412743402012020126 0ustar alexeyalexey groupby() function indexer { mem_limit = 16M } searchd { workers = threads } source src_base { type = mysql } source src_1 : src_base { sql_query = SELECT id, attr1, mva1, mva2, str1, str2, text FROM test_table WHERE idx = 'i1'; sql_attr_multi = uint mva1 from field sql_attr_multi = uint mva2 from field sql_attr_string = str1 sql_attr_string = str2 sql_attr_uint = attr1 } source src_2 : src_1 { sql_query = SELECT id, attr1, mva1, mva2, str1, str2, text FROM test_table WHERE idx = 'i2'; } index i1 { source = src_1 path = /i1 docinfo = extern } index i2 { source = src_2 path = /i2 docinfo = extern } index ll { type = distributed local = i1 local = i2 } index ld { type = distributed local = i1 agent = :i2 local = i2 } index dd { type = distributed agent = :i1 agent = :i2 } CREATE TABLE test_table ( id INT NOT NULL, attr1 INT NOT NULL, mva1 VARCHAR(255) NOT NULL, mva2 VARCHAR(255) NOT NULL, str1 VARCHAR(255) NOT NULL, str2 VARCHAR(255) NOT NULL, text VARCHAR(255) NOT NULL DEFAULT 'text', idx VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table (id, attr1, mva1, mva2, str1, str2, text, idx) VALUES ( 1, 10, '101, 101, 103', '110, 111, 112', 'some data 100', 'another data 110', 'some text', 'i1' ), ( 2, 20, '201, 202, 203', '21, 110, 212', 'some data 200', 'another data 210', 'some text', 'i1' ), ( 3, 30, '12, 302, 303', '110, 312, 313', 'some data 300', 'another data 310', 'some text', 'i1' ), ( 4, 10, '101, 101, 103', '110, 111, 112', 'some data 100', 'another data 110', 'some text', 'i2' ), ( 5, 20, '201, 202, 203', '21, 110, 212', 'some data 200', 'another data 210', 'some text', 'i2' ), ( 6, 30, '12, 302, 303', '110, 312, 313', 'some data 300', 'another data 310', 'some text', 'i2' ) select * from i1 where match ('some') select attr1, groupby() from i1 where match ('some') group by mva1 select attr1, groupby() from i1 where match ('some') group by mva2 select attr1, groupby() from ld where match ('some') group by mva1 select attr1, groupby() from ld where match ('some') group by mva2 select attr1, groupby() from dd where match ('some') group by mva1 select attr1, groupby() from dd where match ('some') group by mva2 select mva1, least(mva1), greatest(mva1) from i1 select groupby() from i1 group by str1 order by str1 asc select groupby() from i1 group by str1 order by str1 desc sphinx-2.2.11-release/test/test_197/model.bin0000644000175000017500000001157212743402012020215 0ustar alexeyalexeya:1:{i:0;a:10:{i:0;a:3:{s:8:"sphinxql";s:37:"select * from i1 where match ('some')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:6:{s:2:"id";s:1:"1";s:5:"attr1";s:2:"10";s:4:"mva1";s:7:"101,103";s:4:"mva2";s:11:"110,111,112";s:4:"str1";s:13:"some data 100";s:4:"str2";s:16:"another data 110";}i:1;a:6:{s:2:"id";s:1:"2";s:5:"attr1";s:2:"20";s:4:"mva1";s:11:"201,202,203";s:4:"mva2";s:10:"21,110,212";s:4:"str1";s:13:"some data 200";s:4:"str2";s:16:"another data 210";}i:2;a:6:{s:2:"id";s:1:"3";s:5:"attr1";s:2:"30";s:4:"mva1";s:10:"12,302,303";s:4:"mva2";s:11:"110,312,313";s:4:"str1";s:13:"some data 300";s:4:"str2";s:16:"another data 310";}}}i:1;a:3:{s:8:"sphinxql";s:66:"select attr1, groupby() from i1 where match ('some') group by mva1";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:2:{s:5:"attr1";s:2:"10";s:9:"groupby()";s:3:"103";}i:1;a:2:{s:5:"attr1";s:2:"10";s:9:"groupby()";s:3:"101";}i:2;a:2:{s:5:"attr1";s:2:"20";s:9:"groupby()";s:3:"203";}i:3;a:2:{s:5:"attr1";s:2:"20";s:9:"groupby()";s:3:"202";}i:4;a:2:{s:5:"attr1";s:2:"20";s:9:"groupby()";s:3:"201";}i:5;a:2:{s:5:"attr1";s:2:"30";s:9:"groupby()";s:3:"303";}i:6;a:2:{s:5:"attr1";s:2:"30";s:9:"groupby()";s:3:"302";}i:7;a:2:{s:5:"attr1";s:2:"30";s:9:"groupby()";s:2:"12";}}}i:2;a:3:{s:8:"sphinxql";s:66:"select attr1, groupby() from i1 where match ('some') group by mva2";s:10:"total_rows";i:7;s:4:"rows";a:7:{i:0;a:2:{s:5:"attr1";s:2:"10";s:9:"groupby()";s:3:"112";}i:1;a:2:{s:5:"attr1";s:2:"10";s:9:"groupby()";s:3:"111";}i:2;a:2:{s:5:"attr1";s:2:"10";s:9:"groupby()";s:3:"110";}i:3;a:2:{s:5:"attr1";s:2:"20";s:9:"groupby()";s:3:"212";}i:4;a:2:{s:5:"attr1";s:2:"20";s:9:"groupby()";s:2:"21";}i:5;a:2:{s:5:"attr1";s:2:"30";s:9:"groupby()";s:3:"313";}i:6;a:2:{s:5:"attr1";s:2:"30";s:9:"groupby()";s:3:"312";}}}i:3;a:3:{s:8:"sphinxql";s:66:"select attr1, groupby() from ld where match ('some') group by mva1";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:2:{s:5:"attr1";s:2:"10";s:9:"groupby()";s:3:"101";}i:1;a:2:{s:5:"attr1";s:2:"10";s:9:"groupby()";s:3:"103";}i:2;a:2:{s:5:"attr1";s:2:"20";s:9:"groupby()";s:3:"201";}i:3;a:2:{s:5:"attr1";s:2:"20";s:9:"groupby()";s:3:"202";}i:4;a:2:{s:5:"attr1";s:2:"20";s:9:"groupby()";s:3:"203";}i:5;a:2:{s:5:"attr1";s:2:"30";s:9:"groupby()";s:2:"12";}i:6;a:2:{s:5:"attr1";s:2:"30";s:9:"groupby()";s:3:"302";}i:7;a:2:{s:5:"attr1";s:2:"30";s:9:"groupby()";s:3:"303";}}}i:4;a:3:{s:8:"sphinxql";s:66:"select attr1, groupby() from ld where match ('some') group by mva2";s:10:"total_rows";i:7;s:4:"rows";a:7:{i:0;a:2:{s:5:"attr1";s:2:"10";s:9:"groupby()";s:3:"110";}i:1;a:2:{s:5:"attr1";s:2:"10";s:9:"groupby()";s:3:"111";}i:2;a:2:{s:5:"attr1";s:2:"10";s:9:"groupby()";s:3:"112";}i:3;a:2:{s:5:"attr1";s:2:"20";s:9:"groupby()";s:2:"21";}i:4;a:2:{s:5:"attr1";s:2:"20";s:9:"groupby()";s:3:"212";}i:5;a:2:{s:5:"attr1";s:2:"30";s:9:"groupby()";s:3:"312";}i:6;a:2:{s:5:"attr1";s:2:"30";s:9:"groupby()";s:3:"313";}}}i:5;a:3:{s:8:"sphinxql";s:66:"select attr1, groupby() from dd where match ('some') group by mva1";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:2:{s:5:"attr1";s:2:"10";s:9:"groupby()";s:3:"101";}i:1;a:2:{s:5:"attr1";s:2:"10";s:9:"groupby()";s:3:"103";}i:2;a:2:{s:5:"attr1";s:2:"20";s:9:"groupby()";s:3:"201";}i:3;a:2:{s:5:"attr1";s:2:"20";s:9:"groupby()";s:3:"202";}i:4;a:2:{s:5:"attr1";s:2:"20";s:9:"groupby()";s:3:"203";}i:5;a:2:{s:5:"attr1";s:2:"30";s:9:"groupby()";s:2:"12";}i:6;a:2:{s:5:"attr1";s:2:"30";s:9:"groupby()";s:3:"302";}i:7;a:2:{s:5:"attr1";s:2:"30";s:9:"groupby()";s:3:"303";}}}i:6;a:3:{s:8:"sphinxql";s:66:"select attr1, groupby() from dd where match ('some') group by mva2";s:10:"total_rows";i:7;s:4:"rows";a:7:{i:0;a:2:{s:5:"attr1";s:2:"10";s:9:"groupby()";s:3:"110";}i:1;a:2:{s:5:"attr1";s:2:"10";s:9:"groupby()";s:3:"111";}i:2;a:2:{s:5:"attr1";s:2:"10";s:9:"groupby()";s:3:"112";}i:3;a:2:{s:5:"attr1";s:2:"20";s:9:"groupby()";s:2:"21";}i:4;a:2:{s:5:"attr1";s:2:"20";s:9:"groupby()";s:3:"212";}i:5;a:2:{s:5:"attr1";s:2:"30";s:9:"groupby()";s:3:"312";}i:6;a:2:{s:5:"attr1";s:2:"30";s:9:"groupby()";s:3:"313";}}}i:7;a:3:{s:8:"sphinxql";s:48:"select mva1, least(mva1), greatest(mva1) from i1";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:4:"mva1";s:7:"101,103";s:11:"least(mva1)";s:3:"101";s:14:"greatest(mva1)";s:3:"103";}i:1;a:3:{s:4:"mva1";s:11:"201,202,203";s:11:"least(mva1)";s:3:"201";s:14:"greatest(mva1)";s:3:"203";}i:2;a:3:{s:4:"mva1";s:10:"12,302,303";s:11:"least(mva1)";s:2:"12";s:14:"greatest(mva1)";s:3:"303";}}}i:8;a:3:{s:8:"sphinxql";s:56:"select groupby() from i1 group by str1 order by str1 asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:9:"groupby()";s:13:"some data 100";}i:1;a:1:{s:9:"groupby()";s:13:"some data 200";}i:2;a:1:{s:9:"groupby()";s:13:"some data 300";}}}i:9;a:3:{s:8:"sphinxql";s:57:"select groupby() from i1 group by str1 order by str1 desc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:9:"groupby()";s:13:"some data 300";}i:1;a:1:{s:9:"groupby()";s:13:"some data 200";}i:2;a:1:{s:9:"groupby()";s:13:"some data 100";}}}}}sphinx-2.2.11-release/test/test_196/0000755000175000017500000000000012743402012016414 5ustar alexeyalexeysphinx-2.2.11-release/test/test_196/words2.txt0000644000175000017500000000013312743402012020372 0ustar alexeyalexeysimple form => result2 manuscript => book2 test test => test test test fest => test festsphinx-2.2.11-release/test/test_196/words1.txt0000644000175000017500000000005312743402012020372 0ustar alexeyalexeysimple form => result1 manuscript => book1sphinx-2.2.11-release/test/test_196/wordforms.txt0000644000175000017500000000050712743402012021201 0ustar alexeyalexeysame => line ~same => line error and #not > #thatsok # before > shouldnotbe before #> error1 before ># error2 before >#error3 before and #not > test => success#comment ~after #> success another comment ~hash > mapped # and this one is too drink drive > multi_before ~smoke > wordform walked > ran ~running > haltsphinx-2.2.11-release/test/test_196/wf2.txt0000644000175000017500000000006112743402012017650 0ustar alexeyalexeywound care > wound wound care and ostomy > woundsphinx-2.2.11-release/test/test_196/wf1.txt0000644000175000017500000000006112743402012017647 0ustar alexeyalexeywound care and ostomy > wound wound care > woundsphinx-2.2.11-release/test/test_196/test.xml0000644000175000017500000000435012743402012020117 0ustar alexeyalexey wordforms: comments, after morph modifier, multiple wordform files indexer { mem_limit = 16M } searchd { workers = threads } source test { type = mysql sql_query = select * from test_table } index test { source = test path = /test wordforms = /wordforms.txt wordforms = /words*.txt morphology = stem_en } index ord1 { source = test path = /ord1 wordforms = /wf1.txt } index ord2 { source = test path = /ord2 wordforms = /wf2.txt } CREATE TABLE test_table ( id INTEGER PRIMARY KEY NOT NULL, content VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table VALUES ( 100, 'drink drive' ), ( 101, 'smoked flew' ), ( 102, 'simple form' ), ( 103, 'manuscript' ), ( 104, 'before after' ), ( 105, 'me walked' ), ( 106, 'us walk' ), ( 107, 'me run' ), ( 108, 'us running' ), ( 111, 'tell me test fest but not test pest' ), ( 120, 'wound care and ostomy' ) select * from test where match('multi_before') select * from test where match('wordform') select * from test where match('result1') select * from test where match('result2') select * from test where match('book1') select * from test where match('book2') select * from test where match('shouldnotbe') select * from test where match('ran') select * from test where match('halt') select * from test where match('test test') select * from test where match('test pest') select * from ord1 where match('^wound$') select * from ord2 where match('^wound$') sphinx-2.2.11-release/test/test_196/model.bin0000644000175000017500000000334012743402012020206 0ustar alexeyalexeya:1:{i:0;a:13:{i:0;a:3:{s:8:"sphinxql";s:46:"select * from test where match('multi_before')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"100";}}}i:1;a:3:{s:8:"sphinxql";s:42:"select * from test where match('wordform')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"101";}}}i:2;a:2:{s:8:"sphinxql";s:41:"select * from test where match('result1')";s:10:"total_rows";i:0;}i:3;a:3:{s:8:"sphinxql";s:41:"select * from test where match('result2')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"102";}}}i:4;a:2:{s:8:"sphinxql";s:39:"select * from test where match('book1')";s:10:"total_rows";i:0;}i:5;a:3:{s:8:"sphinxql";s:39:"select * from test where match('book2')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"103";}}}i:6;a:2:{s:8:"sphinxql";s:45:"select * from test where match('shouldnotbe')";s:10:"total_rows";i:0;}i:7;a:3:{s:8:"sphinxql";s:37:"select * from test where match('ran')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"105";}}}i:8;a:3:{s:8:"sphinxql";s:38:"select * from test where match('halt')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:3:"107";}i:1;a:1:{s:2:"id";s:3:"108";}}}i:9;a:3:{s:8:"sphinxql";s:43:"select * from test where match('test test')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"111";}}}i:10;a:3:{s:8:"sphinxql";s:43:"select * from test where match('test pest')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"111";}}}i:11;a:3:{s:8:"sphinxql";s:41:"select * from ord1 where match('^wound$')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"120";}}}i:12;a:3:{s:8:"sphinxql";s:41:"select * from ord2 where match('^wound$')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"120";}}}}}sphinx-2.2.11-release/test/test_195/0000755000175000017500000000000012743402012016413 5ustar alexeyalexeysphinx-2.2.11-release/test/test_195/test.xml0000644000175000017500000011471012743402012020120 0ustar alexeyalexey ZONESPAN operator and zonespanlist() function indexer { mem_limit = 16M } searchd { } source test { type = mysql sql_query = select * from test_table sql_attr_uint = gid sql_attr_string = sgid } index test { source = test path = /test html_strip = 1 index_sp = 1 index_zones = zone* } source s1 { type = mysql sql_query_pre = SET NAMES utf8 sql_query = SELECT id, text FROM test_zone1; } index i1 { source = s1 path = /i1 docinfo = extern html_strip = 1 index_zones = h1 } create table test_table ( id int not null, gid int not null, sgid varchar(10) not null, title varchar(16384) not null ); drop table if exists test_table; and kings, and sealing wax, of cabbages, and ships. bla' ), ( 202, 3, 'bla', 'Of shoes, ships and kings, and sealing wax, of cabbages, and ships. bla' ), ( 204, 3, 'bla', 'Of shoes, ships and kings, and sealing wax, of cabbages, and ships. bla' ), ( 205, 3, 'bla', 'Of shoes, ships and kings, and sealing wax, of cabbages, and ships. bla' ), ( 206, 3, 'bla', 'Of shoes, ships and kings, and sealing wax, of cabbages, and ships. bla' ), ( 207, 3, 'bla', 'Of shoes, ships and kings, and sealing wax, of cabbages, and ships. bla' ), ( 208, 3, 'bla', 'Of shoes, ships and kings, and sealing wax, of cabbages, and ships. bla' ), ( 209, 3, 'bla', 'Of shoes, ships and kings, and sealing wax, of cabbages, and ships. bla' ), ( 210, 3, 'bla', 'Of shoes, and kings, and sealing wax, of cabbages, and ships. bla' );]]> CREATE TABLE `test_zone1` ( `id` int(11) NOT NULL, `text` varchar(16384) NOT NULL ) drop table if exists test_zone1; wine white 1977,1978,1979,1980,1981,1982 100,

wine white 1977,1978,1979,1980,1981,1982 85

,

wine white 1977,1978,1979,1980,1981,1982 100

,

wine white 1977,1978,1979,1980,1981,1982 85

,

wine white 1977,1978,1979,1980,1981,1982 100

,

wine white 1977,1978,1979,1980,1981,1982 85

,

wine white 1984,1985,1986,1987,1988 66

,

wine white 1986,1987,1988,1989,1990 65

,

wine white 1985,1986,1987,1988,1989,1990 66

,

wine white 1982,1983,1984 100

,

wine white 1982,1983,1984 96

,

wine white 1984,1985,1986 85

,

wine white 1982,1983,1984 79

,

wine white 1984,1985,1986,1987,1988 101

,

wine white 1989,1990 101

,

wine white 1985,1986 88

,

wine white 1984,1985,1986,1987,1988 101

,

wine white 1989,1990 101

,

wine white 1990 98

,

wine white 1986,1987,1988,1989,1990 100

,

wine white 1986,1987,1988,1989,1990 100

,

wine white 1990 98

,

wine white 1990 88

,

wine white 1990,1991,1992,1993,1994 85

,

wine white 1990,1991,1992,1993,1994 85

,

wine white 1992,1993,1994 103

,

wine white 1992,1993,1994 103

,

wine white 1992,1993,1994 103

,

wine white 1992,1993,1994 103

,

wine white 1990,1991,1992 85

,

wine white 1990,1991,1992 85

,

wine white 1990,1991,1992,1993,1994 98

,

wine white 1990,1991,1992,1993,1994 98

,

wine white 1990,1991,1992,1993,1994 98

,

wine white 1990,1991,1992,1993,1994 98

,

wine white 1990,1991,1992,1993,1994 85

,

wine white 1990,1991,1992,1993,1994 85

,

wine white 1993,1994 102

,

wine white 1993,1994 102

,

wine white 1977,1978,1979,1980,1981,1982,1983 85

,

wine white 1977,1978,1979,1980,1981,1982,1983 100

,

wine white 1984,1985,1986,1987,1988 66

,

wine white 1986,1987,1988,1989,1990 65

,

wine white 1985,1986,1987,1988,1989,1990 66

,

wine white 1982,1983,1984 100

,

wine white 1982,1983,1984 96

,

wine white 1984,1985,1986,1987,1988 101

,

wine white 1984,1985,1986 85

,

wine white 1985,1986 88

,

wine white 1984,1985,1986,1987,1988 101

,

wine white 1989,1990 101

,

wine white 1990 98

,

wine white 1986,1987,1988,1989,1990 100

,

wine white 1986,1987,1988,1989,1990 100

,

wine white 1990 98

,

wine white 1990 88

,

wine white 1991,1992,1993,1994 85

,

wine white 1991,1992,1993,1994 74

,

wine white 1992,1993,1994 103

,

wine white 1992,1993,1994 103

,

wine white 1990,1991,1992 85

,

wine white 1991,1992,1993,1994 98

,

wine white 1991,1992,1993,1994 98

,

wine white 1990,1991,1992,1993,1994 85

,

wine white 1993,1994 102

,

wine white 1993,1994 102

,

wine white 1990,1991,1992,1993,1994 74

,

wine white 1990,1991,1992,1993,1994 74

,

wine white 1993,1994 102

,

wine white 1993,1994 102

,

wine white 1979,1980,1981,1982 100

,

wine white 1979,1980,1981,1982 100

,

wine white 1983,1984 100

,

wine white 1983,1984 100

,

wine white 1984,1985 101

,

wine white 1984,1985 101

,

wine white 1986,1987,1988,1989,1990,1991 100

,

wine white 1986,1987,1988,1989,1990,1991 100

,

wine white 1986,1987,1988,1989,1990,1991 100

,

wine white 1986,1987,1988 83

,

wine white 1986,1987,1988 83

,

wine white 1986,1987,1988,1989,1990,1991 82

,

wine white 1986,1987,1988,1989,1990,1991 82

,

wine white 1986,1987,1988,1989,1990,1991 82

,

wine white 1986,1987,1988,1989,1990,1991 82

,

wine white 1986,1987,1988,1989,1990 83

,

wine white 1986,1987,1988,1989,1990 83

,

wine white 1988,1989,1990 83

,

wine white 1988,1989,1990 83

,

wine white 1990,1991 101

,

wine white 1990,1991 101

,

wine white 1990,1991 101

,

wine white 1990,1991 101

,

wine white 1988,1989,1990 83

,

wine white 1988,1989,1990 83

,

wine white 1990,1991 82

,

wine white 1990,1991 85

,

wine white 1990,1991 82

,

wine white 1990,1991 85

,

wine white 1987,1988,1989 98

,

wine white 1987,1988,1989 98

,

wine white 1991,1992,1993,1994 66

,

wine white 1991,1992,1993,1994 66

,

wine white 1991,1992,1993,1994 66

,

wine white 1991,1992,1993,1994 66

,

wine white 1992,1993,1994 103

,

wine white 1992,1993,1994 103

,

wine white 1992,1993,1994 103

,

wine white 1992,1993,1994 103

,

wine white 1991,1992,1993,1994 85

,

wine white 1991,1992,1993,1994 85

,

wine white 1993,1994 79

,

wine white 1993,1994 79

,

wine white 1991,1992,1993,1994 98

,

wine white 1991,1992,1993,1994 98

,

wine white 1991,1992,1993,1994 98

,

wine white 1991,1992,1993,1994 98

,

wine white 1993,1994,1995,1996 74

,

wine white 1992,1993,1994,1995,1996 66

,

wine white 1992,1993,1994,1995,1996 66

,

wine white 1992,1993,1994,1995,1996 85

,

wine white 1993,1994,1995,1996 103

,

wine white 1992,1993,1994,1995 103

,

wine white 1993,1994,1995,1996 79

,

wine white 1992,1993,1994,1995,1996 98

,

wine white 1991,1992,1993,1994 98

,

wine white 1994,1995,1996 102

,

wine white 1984,1985,1986 82

,

wine white 1984,1985,1986 82

,

wine white 1981,1982,1983 85

,

wine white 1981,1982,1983 85

,

wine white 1990,1991 82

,

wine white 1990,1991 82

,

wine white 1993,1994 74

,

wine white 1993,1994 74

,

wine white 1991,1992,1993,1994 85

,

wine white 1991,1992,1993,1994 85

,

wine white 1986,1987 83

,

wine white 1986,1987 83

,

wine white 1984,1985,1986,1987 100

,

wine white 1984,1985,1986,1987 100

,

wine white 1985,1986,1987 88

,

wine white 1984,1985,1986,1987 100

,

wine white 1984,1985,1986,1987 100

,

wine white 1985,1986,1987 88

,

wine white 1988,1989,1990,1991 85

,

wine white 1988,1989,1990,1991 85

,

wine white 1989,1990 101

,

wine white 1989,1990 101

,

wine white 1987,1988,1989,1990,1991 100

,

wine white 1987,1988,1989,1990,1991 100

,

wine white 1987,1988,1989,1990,1991 100

,

wine white 1987,1988,1989,1990,1991 100

,

wine white 1987,1988,1989,1990,1991 98

,

wine white 1987,1988,1989,1990,1991 100

,

wine white 1987,1988,1989,1990,1991 100

,

wine white 1987,1988,1989,1990,1991 98

,

wine white 1987,1988,1989,1990,1991 100

,

wine white 1987,1988,1989,1990,1991 100

,

wine white 1987,1988,1989,1990,1991 98

,

wine white 1987,1988,1989,1990,1991 98

,

wine white 1994,1995,1996,1997,1998,1999,2000 74

,

wine white 1994,1995,1996,1997,1998,1999,2000 74

,

wine white 1995,1996,1997,1998,1999,2000 85

,

wine white 1995,1996,1997,1998,1999,2000 92

,

wine white 1995,1996,1997,1998,1999,2000 85

,

wine white 1995,1996,1997,1998,1999,2000 95

,

wine white 1995,1996,1997,1998,1999,2000 92

,

wine white 1995,1996,1997,1998,1999,2000 95

,

wine white 1995,1996,1997,1998,1999,2000 85

,

wine white 1995,1996,1997,1998,1999,2000 92

,

wine white 1995,1996,1997,1998,1999,2000 92

,

wine white 1995,1996,1997,1998,1999,2000 85

,

wine white 1995,1996,1997,1998,1999,2000 66

,

wine white 1995,1996,1997,1998,1999,2000 81

,

wine white 1995,1996,1997,1998,1999,2000 81

,

wine white 1995,1996,1997,1998,1999,2000 66

,

wine white 2000 85

,

wine white 1996,1997,1998,1999,2000 81

,

wine white 2000 85

,

wine white 1996,1997,1998,1999,2000 81

,

wine white 1996,1997 102

,

wine white 1996,1997 102

,

wine white 1994,1995,1996,1997,1998,1999,2000,2001 74

,

wine white 1996,1997,1998,1999,2000,2001 92

,

wine white 1995,1996,1997,1998,1999,2000,2001 85

,

wine white 1996,1997,1998,1999,2000,2001 92

,

wine white 1995,1996,1997,1998,1999,2000,2001 85

,

wine white 1996,1997,1998,1999,2000,2001 81

,

wine white 1996,1997,1998,1999,2000,2001 66

,

wine white 2000,2001 85

,

wine white 2000,2001 85

,

wine white 1996,1997,1998,1999,2000,2001 81

,

wine white 1996,1997 102

,

wine white 2000 85

,

wine white 2000 85

,

wine white 1995,1996,1997 92

,

wine white 1995,1996,1997 92

,

wine white 1994,1995,1996,1997 66

,

wine white 1994,1995,1996,1997 66

,

wine white 1994,1995,1996,1997 85

,

wine white 1994,1995,1996,1997 74

,

wine white 1994,1995,1996,1997 74

,

wine white 1995,1996 79

,

wine white 1994,1995,1996,1997 85

,

wine white 1995,1996 79

,

wine white 1994,1995,1996,1997 103

,

wine white 1994,1995,1996,1997 103

,

wine white 1994,1995,1996,1997 103

,

wine white 1994,1995,1996,1997 103

,

wine white 1994,1995 98

,

wine white 1994,1995 98

,

wine white 1994,1995 98

,

wine white 1994,1995 98

,

wine white 1995,1996,1997 84

,

wine white 1994,1995,1996,1997 85

,

wine white 1995,1996,1997 84

,

wine white 1994,1995,1996,1997 85

,

wine white 1995,1996,1997 103

,

wine white 1995,1996,1997 103

,

wine white 1994,1995,1996,1997 102

,

wine white 1994,1995,1996,1997 102

,

wine white 1995,1996,1997 92

,

wine white 1995,1996,1997 92

,

wine white 1994,1995,1996,1997 66

,

wine white 1994,1995,1996,1997 85

,

wine white 1994,1995,1996,1997 74

,

wine white 1995,1996 79

,

wine white 1994,1995,1996,1997 103

,

wine white 1994,1995,1996,1997 103

,

wine white 1994,1995 98

,

wine white 1994,1995 98

,

wine white 1994,1995,1996,1997 103

,

wine white 1995,1996,1997 84

,

wine white 1994,1995,1996,1997 85

,

wine white 1995,1996,1997 103

,

wine white 1994,1995,1996,1997 102

,

wine white 1995,1996,1997 92

,

wine white 1995,1996,1997 92

,

wine white 1994,1995,1996,1997 103

,

wine white 1994,1995,1996,1997 103

,

wine white 1997,1998,1999,2000 92

,

wine white 1995,1996,1997,1998,1999,2000 66

,

wine white 1995,1996 103

,

wine white 1993,1994,1995,1996,1997,1998 85

,

wine white 1991,1992,1993,1994 98

,

wine white 1995,1996,1997,1998,1999,2000 102

,

wine white 1986,1987 79

,

wine white 1985,1986,1987,1988 68

,

wine white 1983,1984,1985,1986 85

,

wine white 1984,1985,1986,1987,1988 100

,

wine white 1984,1985,1986,1987,1988 100

,

wine white 1987,1988 100

,

wine white 1987,1988 100

,

wine white 1989,1990,1991 82

,

wine white 1989,1990,1991,1992,1993,1994,1995,1996 85

,

wine white 1989,1990 83

,

wine white 1990 82

,

wine white 1992 101

,

wine white 1992,1993,1994,1995,1996 103

,

wine white 1988,1989,1990,1991 100

,

wine white 1988,1989,1990,1991,1992,1993,1994 100

,

wine white 1990,1991,1992,1993,1994,1995,1996 98

,

wine white 1988,1989,1990,1991,1992 100

,

wine white 1984,1985,1986,1987 89

,

wine white 1984,1985,1986,1987 100

'), (386640504,'

wine white 1983,1984,1985,1986,1987,1988,1989 66

,

wine white 1986,1987,1988 65

,

wine white 1985,1986,1987,1988,1989,1990 66

,

wine white 1984,1985,1986,1987,1988 66

,

wine white 1986,1987,1988,1989,1990 65

,

wine white 1985,1986,1987,1988,1989,1990 66

,

wine white 1982,1983,1984 74

,

wine white 1986,1987 83

,

wine white 1984,1985,1986,1987 85

,

wine white 1988,1989,1990 85

,

wine white 1988,1989,1990 74

,

wine white 1982,1983,1984 100

,

wine white 1984,1985,1986 85

,

wine white 1982,1983,1984 79

,

wine white 1982,1983,1984 96

,

wine white 1984,1985,1986,1987,1988 101

,

wine white 1989,1990 101

,

wine white 1985,1986 88

,

wine white 1984,1985,1986,1987,1988 101

,

wine white 1989,1990 101

,

wine white 1986,1987,1988,1989,1990 100

,

wine white 1990 98

,

wine white 1986,1987,1988,1989,1990 100

,

wine white 1990 98

,

wine white 1990 88

,

wine white 1992,1993 87

,

wine white 1992,1993 87

,

wine white 1990,1991,1992,1993,1994 85

,

wine white 1990,1991,1992,1993,1994 85

,

wine white 1992,1993,1994 103

,

wine white 1992,1993,1994 103

,

wine white 1992,1993,1994 103

,

wine white 1992,1993,1994 103

,

wine white 1990,1991,1992 85

,

wine white 1990,1991,1992 85

,

wine white 1990,1991,1992,1993,1994 98

,

wine white 1990,1991,1992,1993,1994 98

,

wine white 1990,1991,1992,1993,1994 98

,

wine white 1990,1991,1992,1993,1994 98

,

wine white 1990,1991,1992,1993,1994 85

,

wine white 1990,1991,1992,1993,1994 85

,

wine white 1993,1994 102

,

wine white 1993,1994 102

,

wine white 1983,1984,1985,1986,1987,1988,1989 66

,

wine white 1986,1987,1988,1989,1990 65

,

wine white 1985,1986,1987,1988,1989,1990 66

,

wine white 1986,1987,1988,1989,1990 65

,

wine white 1984,1985,1986,1987,1988 66

,

wine white 1985,1986,1987,1988,1989,1990 66

,

wine white 1983,1984 74

,

wine white 1986,1987 83

,

wine white 1985,1986,1987 85

,

wine white 1988,1989,1990 85

,

wine white 1988,1989,1990 74

,

wine white 1982,1983,1984 100

,

wine white 1982,1983,1984 96

,

wine white 1984,1985,1986 85

,

wine white 1984,1985,1986,1987,1988 101

,

wine white 1989,1990 101

,

wine white 1985,1986 88

,

wine white 1984,1985,1986,1987,1988 101

,

wine white 1989,1990 101

,

wine white 1986,1987,1988,1989,1990 100

,

wine white 1990 98

,

wine white 1986,1987,1988,1989,1990 100

,

wine white 1990 98

,

wine white 1990 88

,

wine white 1992,1993 87

,

wine white 1991,1992,1993,1994 85

,

wine white 1991,1992,1993,1994 74

,

wine white 1992,1993,1994 103

,

wine white 1992,1993,1994 103

,

wine white 1990,1991,1992 85

,

wine white 1991,1992,1993,1994 98

,

wine white 1991,1992,1993,1994 98

,

wine white 1990,1991,1992,1993,1994 85

,

wine white 1993,1994 102

,

wine white 1993,1994 102

,

wine white 1990,1991,1992,1993,1994 74

,

wine white 1990,1991,1992,1993,1994 74

,

wine white 1993,1994 102

,

wine white 1993,1994 102

,

wine white 1979,1980,1981,1982 100

,

wine white 1979,1980,1981,1982 100

,

wine white 1983,1984 100

,

wine white 1983,1984 100

,

wine white 1984,1985 101

,

wine white 1984,1985 101

,

wine white 1986,1987,1988,1989,1990,1991 100

,

wine white 1986,1987,1988,1989,1990,1991 100

,

wine white 1986,1987,1988,1989,1990,1991 100

,

wine white 1980,1981,1982,1983 85

,

wine white 1980,1981,1982,1983 85

,

wine white 1982,1983,1984 96

,

wine white 1982,1983,1984 100

,

wine white 1982,1983,1984 96

,

wine white 1982,1983,1984 100

,

wine white 1982,1983,1984 100

,

wine white 1982,1983,1984 100

,

wine white 1990,1991 75

,

wine white 1990,1991 75

,

wine white 1986,1987,1988 83

,

wine white 1986,1987,1988 83

,

wine white 1986,1987,1988,1989,1990,1991 82

,

wine white 1986,1987,1988,1989,1990,1991 82

,

wine white 1986,1987,1988,1989,1990,1991 82

,

wine white 1986,1987,1988,1989,1990,1991 82

,

wine white 1986,1987,1988,1989,1990 83

,

wine white 1986,1987,1988,1989,1990 83

,

wine white 1986,1987,1988,1989,1990,1991 66

,

wine white 1986,1987,1988,1989,1990,1991 66

,

wine white 1986,1987,1988,1989,1990 65

,

wine white 1986,1987,1988,1989,1990 65

,

wine white 1986,1987,1988,1989,1990,1991 66

,

wine white 1986,1987,1988,1989,1990,1991 66

,

wine white 1986,1987,1988,1989,1990 65

,

wine white 1986,1987,1988,1989,1990 65

,

wine white 1988,1989,1990 83

,

wine white 1988,1989,1990 83

,

wine white 1990,1991 101

,

wine white 1990,1991 101

,

wine white 1990,1991 101

,

wine white 1990,1991 101

,

wine white 1988,1989,1990 83

,

wine white 1988,1989,1990 83

,

wine white 1990,1991 85

,

wine white 1990,1991 82

,

wine white 1990,1991 82

,

wine white 1990,1991 85

,

wine white 1987,1988,1989 98

,

wine white 1987,1988,1989 98

,

wine white 1991,1992,1993,1994 66

,

wine white 1991,1992,1993,1994 66

,

wine white 1991,1992,1993,1994 66

,

wine white 1991,1992,1993,1994 66

,

wine white 1992,1993,1994 103

,

wine white 1992,1993,1994 103

,

wine white 1992,1993,1994 103

,

wine white 1992,1993,1994 103

,

wine white 1991,1992,1993,1994 85

,

wine white 1991,1992,1993,1994 85

,

wine white 1993,1994 79

,

wine white 1993,1994 79

,

wine white 1991,1992,1993,1994 98

,

wine white 1991,1992,1993,1994 98

,

wine white 1991,1992,1993,1994 98

,

wine white 1991,1992,1993,1994 98

,

wine white 1993,1994,1995,1996 74

,

wine white 1992,1993,1994,1995,1996 66

,

wine white 1992,1993,1994,1995,1996 66

,

wine white 1992,1993,1994,1995,1996 85

,

wine white 1993,1994,1995,1996 103

,

wine white 1992,1993,1994,1995 103

,

wine white 1993,1994,1995,1996 79

,

wine white 1992,1993,1994,1995,1996 98

,

wine white 1991,1992,1993,1994 98

,

wine white 1994,1995,1996 102

,

wine white 1990,1991 82

,

wine white 1990,1991 82

,

wine white 1993,1994 74

,

wine white 1993,1994 74

,

wine white 1991,1992,1993,1994 85

,

wine white 1991,1992,1993,1994 85

,

wine white 1984,1985,1986,1987 85

,

wine white 1986,1987 83

,

wine white 1986,1987 83

,

wine white 1984,1985,1986,1987 85

,

wine white 1985,1986,1987 85

,

wine white 1985,1986,1987 85

,

wine white 1984,1985,1986,1987 100

,

wine white 1985,1986,1987 88

,

wine white 1985,1986,1987 88

,

wine white 1984,1985,1986,1987 100

,

wine white 1988,1989,1990,1991 85

,

wine white 1988,1989,1990,1991 85

,

wine white 1989,1990 101

,

wine white 1989,1990 101

,

wine white 1987,1988,1989,1990,1991 100

,

wine white 1987,1988,1989,1990,1991 100

,

wine white 1987,1988,1989,1990,1991 100

,

wine white 1987,1988,1989,1990,1991 100

,

wine white 1987,1988,1989,1990,1991 98

,

wine white 1987,1988,1989,1990,1991 100

,

wine white 1987,1988,1989,1990,1991 98

,

wine white 1987,1988,1989,1990,1991 100

,

wine white 1987,1988,1989,1990,1991 100

,

wine white 1987,1988,1989,1990,1991 98

,

wine white 1987,1988,1989,1990,1991 98

,

wine white 1987,1988,1989,1990,1991 100

,

wine white 1994,1995,1996,1997,1998,1999,2000 74

,

wine white 2000 75

,

wine white 1994,1995,1996,1997,1998,1999,2000 74

,

wine white 2000 75

,

wine white 1995,1996,1997,1998,1999,2000 85

,

wine white 1995,1996,1997,1998,1999,2000 92

,

wine white 1995,1996,1997,1998,1999,2000 85

,

wine white 1995,1996,1997,1998,1999,2000 92

,

wine white 1995,1996,1997,1998,1999,2000 95

,

wine white 1995,1996,1997,1998,1999,2000 95

,

wine white 1995,1996,1997,1998,1999,2000 85

,

wine white 1995,1996,1997,1998,1999,2000 85

,

wine white 1996,1997 102

,

wine white 1996,1997 102

,

wine white 1994,1995,1996,1997,1998,1999,2000,2001 74

,

wine white 2000,2001 75

,

wine white 1995,1996,1997,1998,1999,2000,2001 85

,

wine white 1995,1996,1997,1998,1999,2000,2001 85

,

wine white 1996,1997,1998,1999,2000,2001 92

,

wine white 1996,1997 102

,

wine white 1995,1996,1997 92

,

wine white 1995,1996,1997 92

,

wine white 1994,1995,1996,1997 66

,

wine white 1994,1995,1996,1997 66

,

wine white 1994,1995,1996,1997 74

,

wine white 1995,1996 79

,

wine white 1994,1995,1996,1997 74

,

wine white 1994,1995,1996,1997 85

,

wine white 1995,1996 79

,

wine white 1994,1995,1996,1997 85

,

wine white 1994,1995,1996,1997 103

,

wine white 1994,1995,1996,1997 103

,

wine white 1994,1995,1996,1997 103

,

wine white 1994,1995,1996,1997 103

,

wine white 1994,1995 98

,

wine white 1994,1995 98

,

wine white 1994,1995,1996,1997 85

,

wine white 1995,1996,1997 84

,

wine white 1995,1996,1997 84

,

wine white 1994,1995,1996,1997 85

,

wine white 1995,1996,1997 103

,

wine white 1995,1996,1997 103

,

wine white 1994,1995,1996,1997 102

,

wine white 1994,1995,1996,1997 102

,

wine white 1995,1996,1997 92

,

wine white 1995,1996,1997 92

,

wine white 1994,1995,1996,1997 66

,

wine white 1995,1996 79

,

wine white 1994,1995,1996,1997 85

,

wine white 1994,1995,1996,1997 74

,

wine white 1994,1995,1996,1997 103

,

wine white 1994,1995,1996,1997 103

,

wine white 1994,1995 98

,

wine white 1994,1995 98

,

wine white 1995,1996,1997 84

,

wine white 1994,1995,1996,1997 103

,

wine white 1994,1995,1996,1997 85

,

wine white 1995,1996,1997 103

,

wine white 1994,1995,1996,1997 102

,

wine white 1995,1996,1997 92

,

wine white 1995,1996,1997 92

,

wine white 1994,1995,1996,1997 103

,

wine white 1994,1995,1996,1997 103

,

wine white 1997,1998,1999,2000 92

,

wine white 1995,1996,1997,1998,1999,2000 66

,

wine white 1995,1996 103

,

wine white 1993,1994,1995,1996,1997,1998 85

,

wine white 1991,1992,1993,1994 98

,

wine white 1995,1996,1997,1998,1999,2000 102

,

wine white 1984,1985,1986,1987,1988 100

,

wine white 1981,1982,1983,1984,1985,1986,1987 85

,

wine white 1984,1985,1986,1987,1988 100

,

wine white 1985,1986,1987,1988 88

,

wine white 1989,1990,1991 82

,

wine white 1989,1990,1991,1992,1993,1994,1995,1996 85

,

wine white 1989,1990 83

,

wine white 1990 82

,

wine white 1992 101

,

wine white 1992,1993,1994,1995,1996 103

,

wine white 1988,1989,1990,1991 100

,

wine white 1988,1989,1990,1991,1992,1993,1994 100

,

wine white 1990,1991,1992,1993,1994,1995,1996 98

,

wine white 1988,1989,1990,1991,1992 100

,

wine white 1990,1991,1992,1993,1994,1995,1996 98

,

wine white 1984,1985,1986,1987 100

,

wine white 1984,1985,1986,1987 89

'), (2147483647,'

wine white 1986,1987,1988 65

,

wine white 1983,1984,1985,1986,1987,1988,1989 66

,

wine white 1985,1986,1987,1988,1989,1990 66

,

wine white 1984,1985,1986,1987,1988 66

,

wine white 1986,1987,1988,1989,1990 65

,

wine white 1985,1986,1987,1988,1989,1990 66

,

wine white 1982,1983,1984 74

,

wine white 1986,1987 83

,

wine white 1984,1985,1986,1987 85

,

wine white 1988,1989,1990 85

,

wine white 1988,1989,1990 74

,

wine white 1982,1983,1984 100

,

wine white 1982,1983,1984 79

,

wine white 1982,1983,1984 96

,

wine white 1984,1985,1986,1987,1988 101

,

wine white 1984,1985,1986 85

,

wine white 1989,1990 101

,

wine white 1985,1986 88

,

wine white 1984,1985,1986,1987,1988 101

,

wine white 1989,1990 101

,

wine white 1990 98

,

wine white 1986,1987,1988,1989,1990 100

,

wine white 1986,1987,1988,1989,1990 100

,

wine white 1990 98

,

wine white 1990 88

,

wine white 1992,1993 87

,

wine white 1992,1993 87

,

wine white 1990,1991,1992,1993,1994 85

,

wine white 1990,1991,1992,1993,1994 85

,

wine white 1992,1993,1994 103

,

wine white 1992,1993,1994 103

,

wine white 1992,1993,1994 103

,

wine white 1992,1993,1994 103

,

wine white 1990,1991,1992 85

,

wine white 1990,1991,1992 85

,

wine white 1990,1991,1992,1993,1994 98

,

wine white 1990,1991,1992,1993,1994 98

,

wine white 1990,1991,1992,1993,1994 98

,

wine white 1990,1991,1992,1993,1994 98

,

wine white 1990,1991,1992,1993,1994 85

,

wine white 1990,1991,1992,1993,1994 85

,

wine white 1993,1994 102

,

wine white 1993,1994 102

,

wine white 1983,1984,1985,1986,1987,1988,1989 66

,

wine white 1986,1987,1988,1989,1990 65

,

wine white 1985,1986,1987,1988,1989,1990 66

,

wine white 1986,1987,1988,1989,1990 65

,

wine white 1984,1985,1986,1987,1988 66

,

wine white 1985,1986,1987,1988,1989,1990 66

,

wine white 1983,1984 74

,

wine white 1986,1987 83

,

wine white 1985,1986,1987 85

,

wine white 1988,1989,1990 85

,

wine white 1988,1989,1990 74

,

wine white 1982,1983,1984 100

,

wine white 1982,1983,1984 96

,

wine white 1984,1985,1986,1987,1988 101

,

wine white 1984,1985,1986 85

,

wine white 1989,1990 101

,

wine white 1985,1986 88

,

wine white 1984,1985,1986,1987,1988 101

,

wine white 1989,1990 101

,

wine white 1986,1987,1988,1989,1990 100

,

wine white 1990 98

,

wine white 1986,1987,1988,1989,1990 100

,

wine white 1990 98

,

wine white 1990 88

,

wine white 1992,1993 87

,

wine white 1991,1992,1993,1994 85

,

wine white 1991,1992,1993,1994 74

,

wine white 1992,1993,1994 103

,

wine white 1992,1993,1994 103

,

wine white 1990,1991,1992 85

,

wine white 1991,1992,1993,1994 98

,

wine white 1991,1992,1993,1994 98

,

wine white 1990,1991,1992,1993,1994 85

,

wine white 1993,1994 102

,

wine white 1993,1994 102

,

wine white 1990,1991,1992,1993,1994 74

,

wine white 1990,1991,1992,1993,1994 74

,

wine white 1993,1994 102

,

wine white 1993,1994 102

,

wine white 1979,1980,1981,1982 100

,

wine white 1979,1980,1981,1982 100

,

wine white 1983,1984 100

,

wine white 1983,1984 100

,

wine white 1984,1985 101

,

wine white 1984,1985 101

,

wine white 1986,1987,1988,1989,1990,1991 100

,

wine white 1986,1987,1988,1989,1990,1991 100

,

wine white 1986,1987,1988,1989,1990,1991 100

,

wine white 1980,1981,1982,1983 85

,

wine white 1980,1981,1982,1983 85

,

wine white 1982,1983,1984 100

,

wine white 1982,1983,1984 96

,

wine white 1982,1983,1984 100

,

wine white 1982,1983,1984 96

,

wine white 1982,1983,1984 100

,

wine white 1982,1983,1984 100

,

wine white 1990,1991 75

,

wine white 1990,1991 75

,

wine white 1986,1987,1988 83

,

wine white 1986,1987,1988 83

,

wine white 1986,1987,1988,1989,1990,1991 82

,

wine white 1986,1987,1988,1989,1990,1991 82

,

wine white 1986,1987,1988,1989,1990,1991 82

,

wine white 1986,1987,1988,1989,1990,1991 82

,

wine white 1986,1987,1988,1989,1990 83

,

wine white 1986,1987,1988,1989,1990 83

,

wine white 1986,1987,1988,1989,1990,1991 66

,

wine white 1986,1987,1988,1989,1990 65

,

wine white 1986,1987,1988,1989,1990 65

,

wine white 1986,1987,1988,1989,1990,1991 66

,

wine white 1986,1987,1988,1989,1990 65

,

wine white 1986,1987,1988,1989,1990 65

,

wine white 1986,1987,1988,1989,1990,1991 66

,

wine white 1986,1987,1988,1989,1990,1991 66

,

wine white 1988,1989,1990 83

,

wine white 1988,1989,1990 83

,

wine white 1990,1991 101

,

wine white 1990,1991 101

,

wine white 1990,1991 101

,

wine white 1990,1991 101

,

wine white 1988,1989,1990 83

,

wine white 1988,1989,1990 83

,

wine white 1990,1991 85

,

wine white 1990,1991 82

,

wine white 1990,1991 85

,

wine white 1990,1991 82

,

wine white 1987,1988,1989 98

,

wine white 1987,1988,1989 98

,

wine white 1991,1992,1993,1994 66

,

wine white 1991,1992,1993,1994 66

,

wine white 1991,1992,1993,1994 66

,

wine white 1991,1992,1993,1994 66

,

wine white 1992,1993,1994 103

,

wine white 1992,1993,1994 103

,

wine white 1992,1993,1994 103

,

wine white 1992,1993,1994 103

,

wine white 1991,1992,1993,1994 85

,

wine white 1991,1992,1993,1994 85

,

wine white 1993,1994 79

,

wine white 1993,1994 79

,

wine white 1991,1992,1993,1994 98

,

wine white 1991,1992,1993,1994 98

,

wine white 1991,1992,1993,1994 98

,

wine white 1991,1992,1993,1994 98

,

wine white 1993,1994,1995,1996 74

,

wine white 1992,1993,1994,1995,1996 66

,

wine white 1992,1993,1994,1995,1996 66

,

wine white 1992,1993,1994,1995,1996 85

,

wine white 1993,1994,1995,1996 103

,

wine white 1992,1993,1994,1995 103

,

wine white 1993,1994,1995,1996 79

,

wine white 1992,1993,1994,1995,1996 98

,

wine white 1991,1992,1993,1994 98

,

wine white 1994,1995,1996 102

,

wine white 1990,1991 82

,

wine white 1990,1991 82

,

wine white 1993,1994 74

,

wine white 1993,1994 74

,

wine white 1991,1992,1993,1994 85

,

wine white 1991,1992,1993,1994 85

,

wine white 1986,1987 83

,

wine white 1984,1985,1986,1987 85

,

wine white 1984,1985,1986,1987 85

,

wine white 1986,1987 83

,

wine white 1985,1986,1987 85

,

wine white 1985,1986,1987 85

,

wine white 1984,1985,1986,1987 100

,

wine white 1984,1985,1986,1987 100

,

wine white 1985,1986,1987 88

,

wine white 1985,1986,1987 88

,

wine white 1988,1989,1990,1991 85

,

wine white 1988,1989,1990,1991 85

,

wine white 1989,1990 101

,

wine white 1989,1990 101

,

wine white 1987,1988,1989,1990,1991 100

,

wine white 1987,1988,1989,1990,1991 100

,

wine white 1987,1988,1989,1990,1991 100

,

wine white 1987,1988,1989,1990,1991 100

,

wine white 1987,1988,1989,1990,1991 98

,

wine white 1987,1988,1989,1990,1991 100

,

wine white 1987,1988,1989,1990,1991 98

,

wine white 1987,1988,1989,1990,1991 100

,

wine white 1987,1988,1989,1990,1991 98

,

wine white 1987,1988,1989,1990,1991 100

,

wine white 1987,1988,1989,1990,1991 100

,

wine white 1987,1988,1989,1990,1991 98

,

wine white 1994,1995,1996,1997,1998,1999,2000 74

,

wine white 2000 75

,

wine white 1994,1995,1996,1997,1998,1999,2000 74

,

wine white 2000 75

,

wine white 1995,1996,1997,1998,1999,2000 95

,

wine white 1995,1996,1997,1998,1999,2000 95

,

wine white 1995,1996,1997,1998,1999,2000 85

,

wine white 1995,1996,1997,1998,1999,2000 92

,

wine white 1995,1996,1997,1998,1999,2000 85

,

wine white 1995,1996,1997,1998,1999,2000 92

,

wine white 1995,1996,1997,1998,1999,2000 85

,

wine white 1995,1996,1997,1998,1999,2000 85

,

wine white 1996,1997 102

,

wine white 1996,1997 102

,

wine white 1994,1995,1996,1997,1998,1999,2000,2001 74

,

wine white 2000,2001 75

,

wine white 1995,1996,1997,1998,1999,2000,2001 85

,

wine white 1996,1997,1998,1999,2000,2001 92

,

wine white 1995,1996,1997,1998,1999,2000,2001 85

,

wine white 1996,1997 102

,

wine white 1995,1996,1997 92

,

wine white 1995,1996,1997 92

,

wine white 1994,1995,1996,1997 66

,

wine white 1994,1995,1996,1997 66

,

wine white 1994,1995,1996,1997 85

,

wine white 1995,1996 79

,

wine white 1994,1995,1996,1997 85

,

wine white 1994,1995,1996,1997 74

,

wine white 1995,1996 79

,

wine white 1994,1995,1996,1997 74

,

wine white 1994,1995,1996,1997 103

,

wine white 1994,1995,1996,1997 103

,

wine white 1994,1995,1996,1997 103

,

wine white 1994,1995,1996,1997 103

,

wine white 1994,1995 98

,

wine white 1994,1995 98

,

wine white 1995,1996,1997 84

,

wine white 1994,1995,1996,1997 85

,

wine white 1994,1995,1996,1997 85

,

wine white 1995,1996,1997 84

,

wine white 1995,1996,1997 103

,

wine white 1995,1996,1997 103

,

wine white 1994,1995,1996,1997 102

,

wine white 1994,1995,1996,1997 102

,

wine white 1995,1996,1997 92

,

wine white 1995,1996,1997 92

,

wine white 1994,1995,1996,1997 66

,

wine white 1994,1995,1996,1997 74

,

wine white 1995,1996 79

,

wine white 1994,1995,1996,1997 85

,

wine white 1994,1995,1996,1997 103

,

wine white 1994,1995,1996,1997 103

,

wine white 1994,1995 98

,

wine white 1994,1995 98

,

wine white 1994,1995,1996,1997 85

,

wine white 1995,1996,1997 84

,

wine white 1994,1995,1996,1997 103

,

wine white 1995,1996,1997 103

,

wine white 1994,1995,1996,1997 102

,

wine white 1995,1996,1997 92

,

wine white 1995,1996,1997 92

,

wine white 1994,1995,1996,1997 103

,

wine white 1994,1995,1996,1997 103

,

wine white 1997,1998,1999,2000 92

,

wine white 1995,1996,1997,1998,1999,2000 66

,

wine white 1995,1996 103

,

wine white 1993,1994,1995,1996,1997,1998 85

,

wine white 1991,1992,1993,1994 98

,

wine white 1995,1996,1997,1998,1999,2000 102

,

wine white 1984,1985,1986,1987,1988 100

,

wine white 1981,1982,1983,1984,1985,1986,1987 85

,

wine white 1985,1986,1987,1988 88

,

wine white 1984,1985,1986,1987,1988 100

,

wine white 1989,1990,1991 82

,

wine white 1989,1990 83

,

wine white 1990 82

,

wine white 1989,1990,1991,1992,1993,1994,1995,1996 85

,

wine white 1992,1993,1994,1995,1996 103

,

wine white 1992 101

,

wine white 1988,1989,1990,1991 100

,

wine white 1990,1991,1992,1993,1994,1995,1996 98

,

wine white 1988,1989,1990,1991,1992,1993,1994 100

,

wine white 1990,1991,1992,1993,1994,1995,1996 98

,

wine white 1988,1989,1990,1991,1992 100

,

wine white 1984,1985,1986,1987 100

,

wine white 1984,1985,1986,1987 89

'), (123456,REPEAT('

hello world

',512)), (123457,'

oppa hello world

'); ]]>
select * from test where match('ZONESPAN:zoneC cabbages and kings') select * from test where match('ZONESPAN:(zoneC,zoneB) kings and ships') select * from test where match('ZONESPAN:zoneC and ships') select * from test where match('ZONESPAN:zoneC kings and') select * from test where match('ZONESPAN:zoneC and kings') order by id desc OPTION max_matches=2 select *, zonespanlist() as c from test where match('ZONESPAN:(zoneB,zoneC) ships cabbages') OPTION max_matches=3 select *, zonespanlist() as c from test where match('ZONESPAN:(zoneC,zoneB) ships cabbages') OPTION max_matches=3 select *, zonespanlist() as c from test where match('ZONESPAN:(zoneB,zoneC) ships and') OPTION max_matches=3 select *, zonespanlist() as c from test where match('ZONESPAN:(zoneC,zoneB) ships and') OPTION max_matches=3 select *, zonespanlist() as c from test where match('ZONESPAN:(zoneC,zoneB) ships and') OPTION max_matches=2,sort_method=kbuffer select *, zonespanlist() as c from test where match('ZONESPAN:(zoneC,zoneB) ships and') group by gid within group order by id desc OPTION max_matches=2 select *, zonespanlist() l from i1 where match('ZONESPAN:(h1)white wine 1987') order by id asc select *, zonespanlist() l from i1 where match('ZONESPAN:(h1)1987 white wine') order by id asc select *, zonespanlist() l from i1 where match('ZONESPAN:(h1)1987 wine white 65') order by id asc select *, zonespanlist() l from i1 where match('ZONESPAN:(h1)wine white 1987 65') order by id asc select *, zonespanlist() l from i1 where match('( ZONESPAN:(h1)1987 wine white ) NEAR/3 65') order by id asc select *, zonespanlist() l from i1 where match('( ZONESPAN:(h1)wine white 1987 ) NEAR/3 65') order by id asc select *, zonespanlist() l from i1 where match('ZONESPAN:h1 hello world')
sphinx-2.2.11-release/test/test_195/model.bin0000644000175000017500000003033012743402012020204 0ustar alexeyalexeya:1:{i:0;a:18:{i:0;a:2:{s:8:"sphinxql";s:67:"select * from test where match('ZONESPAN:zoneC cabbages and kings')";s:10:"total_rows";i:0;}i:1;a:3:{s:8:"sphinxql";s:72:"select * from test where match('ZONESPAN:(zoneC,zoneB) kings and ships')";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:3:"201";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}i:1;a:3:{s:2:"id";s:3:"202";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}i:2;a:3:{s:2:"id";s:3:"204";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}i:3;a:3:{s:2:"id";s:3:"205";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}i:4;a:3:{s:2:"id";s:3:"206";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}i:5;a:3:{s:2:"id";s:3:"207";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}i:6;a:3:{s:2:"id";s:3:"208";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}i:7;a:3:{s:2:"id";s:3:"209";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}}}i:2;a:3:{s:8:"sphinxql";s:58:"select * from test where match('ZONESPAN:zoneC and ships')";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:3:"201";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}i:1;a:3:{s:2:"id";s:3:"210";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}i:2;a:3:{s:2:"id";s:3:"202";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}i:3;a:3:{s:2:"id";s:3:"204";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}i:4;a:3:{s:2:"id";s:3:"205";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}i:5;a:3:{s:2:"id";s:3:"206";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}i:6;a:3:{s:2:"id";s:3:"207";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}i:7;a:3:{s:2:"id";s:3:"208";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}i:8;a:3:{s:2:"id";s:3:"209";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}}}i:3;a:3:{s:8:"sphinxql";s:58:"select * from test where match('ZONESPAN:zoneC kings and')";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:3:"201";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}i:1;a:3:{s:2:"id";s:3:"202";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}i:2;a:3:{s:2:"id";s:3:"204";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}i:3;a:3:{s:2:"id";s:3:"205";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}i:4;a:3:{s:2:"id";s:3:"206";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}i:5;a:3:{s:2:"id";s:3:"207";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}i:6;a:3:{s:2:"id";s:3:"208";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}i:7;a:3:{s:2:"id";s:3:"209";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}i:8;a:3:{s:2:"id";s:3:"210";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}}}i:4;a:3:{s:8:"sphinxql";s:96:"select * from test where match('ZONESPAN:zoneC and kings') order by id desc OPTION max_matches=2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:3:"210";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}i:1;a:3:{s:2:"id";s:3:"209";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";}}}i:5;a:3:{s:8:"sphinxql";s:113:"select *, zonespanlist() as c from test where match('ZONESPAN:(zoneB,zoneC) ships cabbages') OPTION max_matches=3";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:3:"201";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";s:1:"c";s:4:" 1:1";}}}i:6;a:3:{s:8:"sphinxql";s:113:"select *, zonespanlist() as c from test where match('ZONESPAN:(zoneC,zoneB) ships cabbages') OPTION max_matches=3";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:3:"201";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";s:1:"c";s:4:" 2:1";}}}i:7;a:3:{s:8:"sphinxql";s:108:"select *, zonespanlist() as c from test where match('ZONESPAN:(zoneB,zoneC) ships and') OPTION max_matches=3";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:3:"201";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";s:1:"c";s:12:" 1:1 2:1 2:2";}i:1;a:4:{s:2:"id";s:3:"210";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";s:1:"c";s:4:" 2:2";}i:2;a:4:{s:2:"id";s:3:"202";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";s:1:"c";s:8:" 2:1 2:2";}}}i:8;a:3:{s:8:"sphinxql";s:108:"select *, zonespanlist() as c from test where match('ZONESPAN:(zoneC,zoneB) ships and') OPTION max_matches=3";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:3:"201";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";s:1:"c";s:12:" 1:1 2:1 1:2";}i:1;a:4:{s:2:"id";s:3:"210";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";s:1:"c";s:4:" 1:2";}i:2;a:4:{s:2:"id";s:3:"202";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";s:1:"c";s:8:" 1:1 1:2";}}}i:9;a:3:{s:8:"sphinxql";s:128:"select *, zonespanlist() as c from test where match('ZONESPAN:(zoneC,zoneB) ships and') OPTION max_matches=2,sort_method=kbuffer";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:3:"201";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";s:1:"c";s:12:" 1:1 2:1 1:2";}i:1;a:4:{s:2:"id";s:3:"210";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";s:1:"c";s:4:" 1:2";}}}i:10;a:3:{s:8:"sphinxql";s:151:"select *, zonespanlist() as c from test where match('ZONESPAN:(zoneC,zoneB) ships and') group by gid within group order by id desc OPTION max_matches=2";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:3:"210";s:3:"gid";s:1:"3";s:4:"sgid";s:3:"bla";s:1:"c";s:4:" 1:2";}}}i:11;a:3:{s:8:"sphinxql";s:94:"select *, zonespanlist() l from i1 where match('ZONESPAN:(h1)white wine 1987') order by id asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:9:"143770902";s:1:"l";s:302:" 1:7 1:8 1:9 1:14 1:17 1:20 1:21 1:42 1:43 1:44 1:47 1:50 1:53 1:54 1:77 1:78 1:79 1:80 1:81 1:82 1:83 1:84 1:85 1:86 1:87 1:100 1:101 1:138 1:139 1:140 1:141 1:142 1:143 1:144 1:145 1:150 1:151 1:152 1:153 1:154 1:155 1:156 1:157 1:158 1:159 1:160 1:161 1:248 1:249 1:251 1:252 1:253 1:254 1:265 1:266";}i:1;a:2:{s:2:"id";s:9:"386640504";s:1:"l";s:403:" 1:1 1:2 1:3 1:4 1:5 1:6 1:8 1:9 1:16 1:19 1:21 1:23 1:44 1:45 1:46 1:47 1:48 1:49 1:51 1:52 1:58 1:61 1:63 1:65 1:89 1:90 1:91 1:102 1:103 1:104 1:105 1:106 1:107 1:108 1:109 1:110 1:111 1:112 1:113 1:114 1:115 1:116 1:117 1:130 1:131 1:164 1:165 1:166 1:167 1:168 1:169 1:170 1:171 1:172 1:173 1:178 1:179 1:180 1:181 1:182 1:183 1:184 1:185 1:186 1:187 1:188 1:189 1:259 1:260 1:261 1:262 1:274 1:275";}i:2;a:2:{s:2:"id";s:10:"2147483647";s:1:"l";s:403:" 1:1 1:2 1:3 1:4 1:5 1:6 1:8 1:9 1:15 1:19 1:22 1:23 1:44 1:45 1:46 1:47 1:48 1:49 1:51 1:52 1:57 1:61 1:63 1:65 1:89 1:90 1:91 1:102 1:103 1:104 1:105 1:106 1:107 1:108 1:109 1:110 1:111 1:112 1:113 1:114 1:115 1:116 1:117 1:130 1:131 1:164 1:165 1:166 1:167 1:168 1:169 1:170 1:171 1:172 1:173 1:178 1:179 1:180 1:181 1:182 1:183 1:184 1:185 1:186 1:187 1:188 1:189 1:259 1:260 1:261 1:262 1:274 1:275";}}}i:12;a:3:{s:8:"sphinxql";s:94:"select *, zonespanlist() l from i1 where match('ZONESPAN:(h1)1987 white wine') order by id asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:9:"143770902";s:1:"l";s:302:" 1:7 1:8 1:9 1:14 1:17 1:20 1:21 1:42 1:43 1:44 1:47 1:50 1:53 1:54 1:77 1:78 1:79 1:80 1:81 1:82 1:83 1:84 1:85 1:86 1:87 1:100 1:101 1:138 1:139 1:140 1:141 1:142 1:143 1:144 1:145 1:150 1:151 1:152 1:153 1:154 1:155 1:156 1:157 1:158 1:159 1:160 1:161 1:248 1:249 1:251 1:252 1:253 1:254 1:265 1:266";}i:1;a:2:{s:2:"id";s:9:"386640504";s:1:"l";s:403:" 1:1 1:2 1:3 1:4 1:5 1:6 1:8 1:9 1:16 1:19 1:21 1:23 1:44 1:45 1:46 1:47 1:48 1:49 1:51 1:52 1:58 1:61 1:63 1:65 1:89 1:90 1:91 1:102 1:103 1:104 1:105 1:106 1:107 1:108 1:109 1:110 1:111 1:112 1:113 1:114 1:115 1:116 1:117 1:130 1:131 1:164 1:165 1:166 1:167 1:168 1:169 1:170 1:171 1:172 1:173 1:178 1:179 1:180 1:181 1:182 1:183 1:184 1:185 1:186 1:187 1:188 1:189 1:259 1:260 1:261 1:262 1:274 1:275";}i:2;a:2:{s:2:"id";s:10:"2147483647";s:1:"l";s:403:" 1:1 1:2 1:3 1:4 1:5 1:6 1:8 1:9 1:15 1:19 1:22 1:23 1:44 1:45 1:46 1:47 1:48 1:49 1:51 1:52 1:57 1:61 1:63 1:65 1:89 1:90 1:91 1:102 1:103 1:104 1:105 1:106 1:107 1:108 1:109 1:110 1:111 1:112 1:113 1:114 1:115 1:116 1:117 1:130 1:131 1:164 1:165 1:166 1:167 1:168 1:169 1:170 1:171 1:172 1:173 1:178 1:179 1:180 1:181 1:182 1:183 1:184 1:185 1:186 1:187 1:188 1:189 1:259 1:260 1:261 1:262 1:274 1:275";}}}i:13;a:3:{s:8:"sphinxql";s:97:"select *, zonespanlist() l from i1 where match('ZONESPAN:(h1)1987 wine white 65') order by id asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:9:"143770902";s:1:"l";s:9:" 1:8 1:43";}i:1;a:2:{s:2:"id";s:9:"386640504";s:1:"l";s:42:" 1:2 1:5 1:45 1:47 1:112 1:113 1:116 1:117";}i:2;a:2:{s:2:"id";s:10:"2147483647";s:1:"l";s:42:" 1:1 1:5 1:45 1:47 1:111 1:112 1:114 1:115";}}}i:14;a:3:{s:8:"sphinxql";s:97:"select *, zonespanlist() l from i1 where match('ZONESPAN:(h1)wine white 1987 65') order by id asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:9:"143770902";s:1:"l";s:9:" 1:8 1:43";}i:1;a:2:{s:2:"id";s:9:"386640504";s:1:"l";s:42:" 1:2 1:5 1:45 1:47 1:112 1:113 1:116 1:117";}i:2;a:2:{s:2:"id";s:10:"2147483647";s:1:"l";s:42:" 1:1 1:5 1:45 1:47 1:111 1:112 1:114 1:115";}}}i:15;a:3:{s:8:"sphinxql";s:108:"select *, zonespanlist() l from i1 where match('( ZONESPAN:(h1)1987 wine white ) NEAR/3 65') order by id asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:9:"143770902";s:1:"l";s:9:" 1:8 1:43";}i:1;a:2:{s:2:"id";s:9:"386640504";s:1:"l";s:31:" 1:2 1:5 1:45 1:112 1:113 1:116";}i:2;a:2:{s:2:"id";s:10:"2147483647";s:1:"l";s:37:" 1:1 1:5 1:45 1:111 1:112 1:114 1:115";}}}i:16;a:3:{s:8:"sphinxql";s:108:"select *, zonespanlist() l from i1 where match('( ZONESPAN:(h1)wine white 1987 ) NEAR/3 65') order by id asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:9:"143770902";s:1:"l";s:9:" 1:8 1:43";}i:1;a:2:{s:2:"id";s:9:"386640504";s:1:"l";s:31:" 1:2 1:5 1:45 1:112 1:113 1:116";}i:2;a:2:{s:2:"id";s:10:"2147483647";s:1:"l";s:37:" 1:1 1:5 1:45 1:111 1:112 1:114 1:115";}}}i:17;a:3:{s:8:"sphinxql";s:73:"select *, zonespanlist() l from i1 where match('ZONESPAN:h1 hello world')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:6:"123456";s:1:"l";s:2964:" 1:1 1:2 1:3 1:4 1:5 1:6 1:7 1:8 1:9 1:10 1:11 1:12 1:13 1:14 1:15 1:16 1:17 1:18 1:19 1:20 1:21 1:22 1:23 1:24 1:25 1:26 1:27 1:28 1:29 1:30 1:31 1:32 1:33 1:34 1:35 1:36 1:37 1:38 1:39 1:40 1:41 1:42 1:43 1:44 1:45 1:46 1:47 1:48 1:49 1:50 1:51 1:52 1:53 1:54 1:55 1:56 1:57 1:58 1:59 1:60 1:61 1:62 1:63 1:64 1:65 1:66 1:67 1:68 1:69 1:70 1:71 1:72 1:73 1:74 1:75 1:76 1:77 1:78 1:79 1:80 1:81 1:82 1:83 1:84 1:85 1:86 1:87 1:88 1:89 1:90 1:91 1:92 1:93 1:94 1:95 1:96 1:97 1:98 1:99 1:100 1:101 1:102 1:103 1:104 1:105 1:106 1:107 1:108 1:109 1:110 1:111 1:112 1:113 1:114 1:115 1:116 1:117 1:118 1:119 1:120 1:121 1:122 1:123 1:124 1:125 1:126 1:127 1:128 1:129 1:130 1:131 1:132 1:133 1:134 1:135 1:136 1:137 1:138 1:139 1:140 1:141 1:142 1:143 1:144 1:145 1:146 1:147 1:148 1:149 1:150 1:151 1:152 1:153 1:154 1:155 1:156 1:157 1:158 1:159 1:160 1:161 1:162 1:163 1:164 1:165 1:166 1:167 1:168 1:169 1:170 1:171 1:172 1:173 1:174 1:175 1:176 1:177 1:178 1:179 1:180 1:181 1:182 1:183 1:184 1:185 1:186 1:187 1:188 1:189 1:190 1:191 1:192 1:193 1:194 1:195 1:196 1:197 1:198 1:199 1:200 1:201 1:202 1:203 1:204 1:205 1:206 1:207 1:208 1:209 1:210 1:211 1:212 1:213 1:214 1:215 1:216 1:217 1:218 1:219 1:220 1:221 1:222 1:223 1:224 1:225 1:226 1:227 1:228 1:229 1:230 1:231 1:232 1:233 1:234 1:235 1:236 1:237 1:238 1:239 1:240 1:241 1:242 1:243 1:244 1:245 1:246 1:247 1:248 1:249 1:250 1:251 1:252 1:253 1:254 1:255 1:256 1:257 1:258 1:259 1:260 1:261 1:262 1:263 1:264 1:265 1:266 1:267 1:268 1:269 1:270 1:271 1:272 1:273 1:274 1:275 1:276 1:277 1:278 1:279 1:280 1:281 1:282 1:283 1:284 1:285 1:286 1:287 1:288 1:289 1:290 1:291 1:292 1:293 1:294 1:295 1:296 1:297 1:298 1:299 1:300 1:301 1:302 1:303 1:304 1:305 1:306 1:307 1:308 1:309 1:310 1:311 1:312 1:313 1:314 1:315 1:316 1:317 1:318 1:319 1:320 1:321 1:322 1:323 1:324 1:325 1:326 1:327 1:328 1:329 1:330 1:331 1:332 1:333 1:334 1:335 1:336 1:337 1:338 1:339 1:340 1:341 1:342 1:343 1:344 1:345 1:346 1:347 1:348 1:349 1:350 1:351 1:352 1:353 1:354 1:355 1:356 1:357 1:358 1:359 1:360 1:361 1:362 1:363 1:364 1:365 1:366 1:367 1:368 1:369 1:370 1:371 1:372 1:373 1:374 1:375 1:376 1:377 1:378 1:379 1:380 1:381 1:382 1:383 1:384 1:385 1:386 1:387 1:388 1:389 1:390 1:391 1:392 1:393 1:394 1:395 1:396 1:397 1:398 1:399 1:400 1:401 1:402 1:403 1:404 1:405 1:406 1:407 1:408 1:409 1:410 1:411 1:412 1:413 1:414 1:415 1:416 1:417 1:418 1:419 1:420 1:421 1:422 1:423 1:424 1:425 1:426 1:427 1:428 1:429 1:430 1:431 1:432 1:433 1:434 1:435 1:436 1:437 1:438 1:439 1:440 1:441 1:442 1:443 1:444 1:445 1:446 1:447 1:448 1:449 1:450 1:451 1:452 1:453 1:454 1:455 1:456 1:457 1:458 1:459 1:460 1:461 1:462 1:463 1:464 1:465 1:466 1:467 1:468 1:469 1:470 1:471 1:472 1:473 1:474 1:475 1:476 1:477 1:478 1:479 1:480 1:481 1:482 1:483 1:484 1:485 1:486 1:487 1:488 1:489 1:490 1:491 1:492 1:493 1:494 1:495 1:496 1:497 1:498 1:499 1:500 1:501 1:502 1:503 1:504 1:505 1:506 1:507 1:508 1:509 1:510 1:511 1:512";}i:1;a:2:{s:2:"id";s:6:"123457";s:1:"l";s:4:" 1:1";}}}}}sphinx-2.2.11-release/test/test_194/0000755000175000017500000000000012743402012016412 5ustar alexeyalexeysphinx-2.2.11-release/test/test_194/test.xml0000644000175000017500000000501512743402012020114 0ustar alexeyalexey regexps using RE2 indexer { mem_limit = 16M } searchd { workers = threads } source test { type = mysql sql_query_pre = set names utf8 sql_query = select * from test_table sql_file_field = file_field } index test { source = test path = /test regexp_filter = (\pL\pL)-(\d+) => \1\2 regexp_filter = \b(\d+)\" => \1inch regexp_filter = (blue|red) => color } source src_large { type = mysql sql_query_pre = set names utf8 sql_query = select 1 id, 'test_194/file3.txt' file_field, 11 as idd sql_file_field = file_field sql_attr_uint = idd } index test_large { source = src_large path = /test_large regexp_filter = (blue|red) => color } CREATE TABLE test_table ( id INTEGER PRIMARY KEY NOT NULL, content VARCHAR(255) NOT NULL, file_field VARCHAR(255) NOT NULL ) CHARACTER SET utf8; DROP TABLE IF EXISTS test_table SET NAMES utf8 INSERT INTO test_table VALUES ( 100, '21" monitor', 'test_194/file1.txt' ), ( 101, '21inch tires','test_194/file2.txt' ), ( 102, 'самолёт як-42 - среднемагистральный трёхдвигательный пассажирский', '' ), ( 103, 'Первый самолёт як42 поступил в авиакомпанию', '' ), ( 104, 'blue socks and red shoes', '' ) select * from test where match('як-42') select * from test where match('як42') select * from test where match('21"') select * from test where match('21inch') select * from test where match('inch') select * from test where match('color') select * from test where match('blue') select * from test where match('file1') select * from test where match('file2') select * from test where match('fx-35') select * from test where match('fx35') select * from test where match('car') select * from test_large where match('color') sphinx-2.2.11-release/test/test_194/model.bin0000644000175000017500000000355012743402012020207 0ustar alexeyalexeya:1:{i:0;a:13:{i:0;a:3:{s:8:"sphinxql";s:41:"select * from test where match('як-42')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:3:"102";}i:1;a:1:{s:2:"id";s:3:"103";}}}i:1;a:3:{s:8:"sphinxql";s:40:"select * from test where match('як42')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:3:"102";}i:1;a:1:{s:2:"id";s:3:"103";}}}i:2;a:3:{s:8:"sphinxql";s:37:"select * from test where match('21"')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:3:"100";}i:1;a:1:{s:2:"id";s:3:"101";}}}i:3;a:3:{s:8:"sphinxql";s:40:"select * from test where match('21inch')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:3:"100";}i:1;a:1:{s:2:"id";s:3:"101";}}}i:4;a:2:{s:8:"sphinxql";s:38:"select * from test where match('inch')";s:10:"total_rows";i:0;}i:5;a:3:{s:8:"sphinxql";s:39:"select * from test where match('color')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:3:"100";}i:1;a:1:{s:2:"id";s:3:"104";}}}i:6;a:3:{s:8:"sphinxql";s:38:"select * from test where match('blue')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:3:"100";}i:1;a:1:{s:2:"id";s:3:"104";}}}i:7;a:2:{s:8:"sphinxql";s:39:"select * from test where match('file1')";s:10:"total_rows";i:0;}i:8;a:2:{s:8:"sphinxql";s:39:"select * from test where match('file2')";s:10:"total_rows";i:0;}i:9;a:3:{s:8:"sphinxql";s:39:"select * from test where match('fx-35')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"101";}}}i:10;a:3:{s:8:"sphinxql";s:38:"select * from test where match('fx35')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"101";}}}i:11;a:3:{s:8:"sphinxql";s:37:"select * from test where match('car')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"101";}}}i:12;a:3:{s:8:"sphinxql";s:45:"select * from test_large where match('color')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}}}sphinx-2.2.11-release/test/test_194/file3.txt0000644000175000017500000031326512743402012020167 0ustar alexeyalexeyblue flowers are always red tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm tm sphinx-2.2.11-release/test/test_194/file2.txt0000644000175000017500000000001612743402012020151 0ustar alexeyalexeyfx-35 is a carsphinx-2.2.11-release/test/test_194/file1.txt0000644000175000017500000000003312743402012020147 0ustar alexeyalexeyblue flowers are always redsphinx-2.2.11-release/test/test_193/0000755000175000017500000000000012743402012016411 5ustar alexeyalexeysphinx-2.2.11-release/test/test_193/wordforms.txt0000644000175000017500000000036312743402012021176 0ustar alexeyalexeywould be used > moderately implement > across forms > stopword anotherstopword > dictionary word forms are applied > morestopwords word stopword anotherstopword morestopwords > tokenizing stopword anotherstopword morestopwords > incomingsphinx-2.2.11-release/test/test_193/test.xml0000644000175000017500000001117012743402012020112 0ustar alexeyalexey stopwords vs wordforms vs multiforms indexer { mem_limit = 16M } searchd { workers = threads collation_libc_locale = C collation_server = binary } source test { type = mysql sql_query = select * from test_table } index test { source = test path = /test stopwords = /stopwords.txt wordforms = /wordforms.txt } source test2 { type = mysql sql_query = select 1, 'text', 'asdf' title union select 2, 'text', 'asdfg' title sql_attr_string = title } index test2 { source = test2 path = /test2 } source src_filter { type = mysql sql_query = SELECT 1 id, 11 idd, 'Be' title, '{"title":"BE"}' j, 'BE alive' text UNION SELECT 2 id, 22 idd, 'BE alive' title, '{"title":"Be alive"}' j,'Be undead' text UNION SELECT 3 id, 33 idd, '' title, '{"mantle":"be alone", "title":""}' j,'Be alone' text sql_field_string = title sql_attr_json = j } index i_filter { source = src_filter path = /i_filter } CREATE TABLE test_table ( id INTEGER PRIMARY KEY NOT NULL, content VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table VALUES ( 100, 'Normally, that would be used to bring different word forms stopword' ), ( 101, 'It can also be used to implement stemming exceptions anotherstopword' ), ( 102, 'Word forms are applied after the text morestopwords' ) select * from test where match('moderately') select * from test where match('implement') select * from test where match('across') select * from test where match('forms') select * from test where match('dictionary') select * from test where match('incoming') select * from test where match('stopword') select * from test where match('anotherstopword') select * from test where match('morestopwords') select * from test where match('tokenizing') set collation_connection=libc_ci select title from test2 order by title asc select title from test2 order by title desc set collation_connection=libc_cs select title from test2 order by title asc select title from test2 order by title desc set collation_connection=utf8_general_ci select title from test2 order by title asc select title from test2 order by title desc set collation_connection=binary select title from test2 order by title asc select title from test2 order by title desc set collation_connection=binary SELECT * FROM i_filter WHERE title='Be' SELECT * FROM i_filter WHERE j.title='BE' SELECT * FROM i_filter WHERE title='be' SELECT * FROM i_filter WHERE j.title='be' SELECT * FROM i_filter WHERE MATCH ('be') AND title='BE alive' SELECT * FROM i_filter WHERE MATCH ('be') AND j.title='Be alive' SELECT * FROM i_filter WHERE MATCH ('be') AND title='be alive' SELECT * FROM i_filter WHERE MATCH ('be') AND j.title='be alive' set collation_connection=utf8_general_ci SELECT * FROM i_filter WHERE title='be' SELECT * FROM i_filter WHERE j.title='be' SELECT * FROM i_filter WHERE MATCH ('be') AND title='BE ALIVE' SELECT * FROM i_filter WHERE MATCH ('be') AND j.title='BE ALIVE' SELECT * FROM i_filter WHERE title!='be' SELECT * FROM i_filter WHERE MATCH ('be') AND j.title!='BE' SELECT id, (j.mantle='be alone') as c, j FROM i_filter sphinx-2.2.11-release/test/test_193/stopwords.txt0000644000175000017500000000005012743402012021211 0ustar alexeyalexeystopword anotherstopword morestopwordssphinx-2.2.11-release/test/test_193/model.bin0000644000175000017500000001422512743402012020207 0ustar alexeyalexeya:1:{i:0;a:39:{i:0;a:3:{s:8:"sphinxql";s:44:"select * from test where match('moderately')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"100";}}}i:1;a:3:{s:8:"sphinxql";s:43:"select * from test where match('implement')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"101";}}}i:2;a:3:{s:8:"sphinxql";s:40:"select * from test where match('across')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"101";}}}i:3;a:2:{s:8:"sphinxql";s:39:"select * from test where match('forms')";s:10:"total_rows";i:0;}i:4;a:2:{s:8:"sphinxql";s:44:"select * from test where match('dictionary')";s:10:"total_rows";i:0;}i:5;a:2:{s:8:"sphinxql";s:42:"select * from test where match('incoming')";s:10:"total_rows";i:0;}i:6;a:2:{s:8:"sphinxql";s:42:"select * from test where match('stopword')";s:10:"total_rows";i:0;}i:7;a:2:{s:8:"sphinxql";s:49:"select * from test where match('anotherstopword')";s:10:"total_rows";i:0;}i:8;a:2:{s:8:"sphinxql";s:47:"select * from test where match('morestopwords')";s:10:"total_rows";i:0;}i:9;a:3:{s:8:"sphinxql";s:44:"select * from test where match('tokenizing')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"100";}}}i:10;a:2:{s:8:"sphinxql";s:32:"set collation_connection=libc_ci";s:14:"total_affected";i:0;}i:11;a:3:{s:8:"sphinxql";s:42:"select title from test2 order by title asc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:5:"title";s:4:"asdf";}i:1;a:1:{s:5:"title";s:5:"asdfg";}}}i:12;a:3:{s:8:"sphinxql";s:43:"select title from test2 order by title desc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:5:"title";s:5:"asdfg";}i:1;a:1:{s:5:"title";s:4:"asdf";}}}i:13;a:2:{s:8:"sphinxql";s:32:"set collation_connection=libc_cs";s:14:"total_affected";i:0;}i:14;a:3:{s:8:"sphinxql";s:42:"select title from test2 order by title asc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:5:"title";s:4:"asdf";}i:1;a:1:{s:5:"title";s:5:"asdfg";}}}i:15;a:3:{s:8:"sphinxql";s:43:"select title from test2 order by title desc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:5:"title";s:5:"asdfg";}i:1;a:1:{s:5:"title";s:4:"asdf";}}}i:16;a:2:{s:8:"sphinxql";s:40:"set collation_connection=utf8_general_ci";s:14:"total_affected";i:0;}i:17;a:3:{s:8:"sphinxql";s:42:"select title from test2 order by title asc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:5:"title";s:4:"asdf";}i:1;a:1:{s:5:"title";s:5:"asdfg";}}}i:18;a:3:{s:8:"sphinxql";s:43:"select title from test2 order by title desc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:5:"title";s:5:"asdfg";}i:1;a:1:{s:5:"title";s:4:"asdf";}}}i:19;a:2:{s:8:"sphinxql";s:31:"set collation_connection=binary";s:14:"total_affected";i:0;}i:20;a:3:{s:8:"sphinxql";s:42:"select title from test2 order by title asc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:5:"title";s:4:"asdf";}i:1;a:1:{s:5:"title";s:5:"asdfg";}}}i:21;a:3:{s:8:"sphinxql";s:43:"select title from test2 order by title desc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:5:"title";s:5:"asdfg";}i:1;a:1:{s:5:"title";s:4:"asdf";}}}i:22;a:2:{s:8:"sphinxql";s:31:"set collation_connection=binary";s:14:"total_affected";i:0;}i:23;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM i_filter WHERE title='Be'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:5:"title";s:2:"Be";s:1:"j";s:14:"{"title":"BE"}";}}}i:24;a:3:{s:8:"sphinxql";s:41:"SELECT * FROM i_filter WHERE j.title='BE'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:5:"title";s:2:"Be";s:1:"j";s:14:"{"title":"BE"}";}}}i:25;a:2:{s:8:"sphinxql";s:39:"SELECT * FROM i_filter WHERE title='be'";s:10:"total_rows";i:0;}i:26;a:2:{s:8:"sphinxql";s:41:"SELECT * FROM i_filter WHERE j.title='be'";s:10:"total_rows";i:0;}i:27;a:3:{s:8:"sphinxql";s:62:"SELECT * FROM i_filter WHERE MATCH ('be') AND title='BE alive'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"2";s:5:"title";s:8:"BE alive";s:1:"j";s:20:"{"title":"Be alive"}";}}}i:28;a:3:{s:8:"sphinxql";s:64:"SELECT * FROM i_filter WHERE MATCH ('be') AND j.title='Be alive'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"2";s:5:"title";s:8:"BE alive";s:1:"j";s:20:"{"title":"Be alive"}";}}}i:29;a:2:{s:8:"sphinxql";s:62:"SELECT * FROM i_filter WHERE MATCH ('be') AND title='be alive'";s:10:"total_rows";i:0;}i:30;a:2:{s:8:"sphinxql";s:64:"SELECT * FROM i_filter WHERE MATCH ('be') AND j.title='be alive'";s:10:"total_rows";i:0;}i:31;a:2:{s:8:"sphinxql";s:40:"set collation_connection=utf8_general_ci";s:14:"total_affected";i:0;}i:32;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM i_filter WHERE title='be'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:5:"title";s:2:"Be";s:1:"j";s:14:"{"title":"BE"}";}}}i:33;a:3:{s:8:"sphinxql";s:41:"SELECT * FROM i_filter WHERE j.title='be'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:5:"title";s:2:"Be";s:1:"j";s:14:"{"title":"BE"}";}}}i:34;a:3:{s:8:"sphinxql";s:62:"SELECT * FROM i_filter WHERE MATCH ('be') AND title='BE ALIVE'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"2";s:5:"title";s:8:"BE alive";s:1:"j";s:20:"{"title":"Be alive"}";}}}i:35;a:3:{s:8:"sphinxql";s:64:"SELECT * FROM i_filter WHERE MATCH ('be') AND j.title='BE ALIVE'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"2";s:5:"title";s:8:"BE alive";s:1:"j";s:20:"{"title":"Be alive"}";}}}i:36;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM i_filter WHERE title!='be'";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"2";s:5:"title";s:8:"BE alive";s:1:"j";s:20:"{"title":"Be alive"}";}i:1;a:3:{s:2:"id";s:1:"3";s:5:"title";s:0:"";s:1:"j";s:32:"{"mantle":"be alone","title":""}";}}}i:37;a:3:{s:8:"sphinxql";s:59:"SELECT * FROM i_filter WHERE MATCH ('be') AND j.title!='BE'";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"2";s:5:"title";s:8:"BE alive";s:1:"j";s:20:"{"title":"Be alive"}";}i:1;a:3:{s:2:"id";s:1:"3";s:5:"title";s:0:"";s:1:"j";s:32:"{"mantle":"be alone","title":""}";}}}i:38;a:3:{s:8:"sphinxql";s:55:"SELECT id, (j.mantle='be alone') as c, j FROM i_filter ";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:1:"c";s:1:"0";s:1:"j";s:14:"{"title":"BE"}";}i:1;a:3:{s:2:"id";s:1:"2";s:1:"c";s:1:"0";s:1:"j";s:20:"{"title":"Be alive"}";}i:2;a:3:{s:2:"id";s:1:"3";s:1:"c";s:1:"1";s:1:"j";s:32:"{"mantle":"be alone","title":""}";}}}}}sphinx-2.2.11-release/test/test_192/0000755000175000017500000000000012743402012016410 5ustar alexeyalexeysphinx-2.2.11-release/test/test_192/wordforms.txt0000644000175000017500000000007012743402012021170 0ustar alexeyalexeyrd rd > rdrd man > nam nam intel e8500 > core 22 duo sphinx-2.2.11-release/test/test_192/wordforms-wb.txt0000644000175000017500000000027312743402012021603 0ustar alexeyalexeyrd rd > rdrd man > nam nam ru-tor > pu-tor черно-белый > черно_белый черно-белая > черно_белый черно-белым > черно_белый sphinx-2.2.11-release/test/test_192/wordforms-12.txt0000644000175000017500000000624112743402012021416 0ustar alexeyalexeyпутин-то > путин путина > путин путиными > путин путиных > путин путиным > путин путиным-то > путин путине > путин путину > путин путины > путин путена > путин путин > путин путиною > путина путинах > путина путинам > путина путинами > путина путиной > путина путинца > путинец путинцам > путинец путинцы > путинец путинец > путинец путинизма > путинизм путинизмы > путинизм путинизме > путинизм путинизмом > путинизм путинизму > путинизм путинизм > путинизм путинно > путинный путинное > путинный путинная > путинный путинном > путинный попутиннее > путинный путиннее > путинный путинны > путинный путинной > путинный путинную > путинный путинных > путинный путинен > путинный путинна > путинный путинною > путинный путинные > путинный путинными > путинный попутинней > путинный путинного > путинный путинному > путинный путинным > путинный путинней > путинный путинный > путинный путинские > путинский путинской > путинский путинская > путинский путинскими > путинский путинских > путинский путинского > путинский путинскому > путинский путински > путинский путинским > путинский путинском > путинский путинскою > путинский путинское > путинский путинскую > путинский путинский > путинский путинцевым > путинцев путинцеве > путинцев путинцева > путинцев путинцеву > путинцев путинцева-то > путинцев путинцев > путинцев путкинская > путкинский путкинского > путкинский путкински > путкинский путкинскою > путкинский путкинскими > путкинский путкинское > путкинский путкинском > путкинский путкинскую > путкинский путкинских > путкинский путкинские > путкинский путкинским > путкинский путкинской > путкинский путкинскому > путкинский путкинский > путкинский военно-промышленная > военно-промышленный военно-промышленного > военно-промышленныйsphinx-2.2.11-release/test/test_192/test.xml0000644000175000017500000001435612743402012020122 0ustar alexeyalexey blend_chars vs multiforms searchd { workers = threads } source test { type = mysql sql_query = \ SELECT 1, 'text' AS content UNION \ SELECT 2, '3+rd text' AS content UNION \ SELECT 3, '3-rd text' AS content UNION \ SELECT 4, '3@rd text' AS content } index test { source = test path = /test wordforms = /wordforms.txt blend_chars = +, U+2D, @ min_word_len = 2 } source test1 { type = mysql sql_query = SELECT 1, 'test 3+3+3+3+real text' AS content } index test10 { source = test1 path = /test10 charset_table = 0..9, A..Z->a..z, _, a..z blend_chars = + min_word_len = 2 } index test11 { source = test1 path = /test11 charset_table = 0..9, A..Z->a..z, _, a..z blend_chars = + min_word_len = 2 min_prefix_len = 2 } source wb { type = mysql sql_query = \ SELECT 1, 'ru-tor' AS content UNION \ SELECT 2, 'pu-tor' AS content UNION \ SELECT 10, 'rd the box' AS content UNION \ SELECT 11, 'test+the box' AS content UNION \ SELECT 12, 'the-box-of-my goes-here' as content } index wb { source = wb path = /wb wordforms = /wordforms-wb.txt blend_chars = U+2D } source test12 { type = mysql sql_query_pre = SET NAMES utf8 sql_query = \ SELECT 1, 'путин-то' AS content UNION \ SELECT 2, 'путиными' AS content UNION \ SELECT 3, 'путена' AS content UNION \ SELECT 4, 'Военно-промышленная комиссия превратилась в авторитетную площадку диалога' AS content } index test12 { source = test12 path = /test12 wordforms = /wordforms-12.txt morphology = stem_enru min_prefix_len = 3 html_strip = 1 index_exact_words = 1 blend_mode = trim_head, trim_tail, trim_both blend_chars = +, %, -, $ } index test12_rt { type = rt path = /test12_rt rt_field = content rt_attr_uint = dummy dict = keywords wordforms = /wordforms-12.txt morphology = stem_enru min_prefix_len = 3 html_strip = 1 index_exact_words = 1 blend_mode = trim_head, trim_tail, trim_both blend_chars = +, %, -, $ } select 1; SELECT * FROM test WHERE MATCH('3+rd text') SHOW META SELECT * FROM test WHERE MATCH('3-rd text') SHOW META SELECT * FROM test WHERE MATCH('3\\@rd text') SHOW META CALL KEYWORDS ( 'man', 'test' ) SELECT * FROM test WHERE MATCH('"a rd text"') SHOW META SELECT * FROM test10 WHERE MATCH('"test a text"') SHOW META SELECT * FROM test11 WHERE MATCH('"test a text"') SHOW META CALL SNIPPETS ( 'test 3+3+3+3+real text' , 'test10', ' "test a text" ', 1 as query_mode ) CALL SNIPPETS ( 'test 3+3+3+3+real text' , 'test10', ' "test a text" ', 0 as query_mode ) CALL SNIPPETS ( 'test 3+3+3+3+real text' , 'test10', ' "test a text" ', 1 as query_mode, 0 as limit ) CALL SNIPPETS ( 'test 3+3+3+3+real text' , 'test10', ' "test a text" ', 0 as query_mode, 0 as limit ) SELECT * FROM test WHERE MATCH(' " 3 rd text " ') SHOW META CALL SNIPPETS ( 'the+ rd box+ must ' , 'test', ' not found ', 1 as query_mode, 0 as limit ) SELECT * FROM test WHERE MATCH('other+none text') SHOW META CALL SNIPPETS ('черно-белый, черно-белая, черно-белым черно-белыми', 'wb', 'черно-белый') SELECT * FROM wb WHERE MATCH ( ' ru-tor ' ) SELECT * FROM wb WHERE MATCH ( ' ru tor ' ) SELECT * FROM wb WHERE MATCH ( ' pu-tor ' ) SELECT * FROM wb WHERE MATCH ( ' pu tor ' ) SELECT * FROM wb WHERE MATCH ( ' "ru tor" ' ) SELECT * FROM wb WHERE MATCH ( ' "pu tor" ' ) CALL KEYWORDS ( 'ru-tor', 'wb' ) CALL KEYWORDS ( 'ru tor', 'wb' ) CALL KEYWORDS ( 'pu-tor', 'wb' ) CALL KEYWORDS ( 'pu tor', 'wb' ) SELECT * FROM wb WHERE MATCH(' "the box" ') SHOW META SELECT * FROM wb WHERE MATCH(' the box ') SHOW META SELECT * FROM wb WHERE MATCH(' rd text ') SHOW META CALL SNIPPETS( 'the-box-of-my goes-here', 'wb', 'the-box-of-my goes-here', 1 as query_mode) CALL SNIPPETS( 'the-box-of-my goes-here', 'wb', 'the-box-of goes-here', 1 as query_mode) CALL SNIPPETS( 'the-box-of-my goes-here', 'wb', 'box-of-my goes-here', 1 as query_mode) SELECT * FROM wb WHERE MATCH('the-box-of-my goes-here') SELECT * FROM wb WHERE MATCH('the-box-of goes-here') SELECT * FROM wb WHERE MATCH('box-of-my goes-here') SELECT * FROM test12 WHERE MATCH('путин') SELECT id, weight() FROM test12 WHERE MATCH('путин-то') SELECT * FROM test12 WHERE MATCH('"Военно-промышленная комиссия"') INSERT INTO test12_rt (id, content) VALUES (1, 'путин-то'), (2, 'путиными'), (3, 'путена'), (4, 'Военно-промышленная комиссия превратилась в авторитетную площадку диалога') SELECT id, weight() FROM test12_rt WHERE MATCH('путин-то') CALL KEYWORDS('intel e8500 cpu', 'test', 1) sphinx-2.2.11-release/test/test_192/model.bin0000644000175000017500000003616112743402012020211 0ustar alexeyalexeya:1:{i:0;a:51:{i:0;a:3:{s:8:"sphinxql";s:43:"SELECT * FROM test WHERE MATCH('3+rd text')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"2";}}}i:1;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"3+rd";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}}}i:2;a:3:{s:8:"sphinxql";s:43:"SELECT * FROM test WHERE MATCH('3-rd text')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"3";}}}i:3;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"3-rd";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}}}i:4;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM test WHERE MATCH('3\\@rd text')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"4";}}}i:5;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"3@rd";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}}}i:6;a:3:{s:8:"sphinxql";s:31:"CALL KEYWORDS ( 'man', 'test' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:3:"man";s:10:"normalized";s:3:"nam";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:3:"man";s:10:"normalized";s:3:"nam";}}}i:7;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM test WHERE MATCH('"a rd text"')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"id";s:1:"2";}i:1;a:1:{s:2:"id";s:1:"3";}i:2;a:1:{s:2:"id";s:1:"4";}}}i:8;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"rd";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}}}i:9;a:3:{s:8:"sphinxql";s:49:"SELECT * FROM test10 WHERE MATCH('"test a text"')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}}i:10;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"test";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}}i:11;a:3:{s:8:"sphinxql";s:49:"SELECT * FROM test11 WHERE MATCH('"test a text"')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}}i:12;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"test";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}}i:13;a:3:{s:8:"sphinxql";s:89:"CALL SNIPPETS ( 'test 3+3+3+3+real text' , 'test10', ' "test a text" ', 1 as query_mode )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:36:"test 3+3+3+3+real text";}}}i:14;a:3:{s:8:"sphinxql";s:89:"CALL SNIPPETS ( 'test 3+3+3+3+real text' , 'test10', ' "test a text" ', 0 as query_mode )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:36:"test 3+3+3+3+real text";}}}i:15;a:3:{s:8:"sphinxql";s:101:"CALL SNIPPETS ( 'test 3+3+3+3+real text' , 'test10', ' "test a text" ', 1 as query_mode, 0 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:36:"test 3+3+3+3+real text";}}}i:16;a:3:{s:8:"sphinxql";s:101:"CALL SNIPPETS ( 'test 3+3+3+3+real text' , 'test10', ' "test a text" ', 0 as query_mode, 0 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:36:"test 3+3+3+3+real text";}}}i:17;a:3:{s:8:"sphinxql";s:49:"SELECT * FROM test WHERE MATCH(' " 3 rd text " ')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"id";s:1:"2";}i:1;a:1:{s:2:"id";s:1:"3";}i:2;a:1:{s:2:"id";s:1:"4";}}}i:18;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"rd";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}}}i:19;a:3:{s:8:"sphinxql";s:91:"CALL SNIPPETS ( 'the+ rd box+ must ' , 'test', ' not found ', 1 as query_mode, 0 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:18:"the+ rd box+ must ";}}}i:20;a:2:{s:8:"sphinxql";s:49:"SELECT * FROM test WHERE MATCH('other+none text')";s:10:"total_rows";i:0;}i:21;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"other+none";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"0";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"0";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"4";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"4";}}}i:22;a:3:{s:8:"sphinxql";s:141:"CALL SNIPPETS ('черно-белый, черно-белая, черно-белым черно-белыми', 'wb', 'черно-белый')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:134:"черно-белый, черно-белая, черно-белым черно-белыми";}}}i:23;a:3:{s:8:"sphinxql";s:43:"SELECT * FROM wb WHERE MATCH ( ' ru-tor ' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}}}i:24;a:3:{s:8:"sphinxql";s:43:"SELECT * FROM wb WHERE MATCH ( ' ru tor ' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}}i:25;a:3:{s:8:"sphinxql";s:43:"SELECT * FROM wb WHERE MATCH ( ' pu-tor ' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}}}i:26;a:3:{s:8:"sphinxql";s:43:"SELECT * FROM wb WHERE MATCH ( ' pu tor ' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"2";}}}i:27;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM wb WHERE MATCH ( ' "ru tor" ' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}}i:28;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM wb WHERE MATCH ( ' "pu tor" ' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"2";}}}i:29;a:3:{s:8:"sphinxql";s:32:"CALL KEYWORDS ( 'ru-tor', 'wb' )";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:6:"ru-tor";s:10:"normalized";s:6:"pu-tor";}i:1;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:2:"ru";s:10:"normalized";s:2:"ru";}i:2;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:3:"tor";s:10:"normalized";s:3:"tor";}}}i:30;a:3:{s:8:"sphinxql";s:32:"CALL KEYWORDS ( 'ru tor', 'wb' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:2:"ru";s:10:"normalized";s:2:"ru";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:3:"tor";s:10:"normalized";s:3:"tor";}}}i:31;a:3:{s:8:"sphinxql";s:32:"CALL KEYWORDS ( 'pu-tor', 'wb' )";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:6:"pu-tor";s:10:"normalized";s:6:"pu-tor";}i:1;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:2:"pu";s:10:"normalized";s:2:"pu";}i:2;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:3:"tor";s:10:"normalized";s:3:"tor";}}}i:32;a:3:{s:8:"sphinxql";s:32:"CALL KEYWORDS ( 'pu tor', 'wb' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:2:"pu";s:10:"normalized";s:2:"pu";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:3:"tor";s:10:"normalized";s:3:"tor";}}}i:33;a:3:{s:8:"sphinxql";s:43:"SELECT * FROM wb WHERE MATCH(' "the box" ')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"id";s:2:"10";}i:1;a:1:{s:2:"id";s:2:"11";}i:2;a:1:{s:2:"id";s:2:"12";}}}i:34;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"the";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"box";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"3";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"3";}}}i:35;a:3:{s:8:"sphinxql";s:41:"SELECT * FROM wb WHERE MATCH(' the box ')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"id";s:2:"10";}i:1;a:1:{s:2:"id";s:2:"11";}i:2;a:1:{s:2:"id";s:2:"12";}}}i:36;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"the";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"box";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"3";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"3";}}}i:37;a:2:{s:8:"sphinxql";s:41:"SELECT * FROM wb WHERE MATCH(' rd text ')";s:10:"total_rows";i:0;}i:38;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"rd";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"text";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:39;a:3:{s:8:"sphinxql";s:91:"CALL SNIPPETS( 'the-box-of-my goes-here', 'wb', 'the-box-of-my goes-here', 1 as query_mode)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"the-box-of-my goes-here";}}}i:40;a:3:{s:8:"sphinxql";s:88:"CALL SNIPPETS( 'the-box-of-my goes-here', 'wb', 'the-box-of goes-here', 1 as query_mode)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:23:"the-box-of-my goes-here";}}}i:41;a:3:{s:8:"sphinxql";s:87:"CALL SNIPPETS( 'the-box-of-my goes-here', 'wb', 'box-of-my goes-here', 1 as query_mode)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:23:"the-box-of-my goes-here";}}}i:42;a:3:{s:8:"sphinxql";s:55:"SELECT * FROM wb WHERE MATCH('the-box-of-my goes-here')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:2:"12";}}}i:43;a:2:{s:8:"sphinxql";s:52:"SELECT * FROM wb WHERE MATCH('the-box-of goes-here')";s:10:"total_rows";i:0;}i:44;a:2:{s:8:"sphinxql";s:51:"SELECT * FROM wb WHERE MATCH('box-of-my goes-here')";s:10:"total_rows";i:0;}i:45;a:3:{s:8:"sphinxql";s:46:"SELECT * FROM test12 WHERE MATCH('путин')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}i:2;a:1:{s:2:"id";s:1:"3";}}}i:46;a:3:{s:8:"sphinxql";s:62:"SELECT id, weight() FROM test12 WHERE MATCH('путин-то')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:8:"weight()";s:4:"1442";}i:1;a:2:{s:2:"id";s:1:"2";s:8:"weight()";s:4:"1442";}i:2;a:2:{s:2:"id";s:1:"3";s:8:"weight()";s:4:"1442";}}}i:47;a:3:{s:8:"sphinxql";s:92:"SELECT * FROM test12 WHERE MATCH('"Военно-промышленная комиссия"')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"4";}}}i:48;a:2:{s:8:"sphinxql";s:259:"INSERT INTO test12_rt (id, content) VALUES (1, 'путин-то'), (2, 'путиными'), (3, 'путена'), (4, 'Военно-промышленная комиссия превратилась в авторитетную площадку диалога')";s:14:"total_affected";i:4;}i:49;a:3:{s:8:"sphinxql";s:65:"SELECT id, weight() FROM test12_rt WHERE MATCH('путин-то')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:8:"weight()";s:4:"1442";}i:1;a:2:{s:2:"id";s:1:"2";s:8:"weight()";s:4:"1442";}i:2;a:2:{s:2:"id";s:1:"3";s:8:"weight()";s:4:"1442";}}}i:50;a:3:{s:8:"sphinxql";s:43:"CALL KEYWORDS('intel e8500 cpu', 'test', 1)";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:5:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:11:"intel e8500";s:10:"normalized";s:4:"core";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:1;a:5:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:11:"intel e8500";s:10:"normalized";s:2:"22";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:2;a:5:{s:4:"qpos";s:1:"3";s:9:"tokenized";s:11:"intel e8500";s:10:"normalized";s:3:"duo";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:3;a:5:{s:4:"qpos";s:1:"4";s:9:"tokenized";s:3:"cpu";s:10:"normalized";s:3:"cpu";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}}}sphinx-2.2.11-release/test/test_191/0000755000175000017500000000000012743402012016407 5ustar alexeyalexeysphinx-2.2.11-release/test/test_191/test.xml0000644000175000017500000000645712743402012020124 0ustar alexeyalexey bitfields vs inline docinfo vs merge indexer { mem_limit = 16M } searchd { workers = threads } source test1 { type = mysql sql_query_pre = set time_zone='+0:00' sql_query = select id, content, status st, category, kind, UNIX_TIMESTAMP(timestamp) as date, class, price, code, surface from test_table WHERE id=100 or id=101 sql_attr_uint = st:3 sql_attr_uint = category:2 sql_attr_uint = kind:8 sql_attr_timestamp = date sql_attr_uint = class:6 sql_attr_uint = price:32 sql_attr_uint = code:8 sql_attr_uint = surface:32 } source test2 { type = mysql sql_query_pre = set time_zone='+0:00' sql_query = select id, content, status st, category, kind, UNIX_TIMESTAMP(timestamp) as date, class, price, code, surface from test_table WHERE id=102 or id=103 sql_attr_uint = st:3 sql_attr_uint = category:2 sql_attr_uint = kind:8 sql_attr_timestamp = date sql_attr_uint = class:6 sql_attr_uint = price:32 sql_attr_uint = code:8 sql_attr_uint = surface:32 } index main { source = test1 path = /test1 docinfo = inline } index delta { source = test2 path = /test2 docinfo = inline } index rt { type = rt rt_mem_limit = 32M rt_field = title rt_attr_uint = idd10 rt_attr_uint = idd1:4 rt_attr_uint = idd2:8 rt_attr_uint = idd11 path = /rt1 } --merge main delta CREATE TABLE test_table ( id INTEGER PRIMARY KEY NOT NULL, content VARCHAR(255) NOT NULL, status INTEGER NOT NULL, category INTEGER NOT NULL, kind INTEGER NOT NULL, timestamp DATE NOT NULL, class INTEGER NOT NULL, price INTEGER NOT NULL, code INTEGER NOT NULL, surface INTEGER NOT NULL ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table VALUES ( 100, 'This planet has or rather had a problem', 1, 0, 13, '2001-07-04', 14, 15, 16, 17 ), ( 101, 'which was this: most of the people on it were unhappy for pretty much of the time.', 2, 1, 23, '2002-07-04', 24, 25, 26, 27 ), ( 102, 'Many solutions were suggested for this problem', 3, 2, 33, '2003-07-04', 34, 35, 36, 37 ), ( 103, 'but most of these were largely concerned with the movements of small green pieces of paper', 4, 0, 43, '2004-07-04', 44, 45, 46, 47 ) select * from main where match('planet') select * from main where match('unhappy') select * from main where match('solutions') select * from main where match('green') select * from main where match( ' "smallest white pieces of paper"/3 ') desc rt INSERT INTO rt (id, title, idd10, idd11, idd1, idd2) VALUES (1, 'test', 2303, 65535, 16383, 8191 ) select * from rt desc main desc delta sphinx-2.2.11-release/test/test_191/model.bin0000644000175000017500000000720612743402012020206 0ustar alexeyalexeya:1:{i:0;a:10:{i:0;a:3:{s:8:"sphinxql";s:40:"select * from main where match('planet')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:9:{s:2:"id";s:3:"100";s:2:"st";s:1:"1";s:8:"category";s:1:"0";s:4:"kind";s:2:"13";s:4:"date";s:9:"994204800";s:5:"class";s:2:"14";s:5:"price";s:2:"15";s:4:"code";s:2:"16";s:7:"surface";s:2:"17";}}}i:1;a:3:{s:8:"sphinxql";s:41:"select * from main where match('unhappy')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:9:{s:2:"id";s:3:"101";s:2:"st";s:1:"2";s:8:"category";s:1:"1";s:4:"kind";s:2:"23";s:4:"date";s:10:"1025740800";s:5:"class";s:2:"24";s:5:"price";s:2:"25";s:4:"code";s:2:"26";s:7:"surface";s:2:"27";}}}i:2;a:3:{s:8:"sphinxql";s:43:"select * from main where match('solutions')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:9:{s:2:"id";s:3:"102";s:2:"st";s:1:"3";s:8:"category";s:1:"2";s:4:"kind";s:2:"33";s:4:"date";s:10:"1057276800";s:5:"class";s:2:"34";s:5:"price";s:2:"35";s:4:"code";s:2:"36";s:7:"surface";s:2:"37";}}}i:3;a:3:{s:8:"sphinxql";s:39:"select * from main where match('green')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:9:{s:2:"id";s:3:"103";s:2:"st";s:1:"4";s:8:"category";s:1:"0";s:4:"kind";s:2:"43";s:4:"date";s:10:"1088899200";s:5:"class";s:2:"44";s:5:"price";s:2:"45";s:4:"code";s:2:"46";s:7:"surface";s:2:"47";}}}i:4;a:3:{s:8:"sphinxql";s:71:"select * from main where match( ' "smallest white pieces of paper"/3 ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:9:{s:2:"id";s:3:"103";s:2:"st";s:1:"4";s:8:"category";s:1:"0";s:4:"kind";s:2:"43";s:4:"date";s:10:"1088899200";s:5:"class";s:2:"44";s:5:"price";s:2:"45";s:4:"code";s:2:"46";s:7:"surface";s:2:"47";}}}i:5;a:3:{s:8:"sphinxql";s:7:"desc rt";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:5:"Field";s:2:"id";s:4:"Type";s:6:"bigint";}i:1;a:2:{s:5:"Field";s:5:"title";s:4:"Type";s:5:"field";}i:2;a:2:{s:5:"Field";s:5:"idd10";s:4:"Type";s:4:"uint";}i:3;a:2:{s:5:"Field";s:4:"idd1";s:4:"Type";s:6:"uint:4";}i:4;a:2:{s:5:"Field";s:4:"idd2";s:4:"Type";s:6:"uint:8";}i:5;a:2:{s:5:"Field";s:5:"idd11";s:4:"Type";s:4:"uint";}}}i:6;a:2:{s:8:"sphinxql";s:98:"INSERT INTO rt (id, title, idd10, idd11, idd1, idd2) VALUES (1, 'test', 2303, 65535, 16383, 8191 )";s:14:"total_affected";i:1;}i:7;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"1";s:5:"idd10";s:4:"2303";s:4:"idd1";s:2:"15";s:4:"idd2";s:3:"255";s:5:"idd11";s:5:"65535";}}}i:8;a:3:{s:8:"sphinxql";s:9:"desc main";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:2:{s:5:"Field";s:2:"id";s:4:"Type";s:6:"bigint";}i:1;a:2:{s:5:"Field";s:7:"content";s:4:"Type";s:5:"field";}i:2;a:2:{s:5:"Field";s:2:"st";s:4:"Type";s:6:"uint:3";}i:3;a:2:{s:5:"Field";s:8:"category";s:4:"Type";s:6:"uint:2";}i:4;a:2:{s:5:"Field";s:4:"kind";s:4:"Type";s:6:"uint:8";}i:5;a:2:{s:5:"Field";s:4:"date";s:4:"Type";s:9:"timestamp";}i:6;a:2:{s:5:"Field";s:5:"class";s:4:"Type";s:6:"uint:6";}i:7;a:2:{s:5:"Field";s:5:"price";s:4:"Type";s:4:"uint";}i:8;a:2:{s:5:"Field";s:4:"code";s:4:"Type";s:6:"uint:8";}i:9;a:2:{s:5:"Field";s:7:"surface";s:4:"Type";s:4:"uint";}}}i:9;a:3:{s:8:"sphinxql";s:10:"desc delta";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:2:{s:5:"Field";s:2:"id";s:4:"Type";s:6:"bigint";}i:1;a:2:{s:5:"Field";s:7:"content";s:4:"Type";s:5:"field";}i:2;a:2:{s:5:"Field";s:2:"st";s:4:"Type";s:6:"uint:3";}i:3;a:2:{s:5:"Field";s:8:"category";s:4:"Type";s:6:"uint:2";}i:4;a:2:{s:5:"Field";s:4:"kind";s:4:"Type";s:6:"uint:8";}i:5;a:2:{s:5:"Field";s:4:"date";s:4:"Type";s:9:"timestamp";}i:6;a:2:{s:5:"Field";s:5:"class";s:4:"Type";s:6:"uint:6";}i:7;a:2:{s:5:"Field";s:5:"price";s:4:"Type";s:4:"uint";}i:8;a:2:{s:5:"Field";s:4:"code";s:4:"Type";s:6:"uint:8";}i:9;a:2:{s:5:"Field";s:7:"surface";s:4:"Type";s:4:"uint";}}}}}sphinx-2.2.11-release/test/test_190/0000755000175000017500000000000012743402012016406 5ustar alexeyalexeysphinx-2.2.11-release/test/test_190/test.xml0000644000175000017500000000542112743402012020111 0ustar alexeyalexey distributed snippets with load_files, load_files_scattered 3 indexer { mem_limit = 32M } searchd { snippets_file_prefix = /refdata/master/ snippets_file_prefix = /refdata/agent1/ snippets_file_prefix = /refdata/agent2/ dist_threads = 2 } source src { type = mysql sql_query = SELECT 1, 'dummy', 1 as idd sql_attr_uint = idd } index idx { source = src docinfo = extern path = /idx } index dist { type = distributed agent = :idx1 agent = :idx2 local = idx } index distl0 { type = distributed local = idx } index idx1 { source = src docinfo = extern path = /idx1 } index distl1 { type = distributed local = idx1 } index idx2 { source = src docinfo = extern path = /idx2 } index distl2 { type = distributed local = idx2 } 1 ); $opts_scattered = array ( "load_files" => 1, "load_files_scattered" => 1); $alldocs = array(); $scatdocs = array(); for ( $i=0; $iBuildExcerpts ( $test[0], $index, $words, $test[1] ); $results[] = $res; } ]]> CALL SNIPPETS (('allfiles/text1.txt','allfiles/text2.txt','allfiles/text3.txt','allfiles/text4.txt','allfiles/text5.txt','allfiles/text6.txt'),'dist','"Sphinxsearch dot com"',1 AS load_files) CALL SNIPPETS (('scatteredfiles/text1.txt','scatteredfiles/text2.txt','scatteredfiles/text3.txt','scatteredfiles/text4.txt','scatteredfiles/text5.txt','scatteredfiles/text6.txt'),'dist','"Sphinxsearch dot com"',1 AS load_files,1 AS load_files_scattered) CREATE TABLE test_table ( id INTEGER AUTO_INCREMENT PRIMARY KEY NOT NULL, title VARCHAR(10) NOT NULL ); INSERT INTO `test_table` VALUES ( 1, 'dummy' ) DROP TABLE IF EXISTS test_table sphinx-2.2.11-release/test/test_190/refdata/0000755000175000017500000000000012743402012020014 5ustar alexeyalexeysphinx-2.2.11-release/test/test_190/refdata/master/0000755000175000017500000000000012743402012021307 5ustar alexeyalexeysphinx-2.2.11-release/test/test_190/refdata/master/scatteredfiles/0000755000175000017500000000000012743402012024310 5ustar alexeyalexeysphinx-2.2.11-release/test/test_190/refdata/master/scatteredfiles/text2.txt0000644000175000017500000000257312743402012026126 0ustar alexeyalexeyLorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. text2 Sphinxsearch dot com text2 Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, sphinx-2.2.11-release/test/test_190/refdata/master/scatteredfiles/text1.txt0000644000175000017500000000257312743402012026125 0ustar alexeyalexeyLorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. text1 Sphinxsearch dot com text1 Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, sphinx-2.2.11-release/test/test_190/refdata/master/allfiles/0000755000175000017500000000000012743402012023102 5ustar alexeyalexeysphinx-2.2.11-release/test/test_190/refdata/master/allfiles/text6.txt0000644000175000017500000000257312743402012024724 0ustar alexeyalexeyLorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. text6 Sphinxsearch dot com text6 Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, sphinx-2.2.11-release/test/test_190/refdata/master/allfiles/text5.txt0000644000175000017500000000257312743402012024723 0ustar alexeyalexeyLorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. text5 Sphinxsearch dot com text5 Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, sphinx-2.2.11-release/test/test_190/refdata/master/allfiles/text4.txt0000644000175000017500000000257312743402012024722 0ustar alexeyalexeyLorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. text4 Sphinxsearch dot com text4 Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, sphinx-2.2.11-release/test/test_190/refdata/master/allfiles/text3.txt0000644000175000017500000000257312743402012024721 0ustar alexeyalexeyLorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. text3 Sphinxsearch dot com text3 Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, sphinx-2.2.11-release/test/test_190/refdata/master/allfiles/text2.txt0000644000175000017500000000257312743402012024720 0ustar alexeyalexeyLorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. text2 Sphinxsearch dot com text2 Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, sphinx-2.2.11-release/test/test_190/refdata/master/allfiles/text1.txt0000644000175000017500000000257312743402012024717 0ustar alexeyalexeyLorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. text1 Sphinxsearch dot com text1 Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, sphinx-2.2.11-release/test/test_190/refdata/agent2/0000755000175000017500000000000012743402012021174 5ustar alexeyalexeysphinx-2.2.11-release/test/test_190/refdata/agent2/scatteredfiles/0000755000175000017500000000000012743402012024175 5ustar alexeyalexeysphinx-2.2.11-release/test/test_190/refdata/agent2/scatteredfiles/text6.txt0000644000175000017500000000257312743402012026017 0ustar alexeyalexeyLorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. text6 Sphinxsearch dot com text6 Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, sphinx-2.2.11-release/test/test_190/refdata/agent2/scatteredfiles/text5.txt0000644000175000017500000000257312743402012026016 0ustar alexeyalexeyLorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. text5 Sphinxsearch dot com text5 Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, sphinx-2.2.11-release/test/test_190/refdata/agent2/allfiles/0000755000175000017500000000000012743402012022767 5ustar alexeyalexeysphinx-2.2.11-release/test/test_190/refdata/agent2/allfiles/text6.txt0000644000175000017500000000257312743402012024611 0ustar alexeyalexeyLorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. text6 Sphinxsearch dot com text6 Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, sphinx-2.2.11-release/test/test_190/refdata/agent2/allfiles/text5.txt0000644000175000017500000000257312743402012024610 0ustar alexeyalexeyLorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. text5 Sphinxsearch dot com text5 Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, sphinx-2.2.11-release/test/test_190/refdata/agent2/allfiles/text4.txt0000644000175000017500000000257312743402012024607 0ustar alexeyalexeyLorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. text4 Sphinxsearch dot com text4 Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, sphinx-2.2.11-release/test/test_190/refdata/agent2/allfiles/text3.txt0000644000175000017500000000257312743402012024606 0ustar alexeyalexeyLorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. text3 Sphinxsearch dot com text3 Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, sphinx-2.2.11-release/test/test_190/refdata/agent2/allfiles/text2.txt0000644000175000017500000000257312743402012024605 0ustar alexeyalexeyLorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. text2 Sphinxsearch dot com text2 Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, sphinx-2.2.11-release/test/test_190/refdata/agent2/allfiles/text1.txt0000644000175000017500000000257312743402012024604 0ustar alexeyalexeyLorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. text1 Sphinxsearch dot com text1 Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, sphinx-2.2.11-release/test/test_190/refdata/agent1/0000755000175000017500000000000012743402012021173 5ustar alexeyalexeysphinx-2.2.11-release/test/test_190/refdata/agent1/scatteredfiles/0000755000175000017500000000000012743402012024174 5ustar alexeyalexeysphinx-2.2.11-release/test/test_190/refdata/agent1/scatteredfiles/text4.txt0000644000175000017500000000257312743402012026014 0ustar alexeyalexeyLorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. text4 Sphinxsearch dot com text4 Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, sphinx-2.2.11-release/test/test_190/refdata/agent1/scatteredfiles/text3.txt0000644000175000017500000000257312743402012026013 0ustar alexeyalexeyLorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. text3 Sphinxsearch dot com text3 Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, sphinx-2.2.11-release/test/test_190/refdata/agent1/allfiles/0000755000175000017500000000000012743402012022766 5ustar alexeyalexeysphinx-2.2.11-release/test/test_190/refdata/agent1/allfiles/text6.txt0000644000175000017500000000257312743402012024610 0ustar alexeyalexeyLorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. text6 Sphinxsearch dot com text6 Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, sphinx-2.2.11-release/test/test_190/refdata/agent1/allfiles/text5.txt0000644000175000017500000000257312743402012024607 0ustar alexeyalexeyLorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. text5 Sphinxsearch dot com text5 Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, sphinx-2.2.11-release/test/test_190/refdata/agent1/allfiles/text4.txt0000644000175000017500000000257312743402012024606 0ustar alexeyalexeyLorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. text4 Sphinxsearch dot com text4 Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, sphinx-2.2.11-release/test/test_190/refdata/agent1/allfiles/text3.txt0000644000175000017500000000257312743402012024605 0ustar alexeyalexeyLorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. text3 Sphinxsearch dot com text3 Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, sphinx-2.2.11-release/test/test_190/refdata/agent1/allfiles/text2.txt0000644000175000017500000000257312743402012024604 0ustar alexeyalexeyLorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. text2 Sphinxsearch dot com text2 Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, sphinx-2.2.11-release/test/test_190/refdata/agent1/allfiles/text1.txt0000644000175000017500000000257312743402012024603 0ustar alexeyalexeyLorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. text1 Sphinxsearch dot com text1 Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus. Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc, sphinx-2.2.11-release/test/test_190/model.bin0000644000175000017500000001515012743402012020202 0ustar alexeyalexeya:2:{i:0;a:3:{i:0;a:2:{i:0;a:6:{i:0;s:128:" ... . Aenean vulputate eleifend tellus. text1 Sphinxsearch dot com text1 Aenean leo ligula, porttitor ... ";i:1;s:128:" ... . Aenean vulputate eleifend tellus. text2 Sphinxsearch dot com text2 Aenean leo ligula, porttitor ... ";i:2;s:128:" ... . Aenean vulputate eleifend tellus. text3 Sphinxsearch dot com text3 Aenean leo ligula, porttitor ... ";i:3;s:128:" ... . Aenean vulputate eleifend tellus. text4 Sphinxsearch dot com text4 Aenean leo ligula, porttitor ... ";i:4;s:128:" ... . Aenean vulputate eleifend tellus. text5 Sphinxsearch dot com text5 Aenean leo ligula, porttitor ... ";i:5;s:128:" ... . Aenean vulputate eleifend tellus. text6 Sphinxsearch dot com text6 Aenean leo ligula, porttitor ... ";}i:1;a:6:{i:0;s:128:" ... . Aenean vulputate eleifend tellus. text1 Sphinxsearch dot com text1 Aenean leo ligula, porttitor ... ";i:1;s:128:" ... . Aenean vulputate eleifend tellus. text2 Sphinxsearch dot com text2 Aenean leo ligula, porttitor ... ";i:2;s:128:" ... . Aenean vulputate eleifend tellus. text3 Sphinxsearch dot com text3 Aenean leo ligula, porttitor ... ";i:3;s:128:" ... . Aenean vulputate eleifend tellus. text4 Sphinxsearch dot com text4 Aenean leo ligula, porttitor ... ";i:4;s:128:" ... . Aenean vulputate eleifend tellus. text5 Sphinxsearch dot com text5 Aenean leo ligula, porttitor ... ";i:5;s:128:" ... . Aenean vulputate eleifend tellus. text6 Sphinxsearch dot com text6 Aenean leo ligula, porttitor ... ";}}i:1;a:3:{s:8:"sphinxql";s:191:"CALL SNIPPETS (('allfiles/text1.txt','allfiles/text2.txt','allfiles/text3.txt','allfiles/text4.txt','allfiles/text5.txt','allfiles/text6.txt'),'dist','"Sphinxsearch dot com"',1 AS load_files)";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:1:{s:7:"snippet";s:128:" ... . Aenean vulputate eleifend tellus. text1 Sphinxsearch dot com text1 Aenean leo ligula, porttitor ... ";}i:1;a:1:{s:7:"snippet";s:128:" ... . Aenean vulputate eleifend tellus. text2 Sphinxsearch dot com text2 Aenean leo ligula, porttitor ... ";}i:2;a:1:{s:7:"snippet";s:128:" ... . Aenean vulputate eleifend tellus. text3 Sphinxsearch dot com text3 Aenean leo ligula, porttitor ... ";}i:3;a:1:{s:7:"snippet";s:128:" ... . Aenean vulputate eleifend tellus. text4 Sphinxsearch dot com text4 Aenean leo ligula, porttitor ... ";}i:4;a:1:{s:7:"snippet";s:128:" ... . Aenean vulputate eleifend tellus. text5 Sphinxsearch dot com text5 Aenean leo ligula, porttitor ... ";}i:5;a:1:{s:7:"snippet";s:128:" ... . Aenean vulputate eleifend tellus. text6 Sphinxsearch dot com text6 Aenean leo ligula, porttitor ... ";}}}i:2;a:3:{s:8:"sphinxql";s:253:"CALL SNIPPETS (('scatteredfiles/text1.txt','scatteredfiles/text2.txt','scatteredfiles/text3.txt','scatteredfiles/text4.txt','scatteredfiles/text5.txt','scatteredfiles/text6.txt'),'dist','"Sphinxsearch dot com"',1 AS load_files,1 AS load_files_scattered)";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:1:{s:7:"snippet";s:128:" ... . Aenean vulputate eleifend tellus. text1 Sphinxsearch dot com text1 Aenean leo ligula, porttitor ... ";}i:1;a:1:{s:7:"snippet";s:128:" ... . Aenean vulputate eleifend tellus. text2 Sphinxsearch dot com text2 Aenean leo ligula, porttitor ... ";}i:2;a:1:{s:7:"snippet";s:128:" ... . Aenean vulputate eleifend tellus. text3 Sphinxsearch dot com text3 Aenean leo ligula, porttitor ... ";}i:3;a:1:{s:7:"snippet";s:128:" ... . Aenean vulputate eleifend tellus. text4 Sphinxsearch dot com text4 Aenean leo ligula, porttitor ... ";}i:4;a:1:{s:7:"snippet";s:128:" ... . Aenean vulputate eleifend tellus. text5 Sphinxsearch dot com text5 Aenean leo ligula, porttitor ... ";}i:5;a:1:{s:7:"snippet";s:128:" ... . Aenean vulputate eleifend tellus. text6 Sphinxsearch dot com text6 Aenean leo ligula, porttitor ... ";}}}}i:1;a:3:{i:0;a:2:{i:0;a:6:{i:0;s:128:" ... . Aenean vulputate eleifend tellus. text1 Sphinxsearch dot com text1 Aenean leo ligula, porttitor ... ";i:1;s:128:" ... . Aenean vulputate eleifend tellus. text2 Sphinxsearch dot com text2 Aenean leo ligula, porttitor ... ";i:2;s:128:" ... . Aenean vulputate eleifend tellus. text3 Sphinxsearch dot com text3 Aenean leo ligula, porttitor ... ";i:3;s:128:" ... . Aenean vulputate eleifend tellus. text4 Sphinxsearch dot com text4 Aenean leo ligula, porttitor ... ";i:4;s:128:" ... . Aenean vulputate eleifend tellus. text5 Sphinxsearch dot com text5 Aenean leo ligula, porttitor ... ";i:5;s:128:" ... . Aenean vulputate eleifend tellus. text6 Sphinxsearch dot com text6 Aenean leo ligula, porttitor ... ";}i:1;b:0;}i:1;a:3:{s:8:"sphinxql";s:191:"CALL SNIPPETS (('allfiles/text1.txt','allfiles/text2.txt','allfiles/text3.txt','allfiles/text4.txt','allfiles/text5.txt','allfiles/text6.txt'),'dist','"Sphinxsearch dot com"',1 AS load_files)";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:1:{s:7:"snippet";s:128:" ... . Aenean vulputate eleifend tellus. text1 Sphinxsearch dot com text1 Aenean leo ligula, porttitor ... ";}i:1;a:1:{s:7:"snippet";s:128:" ... . Aenean vulputate eleifend tellus. text2 Sphinxsearch dot com text2 Aenean leo ligula, porttitor ... ";}i:2;a:1:{s:7:"snippet";s:128:" ... . Aenean vulputate eleifend tellus. text3 Sphinxsearch dot com text3 Aenean leo ligula, porttitor ... ";}i:3;a:1:{s:7:"snippet";s:128:" ... . Aenean vulputate eleifend tellus. text4 Sphinxsearch dot com text4 Aenean leo ligula, porttitor ... ";}i:4;a:1:{s:7:"snippet";s:128:" ... . Aenean vulputate eleifend tellus. text5 Sphinxsearch dot com text5 Aenean leo ligula, porttitor ... ";}i:5;a:1:{s:7:"snippet";s:128:" ... . Aenean vulputate eleifend tellus. text6 Sphinxsearch dot com text6 Aenean leo ligula, porttitor ... ";}}}i:2;a:3:{s:8:"sphinxql";s:253:"CALL SNIPPETS (('scatteredfiles/text1.txt','scatteredfiles/text2.txt','scatteredfiles/text3.txt','scatteredfiles/text4.txt','scatteredfiles/text5.txt','scatteredfiles/text6.txt'),'dist','"Sphinxsearch dot com"',1 AS load_files,1 AS load_files_scattered)";s:5:"error";s:60:"load_files_scattered works only together with dist_threads>1";s:5:"errno";i:1064;}}}sphinx-2.2.11-release/test/test_189/0000755000175000017500000000000012743402012016416 5ustar alexeyalexeysphinx-2.2.11-release/test/test_189/test.xml0000644000175000017500000000423412743402012020122 0ustar alexeyalexey master vs agent compat mode 3 searchd { workers = threads } index dist { type = distributed agent = :loc1 agent = :loc2 } source src_a1 { type = mysql sql_query = SELECT id, idd, 1 as aagent, body FROM test_table where id in ( 1,2,3,4,5 ) sql_attr_uint = aagent sql_attr_uint = idd } index loc1 { source = src_a1 docinfo = extern path = /a1 } source src_a2 { type = mysql sql_query = SELECT id, idd, 2 as aagent, body FROM test_table where id in ( 5,6,7, 8, 9 ) sql_attr_uint = aagent sql_attr_uint = idd } index loc2 { source = src_a2 docinfo = extern path = /a2 } CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `idd` int(11) NOT NULL default '0', `body` varchar(1024) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 1, 'the dog' ), ( 2, 10, 'the cat' ), ( 3, 2, 'the bird' ), ( 4, 11, 'cat eats bird' ), ( 5, 3, 'dog eats cat' ), ( 6, 12, 'bird' ), ( 7, 4, 'the cat' ), ( 8, 5, 'eats' ), ( 9, 13, 'the' ) select * from dist select idd, aagent from dist group by idd select *, idd, aagent from dist group by idd select idd, @count, aagent from dist group by idd select idd, count(*), aagent from dist group by idd select idd, count(*), aagent from dist group by idD select idd, idd*2 as rr from dist select idd as r0, r0*2 as rr from dist select idd as agent from dist select agent as idd, idd * 3 as rr from dist select idd as agent, agent + 2 as idd, idd - 3 as rr from dist sphinx-2.2.11-release/test/test_189/model.bin0000644000175000017500000001404712743402012020216 0ustar alexeyalexeya:1:{i:0;a:11:{i:0;a:3:{s:8:"sphinxql";s:18:"select * from dist";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:6:"aagent";s:1:"1";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"idd";s:2:"10";s:6:"aagent";s:1:"1";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"idd";s:1:"2";s:6:"aagent";s:1:"1";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";s:6:"aagent";s:1:"1";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"idd";s:1:"3";s:6:"aagent";s:1:"2";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"idd";s:2:"12";s:6:"aagent";s:1:"2";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"idd";s:1:"4";s:6:"aagent";s:1:"2";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"idd";s:1:"5";s:6:"aagent";s:1:"2";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"idd";s:2:"13";s:6:"aagent";s:1:"2";}}}i:1;a:3:{s:8:"sphinxql";s:41:"select idd, aagent from dist group by idd";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:2:{s:3:"idd";s:1:"1";s:6:"aagent";s:1:"1";}i:1;a:2:{s:3:"idd";s:2:"10";s:6:"aagent";s:1:"1";}i:2;a:2:{s:3:"idd";s:1:"2";s:6:"aagent";s:1:"1";}i:3;a:2:{s:3:"idd";s:2:"11";s:6:"aagent";s:1:"1";}i:4;a:2:{s:3:"idd";s:1:"3";s:6:"aagent";s:1:"1";}i:5;a:2:{s:3:"idd";s:2:"12";s:6:"aagent";s:1:"2";}i:6;a:2:{s:3:"idd";s:1:"4";s:6:"aagent";s:1:"2";}i:7;a:2:{s:3:"idd";s:1:"5";s:6:"aagent";s:1:"2";}i:8;a:2:{s:3:"idd";s:2:"13";s:6:"aagent";s:1:"2";}}}i:2;a:3:{s:8:"sphinxql";s:44:"select *, idd, aagent from dist group by idd";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:6:"aagent";s:1:"1";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"idd";s:2:"10";s:6:"aagent";s:1:"1";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"idd";s:1:"2";s:6:"aagent";s:1:"1";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";s:6:"aagent";s:1:"1";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"idd";s:1:"3";s:6:"aagent";s:1:"1";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"idd";s:2:"12";s:6:"aagent";s:1:"2";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"idd";s:1:"4";s:6:"aagent";s:1:"2";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"idd";s:1:"5";s:6:"aagent";s:1:"2";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"idd";s:2:"13";s:6:"aagent";s:1:"2";}}}i:3;a:3:{s:8:"sphinxql";s:49:"select idd, @count, aagent from dist group by idd";s:5:"error";s:70:"Using the old-fashion @variables (@count, @weight, etc.) is deprecated";s:5:"errno";i:1064;}i:4;a:3:{s:8:"sphinxql";s:51:"select idd, count(*), aagent from dist group by idd";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:3:"idd";s:1:"1";s:8:"count(*)";s:1:"1";s:6:"aagent";s:1:"1";}i:1;a:3:{s:3:"idd";s:2:"10";s:8:"count(*)";s:1:"1";s:6:"aagent";s:1:"1";}i:2;a:3:{s:3:"idd";s:1:"2";s:8:"count(*)";s:1:"1";s:6:"aagent";s:1:"1";}i:3;a:3:{s:3:"idd";s:2:"11";s:8:"count(*)";s:1:"1";s:6:"aagent";s:1:"1";}i:4;a:3:{s:3:"idd";s:1:"3";s:8:"count(*)";s:1:"2";s:6:"aagent";s:1:"1";}i:5;a:3:{s:3:"idd";s:2:"12";s:8:"count(*)";s:1:"1";s:6:"aagent";s:1:"2";}i:6;a:3:{s:3:"idd";s:1:"4";s:8:"count(*)";s:1:"1";s:6:"aagent";s:1:"2";}i:7;a:3:{s:3:"idd";s:1:"5";s:8:"count(*)";s:1:"1";s:6:"aagent";s:1:"2";}i:8;a:3:{s:3:"idd";s:2:"13";s:8:"count(*)";s:1:"1";s:6:"aagent";s:1:"2";}}}i:5;a:3:{s:8:"sphinxql";s:51:"select idd, count(*), aagent from dist group by idD";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:3:"idd";s:1:"1";s:8:"count(*)";s:1:"1";s:6:"aagent";s:1:"1";}i:1;a:3:{s:3:"idd";s:2:"10";s:8:"count(*)";s:1:"1";s:6:"aagent";s:1:"1";}i:2;a:3:{s:3:"idd";s:1:"2";s:8:"count(*)";s:1:"1";s:6:"aagent";s:1:"1";}i:3;a:3:{s:3:"idd";s:2:"11";s:8:"count(*)";s:1:"1";s:6:"aagent";s:1:"1";}i:4;a:3:{s:3:"idd";s:1:"3";s:8:"count(*)";s:1:"2";s:6:"aagent";s:1:"1";}i:5;a:3:{s:3:"idd";s:2:"12";s:8:"count(*)";s:1:"1";s:6:"aagent";s:1:"2";}i:6;a:3:{s:3:"idd";s:1:"4";s:8:"count(*)";s:1:"1";s:6:"aagent";s:1:"2";}i:7;a:3:{s:3:"idd";s:1:"5";s:8:"count(*)";s:1:"1";s:6:"aagent";s:1:"2";}i:8;a:3:{s:3:"idd";s:2:"13";s:8:"count(*)";s:1:"1";s:6:"aagent";s:1:"2";}}}i:6;a:3:{s:8:"sphinxql";s:33:"select idd, idd*2 as rr from dist";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:2:{s:3:"idd";s:1:"1";s:2:"rr";s:1:"2";}i:1;a:2:{s:3:"idd";s:2:"10";s:2:"rr";s:2:"20";}i:2;a:2:{s:3:"idd";s:1:"2";s:2:"rr";s:1:"4";}i:3;a:2:{s:3:"idd";s:2:"11";s:2:"rr";s:2:"22";}i:4;a:2:{s:3:"idd";s:1:"3";s:2:"rr";s:1:"6";}i:5;a:2:{s:3:"idd";s:2:"12";s:2:"rr";s:2:"24";}i:6;a:2:{s:3:"idd";s:1:"4";s:2:"rr";s:1:"8";}i:7;a:2:{s:3:"idd";s:1:"5";s:2:"rr";s:2:"10";}i:8;a:2:{s:3:"idd";s:2:"13";s:2:"rr";s:2:"26";}}}i:7;a:3:{s:8:"sphinxql";s:38:"select idd as r0, r0*2 as rr from dist";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:2:{s:2:"r0";s:1:"1";s:2:"rr";s:1:"2";}i:1;a:2:{s:2:"r0";s:2:"10";s:2:"rr";s:2:"20";}i:2;a:2:{s:2:"r0";s:1:"2";s:2:"rr";s:1:"4";}i:3;a:2:{s:2:"r0";s:2:"11";s:2:"rr";s:2:"22";}i:4;a:2:{s:2:"r0";s:1:"3";s:2:"rr";s:1:"6";}i:5;a:2:{s:2:"r0";s:2:"12";s:2:"rr";s:2:"24";}i:6;a:2:{s:2:"r0";s:1:"4";s:2:"rr";s:1:"8";}i:7;a:2:{s:2:"r0";s:1:"5";s:2:"rr";s:2:"10";}i:8;a:2:{s:2:"r0";s:2:"13";s:2:"rr";s:2:"26";}}}i:8;a:3:{s:8:"sphinxql";s:29:"select idd as agent from dist";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:1:{s:5:"agent";s:1:"1";}i:1;a:1:{s:5:"agent";s:2:"10";}i:2;a:1:{s:5:"agent";s:1:"2";}i:3;a:1:{s:5:"agent";s:2:"11";}i:4;a:1:{s:5:"agent";s:1:"3";}i:5;a:1:{s:5:"agent";s:2:"12";}i:6;a:1:{s:5:"agent";s:1:"4";}i:7;a:1:{s:5:"agent";s:1:"5";}i:8;a:1:{s:5:"agent";s:2:"13";}}}i:9;a:3:{s:8:"sphinxql";s:44:"select agent as idd, idd * 3 as rr from dist";s:5:"error";s:208:"index dist: agent : remote query error: index loc1: parse error: unknown column: agent; index dist: agent : remote query error: index loc2: parse error: unknown column: agent";s:5:"errno";i:1064;}i:10;a:3:{s:8:"sphinxql";s:62:"select idd as agent, agent + 2 as idd, idd - 3 as rr from dist";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:5:"agent";s:1:"3";s:3:"idd";s:1:"3";s:2:"rr";s:1:"0";}i:1;a:3:{s:5:"agent";s:2:"12";s:3:"idd";s:2:"12";s:2:"rr";s:1:"9";}i:2;a:3:{s:5:"agent";s:1:"4";s:3:"idd";s:1:"4";s:2:"rr";s:1:"1";}i:3;a:3:{s:5:"agent";s:2:"13";s:3:"idd";s:2:"13";s:2:"rr";s:2:"10";}i:4;a:3:{s:5:"agent";s:1:"5";s:3:"idd";s:1:"5";s:2:"rr";s:1:"2";}i:5;a:3:{s:5:"agent";s:2:"14";s:3:"idd";s:2:"14";s:2:"rr";s:2:"11";}i:6;a:3:{s:5:"agent";s:1:"6";s:3:"idd";s:1:"6";s:2:"rr";s:1:"3";}i:7;a:3:{s:5:"agent";s:1:"7";s:3:"idd";s:1:"7";s:2:"rr";s:1:"4";}i:8;a:3:{s:5:"agent";s:2:"15";s:3:"idd";s:2:"15";s:2:"rr";s:2:"12";}}}}}sphinx-2.2.11-release/test/test_188/0000755000175000017500000000000012743402012016415 5ustar alexeyalexeysphinx-2.2.11-release/test/test_188/test.xml0000644000175000017500000001313012743402012020114 0ustar alexeyalexey RT: index format backwards compatibility searchd { workers = threads } index v2 { type = rt path = data/rt_v2 rt_field = content rt_attr_uint = idd dict = crc } index v3 { type = rt path = data/rt_v3 rt_field = content rt_attr_uint = idd dict = crc } index v4 { type = rt path = data/rt_v4 rt_field = content rt_attr_uint = idd dict = crc } index v5 { type = rt path = data/rt_v5 rt_field = content rt_attr_uint = idd dict = crc } source plain_stem_src { type = mysql sql_query = select 1, 11 as gid, 'apple' as title sql_attr_uint = gid } index plain_stem { source = plain_stem_src path = /plain_stem docinfo = extern morphology = stem_en dict = crc } index rt_stem { type = rt path = /rt_stem rt_attr_uint = gid rt_field = title morphology = stem_en dict = crc } SetMatchMode ( SPH_MATCH_EXTENDED2 ); } else { $results[] = sprintf("start.err=%d; local=%s; client=%s;", $startSta, $error, $client->GetLastError()); } return $results; '); $query = create_function ( '$q, $sock',' $results = array( $q ); $res = @mysql_query ( $q, $sock ); if ( $res===false ) { $results[] = mysql_errno( $sock ) . "; " . mysql_error ( $sock ); } else { while ($row = @mysql_fetch_array($res, MYSQL_ASSOC)) { if ( array_key_exists ( "Variable_name", $row ) && $row["Variable_name"]=="time" ) { continue; } if ( !array_key_exists ( "Variable_name", $row ) || !array_key_exists ( "Value", $row ) ) { $line = ""; foreach ( $row as $k=>$v ) { $line .= $k . " = " . $v . "\t"; } $results[] = $line; } else { $results[] = $row["Variable_name"] . " = " . $row["Value"]; } } @mysql_free_result ( $res ); } return $results; '); $insert = create_function ( '$idx, $from, $to, $query, $sock',' $insert = "REPLACE INTO $idx ( id, idd, content ) VALUES"; $lastword = 1; for ( $doc=$from; $doc<$to; $doc++ ) { $content = ""; for ( $word=$lastword; $word<$lastword+60; $word++ ) { $content .= "test_$word "; } $lastword += 40; if ( ( $doc%7 )==0 ) { $content .= "test700"; } else if ( ( $doc%19 )==0 ) { $content .= "test1800"; } $insert .= " ( $doc, 111, \'$content\' ),"; } $res = $query ( substr ( $insert, 0, -1 ), $sock ); // remove trailing , return array(); '); $open = create_function ( '', ' global $sd_address, $sd_sphinxql_port; $sockStr = "$sd_address:$sd_sphinxql_port"; if ($sd_address == "localhost") $sockStr = "127.0.0.1:$sd_sphinxql_port"; $sock = @mysql_connect ($sockStr,"","", true ); return $sock; '); $close = create_function ( '$sock', '@mysql_close ( $sock );' ); $results = array (); $sock = $open (); $results = array_merge ( $results, $query ( "select * from v2 where match ( 'test700 | test1800' )", $sock ) ); $results = array_merge ( $results, $query ( "show meta", $sock ) ); $results = array_merge ( $results, $query ( "select * from v3 where match ( 'test700 | test1800' )", $sock ) ); $results = array_merge ( $results, $query ( "show meta", $sock ) ); $results = array_merge ( $results, $query ( "select * from v4 where match ( 'test700 | test1800' )", $sock ) ); $results = array_merge ( $results, $query ( "show meta", $sock ) ); $results = array_merge ( $results, $query ( "select * from v5 where match ( 'test700 | test1800' )", $sock ) ); $results = array_merge ( $results, $query ( "show meta", $sock ) ); $results = array_merge ( $results, $query ( "CALL KEYWORDS ( 'apple', 'plain_stem', 1 )", $sock ) ); $results = array_merge ( $results, $query ( "CALL KEYWORDS ( 'apple', 'rt_stem', 1 )", $sock ) ); $results = array_merge ( $results, $query ( "ATTACH INDEX plain_stem TO RTINDEX rt_stem", $sock ) ); $results = array_merge ( $results, $query ( "UPDATE rt_stem SET gid=111 WHERE id=1", $sock ) ); // regression plain unavailable after ATTACH till daemon restart $results = array_merge ( $results, $query ( "SELECT * FROM plain_stem", $sock ) ); RunIndexer ( $errors, '--rotate plain_stem' ); sleep(2); $results = array_merge ( $results, $query ( "SELECT * FROM plain_stem", $sock ) ); $close ( $sock ); $results = array_merge ( $results, $restartDaemon ( $client ) ); $sock = $open (); $results = array_merge ( $results, $insert ( "v5", 1, 20, $query, $sock ) ); $results = array_merge ( $results, $query ( "select * from v5 where match ( 'test700 | test1800')", $sock ) ); $results = array_merge ( $results, $query ( "show meta", $sock ) ); $results = array_merge ( $results, $query ( "CALL KEYWORDS ( 'apple', 'rt_stem', 1 )", $sock ) ); $results = array_merge ( $results, $query ( "SELECT * FROM rt_stem", $sock ) ); // TRUNCATE vs ATTACH $results = array_merge ( $results, $query ( "DELETE FROM rt_stem WHERE id=1", $sock ) ); $results = array_merge ( $results, $query ( "SELECT * FROM rt_stem", $sock ) ); $results = array_merge ( $results, $query ( "TRUNCATE RTINDEX rt_stem", $sock ) ); $results = array_merge ( $results, $query ( "ATTACH INDEX plain_stem TO RTINDEX rt_stem", $sock ) ); $results = array_merge ( $results, $query ( "SELECT * FROM rt_stem", $sock ) ); $close ( $sock ); ]]> sphinx-2.2.11-release/test/test_188/refdata/0000755000175000017500000000000012743402012020023 5ustar alexeyalexeysphinx-2.2.11-release/test/test_188/refdata/rt_v5.ram0000644000175000017500000002646212743402012021575 0ustar alexeyalexeyحӟx䔑g Ǐ   q  ɑߗ ߈ p ؎ ͠hŨ  ՝ x䫏  ۯ   ӯ~ ߇ ŧn ߘ Ÿpo  qi сh ㏉ 9 ّџwD    g葚 æo   ùqR e Ѡ  n ϟ  p׌ؐh ˎ wϒԨ x Ǝ ᤀ  gȐ p י Ӡ q  / ׆wé  Ȉ߇Ăݯz4 ߘ    ꘇѠghܔϟw ɏ   L ͩ o ˫  }͟xg   ܫ wװߗԉn ߈  ӟ  ` ոx ˎ ghLjն  Ўo س ɹ ֦ص/2 T ∦QϠ x  h Ȏ w~  ݿ   wԉŦ h   o ӟ ͠  . `  xq ٬ I hՎ Ϡq o  ũn  LjgN K Ҧ- ʕ Ѡwڿ Ξ5  ߈ n ۢƅߗèo  M ϟg ҅ xç wι ͟h  ȈҶꖉ  Ҹߘn ߇ Ђ g Ȏ ͎Ѡꨉi֏  ץq  Ǐ w  ؑ  ޮΙ+ ݯ g x  ùp ϟܬo æկfù  nˉ  莖wN  h öʘ g ّ   ܓq Ӡ o ͸؆o  w ŷ  ӟh  ͠x ؐ  ߘ n  ߇،p߈ n ߗr @ ҡ3  Ǝ h  ِ џg  ޲ xŧ}Ÿ  㯑Ÿq   Ȑ  n ϫ Ǝ o ۰ ç  ׫    ֝I m ɞèq  ÷op Ў n׫ ͸ ΂u  虇֎֚    ũp  Ŷnܚ  v ԗʥQ q  o ȑ׏ɫ Ё  ɑ  ^ ِǏϳ o ⾟ n ˉ > Ŧ  ŧiʢO   ̆  ͳƐ ֶ Ҷ : Ȏ5 M "  ֐  Ѷ Ѹ Ũə]q  ב˳3 >   é p  դr  æӇ  Ǒ  ێ}ɏ # öé И  ָ Ȏֶې J F  rն.   ֐p 釩 æq ̆  ù   q  בŸ %ŧp ޸  6  ]Ũ  ŷٰ̂ ͫ ɏρ L n " Ǝzِ ѳ 薇nَ Ȑ  ׎髉( ʸ     ò(Ŷo ũuŶ  q ސ G ɶŦŹ ޾ ֎  Nj &ɒ ɳp λ ΐ p ޏ ø ˉ çǒ ׏  q Ų+ɋ o Ǐaؑ 玁   ϳɑ  ֏  䔷0  èn÷  ÷n >"F$ {;H['v68uy|DsRגa D,n1 $:|t I/ e|t9v}>'PE[   0 3 703 7## 1 03 703 7 #  ,(;+/) / ',(;,(; +-'  '+/ , ( ;"5 9 ! 621 62 1 %!3 9  5 7 "62 1 %! %6 2 1  "5 9 : )-& :)-:)- &; &:) -"81 2 2 6 ""   1 2 6#1 64 "-)&  & ): -:& &-) :'#73  3 0  # #" 7073 0#;. ( '  '(, ;(,& ''; ,*"62 1 # 61  "  " 2 1 62 ": -+& &  :)-')- &&:/ )#"0 75 03 7#   #3 790 3 #,( ;&<''  ,; (;  '',( #4 8 $7 3 073 0$ 4 6 #2 8 73 0$  730#4 8;( , ' ':;(,;(,'  ; (, "12 61 2 6" 0"1 2 6 1 2 6   - ) : &*. *,& -):-):( . &*.  -)::  *.&*. :&*.* . &:   95!%2 64 6 !95 "95 " 2 8 %!%2 6 "9 5 (,  /+/+* ,  (. /+< </ +(, 4 8 0  $ 04 84 8$ 0 $4 8 - ++/  +/ /)1 84  $  $! 4 % 8 $ $84 .;* *   ..* 7 5 %! %!5 95 9% !%!$ 93 /+ /   +/:+% 82 $ $  4 84 8 $ $ !6 4  .(*.  *., *95 !%! %$ 9 5 !%!%095 )- . *.* )/ + - .*  .*)-5 9 1  %%!5 95 9%! 1  1 ! 5 9; + / ''+/ ;'+/ +/;  #8 4  $3 7 3 9 $84 #84 #5 7   $3 7  84&oooooooo o o o o ooooooosphinx-2.2.11-release/test/test_188/refdata/rt_v5.meta0000644000175000017500000000037512743402012021737 0ustar alexeyalexeySPRTcontentidd 0sphinx-2.2.11-release/test/test_188/refdata/rt_v5.kill0000644000175000017500000000000412743402012021731 0ustar alexeyalexeysphinx-2.2.11-release/test/test_188/refdata/rt_v4.ram0000644000175000017500000002602012743402012021562 0ustar alexeyalexeyحӟx䔑g Ǐ   q  ɑߗ ߈ p ؎ ͠hŨ  ՝ x䫏  ۯ   ӯ~ ߇ ŧn ߘ Ÿpo  qJ  сh ㏉ 9 ّџwD    g葚 æo   ùqR e Ѡ  n ϟ  p׌ؐh ˎ wϒ Ԩ x Ǝ ᤀ  gȐ p י Ӡ q  / ׆wé  Ȉ߇Ăݯz4 ߘ    ꘇѠghܔϟw ɏ   L ͩ o ˫  }͟xg   ܫ wװߗԉn ߈  ӟ  ` ոx ˎ ghLjն  Ўo ͠ ɹ ֦ص/2 T ∦QϠ x  h Ȏ w~  ݿ   wԉŦ h   o ӟ͠  . `  xq ٬ I hՎ Ϡq o  ũn  LjgN K Ҧ- ʕ Ѡwڿ Ξ5  ߈ n  ƅߗèo  M ϟg ҅ xç wι ͟h  ȈҶꖉ  Ҹߘn ߇ Ђ g Ȏ ͎Ѡꨉi֏  q  Ǐ w  ؑ  ޮΙ+ ݯ g x  ùp ϟܬo æկfù  nˉ  莖wN  h öʘ g ّ   ܓq Ӡ o ͸؆o  w ŷ  ӟh  ͠x ؐ  ߘ n  ߇،p߈ n ߗr @ ҡ3  Ǝ h  ِϞ џg  ޲ xŧ}Ÿ  㯑Ÿq   Ȑ  n ϫ Ǝ o ۰ ç  ׫    ֝I m èq  ÷op Ў n׫ ͸ ΂u  虇֎֚    ũp  Ŷnܚ  v ԗʥQ q  o ȑ׏ɫ Ё ɑ  ^ ِǏϳ o ⾟ n ˉ > Ŧ  ŧiʢO   ̆  ͳƐ ֶ Ҷ : Ȏ5 M "  ֐~Ѷ Ѹ Ũə]q  ב˳3 >   é p  դr  æӇ  Ǒ  ێ}ɏ֚W  öé И  ָ Ȏֶې J F  rն.   ֐p 釩 æq ̆  ù   q  בŸӇŧp ޸  6  ]Ũ  ŷٰ̂ ͫ ɏρ L n " Ǝzِ ѳ 薇nَ Ȑ  ׎髉( ʸ     Ŷo ũuŶ  q ސ G ɶŦŹ ޾ ֎  Nj &ɒ ɳp λ ΐ p ޏ ø ˉ çǒ ׏  q  ɋ o Ǐaؑ 玁   ϳɑ  ֏  䔷0  èn÷  ÷n    0 3 703 7## 1 03 703 7 #  ,(;+/) / ',(;,(; +-'  '+/ , ( ;"5 9 ! 621 62 1 %!3 9  5 7 "62 1 %! %6 2 1  "5 9 : )-& :)-:)- &; &:) -"81 2 2 6 ""   1 2 6#1 64 "-)&  & ): -:& &-) :'#73  3 0  # #" 7073 0#;. ( '  '(, ;(,& ''; ,*"62 1 # 61  "  " 2 1 62 ": -+& &  :)-')- &&:/ )#"0 75 03 7#   #3 790 3 #,( ;&<''  ,; (;  '',( #4 8 $7 3 073 0$ 4 6 #2 8 73 0$  730#4 8;( , ' ':;(,;(,'  ; (, "12 61 2 6" 0"1 2 6 1 2 6   - ) : &*. *,& -):-):( . &*.  -)::  *.&*. :&*.* . &:   95!%2 64 6 !95 "95 " 2 8 %!%2 6 "9 5 (,  /+/+* ,  (. /+< </ +(, 4 8 0  $ 04 84 8$ 0 $4 8 - ++/  +/ /)1 84  $  $! 4 % 8 $ $84 .;* *   ..* 7 5 %! %!5 95 9% !%!$ 93 /+ /   +/:+% 82 $ $  4 84 8 $ $ !6 4  .(*.  *., *95 !%! %$ 9 5 !%!%095 )- . *.* )/ + - .*  .*)-5 9 1  %%!5 95 9%! 1  1 ! 5 9; + / ''+/ ;'+/ +/;  #8 4  $3 7 3 9 $84 #84 #5 7   $3 7  84&oooooooo o o o o ooooooosphinx-2.2.11-release/test/test_188/refdata/rt_v4.meta0000644000175000017500000000037112743402012021732 0ustar alexeyalexeySPRTcontentidd sphinx-2.2.11-release/test/test_188/refdata/rt_v4.kill0000644000175000017500000000000412743402012021730 0ustar alexeyalexeysphinx-2.2.11-release/test/test_188/refdata/rt_v3.ram0000644000175000017500000002602012743402012021561 0ustar alexeyalexeyحӟx䔑g Ǐ   q  ɑߗ ߈ p ؎ ͠hŨ  ՝ x䫏  ۯ   ӯ~ ߇ ŧn ߘ Ÿpo  qJ  сh ㏉ 9 ّџwD    g葚 æo   ùqR e Ѡ  n ϟ  p׌ؐh ˎ wϒ Ԩ x Ǝ ᤀ  gȐ p י Ӡ q  / ׆wé  Ȉ߇Ăݯz4 ߘ    ꘇѠghܔϟw ɏ   L ͩ o ˫  }͟xg   ܫ wװߗԉn ߈  ӟ  ` ոx ˎ ghLjն  Ўo ͠ ɹ ֦ص/2 T ∦QϠ x  h Ȏ w~  ݿ   wԉŦ h   o ӟ͠  . `  xq ٬ I hՎ Ϡq o  ũn  LjgN K Ҧ- ʕ Ѡwڿ Ξ5  ߈ n  ƅߗèo  M ϟg ҅ xç wι ͟h  ȈҶꖉ  Ҹߘn ߇ Ђ g Ȏ ͎Ѡꨉi֏  q  Ǐ w  ؑ  ޮΙ+ ݯ g x  ùp ϟܬo æկfù  nˉ  莖wN  h öʘ g ّ   ܓq Ӡ o ͸؆o  w ŷ  ӟh  ͠x ؐ  ߘ n  ߇،p߈ n ߗr @ ҡ3  Ǝ h  ِϞ џg  ޲ xŧ}Ÿ  㯑Ÿq   Ȑ  n ϫ Ǝ o ۰ ç  ׫    ֝I m èq  ÷op Ў n׫ ͸ ΂u  虇֎֚    ũp  Ŷnܚ  v ԗʥQ q  o ȑ׏ɫ Ё ɑ  ^ ِǏϳ o ⾟ n ˉ > Ŧ  ŧiʢO   ̆  ͳƐ ֶ Ҷ : Ȏ5 M "  ֐~Ѷ Ѹ Ũə]q  ב˳3 >   é p  դr  æӇ  Ǒ  ێ}ɏ֚W  öé И  ָ Ȏֶې J F  rն.   ֐p 釩 æq ̆  ù   q  בŸӇŧp ޸  6  ]Ũ  ŷٰ̂ ͫ ɏρ L n " Ǝzِ ѳ 薇nَ Ȑ  ׎髉( ʸ     Ŷo ũuŶ  q ސ G ɶŦŹ ޾ ֎  Nj &ɒ ɳp λ ΐ p ޏ ø ˉ çǒ ׏  q  ɋ o Ǐaؑ 玁   ϳɑ  ֏  䔷0  èn÷  ÷n    0 3 703 7## 1 03 703 7 #  ,(;+/) / ',(;,(; +-'  '+/ , ( ;"5 9 ! 621 62 1 %!3 9  5 7 "62 1 %! %6 2 1  "5 9 : )-& :)-:)- &; &:) -"81 2 2 6 ""   1 2 6#1 64 "-)&  & ): -:& &-) :'#73  3 0  # #" 7073 0#;. ( '  '(, ;(,& ''; ,*"62 1 # 61  "  " 2 1 62 ": -+& &  :)-')- &&:/ )#"0 75 03 7#   #3 790 3 #,( ;&<''  ,; (;  '',( #4 8 $7 3 073 0$ 4 6 #2 8 73 0$  730#4 8;( , ' ':;(,;(,'  ; (, "12 61 2 6" 0"1 2 6 1 2 6   - ) : &*. *,& -):-):( . &*.  -)::  *.&*. :&*.* . &:   95!%2 64 6 !95 "95 " 2 8 %!%2 6 "9 5 (,  /+/+* ,  (. /+< </ +(, 4 8 0  $ 04 84 8$ 0 $4 8 - ++/  +/ /)1 84  $  $! 4 % 8 $ $84 .;* *   ..* 7 5 %! %!5 95 9% !%!$ 93 /+ /   +/:+% 82 $ $  4 84 8 $ $ !6 4  .(*.  *., *95 !%! %$ 9 5 !%!%095 )- . *.* )/ + - .*  .*)-5 9 1  %%!5 95 9%! 1  1 ! 5 9; + / ''+/ ;'+/ +/;  #8 4  $3 7 3 9 $84 #84 #5 7   $3 7  84&oooooooo o o o o ooooooosphinx-2.2.11-release/test/test_188/refdata/rt_v3.meta0000644000175000017500000000004012743402012021722 0ustar alexeyalexeySPRTsphinx-2.2.11-release/test/test_188/refdata/rt_v3.kill0000644000175000017500000000000412743402012021727 0ustar alexeyalexeysphinx-2.2.11-release/test/test_188/refdata/rt_v2.ram0000644000175000017500000002601012743402012021557 0ustar alexeyalexeyحӟx䔑g Ǐ   q  ɑߗ ߈ p ؎ ͠hŨ  ՝ x䫏  ۯ   ӯ~ ߇ ŧn ߘ Ÿpo  qJ  сh ㏉ 9 ّџwD    g葚 æo   ùqR e Ѡ  n ϟ  p׌ؐh ˎ wϒ Ԩ x Ǝ ᤀ  gȐ p י Ӡ q  / ׆wé  Ȉ߇Ăݯz4 ߘ    ꘇѠghܔϟw ɏ   L ͩ o ˫  }͟xg   ܫ wװߗԉn ߈  ӟ  ` ոx ˎ ghLjն  Ўo ͠ ɹ ֦ص/2 T ∦QϠ x  h Ȏ w~  ݿ   wԉŦ h   o ӟ͠  . `  xq ٬ I hՎ Ϡq o  ũn  LjgN K Ҧ- ʕ Ѡwڿ Ξ5  ߈ n  ƅߗèo  M ϟg ҅ xç wι ͟h  ȈҶꖉ  Ҹߘn ߇ Ђ g Ȏ ͎Ѡꨉi֏  q  Ǐ w  ؑ  ޮΙ+ ݯ g x  ùp ϟܬo æկfù  nˉ  莖wN  h öʘ g ّ   ܓq Ӡ o ͸؆o  w ŷ  ӟh  ͠x ؐ  ߘ n  ߇،p߈ n ߗr @ ҡ3  Ǝ h  ِϞ џg  ޲ xŧ}Ÿ  㯑Ÿq   Ȑ  n ϫ Ǝ o ۰ ç  ׫    ֝I m èq  ÷op Ў n׫ ͸ ΂u  虇֎֚    ũp  Ŷnܚ  v ԗʥQ q  o ȑ׏ɫ Ё ɑ  ^ ِǏϳ o ⾟ n ˉ > Ŧ  ŧiʢO   ̆  ͳƐ ֶ Ҷ : Ȏ5 M "  ֐~Ѷ Ѹ Ũə]q  ב˳3 >   é p  դr  æӇ  Ǒ  ێ}ɏ֚W  öé И  ָ Ȏֶې J F  rն.   ֐p 釩 æq ̆  ù   q  בŸӇŧp ޸  6  ]Ũ  ŷٰ̂ ͫ ɏρ L n " Ǝzِ ѳ 薇nَ Ȑ  ׎髉( ʸ     Ŷo ũuŶ  q ސ G ɶŦŹ ޾ ֎  Nj &ɒ ɳp λ ΐ p ޏ ø ˉ çǒ ׏  q  ɋ o Ǐaؑ 玁   ϳɑ  ֏  䔷0  èn÷  ÷n    0 3 703 7## 1 03 703 7 #  ,(;+/) / ',(;,(; +-'  '+/ , ( ;"5 9 ! 621 62 1 %!3 9  5 7 "62 1 %! %6 2 1  "5 9 : )-& :)-:)- &; &:) -"81 2 2 6 ""   1 2 6#1 64 "-)&  & ): -:& &-) :'#73  3 0  # #" 7073 0#;. ( '  '(, ;(,& ''; ,*"62 1 # 61  "  " 2 1 62 ": -+& &  :)-')- &&:/ )#"0 75 03 7#   #3 790 3 #,( ;&<''  ,; (;  '',( #4 8 $7 3 073 0$ 4 6 #2 8 73 0$  730#4 8;( , ' ':;(,;(,'  ; (, "12 61 2 6" 0"1 2 6 1 2 6   - ) : &*. *,& -):-):( . &*.  -)::  *.&*. :&*.* . &:   95!%2 64 6 !95 "95 " 2 8 %!%2 6 "9 5 (,  /+/+* ,  (. /+< </ +(, 4 8 0  $ 04 84 8$ 0 $4 8 - ++/  +/ /)1 84  $  $! 4 % 8 $ $84 .;* *   ..* 7 5 %! %!5 95 9% !%!$ 93 /+ /   +/:+% 82 $ $  4 84 8 $ $ !6 4  .(*.  *., *95 !%! %$ 9 5 !%!%095 )- . *.* )/ + - .*  .*)-5 9 1  %%!5 95 9%! 1  1 ! 5 9; + / ''+/ ;'+/ +/;  #8 4  $3 7 3 9 $84 #84 #5 7   $3 7  84&oooooooo o o o o ooooooosphinx-2.2.11-release/test/test_188/refdata/rt_v2.meta0000644000175000017500000000004012743402012021721 0ustar alexeyalexeySPRTsphinx-2.2.11-release/test/test_188/refdata/rt_v2.kill0000644000175000017500000000000412743402012021726 0ustar alexeyalexeysphinx-2.2.11-release/test/test_188/model.bin0000644000175000017500000000557212743402012020220 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:86:{i:0;s:53:"select * from v2 where match ( 'test700 | test1800' )";i:1;s:18:"id = 19 idd = 111 ";i:2;s:17:"id = 7 idd = 111 ";i:3;s:18:"id = 14 idd = 111 ";i:4;s:9:"show meta";i:5;s:9:"total = 3";i:6;s:15:"total_found = 3";i:7;s:20:"keyword[0] = test700";i:8;s:11:"docs[0] = 2";i:9;s:11:"hits[0] = 2";i:10;s:21:"keyword[1] = test1800";i:11;s:11:"docs[1] = 1";i:12;s:11:"hits[1] = 1";i:13;s:53:"select * from v3 where match ( 'test700 | test1800' )";i:14;s:18:"id = 19 idd = 111 ";i:15;s:17:"id = 7 idd = 111 ";i:16;s:18:"id = 14 idd = 111 ";i:17;s:9:"show meta";i:18;s:9:"total = 3";i:19;s:15:"total_found = 3";i:20;s:20:"keyword[0] = test700";i:21;s:11:"docs[0] = 2";i:22;s:11:"hits[0] = 2";i:23;s:21:"keyword[1] = test1800";i:24;s:11:"docs[1] = 1";i:25;s:11:"hits[1] = 1";i:26;s:53:"select * from v4 where match ( 'test700 | test1800' )";i:27;s:18:"id = 19 idd = 111 ";i:28;s:17:"id = 7 idd = 111 ";i:29;s:18:"id = 14 idd = 111 ";i:30;s:9:"show meta";i:31;s:9:"total = 3";i:32;s:15:"total_found = 3";i:33;s:20:"keyword[0] = test700";i:34;s:11:"docs[0] = 2";i:35;s:11:"hits[0] = 2";i:36;s:21:"keyword[1] = test1800";i:37;s:11:"docs[1] = 1";i:38;s:11:"hits[1] = 1";i:39;s:53:"select * from v5 where match ( 'test700 | test1800' )";i:40;s:18:"id = 19 idd = 111 ";i:41;s:17:"id = 7 idd = 111 ";i:42;s:18:"id = 14 idd = 111 ";i:43;s:9:"show meta";i:44;s:9:"total = 3";i:45;s:15:"total_found = 3";i:46;s:20:"keyword[0] = test700";i:47;s:11:"docs[0] = 2";i:48;s:11:"hits[0] = 2";i:49;s:21:"keyword[1] = test1800";i:50;s:11:"docs[1] = 1";i:51;s:11:"hits[1] = 1";i:52;s:42:"CALL KEYWORDS ( 'apple', 'plain_stem', 1 )";i:53;s:63:"qpos = 1 tokenized = apple normalized = appl docs = 1 hits = 1 ";i:54;s:39:"CALL KEYWORDS ( 'apple', 'rt_stem', 1 )";i:55;s:63:"qpos = 1 tokenized = apple normalized = appl docs = 0 hits = 0 ";i:56;s:42:"ATTACH INDEX plain_stem TO RTINDEX rt_stem";i:57;s:37:"UPDATE rt_stem SET gid=111 WHERE id=1";i:58;s:24:"SELECT * FROM plain_stem";i:59;s:40:"1064; no enabled local indexes to search";i:60;s:24:"SELECT * FROM plain_stem";i:61;s:16:"id = 1 gid = 11 ";i:62;s:10:"started=ok";i:63;s:52:"select * from v5 where match ( 'test700 | test1800')";i:64;s:18:"id = 19 idd = 111 ";i:65;s:17:"id = 7 idd = 111 ";i:66;s:18:"id = 14 idd = 111 ";i:67;s:9:"show meta";i:68;s:9:"total = 3";i:69;s:15:"total_found = 3";i:70;s:20:"keyword[0] = test700";i:71;s:11:"docs[0] = 2";i:72;s:11:"hits[0] = 2";i:73;s:21:"keyword[1] = test1800";i:74;s:11:"docs[1] = 1";i:75;s:11:"hits[1] = 1";i:76;s:39:"CALL KEYWORDS ( 'apple', 'rt_stem', 1 )";i:77;s:63:"qpos = 1 tokenized = apple normalized = appl docs = 1 hits = 1 ";i:78;s:21:"SELECT * FROM rt_stem";i:79;s:17:"id = 1 gid = 111 ";i:80;s:30:"DELETE FROM rt_stem WHERE id=1";i:81;s:21:"SELECT * FROM rt_stem";i:82;s:24:"TRUNCATE RTINDEX rt_stem";i:83;s:42:"ATTACH INDEX plain_stem TO RTINDEX rt_stem";i:84;s:21:"SELECT * FROM rt_stem";i:85;s:16:"id = 1 gid = 11 ";}}}sphinx-2.2.11-release/test/test_187/0000755000175000017500000000000012743402012016414 5ustar alexeyalexeysphinx-2.2.11-release/test/test_187/test.xml0000644000175000017500000001036012743402012020115 0ustar alexeyalexey ATTACH INDEX indexer { mem_limit = 16M } searchd { workers = threads } source disk { type = mysql sql_query = select * from test_table sql_attr_uint = gid } index disk { source = disk path = /disk charset_table = a..z, A..Z->a..z html_strip = 1 html_remove_elements = stuff } index rt { type = rt path = data/rt rt_attr_uint = gid1 rt_attr_uint = gid2 rt_field = title rt_field = content charset_table = a..z, A..Z->a..z, _ } source src_plain { type = mysql sql_query = select id, title, 'dummy for' as str1, '55, 15, 20' as mva1, '' as mva2, gid from test_table sql_attr_string = str1 sql_attr_multi = uint mva1 from field sql_attr_multi = uint mva2 from field sql_attr_uint = gid } index plain { source = src_plain path = /plain } index rt_arena { type = rt path = data/rt_arena rt_field = title rt_attr_string = str1 rt_attr_multi = mva1 rt_attr_uint = gid } source src_a1 { type = mysql sql_query = select id, title, 'dummy' as body, gid from test_table sql_attr_uint = gid } index a1 { source = src_a1 path = /a1 } index rt1 { type = rt path = data/rt1 rt_field = title rt_field = body rt_attr_uint = gid } index disk1 { source = disk path = /disk1 charset_table = a..z, A..Z->a..z } index disk2 { source = disk path = /disk2 charset_table = a..z, A..Z->a..z } index disk3 { source = disk path = /disk3 charset_table = a..z, A..Z->a..z } index rt_d1 { type = rt path = data/rt_d1 rt_field = title rt_attr_uint = gid } CREATE TABLE test_table ( id INTEGER PRIMARY KEY NOT NULL, gid INTEGER NOT NULL, title VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test_table; got removed' ) ]]> SELECT * FROM rt SELECT * FROM disk SELECT * FROM disk WHERE MATCH('thee') SELECT * FROM disk WHERE MATCH('under') ATTACH INDEX disk TO RTINDEX rt SELECT * FROM rt SELECT * FROM disk SELECT * FROM rt WHERE MATCH('thee') DESC rt like '_i%' INSERT INTO rt ( id, gid, title ) VALUES ( 10, 22, 'I dub thee unforgiven' ) SELECT * FROM rt WHERE MATCH('thee') but got here' )]]> SELECT * FROM rt WHERE MATCH('under') SELECT * FROM rt_arena ATTACH INDEX plain TO RTINDEX rt_arena SELECT * FROM rt_arena where mva1=15 order by id asc SELECT * FROM rt_arena where mva1=55 order by id desc SELECT * FROM rt_arena SELECT * FROM rt WHERE MATCH('got') INSERT INTO rt1 ( id, gid, title, body ) VALUES ( 1, 22, 'dust me', 'well' ), ( 5, 22, 'dure me', 'thee off' ), ( 6, 22, 'dub me', 'thee well' ) ATTACH INDEX a1 TO RTINDEX rt1 SELECT * FROM rt1 SELECT * FROM rt1 WHERE MATCH('well') SELECT * FROM rt1 WHERE MATCH('me | thee') ATTACH INDEX disk1 TO RTINDEX rt_d1 ATTACH INDEX disk2 TO RTINDEX rt_d1 ATTACH INDEX disk3 TO RTINDEX rt_d1 SELECT * FROM rt_d1 sphinx-2.2.11-release/test/test_187/model.bin0000644000175000017500000001407412743402012020214 0ustar alexeyalexeya:1:{i:0;a:28:{i:0;a:2:{s:8:"sphinxql";s:16:"SELECT * FROM rt";s:10:"total_rows";i:0;}i:1;a:3:{s:8:"sphinxql";s:18:"SELECT * FROM disk";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:3;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}}i:2;a:3:{s:8:"sphinxql";s:38:"SELECT * FROM disk WHERE MATCH('thee')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}}}i:3;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM disk WHERE MATCH('under')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}}i:4;a:2:{s:8:"sphinxql";s:31:"ATTACH INDEX disk TO RTINDEX rt";s:14:"total_affected";i:0;}i:5;a:3:{s:8:"sphinxql";s:16:"SELECT * FROM rt";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:3;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}}i:6;a:3:{s:8:"sphinxql";s:18:"SELECT * FROM disk";s:5:"error";s:34:"no enabled local indexes to search";s:5:"errno";i:1064;}i:7;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM rt WHERE MATCH('thee')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}}}i:8;a:3:{s:8:"sphinxql";s:18:"DESC rt like '_i%'";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:5:"Field";s:5:"title";s:4:"Type";s:5:"field";}i:1;a:2:{s:5:"Field";s:3:"gid";s:4:"Type";s:4:"uint";}}}i:9;a:2:{s:8:"sphinxql";s:76:"INSERT INTO rt ( id, gid, title ) VALUES ( 10, 22, 'I dub thee unforgiven' )";s:14:"total_affected";i:1;}i:10;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM rt WHERE MATCH('thee')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:2:"10";s:3:"gid";s:2:"22";}i:1;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}}}i:11;a:2:{s:8:"sphinxql";s:100:"INSERT INTO rt ( id, gid, title ) VALUES ( 11, 22, 'under_score_again but got here' )";s:14:"total_affected";i:1;}i:12;a:3:{s:8:"sphinxql";s:37:"SELECT * FROM rt WHERE MATCH('under')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:2:"11";s:3:"gid";s:2:"22";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}}i:13;a:2:{s:8:"sphinxql";s:22:"SELECT * FROM rt_arena";s:10:"total_rows";i:0;}i:14;a:2:{s:8:"sphinxql";s:38:"ATTACH INDEX plain TO RTINDEX rt_arena";s:14:"total_affected";i:0;}i:15;a:3:{s:8:"sphinxql";s:52:"SELECT * FROM rt_arena where mva1=15 order by id asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:5:{s:2:"id";s:1:"1";s:4:"str1";s:9:"dummy for";s:4:"mva1";s:8:"15,20,55";s:4:"mva2";s:0:"";s:3:"gid";s:2:"11";}i:1;a:5:{s:2:"id";s:1:"2";s:4:"str1";s:9:"dummy for";s:4:"mva1";s:8:"15,20,55";s:4:"mva2";s:0:"";s:3:"gid";s:2:"11";}i:2;a:5:{s:2:"id";s:1:"3";s:4:"str1";s:9:"dummy for";s:4:"mva1";s:8:"15,20,55";s:4:"mva2";s:0:"";s:3:"gid";s:2:"11";}i:3;a:5:{s:2:"id";s:1:"4";s:4:"str1";s:9:"dummy for";s:4:"mva1";s:8:"15,20,55";s:4:"mva2";s:0:"";s:3:"gid";s:2:"11";}}}i:16;a:3:{s:8:"sphinxql";s:53:"SELECT * FROM rt_arena where mva1=55 order by id desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:5:{s:2:"id";s:1:"4";s:4:"str1";s:9:"dummy for";s:4:"mva1";s:8:"15,20,55";s:4:"mva2";s:0:"";s:3:"gid";s:2:"11";}i:1;a:5:{s:2:"id";s:1:"3";s:4:"str1";s:9:"dummy for";s:4:"mva1";s:8:"15,20,55";s:4:"mva2";s:0:"";s:3:"gid";s:2:"11";}i:2;a:5:{s:2:"id";s:1:"2";s:4:"str1";s:9:"dummy for";s:4:"mva1";s:8:"15,20,55";s:4:"mva2";s:0:"";s:3:"gid";s:2:"11";}i:3;a:5:{s:2:"id";s:1:"1";s:4:"str1";s:9:"dummy for";s:4:"mva1";s:8:"15,20,55";s:4:"mva2";s:0:"";s:3:"gid";s:2:"11";}}}i:17;a:3:{s:8:"sphinxql";s:22:"SELECT * FROM rt_arena";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:5:{s:2:"id";s:1:"1";s:4:"str1";s:9:"dummy for";s:4:"mva1";s:8:"15,20,55";s:4:"mva2";s:0:"";s:3:"gid";s:2:"11";}i:1;a:5:{s:2:"id";s:1:"2";s:4:"str1";s:9:"dummy for";s:4:"mva1";s:8:"15,20,55";s:4:"mva2";s:0:"";s:3:"gid";s:2:"11";}i:2;a:5:{s:2:"id";s:1:"3";s:4:"str1";s:9:"dummy for";s:4:"mva1";s:8:"15,20,55";s:4:"mva2";s:0:"";s:3:"gid";s:2:"11";}i:3;a:5:{s:2:"id";s:1:"4";s:4:"str1";s:9:"dummy for";s:4:"mva1";s:8:"15,20,55";s:4:"mva2";s:0:"";s:3:"gid";s:2:"11";}}}i:18;a:3:{s:8:"sphinxql";s:35:"SELECT * FROM rt WHERE MATCH('got')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}}}i:19;a:2:{s:8:"sphinxql";s:144:"INSERT INTO rt1 ( id, gid, title, body ) VALUES ( 1, 22, 'dust me', 'well' ), ( 5, 22, 'dure me', 'thee off' ), ( 6, 22, 'dub me', 'thee well' )";s:14:"total_affected";i:3;}i:20;a:2:{s:8:"sphinxql";s:30:"ATTACH INDEX a1 TO RTINDEX rt1";s:14:"total_affected";i:0;}i:21;a:3:{s:8:"sphinxql";s:17:"SELECT * FROM rt1";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:3;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}i:4;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:2:"22";}i:5;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:2:"22";}}}i:22;a:3:{s:8:"sphinxql";s:37:"SELECT * FROM rt1 WHERE MATCH('well')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:2:"22";}}}i:23;a:3:{s:8:"sphinxql";s:42:"SELECT * FROM rt1 WHERE MATCH('me | thee')";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:2:"22";}i:1;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:2:"22";}i:2;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:3;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}}}i:24;a:2:{s:8:"sphinxql";s:35:"ATTACH INDEX disk1 TO RTINDEX rt_d1";s:14:"total_affected";i:0;}i:25;a:2:{s:8:"sphinxql";s:35:"ATTACH INDEX disk2 TO RTINDEX rt_d1";s:14:"total_affected";i:0;}i:26;a:2:{s:8:"sphinxql";s:35:"ATTACH INDEX disk3 TO RTINDEX rt_d1";s:14:"total_affected";i:0;}i:27;a:3:{s:8:"sphinxql";s:19:"SELECT * FROM rt_d1";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"11";}i:3;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"11";}}}}}sphinx-2.2.11-release/test/test_186/0000755000175000017500000000000012743402012016413 5ustar alexeyalexeysphinx-2.2.11-release/test/test_186/test.xml0000644000175000017500000000777412743402012020133 0ustar alexeyalexey Bigint and float attribute updates via sphinxql indexer { mem_limit = 16M } searchd { workers = threads binlog_path = # } source src { type = mysql sql_query = SELECT * FROM test_table WHERE id<4 sql_attr_uint = section sql_attr_bigint = bint sql_attr_float = bfloat } source src1 : src { sql_query = SELECT * FROM test_table WHERE id<3 } source src2 : src { sql_query = SELECT * FROM test_table WHERE id=3 } index dist_no { source = src path = /idx docinfo = extern min_word_len = 1 } index idx1 : dist_no { source = src1 path = /idx1 } index idx2 : dist_no { source = src2 path = /idx2 } index dist0 { type = distributed local = dist_no agent_connect_timeout = 1000 agent_query_timeout = 3000 } index dist1 { type = distributed local = idx1 local = idx2 agent_connect_timeout = 1000 agent_query_timeout = 3000 } index dist2 { type = distributed agent = :idx1 local = idx2 agent_connect_timeout = 1000 agent_query_timeout = 3000 } index dist3 { type = distributed local = idx1 agent = :idx2 agent_connect_timeout = 1000 agent_query_timeout = 3000 } index dist4 { type = distributed agent = :idx1 agent = :idx2 agent_connect_timeout = 1000 agent_query_timeout = 3000 } index dist5 { type = distributed agent = :dist_no agent_connect_timeout = 1000 agent_query_timeout = 3000 } index rt { type = rt path = /rt docinfo = extern rt_field = body rt_attr_uint = gid rt_attr_bigint = bint rt_attr_float = bfloat } insert into rt (id, gid, bint, bfloat, body) values (1, 1, 1, 1.0, 'dummy'), (3, 33, 44, 55.0, 'dummy1') select * from rt select * from dist_no update dist_no set bint=-4560000000000, bfloat=55.5, section=111 where match ('test1') select * from dist_no update dist0 set bint=40000000000, bfloat=55.5, section=111 where match ('test1') select * from dist0 update dist1 set bint=410000000000, bfloat=56.6, section=112 where match ('test1') select * from dist1 update dist2 set bint=420000000000, bfloat=57.7, section=113 where match ('test1') select * from dist2 update dist3 set bint=-430000000000, bfloat=58.8, section=114 where match ('test1') select * from dist3 update dist4 set bint=440000000000, bfloat=59.9, section=115 where match ('test1') select * from dist4 update dist5 set bint=-450000000000, bfloat=60.4, section=116 where match ('test1') select * from dist5 update rt set gid=3212, bfloat=55.5, bint=2340000000000 where id=1 select * from rt select 100500some from rt select `id` from rt update idx1 set bfloat=123 where id=1 select bfloat from idx1 where id=1 update rt set bfloat=123 where id=1 select bfloat from rt where id=1 CREATE TABLE `test_table` ( `id` int(11) DEFAULT NULL, `text` varchar (255) NOT NULL, `section` int(11) DEFAULT NULL, `bint` BIGINT NOT NULL, `bfloat` float DEFAULT NULL ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` (`id`, `text`, `section`, `bint`, `bfloat`) VALUES (1, 'test test1', 101, 7000000000, 3.14), (2, 'testt test2', 102, 8000000000, 1.44), (3, 'test test3', 103, -7000000000, 3.42), (4, 'testt test4', 104, -10000000000, 246.2); sphinx-2.2.11-release/test/test_186/model.bin0000644000175000017500000001362012743402012020207 0ustar alexeyalexeya:1:{i:0;a:25:{i:0;a:2:{s:8:"sphinxql";s:104:"insert into rt (id, gid, bint, bfloat, body) values (1, 1, 1, 1.0, 'dummy'), (3, 33, 44, 55.0, 'dummy1')";s:14:"total_affected";i:2;}i:1;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:4:"bint";s:1:"1";s:6:"bfloat";s:8:"1.000000";}i:1;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:2:"33";s:4:"bint";s:2:"44";s:6:"bfloat";s:9:"55.000000";}}}i:2;a:3:{s:8:"sphinxql";s:21:"select * from dist_no";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:1:"1";s:7:"section";s:3:"101";s:4:"bint";s:10:"7000000000";s:6:"bfloat";s:8:"3.140000";}i:1;a:4:{s:2:"id";s:1:"2";s:7:"section";s:3:"102";s:4:"bint";s:10:"8000000000";s:6:"bfloat";s:8:"1.440000";}i:2;a:4:{s:2:"id";s:1:"3";s:7:"section";s:3:"103";s:4:"bint";s:11:"-7000000000";s:6:"bfloat";s:8:"3.420000";}}}i:3;a:2:{s:8:"sphinxql";s:86:"update dist_no set bint=-4560000000000, bfloat=55.5, section=111 where match ('test1')";s:14:"total_affected";i:1;}i:4;a:3:{s:8:"sphinxql";s:21:"select * from dist_no";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:1:"1";s:7:"section";s:3:"111";s:4:"bint";s:14:"-4560000000000";s:6:"bfloat";s:9:"55.500000";}i:1;a:4:{s:2:"id";s:1:"2";s:7:"section";s:3:"102";s:4:"bint";s:10:"8000000000";s:6:"bfloat";s:8:"1.440000";}i:2;a:4:{s:2:"id";s:1:"3";s:7:"section";s:3:"103";s:4:"bint";s:11:"-7000000000";s:6:"bfloat";s:8:"3.420000";}}}i:5;a:2:{s:8:"sphinxql";s:81:"update dist0 set bint=40000000000, bfloat=55.5, section=111 where match ('test1')";s:14:"total_affected";i:1;}i:6;a:3:{s:8:"sphinxql";s:19:"select * from dist0";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:1:"1";s:7:"section";s:3:"111";s:4:"bint";s:11:"40000000000";s:6:"bfloat";s:9:"55.500000";}i:1;a:4:{s:2:"id";s:1:"2";s:7:"section";s:3:"102";s:4:"bint";s:10:"8000000000";s:6:"bfloat";s:8:"1.440000";}i:2;a:4:{s:2:"id";s:1:"3";s:7:"section";s:3:"103";s:4:"bint";s:11:"-7000000000";s:6:"bfloat";s:8:"3.420000";}}}i:7;a:2:{s:8:"sphinxql";s:82:"update dist1 set bint=410000000000, bfloat=56.6, section=112 where match ('test1')";s:14:"total_affected";i:1;}i:8;a:3:{s:8:"sphinxql";s:19:"select * from dist1";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:1:"1";s:7:"section";s:3:"112";s:4:"bint";s:12:"410000000000";s:6:"bfloat";s:9:"56.599998";}i:1;a:4:{s:2:"id";s:1:"2";s:7:"section";s:3:"102";s:4:"bint";s:10:"8000000000";s:6:"bfloat";s:8:"1.440000";}i:2;a:4:{s:2:"id";s:1:"3";s:7:"section";s:3:"103";s:4:"bint";s:11:"-7000000000";s:6:"bfloat";s:8:"3.420000";}}}i:9;a:2:{s:8:"sphinxql";s:82:"update dist2 set bint=420000000000, bfloat=57.7, section=113 where match ('test1')";s:14:"total_affected";i:1;}i:10;a:3:{s:8:"sphinxql";s:19:"select * from dist2";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:1:"1";s:7:"section";s:3:"113";s:4:"bint";s:12:"420000000000";s:6:"bfloat";s:9:"57.700001";}i:1;a:4:{s:2:"id";s:1:"2";s:7:"section";s:3:"102";s:4:"bint";s:10:"8000000000";s:6:"bfloat";s:8:"1.440000";}i:2;a:4:{s:2:"id";s:1:"3";s:7:"section";s:3:"103";s:4:"bint";s:11:"-7000000000";s:6:"bfloat";s:8:"3.420000";}}}i:11;a:2:{s:8:"sphinxql";s:83:"update dist3 set bint=-430000000000, bfloat=58.8, section=114 where match ('test1')";s:14:"total_affected";i:1;}i:12;a:3:{s:8:"sphinxql";s:19:"select * from dist3";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:1:"1";s:7:"section";s:3:"114";s:4:"bint";s:13:"-430000000000";s:6:"bfloat";s:9:"58.799999";}i:1;a:4:{s:2:"id";s:1:"2";s:7:"section";s:3:"102";s:4:"bint";s:10:"8000000000";s:6:"bfloat";s:8:"1.440000";}i:2;a:4:{s:2:"id";s:1:"3";s:7:"section";s:3:"103";s:4:"bint";s:11:"-7000000000";s:6:"bfloat";s:8:"3.420000";}}}i:13;a:2:{s:8:"sphinxql";s:82:"update dist4 set bint=440000000000, bfloat=59.9, section=115 where match ('test1')";s:14:"total_affected";i:1;}i:14;a:3:{s:8:"sphinxql";s:19:"select * from dist4";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:1:"1";s:7:"section";s:3:"115";s:4:"bint";s:12:"440000000000";s:6:"bfloat";s:9:"59.900002";}i:1;a:4:{s:2:"id";s:1:"2";s:7:"section";s:3:"102";s:4:"bint";s:10:"8000000000";s:6:"bfloat";s:8:"1.440000";}i:2;a:4:{s:2:"id";s:1:"3";s:7:"section";s:3:"103";s:4:"bint";s:11:"-7000000000";s:6:"bfloat";s:8:"3.420000";}}}i:15;a:2:{s:8:"sphinxql";s:83:"update dist5 set bint=-450000000000, bfloat=60.4, section=116 where match ('test1')";s:14:"total_affected";i:1;}i:16;a:3:{s:8:"sphinxql";s:19:"select * from dist5";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:1:"1";s:7:"section";s:3:"116";s:4:"bint";s:13:"-450000000000";s:6:"bfloat";s:9:"60.400002";}i:1;a:4:{s:2:"id";s:1:"2";s:7:"section";s:3:"102";s:4:"bint";s:10:"8000000000";s:6:"bfloat";s:8:"1.440000";}i:2;a:4:{s:2:"id";s:1:"3";s:7:"section";s:3:"103";s:4:"bint";s:11:"-7000000000";s:6:"bfloat";s:8:"3.420000";}}}i:17;a:2:{s:8:"sphinxql";s:66:"update rt set gid=3212, bfloat=55.5, bint=2340000000000 where id=1";s:14:"total_affected";i:1;}i:18;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:4:"3212";s:4:"bint";s:13:"2340000000000";s:6:"bfloat";s:9:"55.500000";}i:1;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:2:"33";s:4:"bint";s:2:"44";s:6:"bfloat";s:9:"55.000000";}}}i:19;a:3:{s:8:"sphinxql";s:25:"select 100500some from rt";s:5:"error";s:72:"sphinxql: syntax error, unexpected BAD_NUMERIC near '100500some from rt'";s:5:"errno";i:1064;}i:20;a:3:{s:8:"sphinxql";s:19:"select `id` from rt";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"3";}}}i:21;a:2:{s:8:"sphinxql";s:37:"update idx1 set bfloat=123 where id=1";s:14:"total_affected";i:1;}i:22;a:3:{s:8:"sphinxql";s:34:"select bfloat from idx1 where id=1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:6:"bfloat";s:10:"123.000000";}}}i:23;a:2:{s:8:"sphinxql";s:35:"update rt set bfloat=123 where id=1";s:14:"total_affected";i:1;}i:24;a:3:{s:8:"sphinxql";s:32:"select bfloat from rt where id=1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:6:"bfloat";s:10:"123.000000";}}}}}sphinx-2.2.11-release/test/test_185/0000755000175000017500000000000012743402012016412 5ustar alexeyalexeysphinx-2.2.11-release/test/test_185/test.xml0000644000175000017500000000762112743402012020121 0ustar alexeyalexey Smart attribute updates indexer { mem_limit = 16M } searchd { workers = threads binlog_path = # } source src { type = mysql sql_query = SELECT id, text, section, mva1 FROM test_table WHERE id<4 sql_attr_uint = section sql_attr_multi = uint mva1 from field mva1 sql_attr_multi = bigint mva1 from field mva1 } source src1 : src { sql_query = SELECT id, text, section, mva1 FROM test_table WHERE id<3 } source src2 : src { sql_query = SELECT id, text, section, mva1 FROM test_table WHERE id=3 } index dist_no { source = src path = /idx docinfo = extern min_word_len = 1 } index idx1 : dist_no { source = src1 path = /idx1 } index idx2 : dist_no { source = src2 path = /idx2 } index dist0 { type = distributed local = dist_no agent_connect_timeout = 1000 agent_query_timeout = 3000 } index dist1 { type = distributed local = idx1 local = idx2 agent_connect_timeout = 1000 agent_query_timeout = 3000 } index dist2 { type = distributed agent = :idx1 local = idx2 agent_connect_timeout = 1000 agent_query_timeout = 3000 } index dist3 { type = distributed local = idx1 agent = :idx2 agent_connect_timeout = 1000 agent_query_timeout = 3000 } index dist4 { type = distributed agent = :idx1 agent = :idx2 agent_connect_timeout = 1000 agent_query_timeout = 3000 } index dist5 { type = distributed agent = :dist_no agent_connect_timeout = 1000 agent_query_timeout = 3000 } index rt { type = rt path = /rt docinfo = extern rt_field = body rt_attr_multi = mva1 rt_attr_uint = gid rt_attr_multi = mva2 } insert into rt (id, gid, mva1, mva2, body) values (1, 11, (1, 1), (2), 'dummy'), (3, 33, (3, 3), (3), 'dummy1') update dist_no set mva1=(3,2, 1, 2), mva1=(1, 2), section=111 where match ('test1') select * from dist_no update dist0 set mva1=(4,5, 1, 2), mva1=(8, 7), section=112 where match ('test1') select * from dist0 update dist1 set mva1=(3,2, 1, 2), mva1=(9, 10), section=113 where match ('testt') and id>=2 select * from dist1 update dist2 set mva1=(3,2, 1, 2), mva1=(11, 12), section=114 where match ('testt') and id>=2 select * from dist2 update dist3 set mva1=(3,2, 1, 2), mva1=(13, 14), section=115 where gid match ('testt') and id>=2 select * from dist3 update dist4 set mva1=(3,2, 1, 2), mva1=(15, 16), section=116 where match ('testt') and id>=2 select * from dist4 update dist5 set mva1=(3,2, 1, 2), mva1=(17, 18), section=117 where match ('testt') and id>=2 select * from dist5 update rt set mva1=(3,2, 1, 2), gid=3212, mva2=(1, 2, 3, 4, 5, 6), mva2=(3,4,5) where id=1 select * from rt update rt set mva1=() where id=3 select * from rt CREATE TABLE `test_table` ( `id` int(11) DEFAULT NULL, `text` varchar (255) NOT NULL, `section` int(11) DEFAULT NULL, `mva1` varchar(255) NOT NULL ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` (`id`, `text`, `section`, `mva1`) VALUES (1, 'test test1', 101, '1001'), (2, 'testt test2', 102, '1002 1023 4456'), (3, 'test test3', 103, '1003 1008 1010'), (4, 'testt test4', 104, '1004 1005 1006'); sphinx-2.2.11-release/test/test_185/model.bin0000644000175000017500000002104012743402012020201 0ustar alexeyalexeya:2:{i:0;a:19:{i:0;a:2:{s:8:"sphinxql";s:111:"insert into rt (id, gid, mva1, mva2, body) values (1, 11, (1, 1), (2), 'dummy'), (3, 33, (3, 3), (3), 'dummy1')";s:14:"total_affected";i:2;}i:1;a:2:{s:8:"sphinxql";s:83:"update dist_no set mva1=(3,2, 1, 2), mva1=(1, 2), section=111 where match ('test1')";s:14:"total_affected";i:1;}i:2;a:3:{s:8:"sphinxql";s:21:"select * from dist_no";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:7:"section";s:3:"111";s:4:"mva1";s:3:"1,2";}i:1;a:3:{s:2:"id";s:1:"2";s:7:"section";s:3:"102";s:4:"mva1";s:14:"1002,1023,4456";}i:2;a:3:{s:2:"id";s:1:"3";s:7:"section";s:3:"103";s:4:"mva1";s:14:"1003,1008,1010";}}}i:3;a:2:{s:8:"sphinxql";s:81:"update dist0 set mva1=(4,5, 1, 2), mva1=(8, 7), section=112 where match ('test1')";s:14:"total_affected";i:1;}i:4;a:3:{s:8:"sphinxql";s:19:"select * from dist0";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:7:"section";s:3:"112";s:4:"mva1";s:3:"7,8";}i:1;a:3:{s:2:"id";s:1:"2";s:7:"section";s:3:"102";s:4:"mva1";s:14:"1002,1023,4456";}i:2;a:3:{s:2:"id";s:1:"3";s:7:"section";s:3:"103";s:4:"mva1";s:14:"1003,1008,1010";}}}i:5;a:2:{s:8:"sphinxql";s:92:"update dist1 set mva1=(3,2, 1, 2), mva1=(9, 10), section=113 where match ('testt') and id>=2";s:14:"total_affected";i:1;}i:6;a:3:{s:8:"sphinxql";s:19:"select * from dist1";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:7:"section";s:3:"101";s:4:"mva1";s:4:"1001";}i:1;a:3:{s:2:"id";s:1:"2";s:7:"section";s:3:"113";s:4:"mva1";s:4:"9,10";}i:2;a:3:{s:2:"id";s:1:"3";s:7:"section";s:3:"103";s:4:"mva1";s:14:"1003,1008,1010";}}}i:7;a:2:{s:8:"sphinxql";s:93:"update dist2 set mva1=(3,2, 1, 2), mva1=(11, 12), section=114 where match ('testt') and id>=2";s:14:"total_affected";i:1;}i:8;a:3:{s:8:"sphinxql";s:19:"select * from dist2";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:7:"section";s:3:"101";s:4:"mva1";s:4:"1001";}i:1;a:3:{s:2:"id";s:1:"2";s:7:"section";s:3:"114";s:4:"mva1";s:5:"11,12";}i:2;a:3:{s:2:"id";s:1:"3";s:7:"section";s:3:"103";s:4:"mva1";s:14:"1003,1008,1010";}}}i:9;a:3:{s:8:"sphinxql";s:97:"update dist3 set mva1=(3,2, 1, 2), mva1=(13, 14), section=115 where gid match ('testt') and id>=2";s:5:"error";s:73:"sphinxql: syntax error, unexpected MATCH near 'match ('testt') and id>=2'";s:5:"errno";i:1064;}i:10;a:3:{s:8:"sphinxql";s:19:"select * from dist3";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:7:"section";s:3:"101";s:4:"mva1";s:4:"1001";}i:1;a:3:{s:2:"id";s:1:"2";s:7:"section";s:3:"114";s:4:"mva1";s:5:"11,12";}i:2;a:3:{s:2:"id";s:1:"3";s:7:"section";s:3:"103";s:4:"mva1";s:14:"1003,1008,1010";}}}i:11;a:2:{s:8:"sphinxql";s:93:"update dist4 set mva1=(3,2, 1, 2), mva1=(15, 16), section=116 where match ('testt') and id>=2";s:14:"total_affected";i:1;}i:12;a:3:{s:8:"sphinxql";s:19:"select * from dist4";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:7:"section";s:3:"101";s:4:"mva1";s:4:"1001";}i:1;a:3:{s:2:"id";s:1:"2";s:7:"section";s:3:"116";s:4:"mva1";s:5:"15,16";}i:2;a:3:{s:2:"id";s:1:"3";s:7:"section";s:3:"103";s:4:"mva1";s:14:"1003,1008,1010";}}}i:13;a:2:{s:8:"sphinxql";s:93:"update dist5 set mva1=(3,2, 1, 2), mva1=(17, 18), section=117 where match ('testt') and id>=2";s:14:"total_affected";i:1;}i:14;a:3:{s:8:"sphinxql";s:19:"select * from dist5";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:7:"section";s:3:"112";s:4:"mva1";s:3:"7,8";}i:1;a:3:{s:2:"id";s:1:"2";s:7:"section";s:3:"117";s:4:"mva1";s:5:"17,18";}i:2;a:3:{s:2:"id";s:1:"3";s:7:"section";s:3:"103";s:4:"mva1";s:14:"1003,1008,1010";}}}i:15;a:2:{s:8:"sphinxql";s:90:"update rt set mva1=(3,2, 1, 2), gid=3212, mva2=(1, 2, 3, 4, 5, 6), mva2=(3,4,5) where id=1";s:14:"total_affected";i:1;}i:16;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:4:"3212";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"3,4,5";}i:1;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:2:"33";s:4:"mva1";s:1:"3";s:4:"mva2";s:1:"3";}}}i:17;a:2:{s:8:"sphinxql";s:32:"update rt set mva1=() where id=3";s:14:"total_affected";i:1;}i:18;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:4:"3212";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"3,4,5";}i:1;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:2:"33";s:4:"mva1";s:0:"";s:4:"mva2";s:1:"3";}}}}i:1;a:19:{i:0;a:2:{s:8:"sphinxql";s:111:"insert into rt (id, gid, mva1, mva2, body) values (1, 11, (1, 1), (2), 'dummy'), (3, 33, (3, 3), (3), 'dummy1')";s:14:"total_affected";i:2;}i:1;a:2:{s:8:"sphinxql";s:83:"update dist_no set mva1=(3,2, 1, 2), mva1=(1, 2), section=111 where match ('test1')";s:14:"total_affected";i:1;}i:2;a:3:{s:8:"sphinxql";s:21:"select * from dist_no";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:7:"section";s:3:"111";s:4:"mva1";s:3:"1,2";}i:1;a:3:{s:2:"id";s:1:"2";s:7:"section";s:3:"102";s:4:"mva1";s:14:"1002,1023,4456";}i:2;a:3:{s:2:"id";s:1:"3";s:7:"section";s:3:"103";s:4:"mva1";s:14:"1003,1008,1010";}}}i:3;a:2:{s:8:"sphinxql";s:81:"update dist0 set mva1=(4,5, 1, 2), mva1=(8, 7), section=112 where match ('test1')";s:14:"total_affected";i:1;}i:4;a:3:{s:8:"sphinxql";s:19:"select * from dist0";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:7:"section";s:3:"112";s:4:"mva1";s:3:"7,8";}i:1;a:3:{s:2:"id";s:1:"2";s:7:"section";s:3:"102";s:4:"mva1";s:14:"1002,1023,4456";}i:2;a:3:{s:2:"id";s:1:"3";s:7:"section";s:3:"103";s:4:"mva1";s:14:"1003,1008,1010";}}}i:5;a:2:{s:8:"sphinxql";s:92:"update dist1 set mva1=(3,2, 1, 2), mva1=(9, 10), section=113 where match ('testt') and id>=2";s:14:"total_affected";i:1;}i:6;a:3:{s:8:"sphinxql";s:19:"select * from dist1";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:7:"section";s:3:"101";s:4:"mva1";s:4:"1001";}i:1;a:3:{s:2:"id";s:1:"2";s:7:"section";s:3:"113";s:4:"mva1";s:4:"9,10";}i:2;a:3:{s:2:"id";s:1:"3";s:7:"section";s:3:"103";s:4:"mva1";s:14:"1003,1008,1010";}}}i:7;a:2:{s:8:"sphinxql";s:93:"update dist2 set mva1=(3,2, 1, 2), mva1=(11, 12), section=114 where match ('testt') and id>=2";s:14:"total_affected";i:1;}i:8;a:3:{s:8:"sphinxql";s:19:"select * from dist2";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:7:"section";s:3:"101";s:4:"mva1";s:4:"1001";}i:1;a:3:{s:2:"id";s:1:"2";s:7:"section";s:3:"114";s:4:"mva1";s:5:"11,12";}i:2;a:3:{s:2:"id";s:1:"3";s:7:"section";s:3:"103";s:4:"mva1";s:14:"1003,1008,1010";}}}i:9;a:3:{s:8:"sphinxql";s:97:"update dist3 set mva1=(3,2, 1, 2), mva1=(13, 14), section=115 where gid match ('testt') and id>=2";s:5:"error";s:73:"sphinxql: syntax error, unexpected MATCH near 'match ('testt') and id>=2'";s:5:"errno";i:1064;}i:10;a:3:{s:8:"sphinxql";s:19:"select * from dist3";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:7:"section";s:3:"101";s:4:"mva1";s:4:"1001";}i:1;a:3:{s:2:"id";s:1:"2";s:7:"section";s:3:"114";s:4:"mva1";s:5:"11,12";}i:2;a:3:{s:2:"id";s:1:"3";s:7:"section";s:3:"103";s:4:"mva1";s:14:"1003,1008,1010";}}}i:11;a:2:{s:8:"sphinxql";s:93:"update dist4 set mva1=(3,2, 1, 2), mva1=(15, 16), section=116 where match ('testt') and id>=2";s:14:"total_affected";i:1;}i:12;a:3:{s:8:"sphinxql";s:19:"select * from dist4";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:7:"section";s:3:"101";s:4:"mva1";s:4:"1001";}i:1;a:3:{s:2:"id";s:1:"2";s:7:"section";s:3:"116";s:4:"mva1";s:5:"15,16";}i:2;a:3:{s:2:"id";s:1:"3";s:7:"section";s:3:"103";s:4:"mva1";s:14:"1003,1008,1010";}}}i:13;a:2:{s:8:"sphinxql";s:93:"update dist5 set mva1=(3,2, 1, 2), mva1=(17, 18), section=117 where match ('testt') and id>=2";s:14:"total_affected";i:1;}i:14;a:3:{s:8:"sphinxql";s:19:"select * from dist5";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:7:"section";s:3:"112";s:4:"mva1";s:3:"7,8";}i:1;a:3:{s:2:"id";s:1:"2";s:7:"section";s:3:"117";s:4:"mva1";s:5:"17,18";}i:2;a:3:{s:2:"id";s:1:"3";s:7:"section";s:3:"103";s:4:"mva1";s:14:"1003,1008,1010";}}}i:15;a:2:{s:8:"sphinxql";s:90:"update rt set mva1=(3,2, 1, 2), gid=3212, mva2=(1, 2, 3, 4, 5, 6), mva2=(3,4,5) where id=1";s:14:"total_affected";i:1;}i:16;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:4:"3212";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"3,4,5";}i:1;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:2:"33";s:4:"mva1";s:1:"3";s:4:"mva2";s:1:"3";}}}i:17;a:2:{s:8:"sphinxql";s:32:"update rt set mva1=() where id=3";s:14:"total_affected";i:1;}i:18;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:4:"3212";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"3,4,5";}i:1;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:2:"33";s:4:"mva1";s:0:"";s:4:"mva2";s:1:"3";}}}}}sphinx-2.2.11-release/test/test_184/0000755000175000017500000000000012743402012016411 5ustar alexeyalexeysphinx-2.2.11-release/test/test_184/test.xml0000644000175000017500000003351412743402012020120 0ustar alexeyalexey expression based ranker indexer { mem_limit = 16M } searchd { workers = threads binlog_path = # } source test { type = mysql sql_query = select *, '1,2,3' mva32, '1,2,3' mva64 from test_table sql_attr_uint = gid sql_field_string = title sql_attr_multi = uint mva32 from field mva32 sql_attr_multi = bigint mva64 from field mva64 } index test { source = test path = /test index_field_lengths = 1 } index dist { type = distributed agent = :test agent_connect_timeout = 1000 agent_query_timeout = 3000 } source src_ext { type = xmlpipe2 xmlpipe_command = cat /data_ext.xml xmlpipe_field = title xmlpipe_field = content xmlpipe_attr_uint = gid } source src_int { type = xmlpipe2 xmlpipe_command = cat /data_int.xml } index xml_ext { source = src_ext path = /xml_ext docinfo = extern index_field_lengths = 1 } index xml_int { source = src_int path = /xml_int docinfo = extern index_field_lengths = 1 } source dup { type = mysql sql_query = select 1 id, 11 idd, 'the who' f1, 'what the foo' f2 UNION SELECT 2 id, 11 idd, 'we are' f1, 'greatest' f2 UNION SELECT 3 id, 11 idd, 'If there were a schmillion hours in the day, maybe I d have enough time.' f1, 'Puerto Rico was fun 910 s of the time. I ve been told time and time again that I need to wait and see how things play out, that it needs time. It s not that simple, I m not a patient person in the least, and I feel like I don t have time to devote to all this shit. I haven y begun any school work yet, anf now I m sick. I can t begin to describe how alone I feel, how miserably alone. Not just because I m home from PR and there s nobody around, but for so many other reasons I don t want to get into, and that s why this entry along with every other one ever written will remain vague. Everything is a reminder. While in I was down there I did something I haven t done for a long time. I talked to God. I mean I pray, but this was a conversation, just two people talking about everything that concerns me. It was awesome. I ve never had a strong relationship with my father,so I like it that God fills that role. However I have realized I don t really have a very strong relationship with Jesus, I do with God, and I know they re all connected but, I never really pray to Jesus or talk to him. I need to work on that, along with a crap load of other stiff. With All Due Respect, Corey Paul Florindi I' f2 UNION SELECT 4 id, 11 idd, 'great' f1, 'greatest' f2 sql_attr_uint = idd } index dup { source = dup path = /dup index_field_lengths = 1 } source src_fields { type = xmlpipe2 xmlpipe_command = cat /data_fields.xml } index fields { source = src_fields path = /fields docinfo = extern } source src_str2 { type = mysql sql_query = SELECT 1 id, 11 gid, 'who' title, 'Well who is that shouting?' content UNION SELECT 2 id, 12 gid, 'is' title, 'All he ever gives us is pain' content UNION SELECT 3 id, 13 gid, 'who' title, 'Well who is shoping there?' content sql_field_string = title sql_attr_uint = gid } index str2 { source = src_str2 path = /str2 docinfo = extern } CREATE TABLE test_table ( id INTEGER PRIMARY KEY NOT NULL, gid INTEGER NOT NULL, title VARCHAR(255) NOT NULL, content VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table VALUES ( 100, 1, 'Seven lies multiplied by seven', '' ), ( 101, 1, 'Multiplied by seven again', '' ), ( 102, 1, 'Seven angels with seven trumpets', '' ), ( 103, 1, 'Send them home on a morning train', '' ), ( 104, 1, 'Well who is that shouting?', '' ), ( 105, 1, 'John the Revelator', '' ), ( 106, 1, 'All he ever gives us is pain', '' ), ( 107, 1, 'Well who is that shouting?', '' ), ( 108, 1, 'John the Revelator', '' ), ( 109, 1, 'He should bow his head in shame', '' ), ( 110, 2, 'Mary vs Lamb', 'Mary had a little lamb little lamb little lamb' ), ( 111, 2, 'Mary vs Lamb 2: Return of The Lamb', '...whose fleece was white as snow' ), ( 112, 2, 'Mary vs Lamb 3: The Resurrection', 'Snow! Bloody snow!' ) select id, gid, weight(), title from test where match('seven') and gid=1 select id, gid, weight(), title from test where match('seven') and gid=1 option ranker=expr('sum(lcs)*1000+bm25') select id, gid, weight(), title from test where match('seven') and gid=1 option ranker=expr('sum(300*lcs+700*lcs)+bm25') select id, gid, weight(), title from test where match('seven|lies') and gid=1 option ranker=expr('query_word_count*100+sum(word_count)*10+sum(hit_count)') select id, gid, weight(), title from test where match('seven seven seven seven') and gid=1 option ranker=expr('query_word_count*100+sum(word_count)*10+sum(hit_count)') select id, gid, weight(), title from test where match('seven !se7en') and gid=1 option ranker=expr('query_word_count*100+sum(word_count)*10+sum(hit_count)') select id, gid, weight(), title from test where match('seven !(angels !by)') and gid=1 option ranker=expr('query_word_count*100+sum(word_count)*10+sum(hit_count)') select id, gid, weight(), title from test where match('lamb') and gid=2 option ranker=expr('doc_word_count*1000+sum(word_count)') select id, gid, weight(), title from dist where match('seven|lies') and gid=1 option ranker=expr('query_word_count*100+sum(word_count)*10+sum(hit_count)') select id, gid, weight(), title from dist where match('seven !(angels !by)') and gid=1 option ranker=expr('query_word_count*100+sum(word_count)*10+sum(hit_count)') select id, gid, weight(), title from dist where match('lamb') and gid=2 option ranker=expr('doc_word_count*1000+sum(word_count)') select id, gid, weight(), title from test where match('seven|seven|seven') option ranker=expr('sum(lcs)*1000+bm25') + +select id, gid, weight(), title from test where match('mary') option ranker=expr('crc32(title)') +select id, gid, weight(), title from test where match('mary') option ranker=expr('in(mva32,1)') +select id, gid, weight(), title from test where match('mary') option ranker=expr('in(mva64,1)') select id, weight() as w1, FLOOR ( bm25f(1.2, 0.8, {content=10}) * 100000 ) as w2 from test where match('Mary lamb') option ranker=expr('bm25f(1.2, 0.8, {content=10}) * 1000') select id, weight() as w1, FLOOR ( bm25f(1.2, 0.8, {content=1000}) * 100000 ) as w2 from test where match('Mary lamb') option ranker=expr('bm25f(1.2, 0.8, {content=10}) * 1000') select id, weight() as w1, FLOOR ( bm25f(2.2, 0.5) * 100000 ) as w2, FLOOR ( bm25f(1.2, 0.8, {content=10}) * 100000 ) as w3 from test where match('Mary lamb') option ranker=expr('bm25f(10.2, 0.5) * 1000') select id, weight() as w1, bm25f(2.2, 0.5) * 1000 as w2 from test where match('Mary lamb') show warnings select id, weight() as w1, FLOOR ( bm25f(1.2, 0.8, {title=10}) * 100000 ) as w2 from test where match('Mary lamb') option ranker=expr('bm25f(1.2, 0.8, {title=10}) * 1000') select id, weight() as w1, FLOOR ( bm25f(1.2, 0.8, {title=2}) * 100000 ) as w2 from test where match('Mary lamb') option ranker=expr('bm25f(1.2, 0.8, {title=10}) * 1000') select id, weight() as w1, FLOOR ( bm25f(2.2, 0.5) * 100000 ) as w2, FLOOR ( bm25f(1.2, 0.8, {content=10}) * 100000 ) as w3 from xml_ext where match('Mary lamb') option ranker=expr('bm25f(10.2, 0.5) * 1000') select id, weight() as w1, FLOOR ( bm25f(2.2, 0.5) * 100000 ) as w2, FLOOR ( bm25f(1.2, 0.8, {content=10}) * 100000 ) as w3 from xml_int where match('Mary lamb') option ranker=expr('bm25f(10.2, 0.5) * 1000') select id, weight() as w1, FLOOR ( bm25f(1.2, 0.8, {content=10}) * 100000 ) as w2 from dist where match('Mary lamb') option ranker=expr('bm25f(1.2, 0.8, {content=10}) * 1000') select title gid from test limit 1 select *, weight() as w1, FLOOR( bm25f(1.2, 0.8)*1000 ) as w2 from test where match('( the | missed1 | seven ) !missed2 ') ORDER by id ASC option ranker=expr('bm25f(1.2,0.8) * 1000') select *, packedfactors() from dup where match(' "the I the"~1 ') ORDER by id ASC option ranker=expr('1'), idf='plain,tfidf_unnormalized' select *, packedfactors() from dup where match(' "the I the"~100 ') ORDER by id ASC option ranker=expr('1'), idf='plain,tfidf_unnormalized' select *, packedfactors() from dup where match(' "the I"~100 ') ORDER by id ASC option ranker=expr('1'), idf='plain,tfidf_unnormalized' select *, packedfactors() from dup where match(' "the I the"~1 the ') ORDER by id ASC option ranker=expr('1'), idf='plain,tfidf_unnormalized' select *, packedfactors() from dup where match(' "the I the"~100 the ') ORDER by id ASC option ranker=expr('1'), idf='plain,tfidf_unnormalized' select *, packedfactors() from dup where match(' the "the I the"~1 ') ORDER by id ASC option ranker=expr('1'), idf='plain,tfidf_unnormalized' select *, packedfactors() from dup where match(' the "the I the"~100 ') ORDER by id ASC option ranker=expr('1'), idf='plain,tfidf_unnormalized' select *, packedfactors() from dup where match(' (the who) | (the foo) ') ORDER by id ASC option ranker=expr('1'), idf='plain,tfidf_unnormalized' select *, packedfactors() from dup where match(' what | foo | what ') ORDER by id ASC option ranker=expr('1'), idf='plain,tfidf_unnormalized' select *, packedfactors() from dup where match(' that | was | that ') ORDER by id ASC option ranker=expr('1'), idf='plain,tfidf_unnormalized' select *, packedfactors() from dup where match(' "that was that"~10 ') ORDER by id ASC option ranker=expr('1'), idf='plain,tfidf_unnormalized' select *, packedfactors() from dup where match(' "maybe I" | "I m" ') ORDER by id ASC option ranker=expr('1'), idf='plain,tfidf_unnormalized' select *, packedfactors() from dup where match(' ( I NEAR/10 work) | (I NEAR/20 there) ') ORDER by id ASC option ranker=expr('1'), idf='plain,tfidf_unnormalized' select *, weight() as w, packedfactors() from fields where match(' test ') option ranker=expr('sum(lcs)') update test set nonexistent=1.1, gid=1 where id=100 option ignore_nonexistent_columns=1 select id, weight() as w, packedfactors() from test where match(' "by seven" ') ORDER by id ASC option ranker=expr('sum(min_idf)*1000'), idf='plain,tfidf_unnormalized' select id, weight() as w, rankfactors() from test where match(' "by seven" ') ORDER by id ASC option ranker=export('sum(min_idf)*1000'), idf='plain,tfidf_unnormalized' select id, weight() as w from test where match(' "by seven" ') ORDER by id ASC option ranker=expr('sum(min_idf)*1000'), idf='plain,tfidf_unnormalized' select id, weight() from dup where match('the the') option ranker=proximity_bm25 select id, weight() from dup where match('the the') option ranker=expr('sum(lcs*user_weight)*1000+bm25') select id, weight() from test where match('seven|lies') option ranker=expr('sum(1000*wlccs)') select id, weight() w, title=1 as c, title from str2 where match('who | is') option ranker=expr('sum(1000)') select id, weight() w, title='who' as c, title from str2 where match('who | is') option ranker=expr('sum(1000)') select id, weight() w, title from str2 where match('who | is') option ranker=expr('sum(1000) * (gid*10+(title=1))') select id, weight() w, title from str2 where match('who | is') option ranker=expr('sum(1000) * (gid*10+(title="who"))') select id, weight() w, title from str2 where match('who | is') option ranker=expr('sum(gid*10+(title="who"))') select id, weight() w, title from str2 where match('who | is') option ranker=expr('top(gid*10+(title="who"))') sphinx-2.2.11-release/test/test_184/model.bin0000644000175000017500000010050712743402012020206 0ustar alexeyalexeya:1:{i:0;a:54:{i:0;a:3:{s:8:"sphinxql";s:72:"select id, gid, weight(), title from test where match('seven') and gid=1";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:1:"1";s:8:"weight()";s:4:"1653";s:5:"title";s:30:"Seven lies multiplied by seven";}i:1;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:1:"1";s:8:"weight()";s:4:"1653";s:5:"title";s:32:"Seven angels with seven trumpets";}i:2;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:1:"1";s:8:"weight()";s:4:"1611";s:5:"title";s:25:"Multiplied by seven again";}}}i:1;a:3:{s:8:"sphinxql";s:113:"select id, gid, weight(), title from test where match('seven') and gid=1 option ranker=expr('sum(lcs)*1000+bm25')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:1:"1";s:8:"weight()";s:4:"1653";s:5:"title";s:30:"Seven lies multiplied by seven";}i:1;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:1:"1";s:8:"weight()";s:4:"1653";s:5:"title";s:32:"Seven angels with seven trumpets";}i:2;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:1:"1";s:8:"weight()";s:4:"1611";s:5:"title";s:25:"Multiplied by seven again";}}}i:2;a:3:{s:8:"sphinxql";s:120:"select id, gid, weight(), title from test where match('seven') and gid=1 option ranker=expr('sum(300*lcs+700*lcs)+bm25')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:1:"1";s:8:"weight()";s:4:"1653";s:5:"title";s:30:"Seven lies multiplied by seven";}i:1;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:1:"1";s:8:"weight()";s:4:"1653";s:5:"title";s:32:"Seven angels with seven trumpets";}i:2;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:1:"1";s:8:"weight()";s:4:"1611";s:5:"title";s:25:"Multiplied by seven again";}}}i:3;a:3:{s:8:"sphinxql";s:154:"select id, gid, weight(), title from test where match('seven|lies') and gid=1 option ranker=expr('query_word_count*100+sum(word_count)*10+sum(hit_count)')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:1:"1";s:8:"weight()";s:3:"223";s:5:"title";s:30:"Seven lies multiplied by seven";}i:1;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:1:"1";s:8:"weight()";s:3:"212";s:5:"title";s:32:"Seven angels with seven trumpets";}i:2;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:1:"1";s:8:"weight()";s:3:"211";s:5:"title";s:25:"Multiplied by seven again";}}}i:4;a:3:{s:8:"sphinxql";s:167:"select id, gid, weight(), title from test where match('seven seven seven seven') and gid=1 option ranker=expr('query_word_count*100+sum(word_count)*10+sum(hit_count)')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:1:"1";s:8:"weight()";s:3:"112";s:5:"title";s:30:"Seven lies multiplied by seven";}i:1;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:1:"1";s:8:"weight()";s:3:"112";s:5:"title";s:32:"Seven angels with seven trumpets";}i:2;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:1:"1";s:8:"weight()";s:3:"111";s:5:"title";s:25:"Multiplied by seven again";}}}i:5;a:3:{s:8:"sphinxql";s:156:"select id, gid, weight(), title from test where match('seven !se7en') and gid=1 option ranker=expr('query_word_count*100+sum(word_count)*10+sum(hit_count)')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:1:"1";s:8:"weight()";s:3:"112";s:5:"title";s:30:"Seven lies multiplied by seven";}i:1;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:1:"1";s:8:"weight()";s:3:"112";s:5:"title";s:32:"Seven angels with seven trumpets";}i:2;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:1:"1";s:8:"weight()";s:3:"111";s:5:"title";s:25:"Multiplied by seven again";}}}i:6;a:3:{s:8:"sphinxql";s:163:"select id, gid, weight(), title from test where match('seven !(angels !by)') and gid=1 option ranker=expr('query_word_count*100+sum(word_count)*10+sum(hit_count)')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:1:"1";s:8:"weight()";s:3:"212";s:5:"title";s:30:"Seven lies multiplied by seven";}i:1;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:1:"1";s:8:"weight()";s:3:"211";s:5:"title";s:25:"Multiplied by seven again";}}}i:7;a:3:{s:8:"sphinxql";s:129:"select id, gid, weight(), title from test where match('lamb') and gid=2 option ranker=expr('doc_word_count*1000+sum(word_count)')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:3:"110";s:3:"gid";s:1:"2";s:8:"weight()";s:4:"1002";s:5:"title";s:12:"Mary vs Lamb";}i:1;a:4:{s:2:"id";s:3:"111";s:3:"gid";s:1:"2";s:8:"weight()";s:4:"1001";s:5:"title";s:34:"Mary vs Lamb 2: Return of The Lamb";}i:2;a:4:{s:2:"id";s:3:"112";s:3:"gid";s:1:"2";s:8:"weight()";s:4:"1001";s:5:"title";s:32:"Mary vs Lamb 3: The Resurrection";}}}i:8;a:3:{s:8:"sphinxql";s:154:"select id, gid, weight(), title from dist where match('seven|lies') and gid=1 option ranker=expr('query_word_count*100+sum(word_count)*10+sum(hit_count)')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:1:"1";s:8:"weight()";s:3:"223";s:5:"title";s:30:"Seven lies multiplied by seven";}i:1;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:1:"1";s:8:"weight()";s:3:"212";s:5:"title";s:32:"Seven angels with seven trumpets";}i:2;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:1:"1";s:8:"weight()";s:3:"211";s:5:"title";s:25:"Multiplied by seven again";}}}i:9;a:3:{s:8:"sphinxql";s:163:"select id, gid, weight(), title from dist where match('seven !(angels !by)') and gid=1 option ranker=expr('query_word_count*100+sum(word_count)*10+sum(hit_count)')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:1:"1";s:8:"weight()";s:3:"212";s:5:"title";s:30:"Seven lies multiplied by seven";}i:1;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:1:"1";s:8:"weight()";s:3:"211";s:5:"title";s:25:"Multiplied by seven again";}}}i:10;a:3:{s:8:"sphinxql";s:129:"select id, gid, weight(), title from dist where match('lamb') and gid=2 option ranker=expr('doc_word_count*1000+sum(word_count)')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:3:"110";s:3:"gid";s:1:"2";s:8:"weight()";s:4:"1002";s:5:"title";s:12:"Mary vs Lamb";}i:1;a:4:{s:2:"id";s:3:"111";s:3:"gid";s:1:"2";s:8:"weight()";s:4:"1001";s:5:"title";s:34:"Mary vs Lamb 2: Return of The Lamb";}i:2;a:4:{s:2:"id";s:3:"112";s:3:"gid";s:1:"2";s:8:"weight()";s:4:"1001";s:5:"title";s:32:"Mary vs Lamb 3: The Resurrection";}}}i:11;a:3:{s:8:"sphinxql";s:115:"select id, gid, weight(), title from test where match('seven|seven|seven') option ranker=expr('sum(lcs)*1000+bm25')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:3:"100";s:3:"gid";s:1:"1";s:8:"weight()";s:4:"1653";s:5:"title";s:30:"Seven lies multiplied by seven";}i:1;a:4:{s:2:"id";s:3:"102";s:3:"gid";s:1:"1";s:8:"weight()";s:4:"1653";s:5:"title";s:32:"Seven angels with seven trumpets";}i:2;a:4:{s:2:"id";s:3:"101";s:3:"gid";s:1:"1";s:8:"weight()";s:4:"1611";s:5:"title";s:25:"Multiplied by seven again";}}}i:12;a:3:{s:8:"sphinxql";s:96:"select id, gid, weight(), title from test where match('mary') option ranker=expr('crc32(title)')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:3:"110";s:3:"gid";s:1:"2";s:8:"weight()";s:9:"998153602";s:5:"title";s:12:"Mary vs Lamb";}i:1;a:4:{s:2:"id";s:3:"111";s:3:"gid";s:1:"2";s:8:"weight()";s:9:"588047195";s:5:"title";s:34:"Mary vs Lamb 2: Return of The Lamb";}i:2;a:4:{s:2:"id";s:3:"112";s:3:"gid";s:1:"2";s:8:"weight()";s:9:"189511395";s:5:"title";s:32:"Mary vs Lamb 3: The Resurrection";}}}i:13;a:3:{s:8:"sphinxql";s:95:"select id, gid, weight(), title from test where match('mary') option ranker=expr('in(mva32,1)')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:3:"110";s:3:"gid";s:1:"2";s:8:"weight()";s:1:"1";s:5:"title";s:12:"Mary vs Lamb";}i:1;a:4:{s:2:"id";s:3:"111";s:3:"gid";s:1:"2";s:8:"weight()";s:1:"1";s:5:"title";s:34:"Mary vs Lamb 2: Return of The Lamb";}i:2;a:4:{s:2:"id";s:3:"112";s:3:"gid";s:1:"2";s:8:"weight()";s:1:"1";s:5:"title";s:32:"Mary vs Lamb 3: The Resurrection";}}}i:14;a:3:{s:8:"sphinxql";s:95:"select id, gid, weight(), title from test where match('mary') option ranker=expr('in(mva64,1)')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:3:"110";s:3:"gid";s:1:"2";s:8:"weight()";s:1:"1";s:5:"title";s:12:"Mary vs Lamb";}i:1;a:4:{s:2:"id";s:3:"111";s:3:"gid";s:1:"2";s:8:"weight()";s:1:"1";s:5:"title";s:34:"Mary vs Lamb 2: Return of The Lamb";}i:2;a:4:{s:2:"id";s:3:"112";s:3:"gid";s:1:"2";s:8:"weight()";s:1:"1";s:5:"title";s:32:"Mary vs Lamb 3: The Resurrection";}}}i:15;a:3:{s:8:"sphinxql";s:175:"select id, weight() as w1, FLOOR ( bm25f(1.2, 0.8, {content=10}) * 100000 ) as w2 from test where match('Mary lamb') option ranker=expr('bm25f(1.2, 0.8, {content=10}) * 1000')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:3:"110";s:2:"w1";s:3:"691";s:2:"w2";s:5:"69126";}i:1;a:3:{s:2:"id";s:3:"112";s:2:"w1";s:3:"580";s:2:"w2";s:5:"58066";}i:2;a:3:{s:2:"id";s:3:"111";s:2:"w1";s:3:"569";s:2:"w2";s:5:"56987";}}}i:16;a:3:{s:8:"sphinxql";s:177:"select id, weight() as w1, FLOOR ( bm25f(1.2, 0.8, {content=1000}) * 100000 ) as w2 from test where match('Mary lamb') option ranker=expr('bm25f(1.2, 0.8, {content=10}) * 1000')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:3:"110";s:2:"w1";s:3:"691";s:2:"w2";s:5:"74511";}i:1;a:3:{s:2:"id";s:3:"112";s:2:"w1";s:3:"580";s:2:"w2";s:5:"57422";}i:2;a:3:{s:2:"id";s:3:"111";s:2:"w1";s:3:"569";s:2:"w2";s:5:"56135";}}}i:17;a:3:{s:8:"sphinxql";s:204:"select id, weight() as w1, FLOOR ( bm25f(2.2, 0.5) * 100000 ) as w2, FLOOR ( bm25f(1.2, 0.8, {content=10}) * 100000 ) as w3 from test where match('Mary lamb') option ranker=expr('bm25f(10.2, 0.5) * 1000')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:3:"110";s:2:"w1";s:3:"541";s:2:"w2";s:5:"61769";s:2:"w3";s:5:"69126";}i:1;a:4:{s:2:"id";s:3:"111";s:2:"w1";s:3:"521";s:2:"w2";s:5:"57314";s:2:"w3";s:5:"56987";}i:2;a:4:{s:2:"id";s:3:"112";s:2:"w1";s:3:"518";s:2:"w2";s:5:"56844";s:2:"w3";s:5:"58066";}}}i:18;a:3:{s:8:"sphinxql";s:90:"select id, weight() as w1, bm25f(2.2, 0.5) * 1000 as w2 from test where match('Mary lamb')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:3:"110";s:2:"w1";s:4:"2671";s:2:"w2";s:8:"0.000000";}i:1;a:3:{s:2:"id";s:3:"111";s:2:"w1";s:4:"1632";s:2:"w2";s:8:"0.000000";}i:2;a:3:{s:2:"id";s:3:"112";s:2:"w1";s:4:"1611";s:2:"w2";s:8:"0.000000";}}}i:19;a:3:{s:8:"sphinxql";s:13:"show warnings";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:5:"Level";s:7:"warning";s:4:"Code";s:4:"1000";s:7:"Message";s:63:"packedfactors() and bm25f() requires using an expression ranker";}}}i:20;a:3:{s:8:"sphinxql";s:171:"select id, weight() as w1, FLOOR ( bm25f(1.2, 0.8, {title=10}) * 100000 ) as w2 from test where match('Mary lamb') option ranker=expr('bm25f(1.2, 0.8, {title=10}) * 1000')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:3:"110";s:2:"w1";s:3:"728";s:2:"w2";s:5:"72822";}i:1;a:3:{s:2:"id";s:3:"111";s:2:"w1";s:3:"717";s:2:"w2";s:5:"71754";}i:2;a:3:{s:2:"id";s:3:"112";s:2:"w1";s:3:"716";s:2:"w2";s:5:"71657";}}}i:21;a:3:{s:8:"sphinxql";s:170:"select id, weight() as w1, FLOOR ( bm25f(1.2, 0.8, {title=2}) * 100000 ) as w2 from test where match('Mary lamb') option ranker=expr('bm25f(1.2, 0.8, {title=10}) * 1000')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:3:"110";s:2:"w1";s:3:"728";s:2:"w2";s:5:"67820";}i:1;a:3:{s:2:"id";s:3:"111";s:2:"w1";s:3:"717";s:2:"w2";s:5:"64293";}i:2;a:3:{s:2:"id";s:3:"112";s:2:"w1";s:3:"716";s:2:"w2";s:5:"64247";}}}i:22;a:3:{s:8:"sphinxql";s:207:"select id, weight() as w1, FLOOR ( bm25f(2.2, 0.5) * 100000 ) as w2, FLOOR ( bm25f(1.2, 0.8, {content=10}) * 100000 ) as w3 from xml_ext where match('Mary lamb') option ranker=expr('bm25f(10.2, 0.5) * 1000')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:3:"110";s:2:"w1";s:3:"541";s:2:"w2";s:5:"61769";s:2:"w3";s:5:"69126";}i:1;a:4:{s:2:"id";s:3:"111";s:2:"w1";s:3:"521";s:2:"w2";s:5:"57314";s:2:"w3";s:5:"56987";}i:2;a:4:{s:2:"id";s:3:"112";s:2:"w1";s:3:"518";s:2:"w2";s:5:"56844";s:2:"w3";s:5:"58066";}}}i:23;a:3:{s:8:"sphinxql";s:207:"select id, weight() as w1, FLOOR ( bm25f(2.2, 0.5) * 100000 ) as w2, FLOOR ( bm25f(1.2, 0.8, {content=10}) * 100000 ) as w3 from xml_int where match('Mary lamb') option ranker=expr('bm25f(10.2, 0.5) * 1000')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:3:"110";s:2:"w1";s:3:"541";s:2:"w2";s:5:"61769";s:2:"w3";s:5:"69126";}i:1;a:4:{s:2:"id";s:3:"111";s:2:"w1";s:3:"521";s:2:"w2";s:5:"57314";s:2:"w3";s:5:"56987";}i:2;a:4:{s:2:"id";s:3:"112";s:2:"w1";s:3:"518";s:2:"w2";s:5:"56844";s:2:"w3";s:5:"58066";}}}i:24;a:3:{s:8:"sphinxql";s:175:"select id, weight() as w1, FLOOR ( bm25f(1.2, 0.8, {content=10}) * 100000 ) as w2 from dist where match('Mary lamb') option ranker=expr('bm25f(1.2, 0.8, {content=10}) * 1000')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:3:"110";s:2:"w1";s:3:"691";s:2:"w2";s:5:"69126";}i:1;a:3:{s:2:"id";s:3:"112";s:2:"w1";s:3:"580";s:2:"w2";s:5:"58066";}i:2;a:3:{s:2:"id";s:3:"111";s:2:"w1";s:3:"569";s:2:"w2";s:5:"56987";}}}i:25;a:3:{s:8:"sphinxql";s:34:"select title gid from test limit 1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:3:"gid";s:30:"Seven lies multiplied by seven";}}}i:26;a:3:{s:8:"sphinxql";s:182:"select *, weight() as w1, FLOOR( bm25f(1.2, 0.8)*1000 ) as w2 from test where match('( the | missed1 | seven ) !missed2 ') ORDER by id ASC option ranker=expr('bm25f(1.2,0.8) * 1000')";s:10:"total_rows";i:7;s:4:"rows";a:7:{i:0;a:9:{s:2:"id";s:3:"100";s:3:"gid";s:1:"1";s:5:"title";s:30:"Seven lies multiplied by seven";s:5:"mva32";s:5:"1,2,3";s:5:"mva64";s:5:"1,2,3";s:9:"title_len";s:1:"5";s:11:"content_len";s:1:"0";s:2:"w1";s:3:"541";s:2:"w2";s:3:"541";}i:1;a:9:{s:2:"id";s:3:"101";s:3:"gid";s:1:"1";s:5:"title";s:25:"Multiplied by seven again";s:5:"mva32";s:5:"1,2,3";s:5:"mva64";s:5:"1,2,3";s:9:"title_len";s:1:"4";s:11:"content_len";s:1:"0";s:2:"w1";s:3:"533";s:2:"w2";s:3:"533";}i:2;a:9:{s:2:"id";s:3:"102";s:3:"gid";s:1:"1";s:5:"title";s:32:"Seven angels with seven trumpets";s:5:"mva32";s:5:"1,2,3";s:5:"mva64";s:5:"1,2,3";s:9:"title_len";s:1:"5";s:11:"content_len";s:1:"0";s:2:"w1";s:3:"541";s:2:"w2";s:3:"541";}i:3;a:9:{s:2:"id";s:3:"105";s:3:"gid";s:1:"1";s:5:"title";s:18:"John the Revelator";s:5:"mva32";s:5:"1,2,3";s:5:"mva64";s:5:"1,2,3";s:9:"title_len";s:1:"3";s:11:"content_len";s:1:"0";s:2:"w1";s:3:"525";s:2:"w2";s:3:"525";}i:4;a:9:{s:2:"id";s:3:"108";s:3:"gid";s:1:"1";s:5:"title";s:18:"John the Revelator";s:5:"mva32";s:5:"1,2,3";s:5:"mva64";s:5:"1,2,3";s:9:"title_len";s:1:"3";s:11:"content_len";s:1:"0";s:2:"w1";s:3:"525";s:2:"w2";s:3:"525";}i:5;a:9:{s:2:"id";s:3:"111";s:3:"gid";s:1:"2";s:5:"title";s:34:"Mary vs Lamb 2: Return of The Lamb";s:5:"mva32";s:5:"1,2,3";s:5:"mva64";s:5:"1,2,3";s:9:"title_len";s:1:"8";s:11:"content_len";s:1:"6";s:2:"w1";s:3:"513";s:2:"w2";s:3:"513";}i:6;a:9:{s:2:"id";s:3:"112";s:3:"gid";s:1:"2";s:5:"title";s:32:"Mary vs Lamb 3: The Resurrection";s:5:"mva32";s:5:"1,2,3";s:5:"mva64";s:5:"1,2,3";s:9:"title_len";s:1:"6";s:11:"content_len";s:1:"3";s:2:"w1";s:3:"517";s:2:"w2";s:3:"517";}}}i:27;a:3:{s:8:"sphinxql";s:138:"select *, packedfactors() from dup where match(' "the I the"~1 ') ORDER by id ASC option ranker=expr('1'), idf='plain,tfidf_unnormalized'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:6:"f1_len";s:2:"15";s:6:"f2_len";s:3:"253";s:15:"packedfactors()";s:360:"bm25=1066, bm25a=0.635419, field_mask=2, doc_word_count=2, field1=(lcs=1, hit_count=2, word_count=2, tf_idf=0.646015, min_idf=0.215338, max_idf=0.430677, sum_idf=0.646015, min_hit_pos=8, min_best_span_pos=8, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.215338, atc=0.000000), word0=(tf=1, idf=0.215338), word1=(tf=1, idf=0.430677)";}}}i:28;a:3:{s:8:"sphinxql";s:140:"select *, packedfactors() from dup where match(' "the I the"~100 ') ORDER by id ASC option ranker=expr('1'), idf='plain,tfidf_unnormalized'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:6:"f1_len";s:2:"15";s:6:"f2_len";s:3:"253";s:15:"packedfactors()";s:607:"bm25=1066, bm25a=0.832547, field_mask=3, doc_word_count=2, field0=(lcs=1, hit_count=2, word_count=2, tf_idf=0.646015, min_idf=0.215338, max_idf=0.430677, sum_idf=0.646015, min_hit_pos=8, min_best_span_pos=8, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.215338, atc=0.000000), field1=(lcs=1, hit_count=6, word_count=2, tf_idf=1.938044, min_idf=0.215338, max_idf=0.430677, sum_idf=0.646015, min_hit_pos=8, min_best_span_pos=8, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.215338, atc=0.000860), word0=(tf=4, idf=0.215338), word1=(tf=4, idf=0.430677)";}}}i:29;a:3:{s:8:"sphinxql";s:136:"select *, packedfactors() from dup where match(' "the I"~100 ') ORDER by id ASC option ranker=expr('1'), idf='plain,tfidf_unnormalized'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:6:"f1_len";s:2:"15";s:6:"f2_len";s:3:"253";s:15:"packedfactors()";s:608:"bm25=1066, bm25a=0.832547, field_mask=3, doc_word_count=2, field0=(lcs=1, hit_count=2, word_count=2, tf_idf=0.646015, min_idf=0.215338, max_idf=0.430677, sum_idf=0.646015, min_hit_pos=8, min_best_span_pos=8, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.215338, atc=0.000000), field1=(lcs=2, hit_count=6, word_count=2, tf_idf=1.938044, min_idf=0.215338, max_idf=0.430677, sum_idf=0.646015, min_hit_pos=8, min_best_span_pos=44, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.215338, atc=0.000830), word0=(tf=4, idf=0.215338), word1=(tf=4, idf=0.430677)";}}}i:30;a:3:{s:8:"sphinxql";s:142:"select *, packedfactors() from dup where match(' "the I the"~1 the ') ORDER by id ASC option ranker=expr('1'), idf='plain,tfidf_unnormalized'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:6:"f1_len";s:2:"15";s:6:"f2_len";s:3:"253";s:15:"packedfactors()";s:607:"bm25=1066, bm25a=0.685695, field_mask=3, doc_word_count=2, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.215338, min_idf=0.215338, max_idf=0.215338, sum_idf=0.215338, min_hit_pos=8, min_best_span_pos=8, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.215338, atc=0.000000), field1=(lcs=1, hit_count=3, word_count=2, tf_idf=0.861353, min_idf=0.215338, max_idf=0.430677, sum_idf=0.646015, min_hit_pos=8, min_best_span_pos=8, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.215338, atc=0.000209), word0=(tf=3, idf=0.215338), word1=(tf=1, idf=0.430677)";}}}i:31;a:3:{s:8:"sphinxql";s:144:"select *, packedfactors() from dup where match(' "the I the"~100 the ') ORDER by id ASC option ranker=expr('1'), idf='plain,tfidf_unnormalized'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:6:"f1_len";s:2:"15";s:6:"f2_len";s:3:"253";s:15:"packedfactors()";s:607:"bm25=1066, bm25a=0.832547, field_mask=3, doc_word_count=2, field0=(lcs=1, hit_count=2, word_count=2, tf_idf=0.646015, min_idf=0.215338, max_idf=0.430677, sum_idf=0.646015, min_hit_pos=8, min_best_span_pos=8, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.215338, atc=0.000000), field1=(lcs=1, hit_count=6, word_count=2, tf_idf=1.938044, min_idf=0.215338, max_idf=0.430677, sum_idf=0.646015, min_hit_pos=8, min_best_span_pos=8, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.215338, atc=0.004462), word0=(tf=4, idf=0.215338), word1=(tf=4, idf=0.430677)";}}}i:32;a:3:{s:8:"sphinxql";s:142:"select *, packedfactors() from dup where match(' the "the I the"~1 ') ORDER by id ASC option ranker=expr('1'), idf='plain,tfidf_unnormalized'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:6:"f1_len";s:2:"15";s:6:"f2_len";s:3:"253";s:15:"packedfactors()";s:607:"bm25=1066, bm25a=0.685695, field_mask=3, doc_word_count=2, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.215338, min_idf=0.215338, max_idf=0.215338, sum_idf=0.215338, min_hit_pos=8, min_best_span_pos=8, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.215338, atc=0.000000), field1=(lcs=1, hit_count=3, word_count=2, tf_idf=0.861353, min_idf=0.215338, max_idf=0.430677, sum_idf=0.646015, min_hit_pos=8, min_best_span_pos=8, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.215338, atc=0.000209), word0=(tf=3, idf=0.215338), word2=(tf=1, idf=0.430677)";}}}i:33;a:3:{s:8:"sphinxql";s:144:"select *, packedfactors() from dup where match(' the "the I the"~100 ') ORDER by id ASC option ranker=expr('1'), idf='plain,tfidf_unnormalized'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:6:"f1_len";s:2:"15";s:6:"f2_len";s:3:"253";s:15:"packedfactors()";s:607:"bm25=1066, bm25a=0.832547, field_mask=3, doc_word_count=2, field0=(lcs=1, hit_count=2, word_count=2, tf_idf=0.646015, min_idf=0.215338, max_idf=0.430677, sum_idf=0.646015, min_hit_pos=8, min_best_span_pos=8, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.215338, atc=0.000000), field1=(lcs=1, hit_count=6, word_count=2, tf_idf=1.938044, min_idf=0.215338, max_idf=0.430677, sum_idf=0.646015, min_hit_pos=8, min_best_span_pos=8, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.215338, atc=0.004462), word0=(tf=4, idf=0.215338), word2=(tf=4, idf=0.430677)";}}}i:34;a:3:{s:8:"sphinxql";s:146:"select *, packedfactors() from dup where match(' (the who) | (the foo) ') ORDER by id ASC option ranker=expr('1'), idf='plain,tfidf_unnormalized'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:6:"f1_len";s:1:"2";s:6:"f2_len";s:1:"3";s:15:"packedfactors()";s:635:"bm25=1026, bm25a=1.313268, field_mask=3, doc_word_count=3, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.646015, min_idf=0.215338, max_idf=0.430677, sum_idf=0.646015, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=2, wlccs=0.646015, atc=0.315515), field1=(lcs=2, hit_count=2, word_count=2, tf_idf=0.646015, min_idf=0.215338, max_idf=0.430677, sum_idf=0.646015, min_hit_pos=2, min_best_span_pos=2, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=2, wlccs=0.646015, atc=0.315515), word0=(tf=2, idf=0.215338), word1=(tf=1, idf=0.430677), word3=(tf=1, idf=0.430677)";}}}i:35;a:3:{s:8:"sphinxql";s:142:"select *, packedfactors() from dup where match(' what | foo | what ') ORDER by id ASC option ranker=expr('1'), idf='plain,tfidf_unnormalized'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:6:"f1_len";s:1:"2";s:6:"f2_len";s:1:"3";s:15:"packedfactors()";s:359:"bm25=891, bm25a=1.131144, field_mask=2, doc_word_count=2, field1=(lcs=1, hit_count=2, word_count=2, tf_idf=0.861353, min_idf=0.430677, max_idf=0.430677, sum_idf=0.861353, min_hit_pos=1, min_best_span_pos=1, exact_hit=0, max_window_hits=1, min_gaps=1, exact_order=1, lccs=1, wlccs=0.430677, atc=0.199324), word0=(tf=1, idf=0.430677), word1=(tf=1, idf=0.430677)";}}}i:36;a:3:{s:8:"sphinxql";s:142:"select *, packedfactors() from dup where match(' that | was | that ') ORDER by id ASC option ranker=expr('1'), idf='plain,tfidf_unnormalized'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:6:"f1_len";s:2:"15";s:6:"f2_len";s:3:"253";s:15:"packedfactors()";s:361:"bm25=1205, bm25a=1.014414, field_mask=2, doc_word_count=2, field1=(lcs=1, hit_count=12, word_count=2, tf_idf=5.168118, min_idf=0.430677, max_idf=0.430677, sum_idf=0.861353, min_hit_pos=3, min_best_span_pos=3, exact_hit=0, max_window_hits=1, min_gaps=3, exact_order=1, lccs=1, wlccs=0.430677, atc=0.256483), word0=(tf=8, idf=0.430677), word1=(tf=4, idf=0.430677)";}}}i:37;a:3:{s:8:"sphinxql";s:143:"select *, packedfactors() from dup where match(' "that was that"~10 ') ORDER by id ASC option ranker=expr('1'), idf='plain,tfidf_unnormalized'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:6:"f1_len";s:2:"15";s:6:"f2_len";s:3:"253";s:15:"packedfactors()";s:364:"bm25=1205, bm25a=0.798537, field_mask=2, doc_word_count=2, field1=(lcs=1, hit_count=4, word_count=2, tf_idf=1.722706, min_idf=0.430677, max_idf=0.430677, sum_idf=0.861353, min_hit_pos=161, min_best_span_pos=161, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.430677, atc=0.001981), word0=(tf=2, idf=0.430677), word1=(tf=2, idf=0.430677)";}}}i:38;a:3:{s:8:"sphinxql";s:142:"select *, packedfactors() from dup where match(' "maybe I" | "I m" ') ORDER by id ASC option ranker=expr('1'), idf='plain,tfidf_unnormalized'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:6:"f1_len";s:2:"15";s:6:"f2_len";s:3:"253";s:15:"packedfactors()";s:640:"bm25=1415, bm25a=1.002809, field_mask=3, doc_word_count=3, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.861353, min_idf=0.430677, max_idf=0.430677, sum_idf=0.861353, min_hit_pos=10, min_best_span_pos=10, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.430677, atc=0.000000), field1=(lcs=2, hit_count=6, word_count=2, tf_idf=2.584059, min_idf=0.430677, max_idf=0.430677, sum_idf=0.861353, min_hit_pos=38, min_best_span_pos=38, exact_hit=0, max_window_hits=1, min_gaps=18, exact_order=0, lccs=1, wlccs=0.430677, atc=0.000730), word0=(tf=1, idf=0.430677), word1=(tf=4, idf=0.430677), word3=(tf=3, idf=0.430677)";}}}i:39;a:3:{s:8:"sphinxql";s:162:"select *, packedfactors() from dup where match(' ( I NEAR/10 work) | (I NEAR/20 there) ') ORDER by id ASC option ranker=expr('1'), idf='plain,tfidf_unnormalized'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:6:"f1_len";s:2:"15";s:6:"f2_len";s:3:"253";s:15:"packedfactors()";s:638:"bm25=1489, bm25a=1.085626, field_mask=3, doc_word_count=3, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.861353, min_idf=0.430677, max_idf=0.430677, sum_idf=0.861353, min_hit_pos=2, min_best_span_pos=2, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.430677, atc=0.000000), field1=(lcs=2, hit_count=8, word_count=3, tf_idf=3.445412, min_idf=0.430677, max_idf=0.430677, sum_idf=1.292030, min_hit_pos=62, min_best_span_pos=62, exact_hit=0, max_window_hits=1, min_gaps=44, exact_order=0, lccs=1, wlccs=0.430677, atc=0.001410), word0=(tf=5, idf=0.430677), word1=(tf=2, idf=0.430677), word3=(tf=3, idf=0.430677)";}}}i:40;a:3:{s:8:"sphinxql";s:105:"select *, weight() as w, packedfactors() from fields where match(' test ') option ranker=expr('sum(lcs)')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:3:"100";s:3:"idd";s:2:"11";s:1:"w";s:1:"4";s:15:"packedfactors()";s:1074:"bm25=500, bm25a=0.500000, field_mask=3, doc_word_count=1, field0=(lcs=1, hit_count=1, word_count=1, tf_idf=0.000000, min_idf=0.000000, max_idf=0.000000, sum_idf=0.000000, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.000000, atc=0.000000), field1=(lcs=1, hit_count=1, word_count=1, tf_idf=0.000000, min_idf=0.000000, max_idf=0.000000, sum_idf=0.000000, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.000000, atc=0.000000), field33=(lcs=1, hit_count=1, word_count=1, tf_idf=0.000000, min_idf=0.000000, max_idf=0.000000, sum_idf=0.000000, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.000000, atc=0.000000), field34=(lcs=1, hit_count=1, word_count=1, tf_idf=0.000000, min_idf=0.000000, max_idf=0.000000, sum_idf=0.000000, min_hit_pos=1, min_best_span_pos=1, exact_hit=1, max_window_hits=1, min_gaps=0, exact_order=1, lccs=1, wlccs=0.000000, atc=0.000000), word0=(tf=4, idf=0.000000)";}}}i:41;a:2:{s:8:"sphinxql";s:87:"update test set nonexistent=1.1, gid=1 where id=100 option ignore_nonexistent_columns=1";s:14:"total_affected";i:1;}i:42;a:3:{s:8:"sphinxql";s:167:"select id, weight() as w, packedfactors() from test where match(' "by seven" ') ORDER by id ASC option ranker=expr('sum(min_idf)*1000'), idf='plain,tfidf_unnormalized'";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:3:"100";s:1:"w";s:3:"277";s:15:"packedfactors()";s:359:"bm25=834, bm25a=0.819381, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.632449, min_idf=0.277815, max_idf=0.354635, sum_idf=0.632449, min_hit_pos=4, min_best_span_pos=4, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.354635, atc=0.000000), word0=(tf=1, idf=0.354635), word1=(tf=1, idf=0.277815)";}i:1;a:3:{s:2:"id";s:3:"101";s:1:"w";s:3:"277";s:15:"packedfactors()";s:359:"bm25=787, bm25a=0.842942, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.632449, min_idf=0.277815, max_idf=0.354635, sum_idf=0.632449, min_hit_pos=2, min_best_span_pos=2, exact_hit=0, max_window_hits=1, min_gaps=0, exact_order=0, lccs=1, wlccs=0.354635, atc=0.000000), word0=(tf=1, idf=0.354635), word1=(tf=1, idf=0.277815)";}}}i:43;a:3:{s:8:"sphinxql";s:167:"select id, weight() as w, rankfactors() from test where match(' "by seven" ') ORDER by id ASC option ranker=export('sum(min_idf)*1000'), idf='plain,tfidf_unnormalized'";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:3:"100";s:1:"w";s:3:"277";s:13:"rankfactors()";s:294:"bm25=834, bm25a=0.819381, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.632449, min_idf=0.277815, max_idf=0.354635, sum_idf=0.632449, min_hit_pos=4, min_best_span_pos=4, exact_hit=0, max_window_hits=1), word1=(tf=1, idf=0.354635), word2=(tf=1, idf=0.277815)";}i:1;a:3:{s:2:"id";s:3:"101";s:1:"w";s:3:"277";s:13:"rankfactors()";s:294:"bm25=787, bm25a=0.842942, field_mask=1, doc_word_count=2, field0=(lcs=2, hit_count=2, word_count=2, tf_idf=0.632449, min_idf=0.277815, max_idf=0.354635, sum_idf=0.632449, min_hit_pos=2, min_best_span_pos=2, exact_hit=0, max_window_hits=1), word1=(tf=1, idf=0.354635), word2=(tf=1, idf=0.277815)";}}}i:44;a:3:{s:8:"sphinxql";s:150:"select id, weight() as w from test where match(' "by seven" ') ORDER by id ASC option ranker=expr('sum(min_idf)*1000'), idf='plain,tfidf_unnormalized'";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:3:"100";s:1:"w";s:3:"277";}i:1;a:2:{s:2:"id";s:3:"101";s:1:"w";s:3:"277";}}}i:45;a:3:{s:8:"sphinxql";s:80:"select id, weight() from dup where match('the the') option ranker=proximity_bm25";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:8:"weight()";s:4:"2589";}i:1;a:2:{s:2:"id";s:1:"1";s:8:"weight()";s:4:"2578";}}}i:46;a:3:{s:8:"sphinxql";s:104:"select id, weight() from dup where match('the the') option ranker=expr('sum(lcs*user_weight)*1000+bm25')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:8:"weight()";s:4:"2589";}i:1;a:2:{s:2:"id";s:1:"1";s:8:"weight()";s:4:"2578";}}}i:47;a:3:{s:8:"sphinxql";s:93:"select id, weight() from test where match('seven|lies') option ranker=expr('sum(1000*wlccs)')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"100";s:8:"weight()";s:3:"366";}i:1;a:2:{s:2:"id";s:3:"101";s:8:"weight()";s:3:"123";}i:2;a:2:{s:2:"id";s:3:"102";s:8:"weight()";s:3:"123";}}}i:48;a:3:{s:8:"sphinxql";s:108:"select id, weight() w, title=1 as c, title from str2 where match('who | is') option ranker=expr('sum(1000)')";s:5:"error";s:72:"index str2: parse error: equal operation applied to part string operands";s:5:"errno";i:1064;}i:49;a:3:{s:8:"sphinxql";s:112:"select id, weight() w, title='who' as c, title from str2 where match('who | is') option ranker=expr('sum(1000)')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:1:"1";s:1:"w";s:4:"2000";s:1:"c";s:1:"1";s:5:"title";s:3:"who";}i:1;a:4:{s:2:"id";s:1:"2";s:1:"w";s:4:"2000";s:1:"c";s:1:"0";s:5:"title";s:2:"is";}i:2;a:4:{s:2:"id";s:1:"3";s:1:"w";s:4:"2000";s:1:"c";s:1:"1";s:5:"title";s:3:"who";}}}i:50;a:3:{s:8:"sphinxql";s:115:"select id, weight() w, title from str2 where match('who | is') option ranker=expr('sum(1000) * (gid*10+(title=1))')";s:5:"error";s:59:"index str2: equal operation applied to part string operands";s:5:"errno";i:1064;}i:51;a:3:{s:8:"sphinxql";s:119:"select id, weight() w, title from str2 where match('who | is') option ranker=expr('sum(1000) * (gid*10+(title="who"))')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"3";s:1:"w";s:6:"262000";s:5:"title";s:3:"who";}i:1;a:3:{s:2:"id";s:1:"2";s:1:"w";s:6:"240000";s:5:"title";s:2:"is";}i:2;a:3:{s:2:"id";s:1:"1";s:1:"w";s:6:"222000";s:5:"title";s:3:"who";}}}i:52;a:3:{s:8:"sphinxql";s:110:"select id, weight() w, title from str2 where match('who | is') option ranker=expr('sum(gid*10+(title="who"))')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"3";s:1:"w";s:3:"262";s:5:"title";s:3:"who";}i:1;a:3:{s:2:"id";s:1:"2";s:1:"w";s:3:"240";s:5:"title";s:2:"is";}i:2;a:3:{s:2:"id";s:1:"1";s:1:"w";s:3:"222";s:5:"title";s:3:"who";}}}i:53;a:3:{s:8:"sphinxql";s:110:"select id, weight() w, title from str2 where match('who | is') option ranker=expr('top(gid*10+(title="who"))')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"3";s:1:"w";s:3:"131";s:5:"title";s:3:"who";}i:1;a:3:{s:2:"id";s:1:"2";s:1:"w";s:3:"120";s:5:"title";s:2:"is";}i:2;a:3:{s:2:"id";s:1:"1";s:1:"w";s:3:"111";s:5:"title";s:3:"who";}}}}}sphinx-2.2.11-release/test/test_184/data_int.xml0000644000175000017500000000353312743402012020722 0ustar alexeyalexey Seven lies multiplied by seven 1 Multiplied by seven again 1 Seven angels with seven trumpets 1 Send them home on a morning train 1 Well who is that shouting? 1 John the Revelator 1 All he ever gives us is pain 1 Well who is that shouting? 1 John the Revelator 1 He should bow his head in shame 1 Mary vs Lamb Mary had a little lamb little lamb little lamb 2 Mary vs Lamb 2: Return of The Lamb ...whose fleece was white as snow 2 Mary vs Lamb 3: The Resurrection Snow! Bloody snow! 2 sphinx-2.2.11-release/test/test_184/data_fields.xml0000644000175000017500000000226012743402012021372 0ustar alexeyalexey test test test test sphinx-2.2.11-release/test/test_184/data_ext.xml0000644000175000017500000000333012743402012020723 0ustar alexeyalexey Seven lies multiplied by seven 1 Multiplied by seven again 1 Seven angels with seven trumpets 1 Send them home on a morning train 1 Well who is that shouting? 1 John the Revelator 1 All he ever gives us is pain 1 Well who is that shouting? 1 John the Revelator 1 He should bow his head in shame 1 Mary vs Lamb Mary had a little lamb little lamb little lamb 2 Mary vs Lamb 2: Return of The Lamb ...whose fleece was white as snow 2 Mary vs Lamb 3: The Resurrection Snow! Bloody snow! 2 sphinx-2.2.11-release/test/test_183/0000755000175000017500000000000012743402012016410 5ustar alexeyalexeysphinx-2.2.11-release/test/test_183/test.xml0000644000175000017500000003735212743402012020123 0ustar alexeyalexey support for 256 fields in disk/RT indexes indexer { mem_limit = 16M } searchd { workers = threads } source srctest { type = mysql sql_query = SELECT * FROM test_table } index test { source = srctest path = /test } source srctests { type = mysql sql_query = SELECT document_id, t21, t141, t241 FROM test_table } index tests { source = srctests path = /tests } index rt28 { type = rt path = /rt28 rt_field = field1 rt_field = field2 rt_field = field3 rt_field = field4 rt_field = field5 rt_field = field6 rt_field = field7 rt_field = field8 rt_field = field9 rt_field = field10 rt_field = field11 rt_field = field12 rt_field = field13 rt_field = field14 rt_field = field15 rt_field = field16 rt_field = field17 rt_field = field18 rt_field = field19 rt_field = field20 rt_field = field21 rt_field = field22 rt_field = field23 rt_field = field24 rt_field = field25 rt_field = field26 rt_field = field27 rt_field = field28 rt_attr_uint = attr1 } index rt40 { type = rt path = /rt40 rt_field = field1 rt_field = field2 rt_field = field3 rt_field = field4 rt_field = field5 rt_field = field6 rt_field = field7 rt_field = field8 rt_field = field9 rt_field = field10 rt_field = field11 rt_field = field12 rt_field = field13 rt_field = field14 rt_field = field15 rt_field = field16 rt_field = field17 rt_field = field18 rt_field = field19 rt_field = field20 rt_field = field21 rt_field = field22 rt_field = field23 rt_field = field24 rt_field = field25 rt_field = field26 rt_field = field27 rt_field = field28 rt_field = field29 rt_field = field30 rt_field = field31 rt_field = field32 rt_field = field33 rt_field = field34 rt_field = field35 rt_field = field36 rt_field = field37 rt_field = field38 rt_field = field39 rt_field = field40 rt_attr_uint = attr1 } source src_many_attr { type = xmlpipe2 xmlpipe_command = cat /data_embedded.xml xmlpipe_fixup_utf8 = 1 } index many_attr { source = src_many_attr path = /src_many_attr } select * from tests where match ('field_one') select * from test where match ('field_one') select * from tests where match ('field_two') select * from test where match ('field_two') select * from tests where match ('@t21 field_one') select * from tests where match ('@t141 field_one') select * from test where match ('@t21 field_one') select * from tests where match ('@t21 field_two') select * from test where match ('@t21 field_two') select * from tests where match ('@t141 field_three') select * from test where match ('@t141 field_three') select * from tests where match ('@t141 field_two') select * from test where match ('@t141 field_two') select * from tests where match ('@t241 field_two') select * from test where match ('@t241 field_two') select * from tests where match ('field_one field_two') select * from test where match ('field_one field_two') select * from tests where match ('field_one @t141 field_two') select * from test where match ('field_one @t141 field_two') select * from tests where match ('field_one @t21 field_two') select * from test where match ('field_one @t21 field_two') insert into rt40 (id,attr1, field1,field2,field3,field4,field5,field6,field7,field8,field9,field10, field11,field12,field13,field14,field15,field16,field17,field18,field19,field20, field21,field22,field23,field24,field25,field26,field27,field28,field29,field30, field31,field32,field33,field34,field35,field36,field37,field38,field39,field40) values (123,111,'kw1','kw2','kw3','kw4','kw5','kw6','kw7','kw8','kw9','kw10', 'kw11','kw12','kw13','kw14','kw15','kw16','kw17','kw18','kw19','kw20', 'kw21','kw22','kw23','kw24','kw25','kw26','kw27','kw28','kw29','kw30', 'kw31','kw32','kw33','kw34','kw35','kw36','kw37','kw38','kw39','kw40') select *, 1 as testid from rt40 where match('kw37') select *, 2 as testid from rt40 where match('@field5 kw37') select *, 3 as testid from rt40 where match('@field37 kw37') insert into rt28 (id,attr1, field1,field2,field3,field4,field5,field6,field7,field8,field9,field10, field11,field12,field13,field14,field15,field16,field17,field18,field19,field20, field21,field22,field23,field24,field25,field26,field27,field28) values (124,222, 'kw1','kw2','kw3','kw4','kw5','kw6','kw7','kw8','kw9','kw10', 'kw11','kw12','kw13','kw14','kw15','kw16','kw17','kw18','kw19','kw20', 'kw21','kw22','kw23','kw24','kw25','kw26','kw27','kw28') select *, 1 as testid from rt28 where match('kw17') select *, 2 as testid from rt28 where match('@field17 kw17') select *, 3 as testid from rt28 where match('@field3 kw17') insert into rt40 (id,field37) values (125,'kw37 copy2') select * from rt40 where match('kw37') select * from rt40 where match('@field37 kw37') insert into rt40 (id,field37) values (126,'kw37 copy3 ') select * from rt40 where match('kw37') select * from rt40 where match('@field37 kw37') insert into rt40 (id,field39) values (200, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (201, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (202, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (203, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (204, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (205, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (206, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (207, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (208, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (209, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (210, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (211, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (212, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (213, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (214, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (215, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (216, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (217, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (218, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (219, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (220, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (221, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (222, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (223, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (224, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (225, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (226, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (227, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (228, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (229, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (230, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (231, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (232, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (233, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (234, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (235, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (236, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (237, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (238, 'badger badger badger badger mushroom mushroom') insert into rt40 (id,field39) values (239, 'badger badger badger badger mushroom mushroom') select * from rt40 where match('kw37') select * from rt40 where match('@field37 kw37') select * from rt40 where match('@field39 badger') limit 40 show meta select id, idd265 from many_attr order by idd265 desc select id, idd265 i from many_attr order by i desc select id, idd265 + 1 as i from many_attr order by i desc select id, idd265 + 1 as i, i as i1, i1 as i2 from many_attr order by i2 desc select id, idd265 from many_attr group by idd265 select id, idd265 as i from many_attr group by i select id, ( ( idd265 - 1000 ) mod 3 ) as i from many_attr group by i select id, ( ( idd265 - 1000 ) mod 3 ) as i, i as i1, i1 as i2 from many_attr group by i2 CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `t1` char(5),`t2` char(5),`t3` char(5),`t4` char(5),`t5` char(5),`t6` char(5),`t7` char(5),`t8` char(5),`t9` char(5),`t10` char(5), `t11` char(5),`t12` char(5),`t13` char(5),`t14` char(5),`t15` char(5),`t16` char(5),`t17` char(5),`t18` char(5),`t19` char(5),`t20` char(5), `t21` char(25),`t22` char(5),`t23` char(5),`t24` char(5),`t25` char(5),`t26` char(5),`t27` char(5),`t28` char(5),`t29` char(5),`t30` char(5), `t31` char(5),`t32` char(5),`t33` char(5),`t34` char(5),`t35` char(5),`t36` char(5),`t37` char(5),`t38` char(5),`t39` char(5),`t40` char(5), `t41` char(5),`t42` char(5),`t43` char(5),`t44` char(5),`t45` char(5),`t46` char(5),`t47` char(5),`t48` char(5),`t49` char(5),`t50` char(5), `t51` char(5),`t52` char(5),`t53` char(5),`t54` char(5),`t55` char(5),`t56` char(5),`t57` char(5),`t58` char(5),`t59` char(5),`t60` char(5), `t61` char(5),`t62` char(5),`t63` char(5),`t64` char(5),`t65` char(5),`t66` char(5),`t67` char(5),`t68` char(5),`t69` char(5),`t70` char(5), `t71` char(5),`t72` char(5),`t73` char(5),`t74` char(5),`t75` char(5),`t76` char(5),`t77` char(5),`t78` char(5),`t79` char(5),`t80` char(5), `t81` char(5),`t82` char(5),`t83` char(5),`t84` char(5),`t85` char(5),`t86` char(5),`t87` char(5),`t88` char(5),`t89` char(5),`t90` char(5), `t91` char(5),`t92` char(5),`t93` char(5),`t94` char(5),`t95` char(5),`t96` char(5),`t97` char(5),`t98` char(5),`t99` char(5),`t100` char(5), `t101` char(5),`t102` char(5),`t103` char(5),`t104` char(5),`t105` char(5),`t106` char(5),`t107` char(5),`t108` char(5),`t109` char(5),`t110` char(5), `t111` char(5),`t112` char(5),`t113` char(5),`t114` char(5),`t115` char(5),`t116` char(5),`t117` char(5),`t118` char(5),`t119` char(5),`t120` char(5), `t121` char(5),`t122` char(5),`t123` char(5),`t124` char(5),`t125` char(5),`t126` char(5),`t127` char(5),`t128` char(5),`t129` char(5),`t130` char(5), `t131` char(5),`t132` char(5),`t133` char(5),`t134` char(5),`t135` char(5),`t136` char(5),`t137` char(5),`t138` char(5),`t139` char(5),`t140` char(5), `t141` char(25),`t142` char(5),`t143` char(5),`t144` char(5),`t145` char(5),`t146` char(5),`t147` char(5),`t148` char(5),`t149` char(5),`t150` char(5), `t151` char(5),`t152` char(5),`t153` char(5),`t154` char(5),`t155` char(5),`t156` char(5),`t157` char(5),`t158` char(5),`t159` char(5),`t160` char(5), `t161` char(5),`t162` char(5),`t163` char(5),`t164` char(5),`t165` char(5),`t166` char(5),`t167` char(5),`t168` char(5),`t169` char(5),`t170` char(5), `t171` char(5),`t172` char(5),`t173` char(5),`t174` char(5),`t175` char(5),`t176` char(5),`t177` char(5),`t178` char(5),`t179` char(5),`t180` char(5), `t181` char(5),`t182` char(5),`t183` char(5),`t184` char(5),`t185` char(5),`t186` char(5),`t187` char(5),`t188` char(5),`t189` char(5),`t190` char(5), `t191` char(5),`t192` char(5),`t193` char(5),`t194` char(5),`t195` char(5),`t196` char(5),`t197` char(5),`t198` char(5),`t199` char(5),`t200` char(5), `t201` char(5),`t202` char(5),`t203` char(5),`t204` char(5),`t205` char(5),`t206` char(5),`t207` char(5),`t208` char(5),`t209` char(5),`t210` char(5), `t211` char(5),`t212` char(5),`t213` char(5),`t214` char(5),`t215` char(5),`t216` char(5),`t217` char(5),`t218` char(5),`t219` char(5),`t220` char(5), `t221` char(5),`t222` char(5),`t223` char(5),`t224` char(5),`t225` char(5),`t226` char(5),`t227` char(5),`t228` char(5),`t229` char(5),`t230` char(5), `t231` char(5),`t232` char(5),`t233` char(5),`t234` char(5),`t235` char(5),`t236` char(5),`t237` char(5),`t238` char(5),`t239` char(5),`t240` char(5), `t241` char(25),`t242` char(5),`t243` char(5),`t244` char(5),`t245` char(5),`t246` char(5),`t247` char(5),`t248` char(5),`t249` char(5),`t250` char(5), `t251` char(5),`t252` char(5),`t253` char(5),`t254` char(5),`t255` char(5),`t256` char(5) ); DROP TABLE IF EXISTS `test_table`; INSERT INTO `test_table` (document_id, t21, t141, t241) VALUES ( 1, 'field_one', 'field_one field_one', 'field_one field_two' ), ( 2, 'field_three', 'field_two', 'field_three' ), ( 3, 'field_one', 'field_one', 'field_one'); sphinx-2.2.11-release/test/test_183/model.bin0000644000175000017500000004444412743402012020214 0ustar alexeyalexeya:1:{i:0;a:87:{i:0;a:3:{s:8:"sphinxql";s:45:"select * from tests where match ('field_one')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"3";}}}i:1;a:3:{s:8:"sphinxql";s:44:"select * from test where match ('field_one')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"3";}}}i:2;a:3:{s:8:"sphinxql";s:45:"select * from tests where match ('field_two')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}}}i:3;a:3:{s:8:"sphinxql";s:44:"select * from test where match ('field_two')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}}}i:4;a:3:{s:8:"sphinxql";s:50:"select * from tests where match ('@t21 field_one')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"3";}}}i:5;a:3:{s:8:"sphinxql";s:51:"select * from tests where match ('@t141 field_one')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"3";}}}i:6;a:3:{s:8:"sphinxql";s:49:"select * from test where match ('@t21 field_one')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"3";}}}i:7;a:2:{s:8:"sphinxql";s:50:"select * from tests where match ('@t21 field_two')";s:10:"total_rows";i:0;}i:8;a:2:{s:8:"sphinxql";s:49:"select * from test where match ('@t21 field_two')";s:10:"total_rows";i:0;}i:9;a:2:{s:8:"sphinxql";s:53:"select * from tests where match ('@t141 field_three')";s:10:"total_rows";i:0;}i:10;a:2:{s:8:"sphinxql";s:52:"select * from test where match ('@t141 field_three')";s:10:"total_rows";i:0;}i:11;a:3:{s:8:"sphinxql";s:51:"select * from tests where match ('@t141 field_two')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"2";}}}i:12;a:3:{s:8:"sphinxql";s:50:"select * from test where match ('@t141 field_two')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"2";}}}i:13;a:3:{s:8:"sphinxql";s:51:"select * from tests where match ('@t241 field_two')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}}i:14;a:3:{s:8:"sphinxql";s:50:"select * from test where match ('@t241 field_two')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}}i:15;a:3:{s:8:"sphinxql";s:55:"select * from tests where match ('field_one field_two')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}}i:16;a:3:{s:8:"sphinxql";s:54:"select * from test where match ('field_one field_two')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}}i:17;a:2:{s:8:"sphinxql";s:61:"select * from tests where match ('field_one @t141 field_two')";s:10:"total_rows";i:0;}i:18;a:2:{s:8:"sphinxql";s:60:"select * from test where match ('field_one @t141 field_two')";s:10:"total_rows";i:0;}i:19;a:2:{s:8:"sphinxql";s:60:"select * from tests where match ('field_one @t21 field_two')";s:10:"total_rows";i:0;}i:20;a:2:{s:8:"sphinxql";s:59:"select * from test where match ('field_one @t21 field_two')";s:10:"total_rows";i:0;}i:21;a:2:{s:8:"sphinxql";s:640:"insert into rt40 (id,attr1, field1,field2,field3,field4,field5,field6,field7,field8,field9,field10, field11,field12,field13,field14,field15,field16,field17,field18,field19,field20, field21,field22,field23,field24,field25,field26,field27,field28,field29,field30, field31,field32,field33,field34,field35,field36,field37,field38,field39,field40) values (123,111,'kw1','kw2','kw3','kw4','kw5','kw6','kw7','kw8','kw9','kw10', 'kw11','kw12','kw13','kw14','kw15','kw16','kw17','kw18','kw19','kw20', 'kw21','kw22','kw23','kw24','kw25','kw26','kw27','kw28','kw29','kw30', 'kw31','kw32','kw33','kw34','kw35','kw36','kw37','kw38','kw39','kw40')";s:14:"total_affected";i:1;}i:22;a:3:{s:8:"sphinxql";s:51:"select *, 1 as testid from rt40 where match('kw37')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:3:"123";s:5:"attr1";s:3:"111";s:6:"testid";s:1:"1";}}}i:23;a:2:{s:8:"sphinxql";s:59:"select *, 2 as testid from rt40 where match('@field5 kw37')";s:10:"total_rows";i:0;}i:24;a:3:{s:8:"sphinxql";s:60:"select *, 3 as testid from rt40 where match('@field37 kw37')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:3:"123";s:5:"attr1";s:3:"111";s:6:"testid";s:1:"3";}}}i:25;a:2:{s:8:"sphinxql";s:458:"insert into rt28 (id,attr1, field1,field2,field3,field4,field5,field6,field7,field8,field9,field10, field11,field12,field13,field14,field15,field16,field17,field18,field19,field20, field21,field22,field23,field24,field25,field26,field27,field28) values (124,222, 'kw1','kw2','kw3','kw4','kw5','kw6','kw7','kw8','kw9','kw10', 'kw11','kw12','kw13','kw14','kw15','kw16','kw17','kw18','kw19','kw20', 'kw21','kw22','kw23','kw24','kw25','kw26','kw27','kw28')";s:14:"total_affected";i:1;}i:26;a:3:{s:8:"sphinxql";s:51:"select *, 1 as testid from rt28 where match('kw17')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:3:"124";s:5:"attr1";s:3:"222";s:6:"testid";s:1:"1";}}}i:27;a:3:{s:8:"sphinxql";s:60:"select *, 2 as testid from rt28 where match('@field17 kw17')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:3:"124";s:5:"attr1";s:3:"222";s:6:"testid";s:1:"2";}}}i:28;a:2:{s:8:"sphinxql";s:59:"select *, 3 as testid from rt28 where match('@field3 kw17')";s:10:"total_rows";i:0;}i:29;a:2:{s:8:"sphinxql";s:55:"insert into rt40 (id,field37) values (125,'kw37 copy2')";s:14:"total_affected";i:1;}i:30;a:3:{s:8:"sphinxql";s:38:"select * from rt40 where match('kw37')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:3:"123";s:5:"attr1";s:3:"111";}i:1;a:2:{s:2:"id";s:3:"125";s:5:"attr1";s:1:"0";}}}i:31;a:3:{s:8:"sphinxql";s:47:"select * from rt40 where match('@field37 kw37')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:3:"123";s:5:"attr1";s:3:"111";}i:1;a:2:{s:2:"id";s:3:"125";s:5:"attr1";s:1:"0";}}}i:32;a:2:{s:8:"sphinxql";s:56:"insert into rt40 (id,field37) values (126,'kw37 copy3 ')";s:14:"total_affected";i:1;}i:33;a:3:{s:8:"sphinxql";s:38:"select * from rt40 where match('kw37')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"123";s:5:"attr1";s:3:"111";}i:1;a:2:{s:2:"id";s:3:"125";s:5:"attr1";s:1:"0";}i:2;a:2:{s:2:"id";s:3:"126";s:5:"attr1";s:1:"0";}}}i:34;a:3:{s:8:"sphinxql";s:47:"select * from rt40 where match('@field37 kw37')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"123";s:5:"attr1";s:3:"111";}i:1;a:2:{s:2:"id";s:3:"125";s:5:"attr1";s:1:"0";}i:2;a:2:{s:2:"id";s:3:"126";s:5:"attr1";s:1:"0";}}}i:35;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (200, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:36;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (201, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:37;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (202, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:38;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (203, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:39;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (204, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:40;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (205, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:41;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (206, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:42;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (207, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:43;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (208, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:44;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (209, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:45;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (210, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:46;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (211, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:47;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (212, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:48;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (213, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:49;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (214, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:50;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (215, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:51;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (216, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:52;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (217, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:53;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (218, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:54;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (219, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:55;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (220, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:56;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (221, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:57;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (222, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:58;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (223, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:59;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (224, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:60;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (225, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:61;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (226, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:62;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (227, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:63;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (228, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:64;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (229, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:65;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (230, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:66;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (231, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:67;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (232, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:68;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (233, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:69;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (234, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:70;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (235, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:71;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (236, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:72;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (237, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:73;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (238, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:74;a:2:{s:8:"sphinxql";s:91:"insert into rt40 (id,field39) values (239, 'badger badger badger badger mushroom mushroom')";s:14:"total_affected";i:1;}i:75;a:3:{s:8:"sphinxql";s:38:"select * from rt40 where match('kw37')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"123";s:5:"attr1";s:3:"111";}i:1;a:2:{s:2:"id";s:3:"125";s:5:"attr1";s:1:"0";}i:2;a:2:{s:2:"id";s:3:"126";s:5:"attr1";s:1:"0";}}}i:76;a:3:{s:8:"sphinxql";s:47:"select * from rt40 where match('@field37 kw37')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"123";s:5:"attr1";s:3:"111";}i:1;a:2:{s:2:"id";s:3:"125";s:5:"attr1";s:1:"0";}i:2;a:2:{s:2:"id";s:3:"126";s:5:"attr1";s:1:"0";}}}i:77;a:3:{s:8:"sphinxql";s:58:"select * from rt40 where match('@field39 badger') limit 40";s:10:"total_rows";i:40;s:4:"rows";a:40:{i:0;a:2:{s:2:"id";s:3:"200";s:5:"attr1";s:1:"0";}i:1;a:2:{s:2:"id";s:3:"201";s:5:"attr1";s:1:"0";}i:2;a:2:{s:2:"id";s:3:"202";s:5:"attr1";s:1:"0";}i:3;a:2:{s:2:"id";s:3:"203";s:5:"attr1";s:1:"0";}i:4;a:2:{s:2:"id";s:3:"204";s:5:"attr1";s:1:"0";}i:5;a:2:{s:2:"id";s:3:"205";s:5:"attr1";s:1:"0";}i:6;a:2:{s:2:"id";s:3:"206";s:5:"attr1";s:1:"0";}i:7;a:2:{s:2:"id";s:3:"207";s:5:"attr1";s:1:"0";}i:8;a:2:{s:2:"id";s:3:"208";s:5:"attr1";s:1:"0";}i:9;a:2:{s:2:"id";s:3:"209";s:5:"attr1";s:1:"0";}i:10;a:2:{s:2:"id";s:3:"210";s:5:"attr1";s:1:"0";}i:11;a:2:{s:2:"id";s:3:"211";s:5:"attr1";s:1:"0";}i:12;a:2:{s:2:"id";s:3:"212";s:5:"attr1";s:1:"0";}i:13;a:2:{s:2:"id";s:3:"213";s:5:"attr1";s:1:"0";}i:14;a:2:{s:2:"id";s:3:"214";s:5:"attr1";s:1:"0";}i:15;a:2:{s:2:"id";s:3:"215";s:5:"attr1";s:1:"0";}i:16;a:2:{s:2:"id";s:3:"216";s:5:"attr1";s:1:"0";}i:17;a:2:{s:2:"id";s:3:"217";s:5:"attr1";s:1:"0";}i:18;a:2:{s:2:"id";s:3:"218";s:5:"attr1";s:1:"0";}i:19;a:2:{s:2:"id";s:3:"219";s:5:"attr1";s:1:"0";}i:20;a:2:{s:2:"id";s:3:"220";s:5:"attr1";s:1:"0";}i:21;a:2:{s:2:"id";s:3:"221";s:5:"attr1";s:1:"0";}i:22;a:2:{s:2:"id";s:3:"222";s:5:"attr1";s:1:"0";}i:23;a:2:{s:2:"id";s:3:"223";s:5:"attr1";s:1:"0";}i:24;a:2:{s:2:"id";s:3:"224";s:5:"attr1";s:1:"0";}i:25;a:2:{s:2:"id";s:3:"225";s:5:"attr1";s:1:"0";}i:26;a:2:{s:2:"id";s:3:"226";s:5:"attr1";s:1:"0";}i:27;a:2:{s:2:"id";s:3:"227";s:5:"attr1";s:1:"0";}i:28;a:2:{s:2:"id";s:3:"228";s:5:"attr1";s:1:"0";}i:29;a:2:{s:2:"id";s:3:"229";s:5:"attr1";s:1:"0";}i:30;a:2:{s:2:"id";s:3:"230";s:5:"attr1";s:1:"0";}i:31;a:2:{s:2:"id";s:3:"231";s:5:"attr1";s:1:"0";}i:32;a:2:{s:2:"id";s:3:"232";s:5:"attr1";s:1:"0";}i:33;a:2:{s:2:"id";s:3:"233";s:5:"attr1";s:1:"0";}i:34;a:2:{s:2:"id";s:3:"234";s:5:"attr1";s:1:"0";}i:35;a:2:{s:2:"id";s:3:"235";s:5:"attr1";s:1:"0";}i:36;a:2:{s:2:"id";s:3:"236";s:5:"attr1";s:1:"0";}i:37;a:2:{s:2:"id";s:3:"237";s:5:"attr1";s:1:"0";}i:38;a:2:{s:2:"id";s:3:"238";s:5:"attr1";s:1:"0";}i:39;a:2:{s:2:"id";s:3:"239";s:5:"attr1";s:1:"0";}}}i:78;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:2:"40";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:2:"40";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"badger";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:2:"40";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:3:"160";}}}i:79;a:3:{s:8:"sphinxql";s:53:"select id, idd265 from many_attr order by idd265 desc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:2:{s:2:"id";s:3:"105";s:6:"idd265";s:4:"1005";}i:1;a:2:{s:2:"id";s:3:"104";s:6:"idd265";s:4:"1004";}i:2;a:2:{s:2:"id";s:3:"103";s:6:"idd265";s:4:"1003";}i:3;a:2:{s:2:"id";s:3:"102";s:6:"idd265";s:4:"1002";}i:4;a:2:{s:2:"id";s:3:"101";s:6:"idd265";s:4:"1001";}}}i:80;a:3:{s:8:"sphinxql";s:50:"select id, idd265 i from many_attr order by i desc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:2:{s:2:"id";s:3:"105";s:1:"i";s:4:"1005";}i:1;a:2:{s:2:"id";s:3:"104";s:1:"i";s:4:"1004";}i:2;a:2:{s:2:"id";s:3:"103";s:1:"i";s:4:"1003";}i:3;a:2:{s:2:"id";s:3:"102";s:1:"i";s:4:"1002";}i:4;a:2:{s:2:"id";s:3:"101";s:1:"i";s:4:"1001";}}}i:81;a:3:{s:8:"sphinxql";s:57:"select id, idd265 + 1 as i from many_attr order by i desc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:2:{s:2:"id";s:3:"105";s:1:"i";s:4:"1006";}i:1;a:2:{s:2:"id";s:3:"104";s:1:"i";s:4:"1005";}i:2;a:2:{s:2:"id";s:3:"103";s:1:"i";s:4:"1004";}i:3;a:2:{s:2:"id";s:3:"102";s:1:"i";s:4:"1003";}i:4;a:2:{s:2:"id";s:3:"101";s:1:"i";s:4:"1002";}}}i:82;a:3:{s:8:"sphinxql";s:77:"select id, idd265 + 1 as i, i as i1, i1 as i2 from many_attr order by i2 desc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:4:{s:2:"id";s:3:"105";s:1:"i";s:4:"1006";s:2:"i1";s:4:"1006";s:2:"i2";s:4:"1006";}i:1;a:4:{s:2:"id";s:3:"104";s:1:"i";s:4:"1005";s:2:"i1";s:4:"1005";s:2:"i2";s:4:"1005";}i:2;a:4:{s:2:"id";s:3:"103";s:1:"i";s:4:"1004";s:2:"i1";s:4:"1004";s:2:"i2";s:4:"1004";}i:3;a:4:{s:2:"id";s:3:"102";s:1:"i";s:4:"1003";s:2:"i1";s:4:"1003";s:2:"i2";s:4:"1003";}i:4;a:4:{s:2:"id";s:3:"101";s:1:"i";s:4:"1002";s:2:"i1";s:4:"1002";s:2:"i2";s:4:"1002";}}}i:83;a:3:{s:8:"sphinxql";s:48:"select id, idd265 from many_attr group by idd265";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:2:{s:2:"id";s:3:"101";s:6:"idd265";s:4:"1001";}i:1;a:2:{s:2:"id";s:3:"102";s:6:"idd265";s:4:"1002";}i:2;a:2:{s:2:"id";s:3:"103";s:6:"idd265";s:4:"1003";}i:3;a:2:{s:2:"id";s:3:"104";s:6:"idd265";s:4:"1004";}i:4;a:2:{s:2:"id";s:3:"105";s:6:"idd265";s:4:"1005";}}}i:84;a:3:{s:8:"sphinxql";s:48:"select id, idd265 as i from many_attr group by i";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:2:{s:2:"id";s:3:"101";s:1:"i";s:4:"1001";}i:1;a:2:{s:2:"id";s:3:"102";s:1:"i";s:4:"1002";}i:2;a:2:{s:2:"id";s:3:"103";s:1:"i";s:4:"1003";}i:3;a:2:{s:2:"id";s:3:"104";s:1:"i";s:4:"1004";}i:4;a:2:{s:2:"id";s:3:"105";s:1:"i";s:4:"1005";}}}i:85;a:3:{s:8:"sphinxql";s:70:"select id, ( ( idd265 - 1000 ) mod 3 ) as i from many_attr group by i";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"101";s:1:"i";s:1:"1";}i:1;a:2:{s:2:"id";s:3:"102";s:1:"i";s:1:"2";}i:2;a:2:{s:2:"id";s:3:"103";s:1:"i";s:1:"0";}}}i:86;a:3:{s:8:"sphinxql";s:90:"select id, ( ( idd265 - 1000 ) mod 3 ) as i, i as i1, i1 as i2 from many_attr group by i2";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:3:"101";s:1:"i";s:1:"1";s:2:"i1";s:1:"1";s:2:"i2";s:1:"1";}i:1;a:4:{s:2:"id";s:3:"102";s:1:"i";s:1:"2";s:2:"i1";s:1:"2";s:2:"i2";s:1:"2";}i:2;a:4:{s:2:"id";s:3:"103";s:1:"i";s:1:"0";s:2:"i1";s:1:"0";s:2:"i2";s:1:"0";}}}}}sphinx-2.2.11-release/test/test_183/data_embedded.xml0000644000175000017500000003744212743402012021666 0ustar alexeyalexey test1001 test1002 test1003 test1004 test1005 sphinx-2.2.11-release/test/test_182/0000755000175000017500000000000012743402012016407 5ustar alexeyalexeysphinx-2.2.11-release/test/test_182/test.xml0000644000175000017500000000625312743402012020116 0ustar alexeyalexey attributes update vs workers vs API and SphinxQL indexer { mem_limit = 16M } searchd { attr_flush_period = 10000 workers = threads workers = prefork workers = fork } source src { type = mysql sql_query = SELECT id, text, 1 as gid, mva1 FROM test_table sql_attr_uint = gid sql_attr_multi = uint mva1 from field mva1 sql_attr_multi = bigint mva1 from field mva1 } index idx { source = src path = /idx docinfo = extern } GetLastError()); global $sd_address, $sd_sphinxql_port; $sockStr = "$sd_address:$sd_sphinxql_port"; if ($sd_address == "localhost") $sockStr = "127.0.0.1:$sd_sphinxql_port"; $sock = @mysql_connect ($sockStr,"","", true ); if ( $sock === false ) { $results[] = "error: can not connect to searchd: " . @mysql_errno ( $sock ) . " : " . @mysql_error ( $sock ); return; } $res = @mysql_query ( "select * from idx" ); while ($row = @mysql_fetch_array($res, MYSQL_ASSOC)) { $line = ""; foreach ($row as $key => $value) $line .= $value . "; "; $results[] = $line; } return $results; '); global $sd_address, $sd_sphinxql_port; $sockStr = "$sd_address:$sd_sphinxql_port"; if ($sd_address == "localhost") $sockStr = "127.0.0.1:$sd_sphinxql_port"; $sock = @mysql_connect ($sockStr,'','', true ); if ( $sock === false ) { $results[] = "error: can't connect to searchd: " . @mysql_errno ( $sock ) . " : " . @mysql_error ( $sock ); return; } @mysql_query ( 'update idx set mva1=(3,2, 1, 2), mva1=(1, 2) where id=1' ); @mysql_close($sock); $results = array_merge ( $results, $restartD ( $client ) ); $up = $client->UpdateAttributes ( "idx", array("mva1"), array(1=>array(array(2,3,4)), 3=>array(array(6,7,8))),true); if ( $up >= 0 ) $results[] = sprintf("up.ok=%d", $up); else $results[] = sprintf("up.err=%s", $client->GetLastError()); $results = array_merge ( $results, $restartD ( $client ) ); // final fixup; we don't want to compare times for ( $i=0; $i CREATE TABLE `test_table` ( `id` int(11) DEFAULT NULL, `text` varchar (255) NOT NULL, `mva1` varchar(255) NOT NULL ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` (`id`, `text`, `mva1`) VALUES (1, 'test1', '1001'), (2, 'test2', '1002 1023 4456'), (3, 'test3', '1003 1008 1010'), (4, 'test4', '1004 1005 1006'); sphinx-2.2.11-release/test/test_182/model.bin0000644000175000017500000000403412743402012020202 0ustar alexeyalexeya:6:{i:0;a:1:{i:0;a:13:{i:0;i:0;i:1;s:10:"started=ok";i:2;s:11:"1; 1; 1,2; ";i:3;s:22:"2; 1; 1002,1023,4456; ";i:4;s:22:"3; 1; 1003,1008,1010; ";i:5;s:22:"4; 1; 1004,1005,1006; ";i:6;s:7:"up.ok=2";i:7;i:0;i:8;s:10:"started=ok";i:9;s:13:"1; 1; 2,3,4; ";i:10;s:22:"2; 1; 1002,1023,4456; ";i:11;s:13:"3; 1; 6,7,8; ";i:12;s:22:"4; 1; 1004,1005,1006; ";}}i:1;a:1:{i:0;a:13:{i:0;i:0;i:1;s:10:"started=ok";i:2;s:11:"1; 1; 1,2; ";i:3;s:22:"2; 1; 1002,1023,4456; ";i:4;s:22:"3; 1; 1003,1008,1010; ";i:5;s:22:"4; 1; 1004,1005,1006; ";i:6;s:7:"up.ok=2";i:7;i:0;i:8;s:10:"started=ok";i:9;s:13:"1; 1; 2,3,4; ";i:10;s:22:"2; 1; 1002,1023,4456; ";i:11;s:13:"3; 1; 6,7,8; ";i:12;s:22:"4; 1; 1004,1005,1006; ";}}i:2;a:1:{i:0;a:13:{i:0;i:0;i:1;s:10:"started=ok";i:2;s:11:"1; 1; 1,2; ";i:3;s:22:"2; 1; 1002,1023,4456; ";i:4;s:22:"3; 1; 1003,1008,1010; ";i:5;s:22:"4; 1; 1004,1005,1006; ";i:6;s:7:"up.ok=2";i:7;i:0;i:8;s:10:"started=ok";i:9;s:13:"1; 1; 2,3,4; ";i:10;s:22:"2; 1; 1002,1023,4456; ";i:11;s:13:"3; 1; 6,7,8; ";i:12;s:22:"4; 1; 1004,1005,1006; ";}}i:3;a:1:{i:0;a:13:{i:0;i:0;i:1;s:10:"started=ok";i:2;s:11:"1; 1; 1,2; ";i:3;s:22:"2; 1; 1002,1023,4456; ";i:4;s:22:"3; 1; 1003,1008,1010; ";i:5;s:22:"4; 1; 1004,1005,1006; ";i:6;s:7:"up.ok=2";i:7;i:0;i:8;s:10:"started=ok";i:9;s:13:"1; 1; 2,3,4; ";i:10;s:22:"2; 1; 1002,1023,4456; ";i:11;s:13:"3; 1; 6,7,8; ";i:12;s:22:"4; 1; 1004,1005,1006; ";}}i:4;a:1:{i:0;a:13:{i:0;i:0;i:1;s:10:"started=ok";i:2;s:11:"1; 1; 1,2; ";i:3;s:22:"2; 1; 1002,1023,4456; ";i:4;s:22:"3; 1; 1003,1008,1010; ";i:5;s:22:"4; 1; 1004,1005,1006; ";i:6;s:7:"up.ok=2";i:7;i:0;i:8;s:10:"started=ok";i:9;s:13:"1; 1; 2,3,4; ";i:10;s:22:"2; 1; 1002,1023,4456; ";i:11;s:13:"3; 1; 6,7,8; ";i:12;s:22:"4; 1; 1004,1005,1006; ";}}i:5;a:1:{i:0;a:13:{i:0;i:0;i:1;s:10:"started=ok";i:2;s:11:"1; 1; 1,2; ";i:3;s:22:"2; 1; 1002,1023,4456; ";i:4;s:22:"3; 1; 1003,1008,1010; ";i:5;s:22:"4; 1; 1004,1005,1006; ";i:6;s:7:"up.ok=2";i:7;i:0;i:8;s:10:"started=ok";i:9;s:13:"1; 1; 2,3,4; ";i:10;s:22:"2; 1; 1002,1023,4456; ";i:11;s:13:"3; 1; 6,7,8; ";i:12;s:22:"4; 1; 1004,1005,1006; ";}}}sphinx-2.2.11-release/test/test_181/0000755000175000017500000000000012743402012016406 5ustar alexeyalexeysphinx-2.2.11-release/test/test_181/test.xml0000644000175000017500000000457412743402012020121 0ustar alexeyalexey index weights + sort by expression test (fullscan too) indexer { mem_limit = 32M } searchd { workers = threads } source test1 { type = mysql sql_query = select * from test_table where id%2=0 sql_attr_uint = attr } index test1 { source = test1 path = /test1 } source test2 { type = mysql sql_query = select * from test_table where id%2=1 } index test2 { source = test2 path = /test2 } index test3 { type = rt path = /test3 rt_field = title rt_attr_uint = dummy } index test4 { type = rt path = /test4 rt_field = title rt_attr_uint = dummy } source test_rs { type = mysql sql_query = select * from test_table sql_attr_uint = attr } index test_rs { source = test_rs path = /test_rs docinfo = extern } create table test_table ( id int not null, title varchar(255) not null, attr int not null ); drop table if exists test_table; insert into test_table values ( 1, 'asdf asdf asdf', 11 ); insert into test_table values ( 2, 'asdf', 22 ); asdf something insert into test3 ( id, title ) values ( 1, 'asdf asdf asdf' ) insert into test4 ( id, title ) values ( 2, 'asdf' ) select id, weight() as skey from test3, test4 where match('asdf') option ranker=wordcount, index_weights=(test3=1, test4=10) select id from test3 option index_weights=(test3=10) select * from test_rs option reverse_scan=1 select * from test_rs where attr=22 option reverse_scan=1 select * from test_rs option reverse_scan=1, cutoff=1 select * from test_rs option cutoff=1 sphinx-2.2.11-release/test/test_181/model.bin0000644000175000017500000000562612743402012020211 0ustar alexeyalexeya:1:{i:0;a:12:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:5:"@expr";i:5;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:2:"10";s:5:"attrs";a:1:{s:5:"@expr";d:10;}}i:1;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:1:{s:5:"@expr";d:3;}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:1:{s:4:"asdf";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"asdf";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:4:"attr";i:1;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:2:"11";s:5:"attrs";a:1:{s:4:"attr";s:2:"22";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:4:"attr";i:1;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:2:"11";s:5:"attrs";a:1:{s:4:"attr";s:2:"22";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:4:"attr";i:1;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:2:"11";s:5:"attrs";a:1:{s:4:"attr";s:2:"22";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"something";}i:4;a:2:{s:8:"sphinxql";s:62:"insert into test3 ( id, title ) values ( 1, 'asdf asdf asdf' )";s:14:"total_affected";i:1;}i:5;a:2:{s:8:"sphinxql";s:52:"insert into test4 ( id, title ) values ( 2, 'asdf' )";s:14:"total_affected";i:1;}i:6;a:3:{s:8:"sphinxql";s:124:"select id, weight() as skey from test3, test4 where match('asdf') option ranker=wordcount, index_weights=(test3=1, test4=10)";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"2";s:4:"skey";s:2:"10";}i:1;a:2:{s:2:"id";s:1:"1";s:4:"skey";s:1:"3";}}}i:7;a:3:{s:8:"sphinxql";s:52:"select id from test3 option index_weights=(test3=10)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}}i:8;a:3:{s:8:"sphinxql";s:43:"select * from test_rs option reverse_scan=1";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:4:"attr";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:4:"attr";s:2:"22";}}}i:9;a:3:{s:8:"sphinxql";s:57:"select * from test_rs where attr=22 option reverse_scan=1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:4:"attr";s:2:"22";}}}i:10;a:3:{s:8:"sphinxql";s:53:"select * from test_rs option reverse_scan=1, cutoff=1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:4:"attr";s:2:"22";}}}i:11;a:3:{s:8:"sphinxql";s:37:"select * from test_rs option cutoff=1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:4:"attr";s:2:"11";}}}}}sphinx-2.2.11-release/test/test_180/0000755000175000017500000000000012743402012016405 5ustar alexeyalexeysphinx-2.2.11-release/test/test_180/test.xml0000644000175000017500000000633112743402012020111 0ustar alexeyalexey rt MVA searchd { workers = threads } index rt1 { type = rt docinfo = extern path = /rt1 rt_attr_uint = idd rt_attr_string = str1 rt_attr_multi = mva1 rt_attr_multi = mva2 rt_field = body } insert into rt1 (id, idd, str1, mva1, body) values ( 1, 1, '', ( 100, 10, 1), 'the' ) insert into rt1 (id, idd, str1, mva2, body) values ( 2, 2, '', ( 11, 13, 12), 'the' ) select * from rt1 where mva1>12 select * from rt1 where match ('the') and mva1>12 select * from rt1 where mva1=10 select * from rt1 where match ('the') and mva1=10 select * from rt1 where mva1!=100 select * from rt1 where match ('the') and mva1!=100 insert into rt1 (id, idd, str1, mva1, mva2, body) values ( 3, 3, '', ( 200, 201, 210), (300, 301, 310), 'the' ) select * from rt1 order by id asc select * from rt1 where match ('the') order by id asc select * from rt1 order by id desc select * from rt1 where match ('the') order by id desc select * from rt1 group by mva1 within group order by id desc select * from rt1 where match ('the') group by mva1 within group order by id desc insert into rt1 (id, idd, str1, mva1, mva2, body) values ( 4, 4, '', ( 200, 210), (100, 101, 102), 'the' ) select *, count (*) as c from rt1 group by mva1 within group order by id desc select *, count (*) as c from rt1 where match ('the') group by mva1 within group order by id desc select *, count (distinct mva2) as c from rt1 group by mva1 within group order by id desc select *, count (*) as c from rt1 where match ('the') group by mva1 within group order by id desc select *, count (distinct mva1) as c from rt1 group by mva1 within group order by id desc select *, count (distinct mva2) as c from rt1 where match ('the') group by mva1 within group order by id desc select mva1 as somemva from rt1 insert into rt1 (id, idd, str1, mva1, mva2, body) values ( 10, 10, '', ( 210, 211, 220), (310, 311, 340), 'the' ), ( 5, 5, '', ( 220, 221, 230), (320, 321, 350), 'the' ), ( 6, 6, '', ( 230, 231, 240), (330, 331, 360), 'the' ), ( 7, 7, '', ( 240, 241, 244), (340, 341, 370), 'the' ), ( 8, 8, '', ( 250, 251, 254), (350, 351, 380), 'the' ), ( 9, 9, '', ( 260, 261, 264), (360, 361, 360), 'the' ) select *, count (distinct mva1) as c from rt1 group by mva1 within group order by id asc option max_matches=2 update rt1 set nonexistent=1.1, mva1=(210,211,220) where id=10 option ignore_nonexistent_columns=1 sphinx-2.2.11-release/test/test_180/model.bin0000644000175000017500000003017012743402012020200 0ustar alexeyalexeya:1:{i:0;a:26:{i:0;a:2:{s:8:"sphinxql";s:85:"insert into rt1 (id, idd, str1, mva1, body) values ( 1, 1, '', ( 100, 10, 1), 'the' )";s:14:"total_affected";i:1;}i:1;a:2:{s:8:"sphinxql";s:85:"insert into rt1 (id, idd, str1, mva2, body) values ( 2, 2, '', ( 11, 13, 12), 'the' )";s:14:"total_affected";i:1;}i:2;a:3:{s:8:"sphinxql";s:31:"select * from rt1 where mva1>12";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";}}}i:3;a:3:{s:8:"sphinxql";s:50:"select * from rt1 where match ('the') and mva1>12";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";}}}i:4;a:3:{s:8:"sphinxql";s:31:"select * from rt1 where mva1=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";}}}i:5;a:3:{s:8:"sphinxql";s:50:"select * from rt1 where match ('the') and mva1=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";}}}i:6;a:3:{s:8:"sphinxql";s:33:"select * from rt1 where mva1!=100";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"2";s:3:"idd";s:1:"2";s:4:"str1";s:0:"";s:4:"mva1";s:0:"";s:4:"mva2";s:8:"11,12,13";}}}i:7;a:3:{s:8:"sphinxql";s:52:"select * from rt1 where match ('the') and mva1!=100";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:2:"id";s:1:"2";s:3:"idd";s:1:"2";s:4:"str1";s:0:"";s:4:"mva1";s:0:"";s:4:"mva2";s:8:"11,12,13";}}}i:8;a:2:{s:8:"sphinxql";s:112:"insert into rt1 (id, idd, str1, mva1, mva2, body) values ( 3, 3, '', ( 200, 201, 210), (300, 301, 310), 'the' )";s:14:"total_affected";i:1;}i:9;a:3:{s:8:"sphinxql";s:33:"select * from rt1 order by id asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";}i:1;a:5:{s:2:"id";s:1:"2";s:3:"idd";s:1:"2";s:4:"str1";s:0:"";s:4:"mva1";s:0:"";s:4:"mva2";s:8:"11,12,13";}i:2;a:5:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";s:4:"str1";s:0:"";s:4:"mva1";s:11:"200,201,210";s:4:"mva2";s:11:"300,301,310";}}}i:10;a:3:{s:8:"sphinxql";s:53:"select * from rt1 where match ('the') order by id asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";}i:1;a:5:{s:2:"id";s:1:"2";s:3:"idd";s:1:"2";s:4:"str1";s:0:"";s:4:"mva1";s:0:"";s:4:"mva2";s:8:"11,12,13";}i:2;a:5:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";s:4:"str1";s:0:"";s:4:"mva1";s:11:"200,201,210";s:4:"mva2";s:11:"300,301,310";}}}i:11;a:3:{s:8:"sphinxql";s:34:"select * from rt1 order by id desc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";s:4:"str1";s:0:"";s:4:"mva1";s:11:"200,201,210";s:4:"mva2";s:11:"300,301,310";}i:1;a:5:{s:2:"id";s:1:"2";s:3:"idd";s:1:"2";s:4:"str1";s:0:"";s:4:"mva1";s:0:"";s:4:"mva2";s:8:"11,12,13";}i:2;a:5:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";}}}i:12;a:3:{s:8:"sphinxql";s:54:"select * from rt1 where match ('the') order by id desc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:5:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";s:4:"str1";s:0:"";s:4:"mva1";s:11:"200,201,210";s:4:"mva2";s:11:"300,301,310";}i:1;a:5:{s:2:"id";s:1:"2";s:3:"idd";s:1:"2";s:4:"str1";s:0:"";s:4:"mva1";s:0:"";s:4:"mva2";s:8:"11,12,13";}i:2;a:5:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";}}}i:13;a:3:{s:8:"sphinxql";s:61:"select * from rt1 group by mva1 within group order by id desc";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";}i:1;a:5:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";}i:2;a:5:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";}i:3;a:5:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";s:4:"str1";s:0:"";s:4:"mva1";s:11:"200,201,210";s:4:"mva2";s:11:"300,301,310";}i:4;a:5:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";s:4:"str1";s:0:"";s:4:"mva1";s:11:"200,201,210";s:4:"mva2";s:11:"300,301,310";}i:5;a:5:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";s:4:"str1";s:0:"";s:4:"mva1";s:11:"200,201,210";s:4:"mva2";s:11:"300,301,310";}}}i:14;a:3:{s:8:"sphinxql";s:81:"select * from rt1 where match ('the') group by mva1 within group order by id desc";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";}i:1;a:5:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";}i:2;a:5:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";}i:3;a:5:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";s:4:"str1";s:0:"";s:4:"mva1";s:11:"200,201,210";s:4:"mva2";s:11:"300,301,310";}i:4;a:5:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";s:4:"str1";s:0:"";s:4:"mva1";s:11:"200,201,210";s:4:"mva2";s:11:"300,301,310";}i:5;a:5:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";s:4:"str1";s:0:"";s:4:"mva1";s:11:"200,201,210";s:4:"mva2";s:11:"300,301,310";}}}i:15;a:2:{s:8:"sphinxql";s:107:"insert into rt1 (id, idd, str1, mva1, mva2, body) values ( 4, 4, '', ( 200, 210), (100, 101, 102), 'the' )";s:14:"total_affected";i:1;}i:16;a:3:{s:8:"sphinxql";s:77:"select *, count (*) as c from rt1 group by mva1 within group order by id desc";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:6:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";s:1:"c";s:1:"1";}i:1;a:6:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";s:1:"c";s:1:"1";}i:2;a:6:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";s:1:"c";s:1:"1";}i:3;a:6:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";s:4:"str1";s:0:"";s:4:"mva1";s:11:"200,201,210";s:4:"mva2";s:11:"300,301,310";s:1:"c";s:1:"1";}i:4;a:6:{s:2:"id";s:1:"4";s:3:"idd";s:1:"4";s:4:"str1";s:0:"";s:4:"mva1";s:7:"200,210";s:4:"mva2";s:11:"100,101,102";s:1:"c";s:1:"2";}i:5;a:6:{s:2:"id";s:1:"4";s:3:"idd";s:1:"4";s:4:"str1";s:0:"";s:4:"mva1";s:7:"200,210";s:4:"mva2";s:11:"100,101,102";s:1:"c";s:1:"2";}}}i:17;a:3:{s:8:"sphinxql";s:97:"select *, count (*) as c from rt1 where match ('the') group by mva1 within group order by id desc";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:6:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";s:1:"c";s:1:"1";}i:1;a:6:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";s:1:"c";s:1:"1";}i:2;a:6:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";s:1:"c";s:1:"1";}i:3;a:6:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";s:4:"str1";s:0:"";s:4:"mva1";s:11:"200,201,210";s:4:"mva2";s:11:"300,301,310";s:1:"c";s:1:"1";}i:4;a:6:{s:2:"id";s:1:"4";s:3:"idd";s:1:"4";s:4:"str1";s:0:"";s:4:"mva1";s:7:"200,210";s:4:"mva2";s:11:"100,101,102";s:1:"c";s:1:"2";}i:5;a:6:{s:2:"id";s:1:"4";s:3:"idd";s:1:"4";s:4:"str1";s:0:"";s:4:"mva1";s:7:"200,210";s:4:"mva2";s:11:"100,101,102";s:1:"c";s:1:"2";}}}i:18;a:3:{s:8:"sphinxql";s:89:"select *, count (distinct mva2) as c from rt1 group by mva1 within group order by id desc";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:6:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";s:1:"c";s:1:"1";}i:1;a:6:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";s:1:"c";s:1:"1";}i:2;a:6:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";s:1:"c";s:1:"1";}i:3;a:6:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";s:4:"str1";s:0:"";s:4:"mva1";s:11:"200,201,210";s:4:"mva2";s:11:"300,301,310";s:1:"c";s:1:"1";}i:4;a:6:{s:2:"id";s:1:"4";s:3:"idd";s:1:"4";s:4:"str1";s:0:"";s:4:"mva1";s:7:"200,210";s:4:"mva2";s:11:"100,101,102";s:1:"c";s:1:"2";}i:5;a:6:{s:2:"id";s:1:"4";s:3:"idd";s:1:"4";s:4:"str1";s:0:"";s:4:"mva1";s:7:"200,210";s:4:"mva2";s:11:"100,101,102";s:1:"c";s:1:"2";}}}i:19;a:3:{s:8:"sphinxql";s:97:"select *, count (*) as c from rt1 where match ('the') group by mva1 within group order by id desc";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:6:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";s:1:"c";s:1:"1";}i:1;a:6:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";s:1:"c";s:1:"1";}i:2;a:6:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";s:1:"c";s:1:"1";}i:3;a:6:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";s:4:"str1";s:0:"";s:4:"mva1";s:11:"200,201,210";s:4:"mva2";s:11:"300,301,310";s:1:"c";s:1:"1";}i:4;a:6:{s:2:"id";s:1:"4";s:3:"idd";s:1:"4";s:4:"str1";s:0:"";s:4:"mva1";s:7:"200,210";s:4:"mva2";s:11:"100,101,102";s:1:"c";s:1:"2";}i:5;a:6:{s:2:"id";s:1:"4";s:3:"idd";s:1:"4";s:4:"str1";s:0:"";s:4:"mva1";s:7:"200,210";s:4:"mva2";s:11:"100,101,102";s:1:"c";s:1:"2";}}}i:20;a:3:{s:8:"sphinxql";s:89:"select *, count (distinct mva1) as c from rt1 group by mva1 within group order by id desc";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:6:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";s:1:"c";s:1:"1";}i:1;a:6:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";s:1:"c";s:1:"1";}i:2;a:6:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";s:1:"c";s:1:"1";}i:3;a:6:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";s:4:"str1";s:0:"";s:4:"mva1";s:11:"200,201,210";s:4:"mva2";s:11:"300,301,310";s:1:"c";s:1:"1";}i:4;a:6:{s:2:"id";s:1:"4";s:3:"idd";s:1:"4";s:4:"str1";s:0:"";s:4:"mva1";s:7:"200,210";s:4:"mva2";s:11:"100,101,102";s:1:"c";s:1:"1";}i:5;a:6:{s:2:"id";s:1:"4";s:3:"idd";s:1:"4";s:4:"str1";s:0:"";s:4:"mva1";s:7:"200,210";s:4:"mva2";s:11:"100,101,102";s:1:"c";s:1:"1";}}}i:21;a:3:{s:8:"sphinxql";s:109:"select *, count (distinct mva2) as c from rt1 where match ('the') group by mva1 within group order by id desc";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:6:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";s:1:"c";s:1:"1";}i:1;a:6:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";s:1:"c";s:1:"1";}i:2;a:6:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";s:1:"c";s:1:"1";}i:3;a:6:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";s:4:"str1";s:0:"";s:4:"mva1";s:11:"200,201,210";s:4:"mva2";s:11:"300,301,310";s:1:"c";s:1:"1";}i:4;a:6:{s:2:"id";s:1:"4";s:3:"idd";s:1:"4";s:4:"str1";s:0:"";s:4:"mva1";s:7:"200,210";s:4:"mva2";s:11:"100,101,102";s:1:"c";s:1:"2";}i:5;a:6:{s:2:"id";s:1:"4";s:3:"idd";s:1:"4";s:4:"str1";s:0:"";s:4:"mva1";s:7:"200,210";s:4:"mva2";s:11:"100,101,102";s:1:"c";s:1:"2";}}}i:22;a:3:{s:8:"sphinxql";s:31:"select mva1 as somemva from rt1";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:1:{s:7:"somemva";s:8:"1,10,100";}i:1;a:1:{s:7:"somemva";s:0:"";}i:2;a:1:{s:7:"somemva";s:11:"200,201,210";}i:3;a:1:{s:7:"somemva";s:7:"200,210";}}}i:23;a:2:{s:8:"sphinxql";s:404:"insert into rt1 (id, idd, str1, mva1, mva2, body) values ( 10, 10, '', ( 210, 211, 220), (310, 311, 340), 'the' ), ( 5, 5, '', ( 220, 221, 230), (320, 321, 350), 'the' ), ( 6, 6, '', ( 230, 231, 240), (330, 331, 360), 'the' ), ( 7, 7, '', ( 240, 241, 244), (340, 341, 370), 'the' ), ( 8, 8, '', ( 250, 251, 254), (350, 351, 380), 'the' ), ( 9, 9, '', ( 260, 261, 264), (360, 361, 360), 'the' )";s:14:"total_affected";i:6;}i:24;a:3:{s:8:"sphinxql";s:109:"select *, count (distinct mva1) as c from rt1 group by mva1 within group order by id asc option max_matches=2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:6:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";s:1:"c";s:1:"1";}i:1;a:6:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"str1";s:0:"";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:0:"";s:1:"c";s:1:"1";}}}i:25;a:2:{s:8:"sphinxql";s:99:"update rt1 set nonexistent=1.1, mva1=(210,211,220) where id=10 option ignore_nonexistent_columns=1";s:14:"total_affected";i:1;}}}sphinx-2.2.11-release/test/test_179/0000755000175000017500000000000012743402012016415 5ustar alexeyalexeysphinx-2.2.11-release/test/test_179/test.xml0000644000175000017500000000767412743402012020134 0ustar alexeyalexey Multi queries + (plain|rt|dist)indexes + group by indexer { mem_limit = 16M } searchd { workers = threads } source test1 { type = mysql sql_query = select * from test_table1 sql_attr_uint = gid } source test2 { type = mysql sql_query = select * from test_table2 sql_attr_uint = gid } index test_plain { source = test1 path = /test_plain } index test_plain_for_dist { source = test2 path = /test_plain_for_dist } index test_rt { type = rt path = data/test_rt rt_attr_uint = gid rt_field = title } index test_dist { type = distributed agent = :test_plain_for_dist } CREATE TABLE test_table1 ( id INTEGER PRIMARY KEY NOT NULL, gid INTEGER NOT NULL, title VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test_table1; INSERT INTO test_table1 VALUES ( 1, 1, 'word | 1' ); INSERT INTO test_table1 VALUES ( 2, 2, 'word | 2' ); INSERT INTO test_table1 VALUES ( 3, 2, 'word | 3' ); CREATE TABLE test_table2 ( id INTEGER PRIMARY KEY NOT NULL, gid INTEGER NOT NULL, title VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test_table2; INSERT INTO test_table2 VALUES ( 7, 1, 'word | 7' ); INSERT INTO test_table2 VALUES ( 8, 2, 'word | 8' ); INSERT INTO test_table2 VALUES ( 9, 2, 'word | 9' ); SetGroupBy ( "gid", SPH_GROUPBY_ATTR ); $client->AddQuery ( $query, $index1 ); $client->ResetGroupBy(); $client->AddQuery ( $query, $index2 ); $sphinxql = @mysql_connect ( sprintf ( "%s:%s", $sd_address, $sd_sphinxql_port ) ); @mysql_query ( "DELETE FROM test_rt" ); @mysql_query ( "INSERT INTO test_rt ( id, gid, title ) VALUES ( 4, 1, \'word | 4\' )" ); @mysql_query ( "INSERT INTO test_rt ( id, gid, title ) VALUES ( 5, 2, \'word | 5\' )" ); @mysql_query ( "INSERT INTO test_rt ( id, gid, title ) VALUES ( 6, 2, \'word | 6\' )" ); $res = $client->RunQueries(); $query_res = $res[0]; { $results[] = sprintf ( "query: \"%s\" index: %s", $query, $index1 ); foreach ( $query_res["matches"] as $match ) $results[] = sprintf ( "\tid: %d, weight: %d, gid: %d, @groupby: %d, @count: %d", $match["id"], $match["weight"], $match["attrs"]["gid"], $match["attrs"]["@groupby"], $match["attrs"]["@count"] ); } $query_res = $res[1]; { $results[] = sprintf ( "query: \"%s\" index: %s", $query, $index2 ); foreach ( $query_res["matches"] as $match ) $results[] = sprintf ( "\tid: %d, weight: %d, gid: %d", $match["id"], $match["weight"], $match["attrs"]["gid"] ); } $results[] = ""; } ' ); $client->SetArrayResult(true); global $sd_address, $sd_sphinxql_port; $run_subtest ( $client, "test_plain", "test_plain", $results, $sd_address, $sd_sphinxql_port ); $run_subtest ( $client, "test_rt", "test_rt", $results, $sd_address, $sd_sphinxql_port ); $run_subtest ( $client, "test_dist", "test_dist", $results, $sd_address, $sd_sphinxql_port ); $run_subtest ( $client, "test_plain", "test_rt", $results, $sd_address, $sd_sphinxql_port ); $run_subtest ( $client, "test_plain", "test_dist", $results, $sd_address, $sd_sphinxql_port ); $run_subtest ( $client, "test_rt", "test_dist", $results, $sd_address, $sd_sphinxql_port ); $run_subtest ( $client, "test_rt", "test_plain", $results, $sd_address, $sd_sphinxql_port ); $run_subtest ( $client, "test_dist", "test_plain", $results, $sd_address, $sd_sphinxql_port ); $run_subtest ( $client, "test_dist", "test_rt", $results, $sd_address, $sd_sphinxql_port ); ]]> sphinx-2.2.11-release/test/test_179/model.bin0000644000175000017500000000614212743402012020212 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:72:{i:0;s:31:"query: "word" index: test_plain";i:1;s:52:" id: 2, weight: 1319, gid: 2, @groupby: 2, @count: 2";i:2;s:52:" id: 1, weight: 1319, gid: 1, @groupby: 1, @count: 1";i:3;s:31:"query: "word" index: test_plain";i:4;s:28:" id: 1, weight: 1319, gid: 1";i:5;s:28:" id: 2, weight: 1319, gid: 2";i:6;s:28:" id: 3, weight: 1319, gid: 2";i:7;s:0:"";i:8;s:28:"query: "word" index: test_rt";i:9;s:52:" id: 5, weight: 1319, gid: 2, @groupby: 2, @count: 2";i:10;s:52:" id: 4, weight: 1319, gid: 1, @groupby: 1, @count: 1";i:11;s:28:"query: "word" index: test_rt";i:12;s:28:" id: 4, weight: 1319, gid: 1";i:13;s:28:" id: 5, weight: 1319, gid: 2";i:14;s:28:" id: 6, weight: 1319, gid: 2";i:15;s:0:"";i:16;s:30:"query: "word" index: test_dist";i:17;s:52:" id: 8, weight: 1319, gid: 2, @groupby: 2, @count: 2";i:18;s:52:" id: 7, weight: 1319, gid: 1, @groupby: 1, @count: 1";i:19;s:30:"query: "word" index: test_dist";i:20;s:28:" id: 7, weight: 1319, gid: 1";i:21;s:28:" id: 8, weight: 1319, gid: 2";i:22;s:28:" id: 9, weight: 1319, gid: 2";i:23;s:0:"";i:24;s:31:"query: "word" index: test_plain";i:25;s:52:" id: 2, weight: 1319, gid: 2, @groupby: 2, @count: 2";i:26;s:52:" id: 1, weight: 1319, gid: 1, @groupby: 1, @count: 1";i:27;s:28:"query: "word" index: test_rt";i:28;s:28:" id: 4, weight: 1319, gid: 1";i:29;s:28:" id: 5, weight: 1319, gid: 2";i:30;s:28:" id: 6, weight: 1319, gid: 2";i:31;s:0:"";i:32;s:31:"query: "word" index: test_plain";i:33;s:52:" id: 2, weight: 1319, gid: 2, @groupby: 2, @count: 2";i:34;s:52:" id: 1, weight: 1319, gid: 1, @groupby: 1, @count: 1";i:35;s:30:"query: "word" index: test_dist";i:36;s:28:" id: 7, weight: 1319, gid: 1";i:37;s:28:" id: 8, weight: 1319, gid: 2";i:38;s:28:" id: 9, weight: 1319, gid: 2";i:39;s:0:"";i:40;s:28:"query: "word" index: test_rt";i:41;s:52:" id: 5, weight: 1319, gid: 2, @groupby: 2, @count: 2";i:42;s:52:" id: 4, weight: 1319, gid: 1, @groupby: 1, @count: 1";i:43;s:30:"query: "word" index: test_dist";i:44;s:28:" id: 7, weight: 1319, gid: 1";i:45;s:28:" id: 8, weight: 1319, gid: 2";i:46;s:28:" id: 9, weight: 1319, gid: 2";i:47;s:0:"";i:48;s:28:"query: "word" index: test_rt";i:49;s:52:" id: 5, weight: 1319, gid: 2, @groupby: 2, @count: 2";i:50;s:52:" id: 4, weight: 1319, gid: 1, @groupby: 1, @count: 1";i:51;s:31:"query: "word" index: test_plain";i:52;s:28:" id: 1, weight: 1319, gid: 1";i:53;s:28:" id: 2, weight: 1319, gid: 2";i:54;s:28:" id: 3, weight: 1319, gid: 2";i:55;s:0:"";i:56;s:30:"query: "word" index: test_dist";i:57;s:52:" id: 8, weight: 1319, gid: 2, @groupby: 2, @count: 2";i:58;s:52:" id: 7, weight: 1319, gid: 1, @groupby: 1, @count: 1";i:59;s:31:"query: "word" index: test_plain";i:60;s:28:" id: 1, weight: 1319, gid: 1";i:61;s:28:" id: 2, weight: 1319, gid: 2";i:62;s:28:" id: 3, weight: 1319, gid: 2";i:63;s:0:"";i:64;s:30:"query: "word" index: test_dist";i:65;s:52:" id: 8, weight: 1319, gid: 2, @groupby: 2, @count: 2";i:66;s:52:" id: 7, weight: 1319, gid: 1, @groupby: 1, @count: 1";i:67;s:28:"query: "word" index: test_rt";i:68;s:28:" id: 4, weight: 1319, gid: 1";i:69;s:28:" id: 5, weight: 1319, gid: 2";i:70;s:28:" id: 6, weight: 1319, gid: 2";i:71;s:0:"";}}}sphinx-2.2.11-release/test/test_178/0000755000175000017500000000000012743402012016414 5ustar alexeyalexeysphinx-2.2.11-release/test/test_178/test.xml0000644000175000017500000000767012743402012020127 0ustar alexeyalexey snippets vs index_exact_words searchd { } source test { type = mysql sql_query = SELECT 1, 'text'; } index test { source = test path = /test morphology = stem_en index_exact_words = 1 } index tstar : test { path = /tstar1 min_prefix_len = 1 morphology = stem_enru } index stars : test { path = /tstar2 min_infix_len = 1 morphology = stem_en } source test2 { type = mysql sql_query = SELECT 1, 'hello this is a test' text; } index test2 { source = test2 path = /test2 } select 1; CALL SNIPPETS('Check vs Checking', 'test', 'check', 1 AS query_mode ) CALL SNIPPETS('Check vs Checking', 'test', '=check', 1 AS query_mode ) CALL SNIPPETS('Check vs Checking', 'test', 'checking', 1 AS query_mode ) CALL SNIPPETS('Check vs Checking', 'test', '=checking', 1 AS query_mode ) CALL SNIPPETS('the time has come, the walrus said, to handle many things, including Check vs Checking, but not quite limited to', 'test', 'check', 1 AS query_mode, 2 AS around, 50 AS limit ) CALL SNIPPETS('the time has come, the walrus said, to handle many things, including Check vs Checking, but not quite limited to', 'test', '=check', 1 AS query_mode, 2 AS around, 50 AS limit ) CALL SNIPPETS('the time has come, the walrus said, to handle many things, including Check vs Checking, but not quite limited to', 'test', 'checking', 1 AS query_mode, 2 AS around, 50 AS limit ) CALL SNIPPETS('the time has come, the walrus said, to handle many things, including Check vs Checking, but not quite limited to', 'test', '=checking', 1 AS query_mode, 2 AS around, 50 AS limit ) CALL SNIPPETS('check vs checking fast path', 'tstar', 'checki*', 1 AS query_mode, 0 AS limit ) CALL SNIPPETS('check vs checking regular path', 'tstar', 'checki*', 1 AS query_mode, 0 AS limit, 1 AS limit_passages ) CALL SNIPPETS('time is dying out like everething else here', 'stars', 'dying*', 1 AS query_mode, 20 AS limit ) CALL SNIPPETS('time is dying out like everething else here', 'stars', '*dying', 1 AS query_mode, 20 AS limit ) CALL SNIPPETS('time is dying out like everething else here', 'stars', '*dying*', 1 AS query_mode, 20 AS limit ) CALL SNIPPETS('time is dying out like everething else here', 'test', 'nothing', 1 AS query_mode, 40 AS limit, 1 as allow_empty ) CALL SNIPPETS('time is dying out like everething', 'test', 'nothing', 1 AS query_mode, 40 AS limit, 1 as allow_empty ) CALL SNIPPETS('time is dying out like everething else here', 'test', 'nothing', 40 AS limit, 1 as allow_empty ) CALL SNIPPETS('time is dying out like everething', 'test', 'nothing', 40 AS limit, 1 as allow_empty ) ', 'after_match=', 'start_passage_id=100000000') from test2 where match ('this')]]> ' as before_match, '' as after_match, 100000000 as start_passage_id)]]> sphinx-2.2.11-release/test/test_178/model.bin0000644000175000017500000001222612743402012020211 0ustar alexeyalexeya:1:{i:0;a:19:{i:0;a:3:{s:8:"sphinxql";s:69:"CALL SNIPPETS('Check vs Checking', 'test', 'check', 1 AS query_mode )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:31:"Check vs Checking";}}}i:1;a:3:{s:8:"sphinxql";s:70:"CALL SNIPPETS('Check vs Checking', 'test', '=check', 1 AS query_mode )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:24:"Check vs Checking";}}}i:2;a:3:{s:8:"sphinxql";s:72:"CALL SNIPPETS('Check vs Checking', 'test', 'checking', 1 AS query_mode )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:31:"Check vs Checking";}}}i:3;a:3:{s:8:"sphinxql";s:73:"CALL SNIPPETS('Check vs Checking', 'test', '=checking', 1 AS query_mode )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:24:"Check vs Checking";}}}i:4;a:3:{s:8:"sphinxql";s:190:"CALL SNIPPETS('the time has come, the walrus said, to handle many things, including Check vs Checking, but not quite limited to', 'test', 'check', 1 AS query_mode, 2 AS around, 50 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:65:" ... things, including Check vs Checking, but ... ";}}}i:5;a:3:{s:8:"sphinxql";s:191:"CALL SNIPPETS('the time has come, the walrus said, to handle many things, including Check vs Checking, but not quite limited to', 'test', '=check', 1 AS query_mode, 2 AS around, 50 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:53:" ... things, including Check vs Checking ... ";}}}i:6;a:3:{s:8:"sphinxql";s:193:"CALL SNIPPETS('the time has come, the walrus said, to handle many things, including Check vs Checking, but not quite limited to', 'test', 'checking', 1 AS query_mode, 2 AS around, 50 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:65:" ... things, including Check vs Checking, but ... ";}}}i:7;a:3:{s:8:"sphinxql";s:194:"CALL SNIPPETS('the time has come, the walrus said, to handle many things, including Check vs Checking, but not quite limited to', 'test', '=checking', 1 AS query_mode, 2 AS around, 50 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:44:" ... Check vs Checking, but not ... ";}}}i:8;a:3:{s:8:"sphinxql";s:94:"CALL SNIPPETS('check vs checking fast path', 'tstar', 'checki*', 1 AS query_mode, 0 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:34:"check vs checking fast path";}}}i:9;a:3:{s:8:"sphinxql";s:118:"CALL SNIPPETS('check vs checking regular path', 'tstar', 'checki*', 1 AS query_mode, 0 AS limit, 1 AS limit_passages )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:37:"check vs checking regular path";}}}i:10;a:3:{s:8:"sphinxql";s:110:"CALL SNIPPETS('time is dying out like everething else here', 'stars', 'dying*', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:11;a:3:{s:8:"sphinxql";s:110:"CALL SNIPPETS('time is dying out like everething else here', 'stars', '*dying', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:12;a:3:{s:8:"sphinxql";s:111:"CALL SNIPPETS('time is dying out like everething else here', 'stars', '*dying*', 1 AS query_mode, 20 AS limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"time is dying out ... ";}}}i:13;a:3:{s:8:"sphinxql";s:128:"CALL SNIPPETS('time is dying out like everething else here', 'test', 'nothing', 1 AS query_mode, 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:14;a:3:{s:8:"sphinxql";s:119:"CALL SNIPPETS('time is dying out like everething', 'test', 'nothing', 1 AS query_mode, 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:15;a:3:{s:8:"sphinxql";s:112:"CALL SNIPPETS('time is dying out like everething else here', 'test', 'nothing', 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:16;a:3:{s:8:"sphinxql";s:102:"CALL SNIPPETS('time is dying out like everething', 'test', 'nothing', 40 AS limit, 1 as allow_empty )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:0:"";}}}i:17;a:3:{s:8:"sphinxql";s:190:"SELECT id, SNIPPET('hello this is a text. And this.', 'this','before_match=', 'after_match=', 'start_passage_id=100000000') from test2 where match ('this')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:147:"snippet('hello this is a text. And this.', 'this','before_match=', 'after_match=', 'start_passage_id=100000000')";s:95:"hello this is a text. And this.";}}}i:18;a:3:{s:8:"sphinxql";s:169:"CALL SNIPPETS('hello this is a text. And this.', 'test2', 'this', '' as before_match, '' as after_match, 100000000 as start_passage_id)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:91:"hello this is a text. And this.";}}}}}sphinx-2.2.11-release/test/test_177/0000755000175000017500000000000012743402012016413 5ustar alexeyalexeysphinx-2.2.11-release/test/test_177/test.xml0000644000175000017500000000614712743402012020124 0ustar alexeyalexey dict=keywords vs crc collisions indexer { mem_limit = 24M } searchd { } source test { type = mysql sql_query = select * from test_table sql_attr_uint = gid } index test { source = test path = /test dict = keywords } CREATE TABLE test_table ( id INTEGER PRIMARY KEY NOT NULL, gid INTEGER NOT NULL, title VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table VALUES ( 1, 1, 'hello eisenhower' ), ( 2, 1, 'got petfood' ), ( 11, 2, '70_129_148_165' ), ( 12, 2, 'c27e6' ), ( 13, 2, '70_129_148_165' ), ( 14, 2, '2242647928' ), ( 15, 2, 'c27e6' ), ( 16, 2, 'c27e6' ), ( 21, 3, 'r57rm9qgtx4e' ), ( 22, 3, 'i59oqce31j1i' ), ( 23, 3, 'wf68itlphvim' ), ( 31, 4, '7mx9432vwcql' ), ( 32, 4, '7voy0zfvaxva' ), ( 33, 4, 'h9ws5m4gfju6' ), ( 34, 4, 'kbnbi9uxnxun' ), ( 41, 5, 'bx7ysl617uih' ), ( 42, 5, 'veqihmlt2u94' ), ( 43, 5, 'rbuslwua0rjw' ), ( 44, 5, 'iil5o9qal9zp' ), ( 51, 6, 'b4ps2tkcartn' ), ( 52, 6, 'ec3bedwxkjap' ), ( 53, 6, 'hcy80ejxaxy5' ), ( 54, 6, 'zoplbj4l38ar' ), ( 61, 7, '47m6max3ldms' ), ( 62, 7, 'btdgsp6fahbo' ), ( 63, 7, 'jx9t6gshfdb3' ), ( 64, 7, '0nqiwe8ap0nt' ), ( 71, 8, 'a4qrs2snufyd' ), ( 72, 8, 'dnvaj4d6w64n' ), ( 73, 8, 'r9g3s3ry1snj' ), ( 74, 8, 'w6w9m94wxwja' ) eisenhower petfood 70_129_148_165 c27e6 2242647928 r57rm9qgtx4e i59oqce31j1i wf68itlphvim 7mx9432vwcql 7voy0zfvaxva h9ws5m4gfju6 kbnbi9uxnxun bx7ysl617uih veqihmlt2u94 rbuslwua0rjw iil5o9qal9zp b4ps2tkcartn ec3bedwxkjap hcy80ejxaxy5 zoplbj4l38ar 47m6max3ldms btdgsp6fahbo jx9t6gshfdb3 0nqiwe8ap0nt a4qrs2snufyd dnvaj4d6w64n r9g3s3ry1snj w6w9m94wxwja sphinx-2.2.11-release/test/test_177/model.bin0000644000175000017500000003072612743402012020215 0ustar alexeyalexeya:1:{i:0;a:28:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:10:"eisenhower";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:"eisenhower";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"petfood";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"petfood";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:11;a:2:{s:6:"weight";s:4:"1677";s:5:"attrs";a:1:{s:3:"gid";s:1:"2";}}i:13;a:2:{s:6:"weight";s:4:"1677";s:5:"attrs";a:1:{s:3:"gid";s:1:"2";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:14:"70_129_148_165";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"70_129_148_165";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:12;a:2:{s:6:"weight";s:4:"1648";s:5:"attrs";a:1:{s:3:"gid";s:1:"2";}}i:15;a:2:{s:6:"weight";s:4:"1648";s:5:"attrs";a:1:{s:3:"gid";s:1:"2";}}i:16;a:2:{s:6:"weight";s:4:"1648";s:5:"attrs";a:1:{s:3:"gid";s:1:"2";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"c27e6";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"c27e6";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:14;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:1:{s:3:"gid";s:1:"2";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:10:"2242647928";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:"2242647928";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:21;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:12:"r57rm9qgtx4e";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"r57rm9qgtx4e";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:22;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:12:"i59oqce31j1i";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"i59oqce31j1i";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:23;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:12:"wf68itlphvim";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"wf68itlphvim";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:31;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:12:"7mx9432vwcql";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"7mx9432vwcql";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:32;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:12:"7voy0zfvaxva";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"7voy0zfvaxva";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:33;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:12:"h9ws5m4gfju6";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"h9ws5m4gfju6";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:34;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:12:"kbnbi9uxnxun";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"kbnbi9uxnxun";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:41;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:1:{s:3:"gid";s:1:"5";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:12:"bx7ysl617uih";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"bx7ysl617uih";}i:13;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:42;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:1:{s:3:"gid";s:1:"5";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:12:"veqihmlt2u94";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"veqihmlt2u94";}i:14;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:43;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:1:{s:3:"gid";s:1:"5";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:12:"rbuslwua0rjw";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"rbuslwua0rjw";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:44;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:1:{s:3:"gid";s:1:"5";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:12:"iil5o9qal9zp";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"iil5o9qal9zp";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:51;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:1:{s:3:"gid";s:1:"6";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:12:"b4ps2tkcartn";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"b4ps2tkcartn";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:52;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:1:{s:3:"gid";s:1:"6";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:12:"ec3bedwxkjap";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"ec3bedwxkjap";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:53;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:1:{s:3:"gid";s:1:"6";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:12:"hcy80ejxaxy5";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"hcy80ejxaxy5";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:54;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:1:{s:3:"gid";s:1:"6";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:12:"zoplbj4l38ar";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"zoplbj4l38ar";}i:20;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:61;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:1:{s:3:"gid";s:1:"7";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:12:"47m6max3ldms";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"47m6max3ldms";}i:21;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:62;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:1:{s:3:"gid";s:1:"7";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:12:"btdgsp6fahbo";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"btdgsp6fahbo";}i:22;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:63;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:1:{s:3:"gid";s:1:"7";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:12:"jx9t6gshfdb3";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"jx9t6gshfdb3";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:64;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:1:{s:3:"gid";s:1:"7";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:12:"0nqiwe8ap0nt";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"0nqiwe8ap0nt";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:71;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:1:{s:3:"gid";s:1:"8";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:12:"a4qrs2snufyd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"a4qrs2snufyd";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:72;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:1:{s:3:"gid";s:1:"8";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:12:"dnvaj4d6w64n";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"dnvaj4d6w64n";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:73;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:1:{s:3:"gid";s:1:"8";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:12:"r9g3s3ry1snj";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"r9g3s3ry1snj";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:74;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:1:{s:3:"gid";s:1:"8";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:12:"w6w9m94wxwja";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"w6w9m94wxwja";}}}sphinx-2.2.11-release/test/test_176/0000755000175000017500000000000012743402012016412 5ustar alexeyalexeysphinx-2.2.11-release/test/test_176/test.xml0000644000175000017500000000237112743402012020116 0ustar alexeyalexey ZONE pushdown vs min_prefix_len indexer { mem_limit = 20M } searchd { preopen_indexes = 0 } source test { type = mysql sql_query = select * from test_table sql_attr_uint = gid } index test { source = test path = /test html_strip = 1 index_zones = zone* dict = keywords dict = crc min_prefix_len = 0 min_prefix_len = 1 } create table test_table ( id int not null, gid int not null, title varchar(255) not null ); drop table if exists test_table; J\'entends le loup et le renard chanter.' );]]> "la belette" ZONE:zoneB "la belette" ZONE:nonZone "la belette" ZONE:zoneA le renard sphinx-2.2.11-release/test/test_176/model.bin0000644000175000017500000001625212743402012020212 0ustar alexeyalexeya:4:{i:0;a:4:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:100;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";i:1;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:2:"la";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"belette";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:""la belette"";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:2:"la";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"belette";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:23:"ZONE:zoneB "la belette"";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:2:"la";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"belette";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:25:"ZONE:nonZone "la belette"";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:100;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";i:1;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:2:"le";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"4";}s:6:"renard";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:20:"ZONE:zoneA le renard";}}i:1;a:4:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:100;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";i:1;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:2:"la";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"belette";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:""la belette"";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:2:"la";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"belette";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:23:"ZONE:zoneB "la belette"";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:2:"la";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"belette";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:25:"ZONE:nonZone "la belette"";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:100;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";i:1;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:2:"le";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"4";}s:6:"renard";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:20:"ZONE:zoneA le renard";}}i:2;a:4:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:100;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";i:1;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:2:"la";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"belette";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:""la belette"";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:2:"la";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"belette";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:23:"ZONE:zoneB "la belette"";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:2:"la";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"belette";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:25:"ZONE:nonZone "la belette"";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:100;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";i:1;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:2:"le";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"4";}s:6:"renard";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:20:"ZONE:zoneA le renard";}}i:3;a:4:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:100;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";i:1;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:2:"la";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"belette";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:""la belette"";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:2:"la";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"belette";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:23:"ZONE:zoneB "la belette"";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:2:"la";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"belette";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:25:"ZONE:nonZone "la belette"";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:100;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";i:1;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:2:"le";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"4";}s:6:"renard";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:20:"ZONE:zoneA le renard";}}}sphinx-2.2.11-release/test/test_175/0000755000175000017500000000000012743402012016411 5ustar alexeyalexeysphinx-2.2.11-release/test/test_175/test.xml0000644000175000017500000003607312743402012020123 0ustar alexeyalexey hitbuffer edge cases indexer { mem_limit = 16M } searchd { workers = threads binlog_path = # subtree_docs_cache = 128k subtree_hits_cache = 128k } source test1 { type = mysql sql_query = select * from test_table1 sql_attr_uint = gid } index test1 { source = test1 path = /test1 } source test2 { type = mysql sql_query = select * from test_table2 sql_attr_uint = gid } index test2 { source = test2 path = /test2 docinfo = extern html_strip = 1 index_sp = 1 } source test3 { type = mysql sql_query = select * from test_table3 sql_attr_uint = gid } index test3 { source = test3 path = /test3 docinfo = extern } index rt { type = rt path = /rt rt_field = content rt_attr_uint = dummy morphology = none } index optimized_filter { type = rt rt_mem_limit = 128k path = /optimized_filter rt_field = content rt_attr_uint = idd0 rt_attr_uint = idd1 rt_attr_uint = idd2 rt_attr_uint = idd3 rt_attr_uint = idd4 rt_attr_uint = idd5 rt_attr_uint = idd6 rt_attr_uint = idd7 rt_attr_uint = idd8 rt_attr_uint = idd9 } source src_hits { type = mysql sql_query = SELECT id, title, 11 as idd FROM table_hits sql_attr_uint = idd } index hits_plain { source = src_hits path = /plain docinfo = extern hit_format = plain } index hits_inline { source = src_hits path = /inline docinfo = extern } source src_inline { type = mysql sql_query = SELECT 1 id, REPEAT('a ', 1024*1024-32768), 32 gid UNION SELECT 2 id, REPEAT('a ', 32768), 32 gid sql_attr_bigint = gid } index idx_inline { source = src_inline path = /idx_inline docinfo = inline } source src_inline2 { type = mysql sql_query = SELECT id, title, CRC32(id+11) + 31 gid1, CRC32(id+13) + 32 gid2, CRC32(id+17) + 33 gid3, CRC32(id+19) + 34 gid4, CRC32(id+23) + 35 gid5, CRC32(id+27) + 36 gid6, CRC32(id+29) + 37 gid7, CRC32(id+31) + 38 gid8, CRC32(id+37) + 39 gid9 from table_inline2 sql_attr_bigint = gid1 sql_attr_bigint = gid2 sql_attr_bigint = gid3 sql_attr_bigint = gid4 sql_attr_bigint = gid5 sql_attr_bigint = gid6 sql_attr_bigint = gid7 sql_attr_bigint = gid8 sql_attr_bigint = gid9 } index idx_inline2 { source = src_inline2 path = /idx_inline2 docinfo = inline dict = keywords } source src_quorum_tail { type = mysql sql_query = SELECT *, 100 + id as idd from table_quorum_tail sql_attr_bigint = idd } index idx_qt { source = src_quorum_tail path = /idx_quorum_tail docinfo = extern } source src_quorum_tail_2 { type = mysql sql_query = SELECT *, 100 + id as idd from table_quorum_tail_2 sql_attr_bigint = idd } index idx_qt_2 { source = src_quorum_tail_2 path = /idx_quorum_tail_2 docinfo = extern } index rt_auto_expand { type = rt charset_type = utf-8 rt_mem_limit = 128k path = /rt_auto_expand dict = keywords rt_attr_uint = idd1 rt_attr_uint = idd2 rt_attr_uint = idd3 rt_attr_uint = idd4 rt_attr_uint = idd5 rt_field = content min_infix_len = 3 enable_star = 1 expand_keywords = 1 } source some1 { type = mysql sql_query = select * from test_table1 sql_attr_uint = gid sql_field_string = title } index some1 { source = some1 path = /some1 hitless_words = all } source dup_end1 { type = mysql sql_query = SELECT 1 id, 11 gid, '1127206,819,100' title UNION SELECT 1 id, 11 gid, '1,2,3,4,5,1127206,819,100' title sql_attr_uint = gid } source dup_end2 { type = mysql sql_query = SELECT 1 id, 11 gid, '1127206,819,100' title UNION SELECT 1 id, 11 gid, '1,2,3,4,5,6,7,8,1127206,819,100,113,114,115,100' title sql_attr_uint = gid } index dup_end1 { source = dup_end1 path = /dup_end1 } index dup_end2 { source = dup_end2 path = /dup_end2 } source src_xml1 { type = xmlpipe2 xmlpipe_command = cat /hits1.xml } index idx_xml1 { source = src_xml1 path = /idx_xml1 docinfo = extern } create table test_table1 ( id int not null, gid int not null, title varchar(16384) not null ); create table test_table2 ( id int not null, gid int not null, title varchar(256) not null ); create table test_table3 ( id int not null, gid int not null, title varchar(64) not null ); create table table_hits ( id int not null, title varchar(256) not null ); create table table_inline2 ( id int not null, title varchar(21000) not null ) ENGINE=MYISAM; create table table_quorum_tail ( id int not null, title varchar(4096) not null ); create table table_quorum_tail_2 ( id int not null, title varchar(64) not null ); drop table if exists test_table1; drop table if exists test_table2; drop table if exists test_table3; drop table if exists table_hits; drop table if exists table_inline2; drop table if exists table_quorum_tail; drop table if exists table_quorum_tail_2; SetMatchMode ( SPH_MATCH_EXTENDED2 ); // legacy $res = $client->Query ( "aaa | bbb", "test1" ); unset ( $res["time"] ); $results[] = $res; $res = $client->Query ( "box SENTENCE good", "test2" ); unset ( $res["time"] ); $results[] = $res; $results[] = 'common subtree crash'; $client->SetFilter ( "@id", array ( 999999 ) ); $client->AddQuery ( "aaa -bbb", "test3" ); $client->ResetFilters (); $client->AddQuery ( "aaa -bbb", "test3" ); $res = $client->RunQueries(); if ( !$res ) { $results[] = $client->GetLastError(); return; } foreach ( $res as $r ) { unset ( $r["time"] ); $results[] = $r; } // regression hitless vs subtree cache $results[] = 'hitless vs subtree cache'; $client->SetSortMode ( SPH_SORT_ATTR_ASC, 'title' ); $client->AddQuery ( "(\"aaa bbb\") (\"aaa cc\")", "some1" ); $client->AddQuery ( "(\"aaa bbb\") (\"aaa cc\")", "some1" ); $client->AddQuery ( "(\"aaa bbb\") (\"aaa cc\")", "some1" ); $res = $client->RunQueries(); if ( !$res ) { $results[] = $client->GetLastError(); } else { foreach ( $res as $r ) { unset ( $r["time"] ); $results[] = $r; } } // regression RT dictionary lost words on merge with ID64 $query = create_function ( '$q, $sock',' $results = array( $q ); $res = @mysql_query ( $q, $sock ); if ( $res===false ) { $results[] = mysql_errno( $sock ) . "; " . mysql_error ( $sock ); } else { while ($row = @mysql_fetch_array($res, MYSQL_ASSOC)) { if ( array_key_exists ( "Variable_name", $row ) && $row["Variable_name"]=="time" ) { continue; } if ( !array_key_exists ( "Variable_name", $row ) || !array_key_exists ( "Value", $row ) ) { $line = ""; foreach ( $row as $k=>$v ) { $line .= $k . " = " . $v . "\t"; } $results[] = $line; } else { $results[] = $row["Variable_name"] . " = " . $row["Value"]; } } @mysql_free_result ( $res ); } return $results; '); global $sd_address, $sd_sphinxql_port; $sockStr = "$sd_address:$sd_sphinxql_port"; if ($sd_address == "localhost") $sockStr = "127.0.0.1:$sd_sphinxql_port"; $sock = @mysql_connect ($sockStr,"","", true ); for ( $doc=1; $doc<121; $doc++ ) { $text = 'dummy text is going here'; if ( $doc==31 ) $text = 'ACT I.'; else if ( $doc==100 ) $text = 'And let us once again assail your ears, basketball'; $insert = " REPLACE INTO rt ( id, content ) VALUES ( $doc, '$text' ) "; $query ( $insert, $sock ); } $results = array_merge ( $results, $query ( "select id from rt limit 0,2", $sock ) ); $results = array_merge ( $results, $query ( "show meta", $sock ) ); $results = array_merge ( $results, $query ( "select id from rt where match ( 'basketball' )", $sock ) ); $results = array_merge ( $results, $query ( "show meta", $sock ) ); // regression - optimized filter broken with extra-filter $text = 'dummy text is going here'; for ( $doc=1; $doc<1700; $doc++ ) { $id = $doc % 1500; $insert = " REPLACE INTO optimized_filter VALUES ( $id, '$text', 0, 1, 2, 3, 4, 5, 6, 7,8, 9 ) "; $query ( $insert, $sock ); } $results = array_merge ( $results, $query ( "select * from optimized_filter where idd5>1 and idd5<20 limit 2", $sock ) ); // regression skiplist vs hit_format $results = array_merge ( $results, $query ( "select * from hits_plain where match (' \" i promised \" ' )", $sock ) ); $results = array_merge ( $results, $query ( "show meta", $sock ) ); $results = array_merge ( $results, $query ( "select * from hits_inline where match (' \" i promised \" ' )", $sock ) ); $results = array_merge ( $results, $query ( "show meta", $sock ) ); // regression docinfo=inline tail hits $results = array_merge ( $results, $query ( "select * from idx_inline2 where match (' good game ' ) and id>340", $sock ) ); // quorum tail vs quorum duplicates $results = array_merge ( $results, $query ( "select * from idx_qt where match (' \" I I I I do my best \"/4 ' )", $sock ) ); $results = array_merge ( $results, $query ( "select * from idx_qt where match (' \" me me me notfound \"/2 NEAR/5 like ' )", $sock ) ); $results = array_merge ( $results, $query ( "select * from idx_qt where match (' \" me me me notfound \"/2 NEAR/6 like ' )", $sock ) ); $results = array_merge ( $results, $query ( "select * from idx_qt where match (' \" me me me notfound \"/2 NEAR/7 like ' )", $sock ) ); $results = array_merge ( $results, $query ( "select *, weight() from idx_qt_2 where match (' \" match match that pal \"/2 ' ) order by id desc limit 5 option ranker=wordcount", $sock ) ); // regression - expand_keywords got lost for disk chunks of RT ndex $text = 'dummy text is going here dummy text is going here dummy text is going here dummy text is going here dummy text is going here dummy text is going here aborted'; $insert = "REPLACE INTO rt_auto_expand VALUES ( 1, 'uniq got placed here avi', 1, 2, 3, 4, 5 ) "; $query ( $insert, $sock ); for ( $id=2; $id<1700; $id++ ) { $insert = "REPLACE INTO rt_auto_expand VALUES ( $id, '$text', 1, 2, 3, 4, 5 ) "; $query ( $insert, $sock ); } $insert = "REPLACE INTO rt_auto_expand VALUES ( 2000, 'uniq got placed here', 1, 2, 3, 4, 5 ) "; $query ( $insert, $sock ); $results = array_merge ( $results, $query ( "select * from rt_auto_expand where match ( 'uniq' ) ", $sock ) ); $results = array_merge ( $results, $query ( "show meta", $sock ) ); $results = array_merge ( $results, $query ( "select * from rt_auto_expand where match ( 'ace' ) ", $sock ) ); $results = array_merge ( $results, $query ( "show meta", $sock ) ); // regression call keywords fails at disk chunk term with skiplist $results = array_merge ( $results, $query ( " CALL KEYWORDS ('got aborted avi', 'rt_auto_expand', 1) ", $sock ) ); // regression field end hits vs duplicated doc $results = array_merge ( $results, $query ( "select * from dup_end1 where match (' 100 ' )", $sock ) ); $results = array_merge ( $results, $query ( "show meta", $sock ) ); $results = array_merge ( $results, $query ( "select * from dup_end2 where match (' 100 ' )", $sock ) ); $results = array_merge ( $results, $query ( "show meta", $sock ) ); // regression $results = array_merge ( $results, $query ( "select id, weight() w FROM idx_xml1 WHERE MATCH('\"missed go3\" | (go3 go4)') OPTION ranker=expr('top(lcs)')", $sock ) ); @mysql_close ( $sock ); ]]> sphinx-2.2.11-release/test/test_175/model.bin0000644000175000017500000002272212743402012020210 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:121:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:11;a:2:{s:6:"weight";s:4:"2269";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:10;a:2:{s:6:"weight";s:4:"1221";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:2:{s:3:"aaa";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:3:"515";}s:3:"bbb";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"6";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:701;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:2:{s:3:"box";a:2:{s:4:"docs";s:3:"600";s:4:"hits";s:3:"600";}s:4:"good";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;s:20:"common subtree crash";i:3;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:2:{s:3:"aaa";a:2:{s:4:"docs";s:3:"600";s:4:"hits";s:3:"600";}s:3:"bbb";a:2:{s:4:"docs";s:3:"400";s:4:"hits";s:3:"400";}}}i:4;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:20:{i:402;a:2:{s:6:"weight";s:4:"1386";s:5:"attrs";a:1:{s:3:"gid";s:3:"402";}}i:403;a:2:{s:6:"weight";s:4:"1386";s:5:"attrs";a:1:{s:3:"gid";s:3:"403";}}i:404;a:2:{s:6:"weight";s:4:"1386";s:5:"attrs";a:1:{s:3:"gid";s:3:"404";}}i:405;a:2:{s:6:"weight";s:4:"1386";s:5:"attrs";a:1:{s:3:"gid";s:3:"405";}}i:406;a:2:{s:6:"weight";s:4:"1386";s:5:"attrs";a:1:{s:3:"gid";s:3:"406";}}i:407;a:2:{s:6:"weight";s:4:"1386";s:5:"attrs";a:1:{s:3:"gid";s:3:"407";}}i:408;a:2:{s:6:"weight";s:4:"1386";s:5:"attrs";a:1:{s:3:"gid";s:3:"408";}}i:409;a:2:{s:6:"weight";s:4:"1386";s:5:"attrs";a:1:{s:3:"gid";s:3:"409";}}i:410;a:2:{s:6:"weight";s:4:"1386";s:5:"attrs";a:1:{s:3:"gid";s:3:"410";}}i:411;a:2:{s:6:"weight";s:4:"1386";s:5:"attrs";a:1:{s:3:"gid";s:3:"411";}}i:412;a:2:{s:6:"weight";s:4:"1386";s:5:"attrs";a:1:{s:3:"gid";s:3:"412";}}i:413;a:2:{s:6:"weight";s:4:"1386";s:5:"attrs";a:1:{s:3:"gid";s:3:"413";}}i:414;a:2:{s:6:"weight";s:4:"1386";s:5:"attrs";a:1:{s:3:"gid";s:3:"414";}}i:415;a:2:{s:6:"weight";s:4:"1386";s:5:"attrs";a:1:{s:3:"gid";s:3:"415";}}i:416;a:2:{s:6:"weight";s:4:"1386";s:5:"attrs";a:1:{s:3:"gid";s:3:"416";}}i:417;a:2:{s:6:"weight";s:4:"1386";s:5:"attrs";a:1:{s:3:"gid";s:3:"417";}}i:418;a:2:{s:6:"weight";s:4:"1386";s:5:"attrs";a:1:{s:3:"gid";s:3:"418";}}i:419;a:2:{s:6:"weight";s:4:"1386";s:5:"attrs";a:1:{s:3:"gid";s:3:"419";}}i:420;a:2:{s:6:"weight";s:4:"1386";s:5:"attrs";a:1:{s:3:"gid";s:3:"420";}}i:421;a:2:{s:6:"weight";s:4:"1386";s:5:"attrs";a:1:{s:3:"gid";s:3:"421";}}}s:5:"total";s:3:"200";s:11:"total_found";s:3:"200";s:5:"words";a:2:{s:3:"aaa";a:2:{s:4:"docs";s:3:"600";s:4:"hits";s:3:"600";}s:3:"bbb";a:2:{s:4:"docs";s:3:"400";s:4:"hits";s:3:"400";}}}i:5;s:24:"hitless vs subtree cache";i:6;a:7:{s:5:"error";s:0:"";s:7:"warning";s:68:"can't create phrase node, hitlists unavailable (hitlists=1, nodes=2)";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:5:"title";i:7;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";}i:7;a:7:{s:5:"error";s:0:"";s:7:"warning";s:68:"can't create phrase node, hitlists unavailable (hitlists=1, nodes=2)";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:5:"title";i:7;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";}i:8;a:7:{s:5:"error";s:0:"";s:7:"warning";s:68:"can't create phrase node, hitlists unavailable (hitlists=1, nodes=2)";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:5:"title";i:7;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";}i:9;s:27:"select id from rt limit 0,2";i:10;s:7:"id = 1 ";i:11;s:7:"id = 2 ";i:12;s:9:"show meta";i:13;s:11:"total = 120";i:14;s:17:"total_found = 120";i:15;s:46:"select id from rt where match ( 'basketball' )";i:16;s:9:"id = 100 ";i:17;s:9:"show meta";i:18;s:9:"total = 1";i:19;s:15:"total_found = 1";i:20;s:23:"keyword[0] = basketball";i:21;s:11:"docs[0] = 1";i:22;s:11:"hits[0] = 1";i:23;s:63:"select * from optimized_filter where idd5>1 and idd5<20 limit 2";i:24;s:97:"id = 1 idd0 = 0 idd1 = 1 idd2 = 2 idd3 = 3 idd4 = 4 idd5 = 5 idd6 = 6 idd7 = 7 idd8 = 8 idd9 = 9 ";i:25;s:97:"id = 2 idd0 = 0 idd1 = 1 idd2 = 2 idd3 = 3 idd4 = 4 idd5 = 5 idd6 = 6 idd7 = 7 idd8 = 8 idd9 = 9 ";i:26;s:58:"select * from hits_plain where match (' " i promised " ' )";i:27;s:19:"id = 9200 idd = 11 ";i:28;s:9:"show meta";i:29;s:9:"total = 1";i:30;s:15:"total_found = 1";i:31;s:14:"keyword[0] = i";i:32;s:13:"docs[0] = 346";i:33;s:13:"hits[0] = 493";i:34;s:21:"keyword[1] = promised";i:35;s:11:"docs[1] = 2";i:36;s:11:"hits[1] = 3";i:37;s:59:"select * from hits_inline where match (' " i promised " ' )";i:38;s:19:"id = 9200 idd = 11 ";i:39;s:9:"show meta";i:40;s:9:"total = 1";i:41;s:15:"total_found = 1";i:42;s:14:"keyword[0] = i";i:43;s:13:"docs[0] = 346";i:44;s:13:"hits[0] = 493";i:45;s:21:"keyword[1] = promised";i:46;s:11:"docs[1] = 2";i:47;s:11:"hits[1] = 3";i:48;s:65:"select * from idx_inline2 where match (' good game ' ) and id>340";i:49;s:171:"id = 341 gid1 = 3012170252 gid2 = 1525265656 gid3 = 1398798612 gid4 = 1990796068 gid5 = 1908729662 gid6 = 2020780884 gid7 = 1873941096 gid8 = 2176611221 gid9 = 1634310808 ";i:50;s:163:"id = 342 gid1 = 3297583514 gid2 = 770606190 gid3 = 609798278 gid4 = 28185526 gid5 = 113498032 gid6 = 259365834 gid7 = 414524154 gid8 = 4139467807 gid9 = 376351502 ";i:51;s:171:"id = 343 gid1 = 1525265655 gid2 = 3035092500 gid3 = 1990796067 gid4 = 2561098320 gid5 = 2680850010 gid6 = 1873941095 gid7 = 2176611220 gid8 = 1759499904 gid9 = 3895070387 ";i:52;s:166:"id = 344 gid1 = 770606189 gid2 = 3286295938 gid3 = 28185525 gid4 = 4020269786 gid5 = 3905795780 gid6 = 414524153 gid7 = 4139467806 gid8 = 534308594 gid9 = 2670542401 ";i:53;s:170:"id = 345 gid1 = 3035092499 gid2 = 1398798611 gid3 = 2561098319 gid4 = 1908729661 gid5 = 2020780883 gid6 = 2176611219 gid7 = 1759499903 gid8 = 2261890972 gid9 = 103051207 ";i:54;s:167:"id = 346 gid1 = 3286295937 gid2 = 609798277 gid3 = 4020269785 gid4 = 113498031 gid5 = 259365833 gid6 = 4139467805 gid7 = 534308593 gid8 = 4057368582 gid9 = 1898143581 ";i:55;s:171:"id = 347 gid1 = 1398798610 gid2 = 1990796066 gid3 = 1908729660 gid4 = 2680850009 gid5 = 1873941094 gid6 = 1759499902 gid7 = 2261890971 gid8 = 1634310807 gid9 = 4014459580 ";i:56;s:164:"id = 348 gid1 = 609798276 gid2 = 28185524 gid3 = 113498030 gid4 = 3905795779 gid5 = 414524152 gid6 = 534308592 gid7 = 4057368581 gid8 = 376351501 gid9 = 2554395178 ";i:57;s:169:"id = 349 gid1 = 1990796065 gid2 = 2561098318 gid3 = 2680850008 gid4 = 2020780882 gid5 = 2176611218 gid6 = 2261890970 gid7 = 1634310806 gid8 = 3895070386 gid9 = 21605344 ";i:58;s:64:"select * from idx_qt where match (' " I I I I do my best "/4 ' )";i:59;s:17:"id = 1 idd = 101 ";i:60;s:17:"id = 2 idd = 102 ";i:61;s:17:"id = 3 idd = 103 ";i:62;s:75:"select * from idx_qt where match (' " me me me notfound "/2 NEAR/5 like ' )";i:63;s:75:"select * from idx_qt where match (' " me me me notfound "/2 NEAR/6 like ' )";i:64;s:19:"id = 105 idd = 205 ";i:65;s:19:"id = 104 idd = 204 ";i:66;s:75:"select * from idx_qt where match (' " me me me notfound "/2 NEAR/7 like ' )";i:67;s:19:"id = 105 idd = 205 ";i:68;s:19:"id = 104 idd = 204 ";i:69;s:127:"select *, weight() from idx_qt_2 where match (' " match match that pal "/2 ' ) order by id desc limit 5 option ranker=wordcount";i:70;s:32:"id = 513 idd = 613 weight() = 2 ";i:71;s:32:"id = 512 idd = 612 weight() = 2 ";i:72;s:32:"id = 511 idd = 611 weight() = 2 ";i:73;s:32:"id = 510 idd = 610 weight() = 2 ";i:74;s:32:"id = 509 idd = 609 weight() = 2 ";i:75;s:52:"select * from rt_auto_expand where match ( 'uniq' ) ";i:76;s:52:"id = 1 idd1 = 1 idd2 = 2 idd3 = 3 idd4 = 4 idd5 = 5 ";i:77;s:55:"id = 2000 idd1 = 1 idd2 = 2 idd3 = 3 idd4 = 4 idd5 = 5 ";i:78;s:9:"show meta";i:79;s:9:"total = 2";i:80;s:15:"total_found = 2";i:81;s:19:"keyword[0] = *uniq*";i:82;s:11:"docs[0] = 2";i:83;s:11:"hits[0] = 2";i:84;s:17:"keyword[1] = uniq";i:85;s:11:"docs[1] = 2";i:86;s:11:"hits[1] = 2";i:87;s:51:"select * from rt_auto_expand where match ( 'ace' ) ";i:88;s:52:"id = 1 idd1 = 1 idd2 = 2 idd3 = 3 idd4 = 4 idd5 = 5 ";i:89;s:55:"id = 2000 idd1 = 1 idd2 = 2 idd3 = 3 idd4 = 4 idd5 = 5 ";i:90;s:9:"show meta";i:91;s:9:"total = 2";i:92;s:15:"total_found = 2";i:93;s:18:"keyword[0] = *ace*";i:94;s:11:"docs[0] = 2";i:95;s:11:"hits[0] = 2";i:96;s:16:"keyword[1] = ace";i:97;s:11:"docs[1] = 0";i:98;s:11:"hits[1] = 0";i:99;s:56:" CALL KEYWORDS ('got aborted avi', 'rt_auto_expand', 1) ";i:100;s:60:"qpos = 1 tokenized = got normalized = got docs = 2 hits = 2 ";i:101;s:74:"qpos = 2 tokenized = aborted normalized = aborted docs = 1698 hits = 1698 ";i:102;s:60:"qpos = 3 tokenized = avi normalized = avi docs = 1 hits = 1 ";i:103;s:45:"select * from dup_end1 where match (' 100 ' )";i:104;s:16:"id = 1 gid = 11 ";i:105;s:9:"show meta";i:106;s:9:"total = 1";i:107;s:15:"total_found = 1";i:108;s:16:"keyword[0] = 100";i:109;s:11:"docs[0] = 1";i:110;s:11:"hits[0] = 2";i:111;s:45:"select * from dup_end2 where match (' 100 ' )";i:112;s:16:"id = 1 gid = 11 ";i:113;s:9:"show meta";i:114;s:9:"total = 1";i:115;s:15:"total_found = 1";i:116;s:16:"keyword[0] = 100";i:117;s:11:"docs[0] = 1";i:118;s:11:"hits[0] = 3";i:119;s:106:"select id, weight() w FROM idx_xml1 WHERE MATCH('"missed go3" | (go3 go4)') OPTION ranker=expr('top(lcs)')";i:120;s:13:"id = 1 w = 1 ";}}}sphinx-2.2.11-release/test/test_175/hits1.xml0000644000175000017500000005556712743402012020205 0ustar alexeyalexey <![CDATA[tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go4 tmp tmp tmp tmp tmp go3 tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 tmp tmp tmp tmp go3 tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp tmp go3 ]]> sphinx-2.2.11-release/test/test_174/0000755000175000017500000000000012743402012016410 5ustar alexeyalexeysphinx-2.2.11-release/test/test_174/test.xml0000644000175000017500000000157512743402012020121 0ustar alexeyalexey php fread from socket test indexer { mem_limit = 32M } searchd { } source test { type = mysql sql_query = select *, 'garbage' as garbage from test_table sql_attr_string = garbage } index test { source = test path = /test } create table test_table ( id int not null, title varchar(255) not null ); drop table if exists test_table; hello sphinx-2.2.11-release/test/test_174/readme.txt0000644000175000017500000000021212743402012020401 0ustar alexeyalexeyOn some OS (e.g. openSuse 10.3 ) on some PHP versions (e.g. 5.2.11) fread works incorrect if third argument ($length) is more than 8192. sphinx-2.2.11-release/test/test_174/model.bin0000644000175000017500000024056112743402012020212 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:7:"garbage";i:7;}s:7:"matches";a:1000:{i:1;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:2;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:3;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:4;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:5;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:6;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:7;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:8;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:9;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:10;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:11;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:12;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:13;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:14;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:15;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:16;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:17;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:18;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:19;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:20;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:21;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:22;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:23;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:24;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:25;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:26;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:27;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:28;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:29;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:30;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:31;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:32;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:33;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:34;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:35;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:36;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:37;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:38;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:39;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:40;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:41;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:42;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:43;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:44;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:45;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:46;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:47;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:48;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:49;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:50;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:51;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:52;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:53;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:54;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:55;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:56;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:57;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:58;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:59;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:60;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:61;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:62;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:63;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:64;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:65;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:66;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:67;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:68;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:69;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:70;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:71;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:72;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:73;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:74;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:75;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:76;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:77;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:78;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:79;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:80;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:81;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:82;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:83;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:84;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:85;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:86;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:87;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:88;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:89;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:90;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:91;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:92;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:93;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:94;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:95;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:96;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:97;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:98;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:99;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:100;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:101;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:102;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:103;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:104;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:105;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:106;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:107;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:108;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:109;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:110;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:111;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:112;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:113;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:114;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:115;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:116;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:117;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:118;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:119;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:120;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:121;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:122;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:123;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:124;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:125;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:126;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:127;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:128;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:129;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:130;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:131;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:132;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:133;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:134;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:135;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:136;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:137;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:138;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:139;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:140;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:141;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:142;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:143;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:144;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:145;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:146;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:147;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:148;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:149;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:150;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:151;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:152;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:153;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:154;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:155;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:156;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:157;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:158;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:159;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:160;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:161;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:162;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:163;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:164;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:165;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:166;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:167;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:168;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:169;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:170;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:171;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:172;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:173;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:174;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:175;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:176;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:177;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:178;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:179;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:180;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:181;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:182;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:183;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:184;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:185;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:186;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:187;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:188;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:189;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:190;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:191;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:192;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:193;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:194;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:195;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:196;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:197;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:198;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:199;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:200;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:201;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:202;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:203;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:204;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:205;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:206;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:207;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:208;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:209;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:210;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:211;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:212;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:213;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:214;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:215;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:216;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:217;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:218;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:219;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:220;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:221;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:222;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:223;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:224;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:225;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:226;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:227;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:228;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:229;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:230;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:231;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:232;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:233;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:234;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:235;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:236;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:237;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:238;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:239;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:240;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:241;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:242;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:243;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:244;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:245;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:246;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:247;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:248;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:249;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:250;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:251;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:252;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:253;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:254;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:255;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:256;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:257;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:258;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:259;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:260;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:261;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:262;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:263;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:264;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:265;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:266;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:267;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:268;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:269;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:270;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:271;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:272;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:273;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:274;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:275;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:276;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:277;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:278;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:279;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:280;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:281;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:282;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:283;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:284;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:285;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:286;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:287;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:288;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:289;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:290;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:291;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:292;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:293;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:294;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:295;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:296;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:297;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:298;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:299;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:300;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:301;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:302;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:303;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:304;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:305;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:306;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:307;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:308;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:309;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:310;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:311;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:312;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:313;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:314;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:315;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:316;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:317;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:318;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:319;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:320;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:321;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:322;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:323;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:324;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:325;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:326;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:327;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:328;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:329;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:330;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:331;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:332;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:333;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:334;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:335;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:336;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:337;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:338;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:339;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:340;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:341;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:342;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:343;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:344;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:345;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:346;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:347;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:348;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:349;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:350;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:351;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:352;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:353;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:354;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:355;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:356;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:357;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:358;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:359;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:360;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:361;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:362;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:363;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:364;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:365;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:366;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:367;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:368;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:369;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:370;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:371;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:372;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:373;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:374;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:375;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:376;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:377;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:378;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:379;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:380;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:381;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:382;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:383;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:384;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:385;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:386;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:387;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:388;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:389;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:390;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:391;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:392;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:393;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:394;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:395;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:396;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:397;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:398;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:399;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:400;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:401;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:402;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:403;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:404;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:405;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:406;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:407;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:408;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:409;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:410;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:411;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:412;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:413;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:414;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:415;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:416;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:417;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:418;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:419;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:420;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:421;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:422;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:423;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:424;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:425;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:426;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:427;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:428;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:429;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:430;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:431;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:432;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:433;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:434;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:435;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:436;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:437;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:438;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:439;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:440;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:441;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:442;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:443;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:444;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:445;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:446;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:447;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:448;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:449;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:450;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:451;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:452;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:453;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:454;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:455;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:456;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:457;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:458;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:459;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:460;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:461;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:462;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:463;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:464;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:465;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:466;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:467;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:468;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:469;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:470;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:471;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:472;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:473;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:474;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:475;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:476;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:477;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:478;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:479;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:480;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:481;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:482;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:483;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:484;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:485;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:486;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:487;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:488;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:489;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:490;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:491;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:492;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:493;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:494;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:495;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:496;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:497;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:498;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:499;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:500;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:501;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:502;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:503;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:504;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:505;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:506;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:507;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:508;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:509;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:510;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:511;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:512;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:513;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:514;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:515;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:516;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:517;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:518;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:519;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:520;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:521;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:522;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:523;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:524;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:525;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:526;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:527;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:528;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:529;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:530;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:531;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:532;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:533;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:534;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:535;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:536;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:537;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:538;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:539;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:540;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:541;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:542;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:543;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:544;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:545;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:546;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:547;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:548;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:549;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:550;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:551;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:552;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:553;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:554;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:555;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:556;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:557;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:558;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:559;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:560;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:561;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:562;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:563;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:564;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:565;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:566;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:567;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:568;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:569;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:570;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:571;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:572;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:573;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:574;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:575;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:576;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:577;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:578;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:579;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:580;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:581;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:582;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:583;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:584;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:585;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:586;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:587;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:588;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:589;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:590;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:591;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:592;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:593;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:594;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:595;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:596;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:597;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:598;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:599;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:600;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:601;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:602;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:603;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:604;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:605;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:606;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:607;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:608;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:609;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:610;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:611;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:612;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:613;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:614;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:615;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:616;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:617;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:618;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:619;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:620;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:621;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:622;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:623;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:624;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:625;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:626;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:627;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:628;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:629;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:630;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:631;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:632;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:633;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:634;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:635;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:636;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:637;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:638;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:639;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:640;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:641;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:642;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:643;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:644;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:645;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:646;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:647;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:648;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:649;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:650;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:651;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:652;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:653;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:654;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:655;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:656;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:657;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:658;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:659;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:660;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:661;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:662;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:663;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:664;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:665;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:666;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:667;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:668;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:669;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:670;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:671;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:672;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:673;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:674;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:675;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:676;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:677;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:678;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:679;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:680;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:681;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:682;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:683;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:684;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:685;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:686;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:687;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:688;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:689;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:690;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:691;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:692;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:693;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:694;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:695;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:696;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:697;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:698;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:699;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:700;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:701;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:702;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:703;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:704;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:705;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:706;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:707;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:708;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:709;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:710;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:711;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:712;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:713;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:714;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:715;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:716;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:717;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:718;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:719;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:720;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:721;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:722;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:723;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:724;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:725;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:726;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:727;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:728;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:729;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:730;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:731;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:732;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:733;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:734;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:735;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:736;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:737;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:738;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:739;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:740;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:741;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:742;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:743;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:744;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:745;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:746;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:747;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:748;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:749;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:750;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:751;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:752;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:753;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:754;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:755;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:756;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:757;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:758;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:759;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:760;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:761;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:762;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:763;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:764;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:765;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:766;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:767;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:768;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:769;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:770;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:771;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:772;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:773;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:774;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:775;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:776;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:777;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:778;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:779;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:780;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:781;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:782;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:783;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:784;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:785;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:786;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:787;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:788;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:789;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:790;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:791;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:792;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:793;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:794;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:795;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:796;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:797;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:798;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:799;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:800;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:801;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:802;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:803;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:804;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:805;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:806;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:807;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:808;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:809;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:810;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:811;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:812;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:813;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:814;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:815;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:816;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:817;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:818;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:819;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:820;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:821;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:822;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:823;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:824;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:825;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:826;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:827;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:828;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:829;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:830;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:831;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:832;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:833;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:834;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:835;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:836;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:837;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:838;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:839;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:840;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:841;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:842;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:843;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:844;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:845;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:846;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:847;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:848;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:849;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:850;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:851;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:852;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:853;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:854;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:855;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:856;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:857;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:858;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:859;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:860;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:861;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:862;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:863;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:864;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:865;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:866;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:867;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:868;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:869;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:870;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:871;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:872;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:873;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:874;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:875;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:876;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:877;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:878;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:879;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:880;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:881;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:882;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:883;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:884;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:885;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:886;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:887;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:888;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:889;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:890;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:891;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:892;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:893;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:894;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:895;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:896;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:897;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:898;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:899;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:900;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:901;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:902;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:903;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:904;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:905;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:906;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:907;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:908;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:909;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:910;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:911;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:912;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:913;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:914;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:915;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:916;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:917;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:918;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:919;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:920;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:921;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:922;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:923;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:924;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:925;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:926;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:927;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:928;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:929;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:930;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:931;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:932;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:933;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:934;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:935;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:936;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:937;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:938;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:939;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:940;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:941;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:942;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:943;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:944;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:945;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:946;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:947;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:948;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:949;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:950;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:951;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:952;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:953;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:954;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:955;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:956;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:957;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:958;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:959;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:960;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:961;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:962;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:963;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:964;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:965;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:966;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:967;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:968;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:969;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:970;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:971;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:972;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:973;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:974;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:975;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:976;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:977;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:978;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:979;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:980;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:981;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:982;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:983;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:984;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:985;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:986;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:987;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:988;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:989;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:990;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:991;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:992;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:993;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:994;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:995;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:996;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:997;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:998;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:999;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}i:1000;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:7:"garbage";s:7:"garbage";}}}s:5:"total";s:4:"1000";s:11:"total_found";s:4:"1000";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"hello";a:2:{s:4:"docs";s:4:"1000";s:4:"hits";s:4:"1000";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"hello";}}}sphinx-2.2.11-release/test/test_173/0000755000175000017500000000000012743402012016407 5ustar alexeyalexeysphinx-2.2.11-release/test/test_173/test.xml0000644000175000017500000000471512743402012020117 0ustar alexeyalexey processing error messages from local agents indexer { mem_limit = 16M } searchd { dist_threads = 3 } source src { type = mysql sql_attr_uint = attru sql_attr_string = attrs sql_query = SELECT * FROM test_table WHERE id BETWEEN $start AND $end sql_query_range = SELECT 1,1 } source src1: src { sql_query_range = SELECT 2,2 } index idx { source = src path = /main } index idx1 { source = src1 path = /main1 } index idxx { type = distributed local = idx local = idx1 } source src_warn: src { sql_query_range = SELECT 1,2 } index warn1 { source = src_warn path = /warn1 min_prefix_len = 5 } index warn2 { source = src_warn path = /warn2 min_prefix_len = 5 } index dist_warn { type = distributed local = warn1 local = warn2 } index warn3 { source = src_warn path = /warn3 min_infix_len = 5 } select attru, attru+attrs ss from idx select attru, attru+attrs ss from idxx select * from warn1 where match (' the box* ' ) show meta select * from dist_warn where match (' the box* ' ) show meta select * from warn1, warn2 where match (' the box* ' ) show meta select * from warn3 where match (' box* ' ) show warnings select * from warn3 where match (' *box ' ) show warnings select * from warn3 where match (' b*x ' ) show warnings select * from warn3 where match (' b?x ' ) show warnings select * from warn3 where match (' b%x ' ) show warnings CREATE TABLE test_table ( id INTEGER PRIMARY KEY NOT NULL, attru INTEGER NOT NULL, attrs VARCHAR(10) NOT NULL, text VARCHAR(10) NOT NULL ) ENGINE=MYISAM insert into test_table values ( 1, 1, 'test', 'test' ), (2, 2, 'test', 'test') DROP TABLE IF EXISTS test_table sphinx-2.2.11-release/test/test_173/model.bin0000644000175000017500000001104512743402012020202 0ustar alexeyalexeya:1:{i:0;a:18:{i:0;a:3:{s:8:"sphinxql";s:37:"select attru, attru+attrs ss from idx";s:5:"error";s:92:"index idx: parse error: Sphinx expr: syntax error, unexpected $end, expecting TOK_EQ near ''";s:5:"errno";i:1064;}i:1;a:3:{s:8:"sphinxql";s:38:"select attru, attru+attrs ss from idxx";s:5:"error";s:97:"index idx,idx1: parse error: Sphinx expr: syntax error, unexpected $end, expecting TOK_EQ near ''";s:5:"errno";i:1064;}i:2;a:2:{s:8:"sphinxql";s:47:"select * from warn1 where match (' the box* ' )";s:10:"total_rows";i:0;}i:3;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:10;s:4:"rows";a:9:{i:0;a:2:{s:13:"Variable_name";s:7:"warning";s:5:"Value";s:63:"Query word length is less than min prefix length. word: 'box*' ";}i:1;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:3;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"the";}i:4;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"0";}i:5;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"0";}i:6;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"box*";}i:7;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:8;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:4;a:2:{s:8:"sphinxql";s:51:"select * from dist_warn where match (' the box* ' )";s:10:"total_rows";i:0;}i:5;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:10;s:4:"rows";a:9:{i:0;a:2:{s:13:"Variable_name";s:7:"warning";s:5:"Value";s:82:"index warn1,warn2: Query word length is less than min prefix length. word: 'box*' ";}i:1;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:3;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"the";}i:4;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"0";}i:5;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"0";}i:6;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"box*";}i:7;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:8;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:6;a:2:{s:8:"sphinxql";s:54:"select * from warn1, warn2 where match (' the box* ' )";s:10:"total_rows";i:0;}i:7;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:10;s:4:"rows";a:9:{i:0;a:2:{s:13:"Variable_name";s:7:"warning";s:5:"Value";s:82:"index warn1,warn2: Query word length is less than min prefix length. word: 'box*' ";}i:1;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:3;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"the";}i:4;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"0";}i:5;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"0";}i:6;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"box*";}i:7;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:8;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:8;a:2:{s:8:"sphinxql";s:43:"select * from warn3 where match (' box* ' )";s:10:"total_rows";i:0;}i:9;a:3:{s:8:"sphinxql";s:13:"show warnings";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:5:"Level";s:7:"warning";s:4:"Code";s:4:"1000";s:7:"Message";s:62:"Query word length is less than min infix length. word: 'box*' ";}}}i:10;a:2:{s:8:"sphinxql";s:43:"select * from warn3 where match (' *box ' )";s:10:"total_rows";i:0;}i:11;a:3:{s:8:"sphinxql";s:13:"show warnings";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:5:"Level";s:7:"warning";s:4:"Code";s:4:"1000";s:7:"Message";s:62:"Query word length is less than min infix length. word: '*box' ";}}}i:12;a:2:{s:8:"sphinxql";s:42:"select * from warn3 where match (' b*x ' )";s:10:"total_rows";i:0;}i:13;a:3:{s:8:"sphinxql";s:13:"show warnings";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:5:"Level";s:7:"warning";s:4:"Code";s:4:"1000";s:7:"Message";s:62:"Query word length is less than min prefix length. word: 'b*x' ";}}}i:14;a:2:{s:8:"sphinxql";s:42:"select * from warn3 where match (' b?x ' )";s:10:"total_rows";i:0;}i:15;a:3:{s:8:"sphinxql";s:13:"show warnings";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:5:"Level";s:7:"warning";s:4:"Code";s:4:"1000";s:7:"Message";s:62:"Query word length is less than min prefix length. word: 'b?x' ";}}}i:16;a:2:{s:8:"sphinxql";s:42:"select * from warn3 where match (' b%x ' )";s:10:"total_rows";i:0;}i:17;a:3:{s:8:"sphinxql";s:13:"show warnings";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:5:"Level";s:7:"warning";s:4:"Code";s:4:"1000";s:7:"Message";s:62:"Query word length is less than min prefix length. word: 'b%x' ";}}}}}sphinx-2.2.11-release/test/test_172/0000755000175000017500000000000012743402012016406 5ustar alexeyalexeysphinx-2.2.11-release/test/test_172/test.xml0000644000175000017500000000267012743402012020114 0ustar alexeyalexey AVG vs group sorting indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query = SELECT * FROM test_table sql_attr_uint = gid sql_attr_uint = price } index test { source = srctest path = /test docinfo = extern } CREATE TABLE test_table ( document_id INTEGER NOT NULL PRIMARY KEY, body VARCHAR(255) NOT NULL, gid INTEGER NOT NULL, price INTEGER NOT NULL ) DROP TABLE IF EXISTS test_table INSERT INTO test_table VALUES ( 1, 'dummy', 1, 5 ), ( 2, 'dummy', 1, 5 ), ( 3, 'dummy', 2, 15 ), ( 4, 'dummy', 3, 30 ), ( 5, 'dummy', 4, 10 ), ( 6, 'dummy', 4, 10 ), ( 7, 'dummy', 4, 10 ), ( 8, 'dummy', 4, 10 ), ( 9, 'dummy', 4, 10 ), ( 10, 'dummy', 5, 1 ), ( 11, 'dummy', 6, 2 ), ( 12, 'dummy', 7, 3 ), ( 13, 'dummy', 8, 4 ), ( 14, 'dummy', 9, 5 ), ( 15, 'dummy', 10, 6 ) SELECT *, AVG(price) AS p FROM test GROUP BY gid ORDER BY p DESC option max_matches=2 SELECT *, AVG(price) AS p FROM test GROUP BY gid ORDER BY p ASC option max_matches=2 SELECT *, AVG(price) AS p FROM test WHERE price>4 GROUP BY gid ORDER BY p ASC option max_matches=2 sphinx-2.2.11-release/test/test_172/model.bin0000644000175000017500000000201212743402012020173 0ustar alexeyalexeya:1:{i:0;a:3:{i:0;a:3:{s:8:"sphinxql";s:85:"SELECT *, AVG(price) AS p FROM test GROUP BY gid ORDER BY p DESC option max_matches=2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:1:"3";s:5:"price";s:2:"30";s:1:"p";s:9:"30.000000";}i:1;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:1:"2";s:5:"price";s:2:"15";s:1:"p";s:9:"15.000000";}}}i:1;a:3:{s:8:"sphinxql";s:84:"SELECT *, AVG(price) AS p FROM test GROUP BY gid ORDER BY p ASC option max_matches=2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:1:"5";s:5:"price";s:1:"1";s:1:"p";s:8:"1.000000";}i:1;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:1:"6";s:5:"price";s:1:"2";s:1:"p";s:8:"2.000000";}}}i:2;a:3:{s:8:"sphinxql";s:98:"SELECT *, AVG(price) AS p FROM test WHERE price>4 GROUP BY gid ORDER BY p ASC option max_matches=2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";s:5:"price";s:1:"5";s:1:"p";s:8:"5.000000";}i:1;a:4:{s:2:"id";s:2:"14";s:3:"gid";s:1:"9";s:5:"price";s:1:"5";s:1:"p";s:8:"5.000000";}}}}}sphinx-2.2.11-release/test/test_171/0000755000175000017500000000000012743402012016405 5ustar alexeyalexeysphinx-2.2.11-release/test/test_171/test.xml0000644000175000017500000004601012743402012020107 0ustar alexeyalexey new and old syntax for id, count, weight, count distinct indexer { mem_limit = 28M } searchd { workers = threads } source auth { type = mysql } source src : auth { sql_query = SELECT id, tag, gr, text FROM test_table WHERE id<4 sql_query_pre = SET NAMES UTF8 sql_attr_uint = tag sql_attr_uint = gr } source src1 : src { sql_query = SELECT id, tag, gr, text FROM test_table WHERE id<3 } source src2 : src { sql_query = SELECT id, tag, gr, text FROM test_table WHERE id=3 } index dist_no { source = src path = /idx docinfo = extern min_word_len = 1 } index idx1 : dist_no { source = src1 path = /idx1 } index idx2 : dist_no { source = src2 path = /idx2 } index dist0 { type = distributed local = dist_no agent_connect_timeout = 1000 agent_query_timeout = 3000 } index dist1 { type = distributed local = idx1 local = idx2 agent_connect_timeout = 1000 agent_query_timeout = 3000 } index dist2 { type = distributed agent = :idx1 local = idx2 agent_connect_timeout = 1000 agent_query_timeout = 3000 } index dist3 { type = distributed local = idx1 agent = :idx2 agent_connect_timeout = 1000 agent_query_timeout = 3000 } source distinct_s1 : src { sql_query = select 1, 'cat', 10 as gr, 101 as tag union \ select 2, 'cat', 10 as gr, 101 as tag union \ select 3, 'cat', 10 as gr, 101 as tag union \ select 4, 'cat', 10 as gr, 101 as tag union \ select 5, 'cat', 10 as gr, 101 as tag union \ select 6, 'cat', 10 as gr, 101 as tag union \ select 7, 'cat', 10 as gr, 101 as tag union \ select 8, 'cat', 20 as gr, 101 as tag union \ select 9, 'cat', 30 as gr, 101 as tag union \ select 10, 'cat', 40 as gr, 101 as tag union \ select 11, 'cat', 30 as gr, 201 as tag } source distinct_s2 : src { sql_query = select 18, 'cat', 10 as gr, 101 as tag union \ select 19, 'cat', 10 as gr, 101 as tag union \ select 21, 'cat', 10 as gr, 101 as tag union \ select 24, 'cat', 10 as gr, 101 as tag union \ select 25, 'cat', 10 as gr, 101 as tag union \ select 26, 'cat', 10 as gr, 101 as tag union \ select 27, 'cat', 10 as gr, 101 as tag union \ select 28, 'cat', 10 as gr, 101 as tag union \ select 29, 'cat', 10 as gr, 101 as tag union \ select 40, 'cat', 10 as gr, 101 as tag union \ select 41, 'cat', 30 as gr, 201 as tag } index distinct1 : dist_no { source = distinct_s1 path = /distinct1 } index distinct2 : dist_no { source = distinct_s2 path = /distinct2 } source sub_src_1 { type = mysql sql_query = SELECT id, 1 as tag, text FROM sub_table WHERE id%2=1 sql_attr_uint = tag } source sub_src_2 { type = mysql sql_query = SELECT id, 1 as tag, text FROM sub_table WHERE id%2=0 sql_attr_uint = tag } index sub_loc_1 { source = sub_src_1 path = /sub_loc_1 docinfo = extern } index sub_loc_2 { source = sub_src_2 path = /sub_loc_2 docinfo = extern } index sub_dist_loc { type = distributed local = sub_loc_1 local = sub_loc_2 } index sub_dist_1 { type = distributed agent = :sub_loc_1 agent = :sub_loc_2 } index sub_dist_2 { type = distributed local = sub_dist_1 agent = :sub_loc_2 } index dist_offset { type = distributed agent = :sub_loc_1 agent = :sub_loc_2 divide_remote_ranges = 1 } source words_src : src { sql_query = SELECT 1 as id, 11 as idd, 'yes of' as title UNION SELECT 2 as id, 22 as idd, 'yes pey' as title sql_query_pre = SET NAMES UTF8 sql_attr_uint = idd } index words1 { source = words_src path = /words1 docinfo = extern charset_table = 0..9, A..Z->a..z, _, a..z } index words2 { source = words_src path = /words2 docinfo = extern charset_table = 0..9, A..X->a..x, _, a..x } index words_rt1 { type = rt path = /words_rt1 charset_table = 0..9, A..Z->a..z, _, a..z rt_field = title rt_attr_uint = idd } index words_rt2 { type = rt path = /words_rt2 charset_table = 0..9, A..X->a..x, _, a..x rt_field = title rt_attr_uint = idd } index dist_just1 { type = distributed agent = :idx1 agent_connect_timeout = 1000 agent_query_timeout = 3000 } source src_j1 : auth { sql_query = SELECT id, body, gr, j FROM json_table1 where id in ( 1,2 ) sql_query_pre = SET NAMES UTF8 sql_attr_uint = gr sql_attr_json = j } index dist_j1 { source = src_j1 path = /j1 docinfo = extern } source src_j2 : src_j1 { sql_query = SELECT id, body, gr, j FROM json_table1 where id in ( 100 ) } index dist_j2 : dist_j1 { source = src_j2 path = /j2 } index dist_j { type = distributed local = dist_j1 local = dist_j2 } select gr, count(*) cnt from dist_no group by gr select gr, count(*) cnt from dist0 group by gr select gr, count(*) cnt from dist1 group by gr select gr, count(*) cnt from dist2 group by gr select gr, count(*) cnt from dist3 group by gr select id idd, weight() cnt from dist_no group by gr select id idd, weight() cnt from dist0 group by gr select id idd, weight() cnt from dist1 group by gr select id idd, weight() cnt from dist2 group by gr select id idd, weight() cnt from dist3 group by gr select count(*) cnt, count (distinct tag) tg from dist_no group by gr select count(*) cnt, count (distinct tag) tg from dist0 group by gr select count(*) cnt, count (distinct tag) tg from dist1 group by gr select count(*) cnt, count (distinct tag) tg from dist2 group by gr select count(*) cnt, count (distinct tag) tg from dist3 group by gr select id, tag from dist_no where match ('test') select id, tag from dist0 where match ('test') select id, tag from dist1 where match ('test') select id, tag from dist2 where match ('test') select id, tag from dist3 where match ('test') select id idd, tag from dist_no where match ('test') select id idd, tag from dist0 where match ('test') select id idd, tag from dist1 where match ('test') select id idd, tag from dist2 where match ('test') select id idd, tag from dist3 where match ('test') select gr, count(*) cnt from dist_no select gr, count(*) cnt from dist0 select gr, count(*) cnt from dist1 select gr from dist_no where count(*)=1 select gr from dist_no where @count=1 select gr from dist_no where weight()=1 select gr from dist_no where @weight=1 select gr from dist0 where count(*)=1 select gr from dist0 where @count=1 select gr from dist0 where weight()=1 select gr from dist0 where @weight=1 select gr from dist1 where count(*)=1 select gr from dist1 where @count=1 select gr from dist1 where weight()=1 select gr from dist1 where @weight=1 select gr from dist2 where count(*)=1 select gr from dist2 where @count=1 select gr from dist2 where weight()=1 select gr from dist2 where @weight=1 select gr from dist3 where count(*)=1 select gr from dist3 where @count=1 select gr from dist3 where weight()=1 select gr from dist3 where @weight=1 select id idd from dist_no where match('test') select count(*) cnt from dist_no group by gr select weight() cnt from dist_no group by gr select id idd from dist0 where match('test') select count(*) cnt from dist0 group by gr select weight() cnt from dist0 group by gr select id idd from dist1 where match('test') select count(*) cnt from dist1 group by gr select weight() cnt from dist1 group by gr select id idd from dist2 where match('test') select count(*) cnt from dist2 group by gr select weight() cnt from dist2 group by gr select id idd from dist3 where match('test') select count(*) cnt from dist3 group by gr select weight() cnt from dist3 group by gr select @id idd, count(*) cnt from dist_no group by gr select id idd, @count cnt from dist_no group by gr select id idd from dist_no where @count=1 group by gr select @id idd from dist_no where count(*)=1 group by gr select id idd from dist_no group by @count select @id idd from dist_no group by count(*) select @id idd, count(*) cnt from dist0 group by gr select id idd, @count cnt from dist0 group by gr select id idd from dist0 where @count=1 group by gr select @id idd from dist0 where count(*)=1 group by gr select id idd from dist0 group by @count select @id idd from dist0 group by count(*) select @id idd, count(*) cnt from dist1 group by gr select id idd, @count cnt from dist1 group by gr select id idd from dist1 where @count=1 group by gr select @id idd from dist1 where count(*)=1 group by gr select id idd from dist1 group by @count select @id idd from dist1 group by count(*) select @id idd, count(*) cnt from dist2 group by gr select id idd, @count cnt from dist2 group by gr select id idd from dist2 where @count=1 group by gr select @id idd from dist2 where count(*)=1 group by gr select id idd from dist2 group by @count select @id idd from dist2 group by count(*) select @id idd, count(*) cnt from dist3 group by gr select id idd, @count cnt from dist3 group by gr select id idd from dist3 where @count=1 group by gr select @id idd from dist3 where count(*)=1 group by gr select id idd from dist3 group by @count select @id idd from dist3 group by count(*) select id, count (distinct tag) tg from dist2 group by gr select id, count (distinct tag) tg from idx1, idx2 group by gr select id, count (distinct tag), count(*) from distinct1, distinct2 group by tag select id, count (distinct gr), count(*) from distinct1, distinct2 group by gr select id, count (distinct tag), count(*) from distinct1, distinct2 group by gr select id, count (distinct gr), count(*) from distinct1, distinct2 group by tag select id, count (distinct tag), count(*) from distinct1, distinct1 group by tag select id, count (distinct gr), count(*) from distinct1, distinct1 group by gr select id, count (distinct tag), count(*) from distinct1, distinct1 group by gr select id, count (distinct gr), count(*) from distinct1, distinct1 group by tag select id, max(tag) as cond from idx1 where cond<5 group by gr SELECT * FROM ( SELECT * FROM sub_dist_loc ORDER BY id asc LIMIT 15 ) ORDER BY id desc LIMIT 3,5 SELECT * FROM ( SELECT * FROM sub_dist_1 ORDER BY id desc LIMIT 7 ) ORDER BY id desc LIMIT 4,3 SELECT * FROM ( SELECT * FROM sub_dist_2 ORDER BY id asc LIMIT 11 ) ORDER BY id desc LIMIT 1,5 SELECT * FROM ( SELECT * FROM sub_dist_loc ORDER BY id asc LIMIT 5 ) ORDER BY id desc LIMIT 2,4 SELECT * FROM dist_offset ORDER BY id asc LIMIT 23, 5 INSERT INTO words_rt1 VALUES ( 100, 'yes of', 111 ), ( 102, 'yes pey', 122 ) INSERT INTO words_rt2 VALUES ( 200, 'yes of', 211 ), ( 202, 'yes pey', 222 ) select * from words1, words2 where match('yes | pey') show meta select * from words_rt1, words_rt2 where match('yes | pey') show meta select * from words_rt1, words2 where match('yes | pey') show meta SELECT id, COUNT(*) FROM dist_no SELECT id, MIN(gr) FROM dist_no SELECT id, COUNT(DISTINCT gr) FROM dist_no SELECT id, COUNT(*) FROM dist_no WITHIN GROUP ORDER BY id DESC SELECT id, COUNT(*) FROM dist2 SELECT id, MIN(gr) FROM dist2 SELECT id, COUNT(DISTINCT gr) FROM dist2 SELECT * FROM idx1 SELECT * FROM idx1 WHERE id>1 SELECT * FROM dist_just1 WHERE id>1 SELECT * FROM ( SELECT @id, @weight FROM sub_dist_loc WHERE MATCH ( 'test ( my | of )' ) ORDER BY @weight asc, @id desc LIMIT 15 ) ORDER BY @weight desc, @id asc LIMIT 0, 5 SELECT * FROM ( SELECT id, weight() as wgt FROM sub_dist_loc WHERE MATCH ( 'test ( my | of )' ) ORDER BY wgt asc, id desc LIMIT 15 ) ORDER BY wgt desc, id asc LIMIT 0, 5 SELECT id, COUNT(*) cc, GROUPBY() gg FROM dist2 GROUP BY gr HAVING COUNT(*)>=1 SELECT id, COUNT(*) cc, GROUPBY() gg FROM dist_no GROUP BY gr HAVING COUNT(*)>=1 SELECT id, COUNT(*) cc, GROUPBY() gg FROM dist2 GROUP BY gr HAVING cc<3 SELECT id, COUNT(*) cc, GROUPBY() gg FROM dist_no GROUP BY gr HAVING cc<3 SELECT id, COUNT(DISTINCT tag) cc, GROUPBY() gg FROM dist2 GROUP BY gr HAVING gg IN ( 1,2,3,10) SELECT id, COUNT(DISTINCT tag) cc, GROUPBY() gg FROM dist_no GROUP BY gr HAVING gg IN ( 1,2,3,10) SELECT id, MIN(gr) aa, COUNT(*) cc, GROUPBY() gg FROM dist2 GROUP BY tag HAVING aa=2 SELECT id, MIN(gr) aa, COUNT(*) cc, GROUPBY() gg FROM dist_no GROUP BY tag HAVING aa=2 SELECT id, MAX(gr) aa, COUNT(*) cc, GROUPBY() gg FROM dist2 GROUP BY tag HAVING aa=3 SELECT id, MAX(gr) aa, COUNT(*) cc, GROUPBY() gg FROM dist_no GROUP BY tag HAVING aa=3 SELECT id, SUM(gr) aa, COUNT(*) cc, GROUPBY() gg FROM dist2 GROUP BY tag HAVING aa>5 SELECT id, SUM(gr) aa, COUNT(*) cc, GROUPBY() gg FROM dist_no GROUP BY tag HAVING aa>5 select id, MIN(tag) aa, COUNT(*) cc, GROUPBY() gg FROM dist2 GROUP 8 BY gr HAVING COUNT(*)=2 select id, SUM(tag) aa, COUNT(*) cc, GROUPBY() gg FROM dist2 GROUP 8 BY gr HAVING aa=4 SELECT id, COUNT(*) cc, GROUPBY() gg FROM dist_j GROUP BY j.j1 HAVING j.j1 IN ( 1,2 ) SELECT id, COUNT(*) cc, GROUPBY() gg FROM dist_j GROUP BY j.j1 HAVING gg IN ( 1,2 ) CREATE TABLE `test_table` ( `id` int(11), `tag` int(11), `gr` int(11), `text` varchar(255) NOT NULL ) DROP TABLE IF EXISTS `test_table` SET NAMES utf8 INSERT INTO `test_table` VALUES ( 1, 2, 3, 'test'), ( 2, 2, 2, 'test'), ( 3, 2, 3, 'test'), ( 4, 2, 10, 'test'), ( 5, 2, 9, 'test'), ( 6, 2, 8, 'test'), ( 7, 2, 7, 'test'), ( 8, 2, 6, 'test'), ( 9, 2, 5, 'test'), ( 10, 2, 4, 'test') CREATE TABLE `sub_table` ( `id` int(11), `text` varchar(255) NOT NULL ) DROP TABLE IF EXISTS `sub_table` INSERT INTO `sub_table` VALUES ( 1, 'test of'),( 2, 'my test'),( 3, 'test is'),( 4, 'goes to test'),( 5, 'test was'), ( 6, 'test of'),( 7, 'my test'),( 8, 'test is'),( 9, 'goes to test'),( 10, 'test was'), ( 11, 'test of'),( 12, 'my test'),( 13, 'test is'),( 14, 'goes to test'),( 15, 'test was'), ( 16, 'test of'),( 17, 'my test'),( 18, 'test is'),( 19, 'goes to test'),( 20, 'test was'), ( 21, 'test of'),( 22, 'my test'),( 23, 'test is'),( 24, 'goes to test'),( 25, 'test was'), ( 101, 'test of'),( 102, 'my test'),( 103, 'test is'),( 104, 'goes to test'),( 105, 'test was'), ( 106, 'test of'),( 107, 'my test'),( 108, 'test is'),( 109, 'goes to test'),( 110, 'test was'), ( 111, 'test of'),( 112, 'my test'),( 113, 'test is'),( 114, 'goes to test'),( 115, 'test was'), ( 116, 'test of'),( 117, 'my test'),( 118, 'test is'),( 119, 'goes to test'),( 120, 'test was') CREATE TABLE `json_table1` ( `id` int(11), `body` varchar(255) NOT NULL, `gr` int(11), `j` varchar(255) NOT NULL ) DROP TABLE IF EXISTS `json_table1` INSERT INTO `json_table1` VALUES ( 1, 'test', 1, '{"j0":"test string","j1":[1,2,3],"j2":3}' ), ( 2, 'test', 2, '{"j1":[10,20,30],"j2":3}' ), ( 100, 'test', 100, '{"j1":[1,200,300],"j2":3}' ) sphinx-2.2.11-release/test/test_171/model.bin0000644000175000017500000011177712743402012020215 0ustar alexeyalexeya:1:{i:0;a:145:{i:0;a:3:{s:8:"sphinxql";s:48:"select gr, count(*) cnt from dist_no group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"gr";s:1:"3";s:3:"cnt";s:1:"2";}i:1;a:2:{s:2:"gr";s:1:"2";s:3:"cnt";s:1:"1";}}}i:1;a:3:{s:8:"sphinxql";s:46:"select gr, count(*) cnt from dist0 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"gr";s:1:"3";s:3:"cnt";s:1:"2";}i:1;a:2:{s:2:"gr";s:1:"2";s:3:"cnt";s:1:"1";}}}i:2;a:3:{s:8:"sphinxql";s:46:"select gr, count(*) cnt from dist1 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"gr";s:1:"3";s:3:"cnt";s:1:"2";}i:1;a:2:{s:2:"gr";s:1:"2";s:3:"cnt";s:1:"1";}}}i:3;a:3:{s:8:"sphinxql";s:46:"select gr, count(*) cnt from dist2 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"gr";s:1:"3";s:3:"cnt";s:1:"2";}i:1;a:2:{s:2:"gr";s:1:"2";s:3:"cnt";s:1:"1";}}}i:4;a:3:{s:8:"sphinxql";s:46:"select gr, count(*) cnt from dist3 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"gr";s:1:"3";s:3:"cnt";s:1:"2";}i:1;a:2:{s:2:"gr";s:1:"2";s:3:"cnt";s:1:"1";}}}i:5;a:3:{s:8:"sphinxql";s:52:"select id idd, weight() cnt from dist_no group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:3:"idd";s:1:"1";s:3:"cnt";s:1:"1";}i:1;a:2:{s:3:"idd";s:1:"2";s:3:"cnt";s:1:"1";}}}i:6;a:3:{s:8:"sphinxql";s:50:"select id idd, weight() cnt from dist0 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:3:"idd";s:1:"1";s:3:"cnt";s:1:"1";}i:1;a:2:{s:3:"idd";s:1:"2";s:3:"cnt";s:1:"1";}}}i:7;a:3:{s:8:"sphinxql";s:50:"select id idd, weight() cnt from dist1 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:3:"idd";s:1:"1";s:3:"cnt";s:1:"1";}i:1;a:2:{s:3:"idd";s:1:"2";s:3:"cnt";s:1:"1";}}}i:8;a:3:{s:8:"sphinxql";s:50:"select id idd, weight() cnt from dist2 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:3:"idd";s:1:"1";s:3:"cnt";s:1:"1";}i:1;a:2:{s:3:"idd";s:1:"2";s:3:"cnt";s:1:"1";}}}i:9;a:3:{s:8:"sphinxql";s:50:"select id idd, weight() cnt from dist3 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:3:"idd";s:1:"1";s:3:"cnt";s:1:"1";}i:1;a:2:{s:3:"idd";s:1:"2";s:3:"cnt";s:1:"1";}}}i:10;a:3:{s:8:"sphinxql";s:69:"select count(*) cnt, count (distinct tag) tg from dist_no group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:3:"cnt";s:1:"2";s:2:"tg";s:1:"1";}i:1;a:2:{s:3:"cnt";s:1:"1";s:2:"tg";s:1:"1";}}}i:11;a:3:{s:8:"sphinxql";s:67:"select count(*) cnt, count (distinct tag) tg from dist0 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:3:"cnt";s:1:"2";s:2:"tg";s:1:"1";}i:1;a:2:{s:3:"cnt";s:1:"1";s:2:"tg";s:1:"1";}}}i:12;a:3:{s:8:"sphinxql";s:67:"select count(*) cnt, count (distinct tag) tg from dist1 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:3:"cnt";s:1:"2";s:2:"tg";s:1:"1";}i:1;a:2:{s:3:"cnt";s:1:"1";s:2:"tg";s:1:"1";}}}i:13;a:3:{s:8:"sphinxql";s:67:"select count(*) cnt, count (distinct tag) tg from dist2 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:3:"cnt";s:1:"2";s:2:"tg";s:1:"1";}i:1;a:2:{s:3:"cnt";s:1:"1";s:2:"tg";s:1:"1";}}}i:14;a:3:{s:8:"sphinxql";s:67:"select count(*) cnt, count (distinct tag) tg from dist3 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:3:"cnt";s:1:"2";s:2:"tg";s:1:"1";}i:1;a:2:{s:3:"cnt";s:1:"1";s:2:"tg";s:1:"1";}}}i:15;a:3:{s:8:"sphinxql";s:48:"select id, tag from dist_no where match ('test')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"tag";s:1:"2";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"tag";s:1:"2";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"tag";s:1:"2";}}}i:16;a:3:{s:8:"sphinxql";s:46:"select id, tag from dist0 where match ('test')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"tag";s:1:"2";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"tag";s:1:"2";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"tag";s:1:"2";}}}i:17;a:3:{s:8:"sphinxql";s:46:"select id, tag from dist1 where match ('test')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"tag";s:1:"2";}i:1;a:2:{s:2:"id";s:1:"1";s:3:"tag";s:1:"2";}i:2;a:2:{s:2:"id";s:1:"2";s:3:"tag";s:1:"2";}}}i:18;a:3:{s:8:"sphinxql";s:46:"select id, tag from dist2 where match ('test')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"tag";s:1:"2";}i:1;a:2:{s:2:"id";s:1:"1";s:3:"tag";s:1:"2";}i:2;a:2:{s:2:"id";s:1:"2";s:3:"tag";s:1:"2";}}}i:19;a:3:{s:8:"sphinxql";s:46:"select id, tag from dist3 where match ('test')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"tag";s:1:"2";}i:1;a:2:{s:2:"id";s:1:"1";s:3:"tag";s:1:"2";}i:2;a:2:{s:2:"id";s:1:"2";s:3:"tag";s:1:"2";}}}i:20;a:3:{s:8:"sphinxql";s:52:"select id idd, tag from dist_no where match ('test')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:3:"idd";s:1:"1";s:3:"tag";s:1:"2";}i:1;a:2:{s:3:"idd";s:1:"2";s:3:"tag";s:1:"2";}i:2;a:2:{s:3:"idd";s:1:"3";s:3:"tag";s:1:"2";}}}i:21;a:3:{s:8:"sphinxql";s:50:"select id idd, tag from dist0 where match ('test')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:3:"idd";s:1:"1";s:3:"tag";s:1:"2";}i:1;a:2:{s:3:"idd";s:1:"2";s:3:"tag";s:1:"2";}i:2;a:2:{s:3:"idd";s:1:"3";s:3:"tag";s:1:"2";}}}i:22;a:3:{s:8:"sphinxql";s:50:"select id idd, tag from dist1 where match ('test')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:3:"idd";s:1:"3";s:3:"tag";s:1:"2";}i:1;a:2:{s:3:"idd";s:1:"1";s:3:"tag";s:1:"2";}i:2;a:2:{s:3:"idd";s:1:"2";s:3:"tag";s:1:"2";}}}i:23;a:3:{s:8:"sphinxql";s:50:"select id idd, tag from dist2 where match ('test')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:3:"idd";s:1:"3";s:3:"tag";s:1:"2";}i:1;a:2:{s:3:"idd";s:1:"1";s:3:"tag";s:1:"2";}i:2;a:2:{s:3:"idd";s:1:"2";s:3:"tag";s:1:"2";}}}i:24;a:3:{s:8:"sphinxql";s:50:"select id idd, tag from dist3 where match ('test')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:3:"idd";s:1:"3";s:3:"tag";s:1:"2";}i:1;a:2:{s:3:"idd";s:1:"1";s:3:"tag";s:1:"2";}i:2;a:2:{s:3:"idd";s:1:"2";s:3:"tag";s:1:"2";}}}i:25;a:3:{s:8:"sphinxql";s:36:"select gr, count(*) cnt from dist_no";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"gr";s:1:"3";s:3:"cnt";s:1:"3";}}}i:26;a:3:{s:8:"sphinxql";s:34:"select gr, count(*) cnt from dist0";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"gr";s:1:"3";s:3:"cnt";s:1:"3";}}}i:27;a:3:{s:8:"sphinxql";s:34:"select gr, count(*) cnt from dist1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"gr";s:1:"3";s:3:"cnt";s:1:"3";}}}i:28;a:3:{s:8:"sphinxql";s:39:"select gr from dist_no where count(*)=1";s:5:"error";s:63:"sphinxql: Aggregates in 'where' clause prohibited, use 'having'";s:5:"errno";i:1064;}i:29;a:3:{s:8:"sphinxql";s:37:"select gr from dist_no where @count=1";s:5:"error";s:63:"sphinxql: Aggregates in 'where' clause prohibited, use 'having'";s:5:"errno";i:1064;}i:30;a:3:{s:8:"sphinxql";s:39:"select gr from dist_no where weight()=1";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"gr";s:1:"3";}i:1;a:1:{s:2:"gr";s:1:"2";}i:2;a:1:{s:2:"gr";s:1:"3";}}}i:31;a:3:{s:8:"sphinxql";s:38:"select gr from dist_no where @weight=1";s:5:"error";s:70:"Using the old-fashion @variables (@count, @weight, etc.) is deprecated";s:5:"errno";i:1064;}i:32;a:3:{s:8:"sphinxql";s:37:"select gr from dist0 where count(*)=1";s:5:"error";s:63:"sphinxql: Aggregates in 'where' clause prohibited, use 'having'";s:5:"errno";i:1064;}i:33;a:3:{s:8:"sphinxql";s:35:"select gr from dist0 where @count=1";s:5:"error";s:63:"sphinxql: Aggregates in 'where' clause prohibited, use 'having'";s:5:"errno";i:1064;}i:34;a:3:{s:8:"sphinxql";s:37:"select gr from dist0 where weight()=1";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"gr";s:1:"3";}i:1;a:1:{s:2:"gr";s:1:"2";}i:2;a:1:{s:2:"gr";s:1:"3";}}}i:35;a:3:{s:8:"sphinxql";s:36:"select gr from dist0 where @weight=1";s:5:"error";s:70:"Using the old-fashion @variables (@count, @weight, etc.) is deprecated";s:5:"errno";i:1064;}i:36;a:3:{s:8:"sphinxql";s:37:"select gr from dist1 where count(*)=1";s:5:"error";s:63:"sphinxql: Aggregates in 'where' clause prohibited, use 'having'";s:5:"errno";i:1064;}i:37;a:3:{s:8:"sphinxql";s:35:"select gr from dist1 where @count=1";s:5:"error";s:63:"sphinxql: Aggregates in 'where' clause prohibited, use 'having'";s:5:"errno";i:1064;}i:38;a:3:{s:8:"sphinxql";s:37:"select gr from dist1 where weight()=1";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"gr";s:1:"3";}i:1;a:1:{s:2:"gr";s:1:"2";}i:2;a:1:{s:2:"gr";s:1:"3";}}}i:39;a:3:{s:8:"sphinxql";s:36:"select gr from dist1 where @weight=1";s:5:"error";s:70:"Using the old-fashion @variables (@count, @weight, etc.) is deprecated";s:5:"errno";i:1064;}i:40;a:3:{s:8:"sphinxql";s:37:"select gr from dist2 where count(*)=1";s:5:"error";s:63:"sphinxql: Aggregates in 'where' clause prohibited, use 'having'";s:5:"errno";i:1064;}i:41;a:3:{s:8:"sphinxql";s:35:"select gr from dist2 where @count=1";s:5:"error";s:63:"sphinxql: Aggregates in 'where' clause prohibited, use 'having'";s:5:"errno";i:1064;}i:42;a:3:{s:8:"sphinxql";s:37:"select gr from dist2 where weight()=1";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"gr";s:1:"3";}i:1;a:1:{s:2:"gr";s:1:"2";}i:2;a:1:{s:2:"gr";s:1:"3";}}}i:43;a:3:{s:8:"sphinxql";s:36:"select gr from dist2 where @weight=1";s:5:"error";s:70:"Using the old-fashion @variables (@count, @weight, etc.) is deprecated";s:5:"errno";i:1064;}i:44;a:3:{s:8:"sphinxql";s:37:"select gr from dist3 where count(*)=1";s:5:"error";s:63:"sphinxql: Aggregates in 'where' clause prohibited, use 'having'";s:5:"errno";i:1064;}i:45;a:3:{s:8:"sphinxql";s:35:"select gr from dist3 where @count=1";s:5:"error";s:63:"sphinxql: Aggregates in 'where' clause prohibited, use 'having'";s:5:"errno";i:1064;}i:46;a:3:{s:8:"sphinxql";s:37:"select gr from dist3 where weight()=1";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"gr";s:1:"3";}i:1;a:1:{s:2:"gr";s:1:"2";}i:2;a:1:{s:2:"gr";s:1:"3";}}}i:47;a:3:{s:8:"sphinxql";s:36:"select gr from dist3 where @weight=1";s:5:"error";s:70:"Using the old-fashion @variables (@count, @weight, etc.) is deprecated";s:5:"errno";i:1064;}i:48;a:3:{s:8:"sphinxql";s:46:"select id idd from dist_no where match('test')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:3:"idd";s:1:"1";}i:1;a:1:{s:3:"idd";s:1:"2";}i:2;a:1:{s:3:"idd";s:1:"3";}}}i:49;a:3:{s:8:"sphinxql";s:44:"select count(*) cnt from dist_no group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:3:"cnt";s:1:"2";}i:1;a:1:{s:3:"cnt";s:1:"1";}}}i:50;a:3:{s:8:"sphinxql";s:44:"select weight() cnt from dist_no group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:3:"cnt";s:1:"1";}i:1;a:1:{s:3:"cnt";s:1:"1";}}}i:51;a:3:{s:8:"sphinxql";s:44:"select id idd from dist0 where match('test')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:3:"idd";s:1:"1";}i:1;a:1:{s:3:"idd";s:1:"2";}i:2;a:1:{s:3:"idd";s:1:"3";}}}i:52;a:3:{s:8:"sphinxql";s:42:"select count(*) cnt from dist0 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:3:"cnt";s:1:"2";}i:1;a:1:{s:3:"cnt";s:1:"1";}}}i:53;a:3:{s:8:"sphinxql";s:42:"select weight() cnt from dist0 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:3:"cnt";s:1:"1";}i:1;a:1:{s:3:"cnt";s:1:"1";}}}i:54;a:3:{s:8:"sphinxql";s:44:"select id idd from dist1 where match('test')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:3:"idd";s:1:"3";}i:1;a:1:{s:3:"idd";s:1:"1";}i:2;a:1:{s:3:"idd";s:1:"2";}}}i:55;a:3:{s:8:"sphinxql";s:42:"select count(*) cnt from dist1 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:3:"cnt";s:1:"2";}i:1;a:1:{s:3:"cnt";s:1:"1";}}}i:56;a:3:{s:8:"sphinxql";s:42:"select weight() cnt from dist1 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:3:"cnt";s:1:"1";}i:1;a:1:{s:3:"cnt";s:1:"1";}}}i:57;a:3:{s:8:"sphinxql";s:44:"select id idd from dist2 where match('test')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:3:"idd";s:1:"3";}i:1;a:1:{s:3:"idd";s:1:"1";}i:2;a:1:{s:3:"idd";s:1:"2";}}}i:58;a:3:{s:8:"sphinxql";s:42:"select count(*) cnt from dist2 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:3:"cnt";s:1:"2";}i:1;a:1:{s:3:"cnt";s:1:"1";}}}i:59;a:3:{s:8:"sphinxql";s:42:"select weight() cnt from dist2 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:3:"cnt";s:1:"1";}i:1;a:1:{s:3:"cnt";s:1:"1";}}}i:60;a:3:{s:8:"sphinxql";s:44:"select id idd from dist3 where match('test')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:3:"idd";s:1:"3";}i:1;a:1:{s:3:"idd";s:1:"1";}i:2;a:1:{s:3:"idd";s:1:"2";}}}i:61;a:3:{s:8:"sphinxql";s:42:"select count(*) cnt from dist3 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:3:"cnt";s:1:"2";}i:1;a:1:{s:3:"cnt";s:1:"1";}}}i:62;a:3:{s:8:"sphinxql";s:42:"select weight() cnt from dist3 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:3:"cnt";s:1:"1";}i:1;a:1:{s:3:"cnt";s:1:"1";}}}i:63;a:3:{s:8:"sphinxql";s:53:"select @id idd, count(*) cnt from dist_no group by gr";s:5:"error";s:163:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near ') cnt from dist_no group by gr'";s:5:"errno";i:1064;}i:64;a:3:{s:8:"sphinxql";s:50:"select id idd, @count cnt from dist_no group by gr";s:5:"error";s:168:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near '@count cnt from dist_no group by gr'";s:5:"errno";i:1064;}i:65;a:3:{s:8:"sphinxql";s:53:"select id idd from dist_no where @count=1 group by gr";s:5:"error";s:153:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near '@count=1 group by gr'";s:5:"errno";i:1064;}i:66;a:3:{s:8:"sphinxql";s:56:"select @id idd from dist_no where count(*)=1 group by gr";s:5:"error";s:148:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near ')=1 group by gr'";s:5:"errno";i:1064;}i:67;a:3:{s:8:"sphinxql";s:42:"select id idd from dist_no group by @count";s:5:"error";s:139:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near '@count'";s:5:"errno";i:1064;}i:68;a:3:{s:8:"sphinxql";s:45:"select @id idd from dist_no group by count(*)";s:5:"error";s:134:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near ')'";s:5:"errno";i:1064;}i:69;a:3:{s:8:"sphinxql";s:51:"select @id idd, count(*) cnt from dist0 group by gr";s:5:"error";s:161:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near ') cnt from dist0 group by gr'";s:5:"errno";i:1064;}i:70;a:3:{s:8:"sphinxql";s:48:"select id idd, @count cnt from dist0 group by gr";s:5:"error";s:166:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near '@count cnt from dist0 group by gr'";s:5:"errno";i:1064;}i:71;a:3:{s:8:"sphinxql";s:51:"select id idd from dist0 where @count=1 group by gr";s:5:"error";s:153:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near '@count=1 group by gr'";s:5:"errno";i:1064;}i:72;a:3:{s:8:"sphinxql";s:54:"select @id idd from dist0 where count(*)=1 group by gr";s:5:"error";s:148:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near ')=1 group by gr'";s:5:"errno";i:1064;}i:73;a:3:{s:8:"sphinxql";s:40:"select id idd from dist0 group by @count";s:5:"error";s:139:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near '@count'";s:5:"errno";i:1064;}i:74;a:3:{s:8:"sphinxql";s:43:"select @id idd from dist0 group by count(*)";s:5:"error";s:134:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near ')'";s:5:"errno";i:1064;}i:75;a:3:{s:8:"sphinxql";s:51:"select @id idd, count(*) cnt from dist1 group by gr";s:5:"error";s:161:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near ') cnt from dist1 group by gr'";s:5:"errno";i:1064;}i:76;a:3:{s:8:"sphinxql";s:48:"select id idd, @count cnt from dist1 group by gr";s:5:"error";s:166:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near '@count cnt from dist1 group by gr'";s:5:"errno";i:1064;}i:77;a:3:{s:8:"sphinxql";s:51:"select id idd from dist1 where @count=1 group by gr";s:5:"error";s:153:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near '@count=1 group by gr'";s:5:"errno";i:1064;}i:78;a:3:{s:8:"sphinxql";s:54:"select @id idd from dist1 where count(*)=1 group by gr";s:5:"error";s:148:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near ')=1 group by gr'";s:5:"errno";i:1064;}i:79;a:3:{s:8:"sphinxql";s:40:"select id idd from dist1 group by @count";s:5:"error";s:139:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near '@count'";s:5:"errno";i:1064;}i:80;a:3:{s:8:"sphinxql";s:43:"select @id idd from dist1 group by count(*)";s:5:"error";s:134:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near ')'";s:5:"errno";i:1064;}i:81;a:3:{s:8:"sphinxql";s:51:"select @id idd, count(*) cnt from dist2 group by gr";s:5:"error";s:161:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near ') cnt from dist2 group by gr'";s:5:"errno";i:1064;}i:82;a:3:{s:8:"sphinxql";s:48:"select id idd, @count cnt from dist2 group by gr";s:5:"error";s:166:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near '@count cnt from dist2 group by gr'";s:5:"errno";i:1064;}i:83;a:3:{s:8:"sphinxql";s:51:"select id idd from dist2 where @count=1 group by gr";s:5:"error";s:153:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near '@count=1 group by gr'";s:5:"errno";i:1064;}i:84;a:3:{s:8:"sphinxql";s:54:"select @id idd from dist2 where count(*)=1 group by gr";s:5:"error";s:148:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near ')=1 group by gr'";s:5:"errno";i:1064;}i:85;a:3:{s:8:"sphinxql";s:40:"select id idd from dist2 group by @count";s:5:"error";s:139:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near '@count'";s:5:"errno";i:1064;}i:86;a:3:{s:8:"sphinxql";s:43:"select @id idd from dist2 group by count(*)";s:5:"error";s:134:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near ')'";s:5:"errno";i:1064;}i:87;a:3:{s:8:"sphinxql";s:51:"select @id idd, count(*) cnt from dist3 group by gr";s:5:"error";s:161:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near ') cnt from dist3 group by gr'";s:5:"errno";i:1064;}i:88;a:3:{s:8:"sphinxql";s:48:"select id idd, @count cnt from dist3 group by gr";s:5:"error";s:166:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near '@count cnt from dist3 group by gr'";s:5:"errno";i:1064;}i:89;a:3:{s:8:"sphinxql";s:51:"select id idd from dist3 where @count=1 group by gr";s:5:"error";s:153:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near '@count=1 group by gr'";s:5:"errno";i:1064;}i:90;a:3:{s:8:"sphinxql";s:54:"select @id idd from dist3 where count(*)=1 group by gr";s:5:"error";s:148:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near ')=1 group by gr'";s:5:"errno";i:1064;}i:91;a:3:{s:8:"sphinxql";s:40:"select id idd from dist3 group by @count";s:5:"error";s:139:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near '@count'";s:5:"errno";i:1064;}i:92;a:3:{s:8:"sphinxql";s:43:"select @id idd from dist3 group by count(*)";s:5:"error";s:134:"sphinxql: Mixing the old-fashion internal vars (@id, @count, @weight) with new acronyms like count(*), weight() is prohibited near ')'";s:5:"errno";i:1064;}i:93;a:3:{s:8:"sphinxql";s:57:"select id, count (distinct tag) tg from dist2 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:2:"tg";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:2:"tg";s:1:"1";}}}i:94;a:3:{s:8:"sphinxql";s:62:"select id, count (distinct tag) tg from idx1, idx2 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:2:"tg";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:2:"tg";s:1:"1";}}}i:95;a:3:{s:8:"sphinxql";s:80:"select id, count (distinct tag), count(*) from distinct1, distinct2 group by tag";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:20:"count (distinct tag)";s:1:"1";s:8:"count(*)";s:2:"20";}i:1;a:3:{s:2:"id";s:2:"11";s:20:"count (distinct tag)";s:1:"1";s:8:"count(*)";s:1:"2";}}}i:96;a:3:{s:8:"sphinxql";s:78:"select id, count (distinct gr), count(*) from distinct1, distinct2 group by gr";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:19:"count (distinct gr)";s:1:"1";s:8:"count(*)";s:2:"17";}i:1;a:3:{s:2:"id";s:1:"8";s:19:"count (distinct gr)";s:1:"1";s:8:"count(*)";s:1:"1";}i:2;a:3:{s:2:"id";s:1:"9";s:19:"count (distinct gr)";s:1:"1";s:8:"count(*)";s:1:"3";}i:3;a:3:{s:2:"id";s:2:"10";s:19:"count (distinct gr)";s:1:"1";s:8:"count(*)";s:1:"1";}}}i:97;a:3:{s:8:"sphinxql";s:79:"select id, count (distinct tag), count(*) from distinct1, distinct2 group by gr";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:20:"count (distinct tag)";s:1:"1";s:8:"count(*)";s:2:"17";}i:1;a:3:{s:2:"id";s:1:"8";s:20:"count (distinct tag)";s:1:"1";s:8:"count(*)";s:1:"1";}i:2;a:3:{s:2:"id";s:1:"9";s:20:"count (distinct tag)";s:1:"3";s:8:"count(*)";s:1:"3";}i:3;a:3:{s:2:"id";s:2:"10";s:20:"count (distinct tag)";s:1:"1";s:8:"count(*)";s:1:"1";}}}i:98;a:3:{s:8:"sphinxql";s:79:"select id, count (distinct gr), count(*) from distinct1, distinct2 group by tag";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:19:"count (distinct gr)";s:1:"4";s:8:"count(*)";s:2:"20";}i:1;a:3:{s:2:"id";s:2:"11";s:19:"count (distinct gr)";s:1:"1";s:8:"count(*)";s:1:"2";}}}i:99;a:3:{s:8:"sphinxql";s:80:"select id, count (distinct tag), count(*) from distinct1, distinct1 group by tag";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:20:"count (distinct tag)";s:1:"1";s:8:"count(*)";s:2:"20";}i:1;a:3:{s:2:"id";s:2:"11";s:20:"count (distinct tag)";s:1:"1";s:8:"count(*)";s:1:"2";}}}i:100;a:3:{s:8:"sphinxql";s:78:"select id, count (distinct gr), count(*) from distinct1, distinct1 group by gr";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:19:"count (distinct gr)";s:1:"1";s:8:"count(*)";s:2:"14";}i:1;a:3:{s:2:"id";s:1:"8";s:19:"count (distinct gr)";s:1:"1";s:8:"count(*)";s:1:"2";}i:2;a:3:{s:2:"id";s:1:"9";s:19:"count (distinct gr)";s:1:"1";s:8:"count(*)";s:1:"4";}i:3;a:3:{s:2:"id";s:2:"10";s:19:"count (distinct gr)";s:1:"1";s:8:"count(*)";s:1:"2";}}}i:101;a:3:{s:8:"sphinxql";s:79:"select id, count (distinct tag), count(*) from distinct1, distinct1 group by gr";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:20:"count (distinct tag)";s:1:"1";s:8:"count(*)";s:2:"14";}i:1;a:3:{s:2:"id";s:1:"8";s:20:"count (distinct tag)";s:1:"1";s:8:"count(*)";s:1:"2";}i:2;a:3:{s:2:"id";s:1:"9";s:20:"count (distinct tag)";s:1:"2";s:8:"count(*)";s:1:"4";}i:3;a:3:{s:2:"id";s:2:"10";s:20:"count (distinct tag)";s:1:"1";s:8:"count(*)";s:1:"2";}}}i:102;a:3:{s:8:"sphinxql";s:79:"select id, count (distinct gr), count(*) from distinct1, distinct1 group by tag";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:19:"count (distinct gr)";s:1:"4";s:8:"count(*)";s:2:"20";}i:1;a:3:{s:2:"id";s:2:"11";s:19:"count (distinct gr)";s:1:"1";s:8:"count(*)";s:1:"2";}}}i:103;a:3:{s:8:"sphinxql";s:62:"select id, max(tag) as cond from idx1 where cond<5 group by gr";s:5:"error";s:57:"index idx1: unsupported filter 'cond' on aggregate column";s:5:"errno";i:1064;}i:104;a:3:{s:8:"sphinxql";s:96:"SELECT * FROM ( SELECT * FROM sub_dist_loc ORDER BY id asc LIMIT 15 ) ORDER BY id desc LIMIT 3,5";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:2:{s:2:"id";s:3:"102";s:3:"tag";s:1:"1";}i:1;a:2:{s:2:"id";s:3:"101";s:3:"tag";s:1:"1";}i:2;a:2:{s:2:"id";s:2:"25";s:3:"tag";s:1:"1";}i:3;a:2:{s:2:"id";s:2:"24";s:3:"tag";s:1:"1";}i:4;a:2:{s:2:"id";s:2:"23";s:3:"tag";s:1:"1";}}}i:105;a:3:{s:8:"sphinxql";s:94:"SELECT * FROM ( SELECT * FROM sub_dist_1 ORDER BY id desc LIMIT 7 ) ORDER BY id desc LIMIT 4,3";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"116";s:3:"tag";s:1:"1";}i:1;a:2:{s:2:"id";s:3:"115";s:3:"tag";s:1:"1";}i:2;a:2:{s:2:"id";s:3:"114";s:3:"tag";s:1:"1";}}}i:106;a:3:{s:8:"sphinxql";s:94:"SELECT * FROM ( SELECT * FROM sub_dist_2 ORDER BY id asc LIMIT 11 ) ORDER BY id desc LIMIT 1,5";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:2:{s:2:"id";s:2:"20";s:3:"tag";s:1:"1";}i:1;a:2:{s:2:"id";s:2:"18";s:3:"tag";s:1:"1";}i:2;a:2:{s:2:"id";s:2:"16";s:3:"tag";s:1:"1";}i:3;a:2:{s:2:"id";s:2:"14";s:3:"tag";s:1:"1";}i:4;a:2:{s:2:"id";s:2:"12";s:3:"tag";s:1:"1";}}}i:107;a:3:{s:8:"sphinxql";s:95:"SELECT * FROM ( SELECT * FROM sub_dist_loc ORDER BY id asc LIMIT 5 ) ORDER BY id desc LIMIT 2,4";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:2:"id";s:1:"8";s:3:"tag";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"7";s:3:"tag";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"6";s:3:"tag";s:1:"1";}i:3;a:2:{s:2:"id";s:1:"5";s:3:"tag";s:1:"1";}}}i:108;a:3:{s:8:"sphinxql";s:53:"SELECT * FROM dist_offset ORDER BY id asc LIMIT 23, 5";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:2:{s:2:"id";s:2:"24";s:3:"tag";s:1:"1";}i:1;a:2:{s:2:"id";s:2:"25";s:3:"tag";s:1:"1";}i:2;a:2:{s:2:"id";s:3:"101";s:3:"tag";s:1:"1";}i:3;a:2:{s:2:"id";s:3:"102";s:3:"tag";s:1:"1";}i:4;a:2:{s:2:"id";s:3:"103";s:3:"tag";s:1:"1";}}}i:109;a:2:{s:8:"sphinxql";s:76:"INSERT INTO words_rt1 VALUES ( 100, 'yes of', 111 ), ( 102, 'yes pey', 122 )";s:14:"total_affected";i:2;}i:110;a:2:{s:8:"sphinxql";s:76:"INSERT INTO words_rt2 VALUES ( 200, 'yes of', 211 ), ( 202, 'yes pey', 222 )";s:14:"total_affected";i:2;}i:111;a:3:{s:8:"sphinxql";s:53:"select * from words1, words2 where match('yes | pey')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"22";}i:1;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:112;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:16;s:4:"rows";a:15:{i:0;a:2:{s:13:"Variable_name";s:7:"warning";s:5:"Value";s:46:"index 'words2': query word(s) mismatch: es, pe";}i:1;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:3;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"yes";}i:4;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:6;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"pey";}i:7;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:8;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}i:9;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:2:"es";}i:10;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:12;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:2:"pe";}i:13;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"1";}i:14;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"1";}}}i:113;a:3:{s:8:"sphinxql";s:59:"select * from words_rt1, words_rt2 where match('yes | pey')";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:2:"id";s:3:"102";s:3:"idd";s:3:"122";}i:1;a:2:{s:2:"id";s:3:"202";s:3:"idd";s:3:"222";}i:2;a:2:{s:2:"id";s:3:"100";s:3:"idd";s:3:"111";}i:3;a:2:{s:2:"id";s:3:"200";s:3:"idd";s:3:"211";}}}i:114;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:16;s:4:"rows";a:15:{i:0;a:2:{s:13:"Variable_name";s:7:"warning";s:5:"Value";s:49:"index 'words_rt2': query word(s) mismatch: es, pe";}i:1;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"4";}i:2;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"4";}i:3;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"yes";}i:4;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:6;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"pey";}i:7;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:8;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}i:9;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:2:"es";}i:10;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:12;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:2:"pe";}i:13;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"1";}i:14;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"1";}}}i:115;a:3:{s:8:"sphinxql";s:56:"select * from words_rt1, words2 where match('yes | pey')";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"22";}i:1;a:2:{s:2:"id";s:3:"102";s:3:"idd";s:3:"122";}i:2;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:3;a:2:{s:2:"id";s:3:"100";s:3:"idd";s:3:"111";}}}i:116;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:16;s:4:"rows";a:15:{i:0;a:2:{s:13:"Variable_name";s:7:"warning";s:5:"Value";s:46:"index 'words2': query word(s) mismatch: es, pe";}i:1;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"4";}i:2;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"4";}i:3;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"yes";}i:4;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:6;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"pey";}i:7;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:8;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}i:9;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:2:"es";}i:10;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:12;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:2:"pe";}i:13;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"1";}i:14;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"1";}}}i:117;a:3:{s:8:"sphinxql";s:32:"SELECT id, COUNT(*) FROM dist_no";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:8:"count(*)";s:1:"3";}}}i:118;a:3:{s:8:"sphinxql";s:31:"SELECT id, MIN(gr) FROM dist_no";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:7:"min(gr)";s:1:"2";}}}i:119;a:3:{s:8:"sphinxql";s:42:"SELECT id, COUNT(DISTINCT gr) FROM dist_no";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:18:"count(distinct gr)";s:1:"2";}}}i:120;a:3:{s:8:"sphinxql";s:62:"SELECT id, COUNT(*) FROM dist_no WITHIN GROUP ORDER BY id DESC";s:5:"error";s:100:"sphinxql: you must specify GROUP BY element in order to use WITHIN GROUP ORDER BY clause near 'DESC'";s:5:"errno";i:1064;}i:121;a:3:{s:8:"sphinxql";s:30:"SELECT id, COUNT(*) FROM dist2";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:8:"count(*)";s:1:"3";}}}i:122;a:3:{s:8:"sphinxql";s:29:"SELECT id, MIN(gr) FROM dist2";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:7:"min(gr)";s:1:"2";}}}i:123;a:3:{s:8:"sphinxql";s:40:"SELECT id, COUNT(DISTINCT gr) FROM dist2";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:18:"count(distinct gr)";s:1:"2";}}}i:124;a:3:{s:8:"sphinxql";s:18:"SELECT * FROM idx1";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"tag";s:1:"2";s:2:"gr";s:1:"2";}}}i:125;a:3:{s:8:"sphinxql";s:29:"SELECT * FROM idx1 WHERE id>1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"2";s:3:"tag";s:1:"2";s:2:"gr";s:1:"2";}}}i:126;a:3:{s:8:"sphinxql";s:35:"SELECT * FROM dist_just1 WHERE id>1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"2";s:3:"tag";s:1:"2";s:2:"gr";s:1:"2";}}}i:127;a:3:{s:8:"sphinxql";s:172:"SELECT * FROM ( SELECT @id, @weight FROM sub_dist_loc WHERE MATCH ( 'test ( my | of )' ) ORDER BY @weight asc, @id desc LIMIT 15 ) ORDER BY @weight desc, @id asc LIMIT 0, 5";s:5:"error";s:70:"Using the old-fashion @variables (@count, @weight, etc.) is deprecated";s:5:"errno";i:1064;}i:128;a:3:{s:8:"sphinxql";s:169:"SELECT * FROM ( SELECT id, weight() as wgt FROM sub_dist_loc WHERE MATCH ( 'test ( my | of )' ) ORDER BY wgt asc, id desc LIMIT 15 ) ORDER BY wgt desc, id asc LIMIT 0, 5";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:2:{s:2:"id";s:1:"7";s:3:"wgt";s:4:"1463";}i:1;a:2:{s:2:"id";s:2:"17";s:3:"wgt";s:4:"1463";}i:2;a:2:{s:2:"id";s:3:"107";s:3:"wgt";s:4:"1463";}i:3;a:2:{s:2:"id";s:3:"117";s:3:"wgt";s:4:"1463";}i:4;a:2:{s:2:"id";s:1:"6";s:3:"wgt";s:4:"1462";}}}i:129;a:3:{s:8:"sphinxql";s:78:"SELECT id, COUNT(*) cc, GROUPBY() gg FROM dist2 GROUP BY gr HAVING COUNT(*)>=1";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"cc";s:1:"2";s:2:"gg";s:1:"3";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"cc";s:1:"1";s:2:"gg";s:1:"2";}}}i:130;a:3:{s:8:"sphinxql";s:80:"SELECT id, COUNT(*) cc, GROUPBY() gg FROM dist_no GROUP BY gr HAVING COUNT(*)>=1";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"cc";s:1:"2";s:2:"gg";s:1:"3";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"cc";s:1:"1";s:2:"gg";s:1:"2";}}}i:131;a:3:{s:8:"sphinxql";s:71:"SELECT id, COUNT(*) cc, GROUPBY() gg FROM dist2 GROUP BY gr HAVING cc<3";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"cc";s:1:"2";s:2:"gg";s:1:"3";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"cc";s:1:"1";s:2:"gg";s:1:"2";}}}i:132;a:3:{s:8:"sphinxql";s:73:"SELECT id, COUNT(*) cc, GROUPBY() gg FROM dist_no GROUP BY gr HAVING cc<3";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"cc";s:1:"2";s:2:"gg";s:1:"3";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"cc";s:1:"1";s:2:"gg";s:1:"2";}}}i:133;a:3:{s:8:"sphinxql";s:95:"SELECT id, COUNT(DISTINCT tag) cc, GROUPBY() gg FROM dist2 GROUP BY gr HAVING gg IN ( 1,2,3,10)";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"cc";s:1:"1";s:2:"gg";s:1:"3";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"cc";s:1:"1";s:2:"gg";s:1:"2";}}}i:134;a:3:{s:8:"sphinxql";s:97:"SELECT id, COUNT(DISTINCT tag) cc, GROUPBY() gg FROM dist_no GROUP BY gr HAVING gg IN ( 1,2,3,10)";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"cc";s:1:"1";s:2:"gg";s:1:"3";}i:1;a:3:{s:2:"id";s:1:"2";s:2:"cc";s:1:"1";s:2:"gg";s:1:"2";}}}i:135;a:3:{s:8:"sphinxql";s:85:"SELECT id, MIN(gr) aa, COUNT(*) cc, GROUPBY() gg FROM dist2 GROUP BY tag HAVING aa=2";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:2:"aa";s:1:"2";s:2:"cc";s:1:"3";s:2:"gg";s:1:"2";}}}i:136;a:3:{s:8:"sphinxql";s:87:"SELECT id, MIN(gr) aa, COUNT(*) cc, GROUPBY() gg FROM dist_no GROUP BY tag HAVING aa=2";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:2:"aa";s:1:"2";s:2:"cc";s:1:"3";s:2:"gg";s:1:"2";}}}i:137;a:3:{s:8:"sphinxql";s:86:"SELECT id, MAX(gr) aa, COUNT(*) cc, GROUPBY() gg FROM dist2 GROUP BY tag HAVING aa=3";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:2:"aa";s:1:"3";s:2:"cc";s:1:"3";s:2:"gg";s:1:"2";}}}i:138;a:3:{s:8:"sphinxql";s:88:"SELECT id, MAX(gr) aa, COUNT(*) cc, GROUPBY() gg FROM dist_no GROUP BY tag HAVING aa=3";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:2:"aa";s:1:"3";s:2:"cc";s:1:"3";s:2:"gg";s:1:"2";}}}i:139;a:3:{s:8:"sphinxql";s:86:"SELECT id, SUM(gr) aa, COUNT(*) cc, GROUPBY() gg FROM dist2 GROUP BY tag HAVING aa>5";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:2:"aa";s:1:"8";s:2:"cc";s:1:"3";s:2:"gg";s:1:"2";}}}i:140;a:3:{s:8:"sphinxql";s:88:"SELECT id, SUM(gr) aa, COUNT(*) cc, GROUPBY() gg FROM dist_no GROUP BY tag HAVING aa>5";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:2:"aa";s:1:"8";s:2:"cc";s:1:"3";s:2:"gg";s:1:"2";}}}i:141;a:3:{s:8:"sphinxql";s:94:"select id, MIN(tag) aa, COUNT(*) cc, GROUPBY() gg FROM dist2 GROUP 8 BY gr HAVING COUNT(*)=2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"1";s:2:"aa";s:1:"2";s:2:"cc";s:1:"2";s:2:"gg";s:1:"3";}i:1;a:4:{s:2:"id";s:1:"3";s:2:"aa";s:1:"2";s:2:"cc";s:1:"2";s:2:"gg";s:1:"3";}}}i:142;a:3:{s:8:"sphinxql";s:88:"select id, SUM(tag) aa, COUNT(*) cc, GROUPBY() gg FROM dist2 GROUP 8 BY gr HAVING aa=4";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"1";s:2:"aa";s:1:"4";s:2:"cc";s:1:"2";s:2:"gg";s:1:"3";}i:1;a:4:{s:2:"id";s:1:"3";s:2:"aa";s:1:"4";s:2:"cc";s:1:"2";s:2:"gg";s:1:"3";}}}i:143;a:3:{s:8:"sphinxql";s:85:"SELECT id, COUNT(*) cc, GROUPBY() gg FROM dist_j GROUP BY j.j1 HAVING j.j1 IN ( 1,2 )";s:5:"error";s:57:"can not use HAVING with attribute not related to GROUP BY";s:5:"errno";i:1064;}i:144;a:3:{s:8:"sphinxql";s:83:"SELECT id, COUNT(*) cc, GROUPBY() gg FROM dist_j GROUP BY j.j1 HAVING gg IN ( 1,2 )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:2:"cc";s:1:"2";s:2:"gg";s:1:"1";}i:1;a:3:{s:2:"id";s:1:"1";s:2:"cc";s:1:"1";s:2:"gg";s:1:"2";}}}}}sphinx-2.2.11-release/test/test_170/0000755000175000017500000000000012743402012016404 5ustar alexeyalexeysphinx-2.2.11-release/test/test_170/test.xml0000644000175000017500000000534512743402012020114 0ustar alexeyalexey duplicate documents vs rt insert batches indexer { mem_limit = 16M } searchd { workers = threads } index rt { type = rt docinfo = extern path = /rt rt_attr_uint = gid rt_field = body rt_mem_limit = 8M } replace into rt (id, gid, body) values ( 1, 10, 'the' ), (2, 20, 'good'), (1, 11, 'a'), (3, 30, 'dog') select * from rt select * from rt where match ('a') select * from rt where match ('the') replace into rt (id, gid, body) values ( 1, 10, 'the' ), (1, 11, 'a'), (2, 20, 'good'), (3, 30, 'dog') select * from rt select * from rt where match ('a') select * from rt where match ('the') replace into rt (id, gid, body) values (2, 20, 'good'), (3, 30, 'dog'), ( 1, 10, 'the' ), (1, 11, 'a') select * from rt select * from rt where match ('a') select * from rt where match ('the') replace into rt (id, gid, body) values ( 1, 10, 'the' ), (2, 20, 'good'), (1, 11, 'b'), (3, 30, 'dog'), (1, 12, 'a') select * from rt select * from rt where match ('a') select * from rt where match ('the | b') replace into rt (id, gid, body) values ( 1, 10, 'the' ), (1, 11, 'b') , (1, 12, 'a'), (2, 20, 'good'), (3, 30, 'dog') select * from rt select * from rt where match ('a') select * from rt where match ('the | b') replace into rt (id, gid, body) values (2, 20, 'good'), (3, 30, 'dog'), ( 1, 10, 'the' ), (1, 11, 'b'), (1, 12, 'a') select * from rt select * from rt where match ('a') select * from rt where match ('the | b') replace into rt (id, gid, body) values ( 1, 10, 'the' ), (1, 11, 'a'), (2, 20, 'good'), (3, 30, 'dog'), (2, 21, 'nice'), (2, 22, 'well'), (4, 40, 'as'), (3, 31, 'cat'), (3, 32, 'bird') select * from rt select * from rt where match ('a') select * from rt where match ('the') select * from rt where match ('well') select * from rt where match ('good | nice') select * from rt where match ('bird') select * from rt where match ('dog | cat') sphinx-2.2.11-release/test/test_170/model.bin0000644000175000017500000001203112743402012020173 0ustar alexeyalexeya:1:{i:0;a:32:{i:0;a:2:{s:8:"sphinxql";s:102:"replace into rt (id, gid, body) values ( 1, 10, 'the' ), (2, 20, 'good'), (1, 11, 'a'), (3, 30, 'dog')";s:14:"total_affected";i:4;}i:1;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"20";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"30";}}}i:2;a:3:{s:8:"sphinxql";s:34:"select * from rt where match ('a')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}}}i:3;a:2:{s:8:"sphinxql";s:36:"select * from rt where match ('the')";s:10:"total_rows";i:0;}i:4;a:2:{s:8:"sphinxql";s:102:"replace into rt (id, gid, body) values ( 1, 10, 'the' ), (1, 11, 'a'), (2, 20, 'good'), (3, 30, 'dog')";s:14:"total_affected";i:4;}i:5;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"20";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"30";}}}i:6;a:3:{s:8:"sphinxql";s:34:"select * from rt where match ('a')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}}}i:7;a:2:{s:8:"sphinxql";s:36:"select * from rt where match ('the')";s:10:"total_rows";i:0;}i:8;a:2:{s:8:"sphinxql";s:102:"replace into rt (id, gid, body) values (2, 20, 'good'), (3, 30, 'dog'), ( 1, 10, 'the' ), (1, 11, 'a')";s:14:"total_affected";i:4;}i:9;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"20";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"30";}}}i:10;a:3:{s:8:"sphinxql";s:34:"select * from rt where match ('a')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}}}i:11;a:2:{s:8:"sphinxql";s:36:"select * from rt where match ('the')";s:10:"total_rows";i:0;}i:12;a:2:{s:8:"sphinxql";s:116:"replace into rt (id, gid, body) values ( 1, 10, 'the' ), (2, 20, 'good'), (1, 11, 'b'), (3, 30, 'dog'), (1, 12, 'a')";s:14:"total_affected";i:5;}i:13;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"12";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"20";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"30";}}}i:14;a:3:{s:8:"sphinxql";s:34:"select * from rt where match ('a')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"12";}}}i:15;a:2:{s:8:"sphinxql";s:40:"select * from rt where match ('the | b')";s:10:"total_rows";i:0;}i:16;a:2:{s:8:"sphinxql";s:117:"replace into rt (id, gid, body) values ( 1, 10, 'the' ), (1, 11, 'b') , (1, 12, 'a'), (2, 20, 'good'), (3, 30, 'dog')";s:14:"total_affected";i:5;}i:17;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"12";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"20";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"30";}}}i:18;a:3:{s:8:"sphinxql";s:34:"select * from rt where match ('a')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"12";}}}i:19;a:2:{s:8:"sphinxql";s:40:"select * from rt where match ('the | b')";s:10:"total_rows";i:0;}i:20;a:2:{s:8:"sphinxql";s:116:"replace into rt (id, gid, body) values (2, 20, 'good'), (3, 30, 'dog'), ( 1, 10, 'the' ), (1, 11, 'b'), (1, 12, 'a')";s:14:"total_affected";i:5;}i:21;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"12";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"20";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"30";}}}i:22;a:3:{s:8:"sphinxql";s:34:"select * from rt where match ('a')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"12";}}}i:23;a:2:{s:8:"sphinxql";s:40:"select * from rt where match ('the | b')";s:10:"total_rows";i:0;}i:24;a:2:{s:8:"sphinxql";s:184:"replace into rt (id, gid, body) values ( 1, 10, 'the' ), (1, 11, 'a'), (2, 20, 'good'), (3, 30, 'dog'), (2, 21, 'nice'), (2, 22, 'well'), (4, 40, 'as'), (3, 31, 'cat'), (3, 32, 'bird')";s:14:"total_affected";i:9;}i:25;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"22";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"32";}i:3;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:2:"40";}}}i:26;a:3:{s:8:"sphinxql";s:34:"select * from rt where match ('a')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:2:"11";}}}i:27;a:2:{s:8:"sphinxql";s:36:"select * from rt where match ('the')";s:10:"total_rows";i:0;}i:28;a:3:{s:8:"sphinxql";s:37:"select * from rt where match ('well')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:2:"22";}}}i:29;a:2:{s:8:"sphinxql";s:44:"select * from rt where match ('good | nice')";s:10:"total_rows";i:0;}i:30;a:3:{s:8:"sphinxql";s:37:"select * from rt where match ('bird')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:2:"32";}}}i:31;a:2:{s:8:"sphinxql";s:42:"select * from rt where match ('dog | cat')";s:10:"total_rows";i:0;}}}sphinx-2.2.11-release/test/test_169/0000755000175000017500000000000012743402012016414 5ustar alexeyalexeysphinx-2.2.11-release/test/test_169/test.xml0000644000175000017500000000343012743402012020115 0ustar alexeyalexey rotation vs old index format searchd { binlog_path = # } indexer { mem_limit = 16M } source dummy { type = mysql sql_query = select * from test_table sql_attr_uint = group_id sql_field_string = title } index small { source = dummy path = /small docinfo = extern } drop table if exists test_table create table test_table ( id INTEGER PRIMARY KEY NOT NULL AUTO_INCREMENT, group_id INTEGER NOT NULL, title VARCHAR(255) NOT NULL, content VARCHAR(1024) NOT NULL ) insert into test_table values ( 1, 1, 'test one', 'this is my test document number one. also checking search within phrases.' ); Query ( $words ); if ( $result ) { unset ( $result["time"] ); return $result; } else return $client->GetLastError(); '); $results = array(); $errors = ''; $results[] = $query ( $client, '' ); $results[] = $query ( $client, 'test' ); foreach (explode(" ", "a d h i k m p s") as $c) exec ( "cp $this_test/refdata/small1.sp$c $index_data_path/small.new.sp$c" ); exec ( "kill -HUP `cat $sd_pid_file`" ); sleep ( 1 ); $results[] = $query ( $client, '' ); $results[] = $query ( $client, 'test' ); foreach (explode(" ", "a d h i k m p s") as $c) exec ( "cp $this_test/refdata/small2.sp$c $index_data_path/small.new.sp$c" ); exec ( "kill -HUP `cat $sd_pid_file`" ); sleep ( 1 ); $results[] = $query ( $client, '' ); $results[] = $query ( $client, 'test' ); ]]> sphinx-2.2.11-release/test/test_169/refdata/0000755000175000017500000000000012743402012020022 5ustar alexeyalexeysphinx-2.2.11-release/test/test_169/refdata/small2.sps0000644000175000017500000000005712743402012021745 0ustar alexeyalexeytest onetest two another docdoc number foursphinx-2.2.11-release/test/test_169/refdata/small2.spp0000644000175000017500000000010312743402012021732 0ustar alexeyalexeysphinx-2.2.11-release/test/test_169/refdata/small2.spm0000644000175000017500000000000012743402012021723 0ustar alexeyalexeysphinx-2.2.11-release/test/test_169/refdata/small2.spk0000644000175000017500000000000012743402012021721 0ustar alexeyalexeysphinx-2.2.11-release/test/test_169/refdata/small2.spi0000644000175000017500000000042712743402012021734 0ustar alexeyalexeyݘ X_l''P ]uQǸV 䱹lہV֐d~r : #Pɦ yW8  {fЈ7 2 I ч  Osphinx-2.2.11-release/test/test_169/refdata/small2.sph0000644000175000017500000000053712743402012021735 0ustar alexeyalexeySPHXtitlecontentgroup_id title style, script, head-, &, @, !, +, U+23 stem_enrusphinx-2.2.11-release/test/test_169/refdata/small2.spd0000644000175000017500000000044612743402012021730 0ustar alexeyalexey    "(    1=sphinx-2.2.11-release/test/test_169/refdata/small2.spa0000644000175000017500000000006012743402012021715 0ustar alexeyalexey sphinx-2.2.11-release/test/test_169/refdata/small1.sps0000644000175000017500000000002312743402012021735 0ustar alexeyalexeytest onetest twosphinx-2.2.11-release/test/test_169/refdata/small1.spp0000644000175000017500000000006712743402012021742 0ustar alexeyalexeysphinx-2.2.11-release/test/test_169/refdata/small1.spm0000644000175000017500000000000012743402012021722 0ustar alexeyalexeysphinx-2.2.11-release/test/test_169/refdata/small1.spk0000644000175000017500000000000012743402012021720 0ustar alexeyalexeysphinx-2.2.11-release/test/test_169/refdata/small1.spi0000644000175000017500000000031312743402012021725 0ustar alexeyalexeyf _'P ]u QǸV Y  T: #p P8  {fi   Osphinx-2.2.11-release/test/test_169/refdata/small1.sph0000644000175000017500000000053712743402012021734 0ustar alexeyalexeySPHXtitlecontentgroup_id title |style, script, head-, &, @, !, +, U+23 stem_enrusphinx-2.2.11-release/test/test_169/refdata/small1.spd0000644000175000017500000000026312743402012021724 0ustar alexeyalexey    "    +sphinx-2.2.11-release/test/test_169/refdata/small1.spa0000644000175000017500000000003012743402012021711 0ustar alexeyalexey sphinx-2.2.11-release/test/test_169/model.bin0000644000175000017500000000561612743402012020216 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:6:{i:0;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:8:"group_id";i:1;s:5:"title";i:7;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";i:1;s:5:"title";s:8:"test one";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:8:"group_id";i:1;s:5:"title";i:7;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:2:{s:8:"group_id";i:1;s:5:"title";s:8:"test one";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}}i:2;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:8:"group_id";i:1;s:5:"title";i:7;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";i:1;s:5:"title";s:8:"test one";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";i:1;s:5:"title";s:8:"test two";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";}i:3;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:8:"group_id";i:1;s:5:"title";i:7;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"2302";s:5:"attrs";a:2:{s:8:"group_id";i:1;s:5:"title";s:8:"test one";}}i:2;a:2:{s:6:"weight";s:4:"2302";s:5:"attrs";a:2:{s:8:"group_id";i:1;s:5:"title";s:8:"test two";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"4";}}}i:4;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:8:"group_id";i:1;s:5:"title";i:7;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";i:1;s:5:"title";s:8:"test one";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";i:1;s:5:"title";s:8:"test two";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";i:2;s:5:"title";s:11:"another doc";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";i:2;s:5:"title";s:15:"doc number four";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";}i:5;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:8:"group_id";i:1;s:5:"title";i:7;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"2421";s:5:"attrs";a:2:{s:8:"group_id";i:1;s:5:"title";s:8:"test one";}}i:2;a:2:{s:6:"weight";s:4:"2421";s:5:"attrs";a:2:{s:8:"group_id";i:1;s:5:"title";s:8:"test two";}}i:4;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:2:{s:8:"group_id";i:2;s:5:"title";s:15:"doc number four";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"5";}}}}}}sphinx-2.2.11-release/test/test_168/0000755000175000017500000000000012743402012016413 5ustar alexeyalexeysphinx-2.2.11-release/test/test_168/text2.txt0000644000175000017500000002056112743402012020226 0ustar alexeyalexeyАлгоритм Евклида
\r\n
Утверждение
\r\n
\r\n

Для любых двух натуральных чисел $a > b$ верно следующее равенство: $\\mbox{НОД} (a; b) = \\mbox{НОД} (a - b; b)$.

\r\n
\r\n

ДОКАЗАТЕЛЬСТВО

\r\n
\r\n

$n=\\mbox{НОД} (a; b)$ -- наибольший среди всех общих делителей чисел $a$ и $b$, тогда $a\\;\\vdots\\;n$ и $b\\;\\vdots\\;n$. Отсюда $a-b\\;\\vdots\\; n$, значит, $n$ -- делитель $a-b$ и $b$, он не превосходит наибольшего из всех общих делителей чисел $a-b$ и $b$, т.е. $n\\leqslant m=\\textrm{НОД}(a; b)$. Аналогично, рассуждая получаем, что $a-b\\;\\vdots\\; m$ и $b\\;\\vdots\\; m=\\textrm{НОД}(a; b)$. Отсюда $a=(a-b)+b \\;\\vdots\\; m$, значит, $m$ -- делитель $a$ и $b$, он не превосходит наибольшего и всех общих делителей чисел $a$ и $b$, т.е. $m\\leqslant n=\\textrm{НОД}(a; b)$. Таким образом получаем $m\\leqslant n\\leqslant m$, т.е. $\\mbox{НОД} (a; b) =n=m= \\mbox{НОД} (a - b; b)$. Утверждение доказано.

\r\n
\r\n
\r\n
 
\r\n
\r\n
\r\n
\r\n
\r\n

Теперь перейдем к описанию алгоритма Евклида для нахождения наибольшего общего делителя двух чисел.

\r\n

Пусть $a\\geqslant b$, тогда мы можем поделить $a$ на $b$ cостатком $a=kb+r_1$, где $0\\leqslant r_1\\leqslant b-1$. Тогда, пользуясь утверждением, мы получаем: $$\\textrm{НОД}(a; b)=\\textrm{НОД}(a-b; b)=\\textrm{НОД}(a-2b;b)=\\dots=\\textrm{НОД}(a-kb; b)=\\textrm{НОД}(r_1; b)$$ Если оказалось, что $r_1=0$, то $\\textrm{НОД}(a;b)=\\textrm{НОД}(0; b)=b$. Если же $r_1>0$, тогда мы вновь делим $b$ c остатком на $r_1$: $b=k_1r_1+r_2$, где $0\\leqslant r_2\\leqslant r_1-1$. Тогда вновь мы получаем, что $$\\textrm{НОД}(r_1; b)=\\textrm{НОД}(r_1; b-k_1r_1)=\\textrm{НОД}(r_1; r_2).$$ Если $r_2=0$, то $$\\textrm{НОД}(a; b)=\\textrm{НОД}(r_1; b)= \\textrm{НОД}(r_1; r_2)= \\textrm{НОД}(r_1; 0)=r_1.$$ Если же $r_2\\ne0$, то мы продолжаем действовать аналогично. В итоге однажды мы получим $0$ в качестве одного из остатков, т.к. остатки постоянно уменьшаются, а уменьшаться бесконечно они не могут (это целые неотрицательные числа).

\r\n

Обычно поиск НОД с помощью алгоритма Евклида схематично записывают следующим образом:

\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
$a=kb+r_1$, где $0<r_1\\leqslant b-1$$\\textrm{НОД}(a; b)=\\textrm{НОД}(b; r_1)$
 $b=k_1r_1+r_2$, где $0<r_2\\leqslant r_1-1$ $\\textrm{НОД}(r_1; b)=\\textrm{НОД}(r_1; r_2)$
  $r_1=k_2r_2+r_3$, где $0<r_3\\leqslant r_2-1$ $\\textrm{НОД}(r_1; r_2)=\\textrm{НОД}(r_2; r_3)$ 
 $\\dots$$\\dots$ 
 $r_{n-1}=k_nr_n+r_{n+1}$, где $0<r_{n+1}\\leqslant r_n-1$ $\\textrm{НОД}(r_{n-1}; r_{n})=\\textrm{НОД}(r_{n}; r_{n+1})$ 
$r_{n}=k_{n+1}r_{n+1}$ $\\textrm{НОД}(r_{n}; r_{n+1})=\\textrm{НОД} (r_{n+1},0)=r_{n+1}$ 
\r\n

С помощью алгоритма Евклида можно доказать следующую теорему.

\r\n
\r\n
Теорема
\r\n
\r\n

Для любых натуральных $a$ и $b$ найдутся такие целые $x$ и $y$, что $$xa+yb=\\textrm{НОД}(a; b).$$

\r\n
\r\n

ПЛАН ДОКАЗАТЕЛЬСТВА

\r\n
\r\n

Доказательство данного утверждения основано на таблице, написанной выше для алгоритма Евклида. Оно будет проходить по индукции, но мы не будем формально доказывать это утверждение.

\r\n

Вначале заметим, что для $\\textrm{НОД} (r_{n-1}, r_n)=r_{n+1}=r_{n-1}-k_nr_n=x_{n-1}r_{n-1}+y_{n-1}r_n.$ Здесь $x_{n-1}$ и $y_{n-1}$ -- целые числа. Далее мы подставляем в это выражение запись для $r_{n}$ через  $r_{n-2}$ и $r_{n-1}$ (в таблице эта запись не приведена, но можно догадаться, что она должна быть именно такой): $r_n=r_{n-2}-k_{n-1}r_{n-1}.$ Тогда мы несложно получаем,  что $$\\textrm{НОД}(r_{n-2}, r_{n-1})=\\textrm{НОД} (r_{n-1}, r_n)=r_{n+1}=$$$$=x_{n-1}r_{n-1}+y_{n-1}r_n=x_{n-1}r_{n-1}+k_n(r_{n-2}-k_{n-1}r_{n-1})=$$$$=k_nr_{n-2}+ (x_{n-1}-k_nk_{n-1})r_{n-1}=x_{n-2}r_{n-2}+y_{n-2}r_{n-1}.$$ Здесь $x_{n-2}$ и $y_{n-2}$ -- некоторые целые числа.

\r\n

Далее мы продолжаем в том же самом русле (именно здесь мы опускаем индукционное рассуждение): подставляем запись для $r_{n-1}$ через $r_{n-3}$ и $r_{n-2}$, получаем целые числа $x_{n-3}$ и $y_{n-3}$, потом подставляем запись для $r_{n-2}$ через $r_{n-4}$ и $r_{n-3}$ и т.д., в конце подставить запись $r_1$ через $a$ и $b$ и получаем нужные нам целые $x$ и $y$.

\r\n
\r\n
\r\n
 
\r\n
\r\n
\r\n
\r\n

\r\n
\r\n
\r\n
Утверждение
\r\n
\r\n

Для любых двух натуральных чисел $a > b$ верно с ледующее равенство: $\\mbox{НОД} (a; b) = \\mbox{НОД} (a - b; b)$.

\r\n
\r\n
\r\n

На этом утверждении основан простой способ отыскания наибольшего общего делителя двух чисел. Он называется алгоритм Евклида и заключается в следующем. Для нахождения наибольшего общего делителя двух чисел нужно заменить большее из чисел на остаток от деления его на меньшее и для полученной пары повторять эту процедуру, пока одно из чисел не станет равно нулю. Тогда второе число будет равно наибольшему общему делителю исходных чисел. 

\r\n

Например, $\\mbox{НОД} (175; 90) = \\mbox{НОД} (85; 90) = \\mbox{НОД} (85; 5) = \\mbox{НОД} (0; 5) = 5$.

\r\n
\r\n
sphinx-2.2.11-release/test/test_168/text1.txt0000644000175000017500000000505312743402012020224 0ustar alexeyalexeyor ask around on community forum for advice.

','

3.8. SQL data sources (MySQL, PostgreSQL)

With all the SQL drivers, indexing generally works as follows.

Most options, such as database user/host/password, are straightforward. However, there are a few subtle things, which are discussed in more detail here.

Ranged queries

Main query, which needs to fetch all the documents, can impose a read lock on the whole table and stall the concurrent queries (eg. INSERTs to MyISAM table), waste a lot of memory for result set, etc. To avoid this, Sphinx supports so-called ranged queries. With ranged queries, Sphinx first fetches min and max document IDs from the table, and then substitutes different ID intervals into main query text and runs the modified query to fetch another chunk of documents.sphinx-2.2.11-release/test/test_168/test.xml0000644000175000017500000001356412743402012020125 0ustar alexeyalexey snippet vs blended indexer { mem_limit = 16M } searchd { snippets_file_prefix = / } source src { type = mysql sql_query = SELECT 1, 'dummy', 1 as idd sql_attr_uint = idd } index idx { source = src docinfo = extern path = /main blend_chars = . } index idx2 { source = src docinfo = extern path = /idx2 morphology = stem_en charset_table = 0..9, a..z, A..Z->a..z blend_chars = U+0028, U+0029, U+002f, U+002b blend_mode = trim_none, trim_head, trim_tail, trim_both, skip_pure } index idx_blend1 { type =template html_strip = 1 min_word_len = 2 min_infix_len = 3 index_sp = 1 dict = keywords morphology = stem_en,stem_ru blend_chars = . blend_mode = trim_both } index idx_blend2 { type = template min_word_len = 2 charset_type = utf-8 charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F, U+0401->U+0435, U+0451->U+0435, U+A8->U+E5, U+B8->U+E5 ignore_chars = U+AD min_prefix_len = 2 blend_chars = +, U+23 html_strip = 1 index_exact_words = 1 morphology = stem_ru } CALL SNIPPETS ('and here we go 2524460. 989561 as you said', 'idx', '=2524460.', 1 as query_mode, 4 as limit_words, 2 as around) CALL SNIPPETS ('What are you need here (exactly)? are dude friendly? As I know this dude\/buddy.', 'idx2', '\(exactly\) | =dude\/buddy', 1 as query_mode, 60 as limit, 2 as around) CALL SNIPPETS ('What are you need here (exactly)? are dude friendly? As I know this dude\/buddy.', 'idx2', '\(exactly\) dude\/buddy', 0 as query_mode, 2 as around) CALL SNIPPETS ('What are you need here (exactly)? are dude friendly? As I know this dude\/buddy.', 'idx2', '\(exactly\) | dude\/buddy', 1 as query_mode, 2 as around) CALL SNIPPETS ('What are you need here (exactly)? are dude friendly? As I know this dude\/buddy.', 'idx2', '\(exactly\) buddy', 0 as query_mode, 2 as around) CALL SNIPPETS ('What are you need here (exactly)? are dude friendly? As I know this dude\/buddy.', 'idx2', '\(exactly\) | buddy', 1 as query_mode, 2 as around) CALL SNIPPETS ('What are you need here+ (exactly)?', 'idx2', '\(exactly\)', 0 as query_mode, 3 as limit_passages, 2 as around) CALL SNIPPETS ('What are you need here+ (exactly)?', 'idx2', '\(exactly\)', 0 as query_mode, 0 as around, 0 as limit) CALL SNIPPETS ('What are you need here+ (exactly)?', 'idx2', '\(exactly\)', 1 as query_mode, 3 as limit_passages, 2 as around) CALL SNIPPETS ('What are you need here+ (exactly)?', 'idx2', '\(exactly\)', 1 as query_mode, 0 as around, 0 as limit) CALL SNIPPETS ('abc +hashtag abc', 'idx2', '+hashtag', 0 as query_mode, 0 as around, 0 as limit) CALL SNIPPETS ('abc +hashtag abc', 'idx2', '+hashtag', 1 as query_mode, 0 as around, 0 as limit) CALL SNIPPETS ('abc +hashtag +hashtag abc', 'idx2', '+hashtag', 0 as query_mode, 0 as around, 0 as limit) CALL SNIPPETS ('abc +hashtag +hashtag abc', 'idx2', '+hashtag', 1 as query_mode, 0 as around, 0 as limit) CALL SNIPPETS ('abc +hashtag +hashtag', 'idx2', '+hashtag', 0 as query_mode, 0 as around, 0 as limit) CALL SNIPPETS ('abc +hashtag +hashtag', 'idx2', '+hashtag', 1 as query_mode, 0 as around, 0 as limit) CALL SNIPPETS ('abc +hashtag+bag abc', 'idx2', '+hashtag', 0 as query_mode, 0 as around, 0 as limit) CALL SNIPPETS ('abc +hashtag+bag abc', 'idx2', '+hashtag', 1 as query_mode, 0 as around, 0 as limit) CALL SNIPPETS ('abc +hashtag+bag abc', 'idx2', '+hashtag+bag', 0 as query_mode, 0 as around, 0 as limit) CALL SNIPPETS ('abc +hashtag+bag abc', 'idx2', '+hashtag+bag', 1 as query_mode, 0 as around, 0 as limit) CALL SNIPPETS ('abc +hashtag+bag abc', 'idx2', '+hashtag +bag', 0 as query_mode, 0 as around, 0 as limit) CALL SNIPPETS ('abc +hashtag+bag abc', 'idx2', '+hashtag +bag', 1 as query_mode, 0 as around, 0 as limit) CALL SNIPPETS ('hashtag+bag abc for me is not so long but who knows', 'idx2', 'hashtag+bag', 1 as query_mode, 40 as limit) CALL SNIPPETS ('for me is not so long but who knows abc hashtag+bag', 'idx2', 'hashtag+bag', 1 as query_mode, 40 as limit) CALL SNIPPETS ('for me is not so long abc hashtag+bag but who knows everyone is not same abc hashtag+bag as me or someone', 'idx2', 'hashtag+bag', 1 as query_mode, 40 as limit) CALL SNIPPETS ('for me is not so long abc hashtag+bag but who knows everyone is not same abc hashtag+bag as me or someone', 'idx2', 'hashtag+bag', 1 as query_mode, 80 as limit) CALL SNIPPETS ('+hashtag for me is not so long but who knows', 'idx2', '+hashtag', 1 as query_mode, 40 as limit) CALL SNIPPETS (('text1.txt'),'idx_blend1','mysql query',1 AS load_files) CALL SNIPPETS (('text2.txt'),'idx_blend2','*алгоритм*',1 AS load_files) CREATE TABLE test_table ( id INTEGER AUTO_INCREMENT PRIMARY KEY NOT NULL, title VARCHAR(255) NOT NULL ); INSERT INTO `test_table` VALUES ( 1, 'dummy' ) DROP TABLE IF EXISTS test_table sphinx-2.2.11-release/test/test_168/model.bin0000644000175000017500000002104412743402012020206 0ustar alexeyalexeya:1:{i:0;a:29:{i:0;a:3:{s:8:"sphinxql";s:128:"CALL SNIPPETS ('and here we go 2524460. 989561 as you said', 'idx', '=2524460.', 1 as query_mode, 4 as limit_words, 2 as around)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:39:" ... we go 2524460. 989561 ... ";}}}i:1;a:3:{s:8:"sphinxql";s:179:"CALL SNIPPETS ('What are you need here (exactly)? are dude friendly? As I know this dude\/buddy.', 'idx2', '\(exactly\) | =dude\/buddy', 1 as query_mode, 60 as limit, 2 as around)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:76:" ... need here (exactly)? are dude ... know this dude/buddy.";}}}i:2;a:3:{s:8:"sphinxql";s:163:"CALL SNIPPETS ('What are you need here (exactly)? are dude friendly? As I know this dude\/buddy.', 'idx2', '\(exactly\) dude\/buddy', 0 as query_mode, 2 as around)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:114:"What are you need here (exactly)? are dude friendly? As I know this dude/buddy.";}}}i:3;a:3:{s:8:"sphinxql";s:165:"CALL SNIPPETS ('What are you need here (exactly)? are dude friendly? As I know this dude\/buddy.', 'idx2', '\(exactly\) | dude\/buddy', 1 as query_mode, 2 as around)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:93:"What are you need here (exactly)? are dude friendly? As I know this dude/buddy.";}}}i:4;a:3:{s:8:"sphinxql";s:157:"CALL SNIPPETS ('What are you need here (exactly)? are dude friendly? As I know this dude\/buddy.', 'idx2', '\(exactly\) buddy', 0 as query_mode, 2 as around)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:107:"What are you need here (exactly)? are dude friendly? As I know this dude/buddy.";}}}i:5;a:3:{s:8:"sphinxql";s:159:"CALL SNIPPETS ('What are you need here (exactly)? are dude friendly? As I know this dude\/buddy.', 'idx2', '\(exactly\) | buddy', 1 as query_mode, 2 as around)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:93:"What are you need here (exactly)? are dude friendly? As I know this dude/buddy.";}}}i:6;a:3:{s:8:"sphinxql";s:126:"CALL SNIPPETS ('What are you need here+ (exactly)?', 'idx2', '\(exactly\)', 0 as query_mode, 3 as limit_passages, 2 as around)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:55:"What are you need here+ (exactly)?";}}}i:7;a:3:{s:8:"sphinxql";s:117:"CALL SNIPPETS ('What are you need here+ (exactly)?', 'idx2', '\(exactly\)', 0 as query_mode, 0 as around, 0 as limit)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:55:"What are you need here+ (exactly)?";}}}i:8;a:3:{s:8:"sphinxql";s:126:"CALL SNIPPETS ('What are you need here+ (exactly)?', 'idx2', '\(exactly\)', 1 as query_mode, 3 as limit_passages, 2 as around)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:41:"What are you need here+ (exactly)?";}}}i:9;a:3:{s:8:"sphinxql";s:117:"CALL SNIPPETS ('What are you need here+ (exactly)?', 'idx2', '\(exactly\)', 1 as query_mode, 0 as around, 0 as limit)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:41:"What are you need here+ (exactly)?";}}}i:10;a:3:{s:8:"sphinxql";s:96:"CALL SNIPPETS ('abc +hashtag abc', 'idx2', '+hashtag', 0 as query_mode, 0 as around, 0 as limit)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"abc +hashtag abc";}}}i:11;a:3:{s:8:"sphinxql";s:96:"CALL SNIPPETS ('abc +hashtag abc', 'idx2', '+hashtag', 1 as query_mode, 0 as around, 0 as limit)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:23:"abc +hashtag abc";}}}i:12;a:3:{s:8:"sphinxql";s:105:"CALL SNIPPETS ('abc +hashtag +hashtag abc', 'idx2', '+hashtag', 0 as query_mode, 0 as around, 0 as limit)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:53:"abc +hashtag +hashtag abc";}}}i:13;a:3:{s:8:"sphinxql";s:105:"CALL SNIPPETS ('abc +hashtag +hashtag abc', 'idx2', '+hashtag', 1 as query_mode, 0 as around, 0 as limit)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:32:"abc +hashtag +hashtag abc";}}}i:14;a:3:{s:8:"sphinxql";s:101:"CALL SNIPPETS ('abc +hashtag +hashtag', 'idx2', '+hashtag', 0 as query_mode, 0 as around, 0 as limit)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:49:"abc +hashtag +hashtag";}}}i:15;a:3:{s:8:"sphinxql";s:101:"CALL SNIPPETS ('abc +hashtag +hashtag', 'idx2', '+hashtag', 1 as query_mode, 0 as around, 0 as limit)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:28:"abc +hashtag +hashtag";}}}i:16;a:3:{s:8:"sphinxql";s:100:"CALL SNIPPETS ('abc +hashtag+bag abc', 'idx2', '+hashtag', 0 as query_mode, 0 as around, 0 as limit)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:27:"abc +hashtag+bag abc";}}}i:17;a:3:{s:8:"sphinxql";s:100:"CALL SNIPPETS ('abc +hashtag+bag abc', 'idx2', '+hashtag', 1 as query_mode, 0 as around, 0 as limit)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:20:"abc +hashtag+bag abc";}}}i:18;a:3:{s:8:"sphinxql";s:104:"CALL SNIPPETS ('abc +hashtag+bag abc', 'idx2', '+hashtag+bag', 0 as query_mode, 0 as around, 0 as limit)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:41:"abc +hashtag+bag abc";}}}i:19;a:3:{s:8:"sphinxql";s:104:"CALL SNIPPETS ('abc +hashtag+bag abc', 'idx2', '+hashtag+bag', 1 as query_mode, 0 as around, 0 as limit)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:27:"abc +hashtag+bag abc";}}}i:20;a:3:{s:8:"sphinxql";s:105:"CALL SNIPPETS ('abc +hashtag+bag abc', 'idx2', '+hashtag +bag', 0 as query_mode, 0 as around, 0 as limit)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:34:"abc +hashtag+bag abc";}}}i:21;a:3:{s:8:"sphinxql";s:105:"CALL SNIPPETS ('abc +hashtag+bag abc', 'idx2', '+hashtag +bag', 1 as query_mode, 0 as around, 0 as limit)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:20:"abc +hashtag+bag abc";}}}i:22;a:3:{s:8:"sphinxql";s:122:"CALL SNIPPETS ('hashtag+bag abc for me is not so long but who knows', 'idx2', 'hashtag+bag', 1 as query_mode, 40 as limit)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:42:"hashtag+bag abc for me is not ... ";}}}i:23;a:3:{s:8:"sphinxql";s:122:"CALL SNIPPETS ('for me is not so long but who knows abc hashtag+bag', 'idx2', 'hashtag+bag', 1 as query_mode, 40 as limit)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:47:" ... long but who knows abc hashtag+bag";}}}i:24;a:3:{s:8:"sphinxql";s:176:"CALL SNIPPETS ('for me is not so long abc hashtag+bag but who knows everyone is not same abc hashtag+bag as me or someone', 'idx2', 'hashtag+bag', 1 as query_mode, 40 as limit)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:55:" ... so long abc hashtag+bag but who knows ... ";}}}i:25;a:3:{s:8:"sphinxql";s:176:"CALL SNIPPETS ('for me is not so long abc hashtag+bag but who knows everyone is not same abc hashtag+bag as me or someone', 'idx2', 'hashtag+bag', 1 as query_mode, 80 as limit)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:102:" ... not so long abc hashtag+bag but who knows ... same abc hashtag+bag as me or ... ";}}}i:26;a:3:{s:8:"sphinxql";s:112:"CALL SNIPPETS ('+hashtag for me is not so long but who knows', 'idx2', '+hashtag', 1 as query_mode, 40 as limit)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:38:"+hashtag for me is not so ... ";}}}i:27;a:3:{s:8:"sphinxql";s:72:"CALL SNIPPETS (('text1.txt'),'idx_blend1','mysql query',1 AS load_files)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:329:" ... per-connection encoding with MySQL; main query (see Section 12.1.12 ... is established again; post-index query (see Section 12.1.29, ... more detail here. Ranged queries Main query, which needs to ... so-called ranged queries. With ranged queries, Sphinx first fetches ... ";}}}i:28;a:3:{s:8:"sphinxql";s:79:"CALL SNIPPETS (('text2.txt'),'idx_blend2','*алгоритм*',1 AS load_files)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:429:" ... - b; b)$. Утверждение доказано. \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Теперь перейдем к описанию алгоритма Евклида для нахождения наибольшего общего ... НОД} (r_{n+1},0)=r_{n+1}$ \r\n \r\n \r\n \r\n С помощью алгоритма Евклида можно доказать следующую теорему ... ";}}}}}sphinx-2.2.11-release/test/test_167/0000755000175000017500000000000012743402012016412 5ustar alexeyalexeysphinx-2.2.11-release/test/test_167/test.xml0000644000175000017500000000335512743402012020121 0ustar alexeyalexey min_word_len vs tail of the query indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query = SELECT * FROM test_table } index test { source = srctest path = /test exceptions = synonyms.txt min_word_len = 3 min_word_len = 4 min_word_len = 5 min_prefix_len = 3 min_prefix_len = 4 min_prefix_len = 5 } select * from test where match('@(author) luther @(title) ccc') CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `author` varchar(255) NOT NULL default '', `title` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'luther', 'a' ), ( 2, 'luther', 'bb' ), ( 3, 'luther', 'ccc' ), ( 4, 'luther', 'dddd' ), ( 5, 'luther', 'eeeee' ), ( 6, 'luther', 'ffffff' ), ( 7, 'luther', 'ggggggg' ), ( 8, 'luther', 'hello world' ), ( 9, 'luther', 'hello a world' ), ( 10, 'luther', 'hello aa world' ), ( 11, 'luther', 'hello aaa world' ), ( 12, 'luther', 'hello aaaa world' ), ( 13, 'luther', 'hello aaaaa world' ), ( 14, 'luther', 'hello me world' ), ( 15, 'luther', 'hello two world' ), ( 16, 'luther', 'hello four world' ) sphinx-2.2.11-release/test/test_167/model.bin0000644000175000017500000001772712743402012020222 0ustar alexeyalexeya:18:{i:0;a:1:{i:0;a:3:{s:8:"sphinxql";s:63:"select * from test where match('@(author) luther @(title) ccc')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"3";}}}}i:1;a:1:{i:0;a:3:{s:8:"sphinxql";s:63:"select * from test where match('@(author) luther @(title) ccc')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"3";}}}}i:2;a:1:{i:0;a:3:{s:8:"sphinxql";s:63:"select * from test where match('@(author) luther @(title) ccc')";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}i:2;a:1:{s:2:"id";s:1:"3";}i:3;a:1:{s:2:"id";s:1:"4";}i:4;a:1:{s:2:"id";s:1:"5";}i:5;a:1:{s:2:"id";s:1:"6";}i:6;a:1:{s:2:"id";s:1:"7";}i:7;a:1:{s:2:"id";s:1:"8";}i:8;a:1:{s:2:"id";s:1:"9";}i:9;a:1:{s:2:"id";s:2:"10";}i:10;a:1:{s:2:"id";s:2:"11";}i:11;a:1:{s:2:"id";s:2:"12";}i:12;a:1:{s:2:"id";s:2:"13";}i:13;a:1:{s:2:"id";s:2:"14";}i:14;a:1:{s:2:"id";s:2:"15";}i:15;a:1:{s:2:"id";s:2:"16";}}}}i:3;a:1:{i:0;a:3:{s:8:"sphinxql";s:63:"select * from test where match('@(author) luther @(title) ccc')";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}i:2;a:1:{s:2:"id";s:1:"3";}i:3;a:1:{s:2:"id";s:1:"4";}i:4;a:1:{s:2:"id";s:1:"5";}i:5;a:1:{s:2:"id";s:1:"6";}i:6;a:1:{s:2:"id";s:1:"7";}i:7;a:1:{s:2:"id";s:1:"8";}i:8;a:1:{s:2:"id";s:1:"9";}i:9;a:1:{s:2:"id";s:2:"10";}i:10;a:1:{s:2:"id";s:2:"11";}i:11;a:1:{s:2:"id";s:2:"12";}i:12;a:1:{s:2:"id";s:2:"13";}i:13;a:1:{s:2:"id";s:2:"14";}i:14;a:1:{s:2:"id";s:2:"15";}i:15;a:1:{s:2:"id";s:2:"16";}}}}i:4;a:1:{i:0;a:3:{s:8:"sphinxql";s:63:"select * from test where match('@(author) luther @(title) ccc')";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}i:2;a:1:{s:2:"id";s:1:"3";}i:3;a:1:{s:2:"id";s:1:"4";}i:4;a:1:{s:2:"id";s:1:"5";}i:5;a:1:{s:2:"id";s:1:"6";}i:6;a:1:{s:2:"id";s:1:"7";}i:7;a:1:{s:2:"id";s:1:"8";}i:8;a:1:{s:2:"id";s:1:"9";}i:9;a:1:{s:2:"id";s:2:"10";}i:10;a:1:{s:2:"id";s:2:"11";}i:11;a:1:{s:2:"id";s:2:"12";}i:12;a:1:{s:2:"id";s:2:"13";}i:13;a:1:{s:2:"id";s:2:"14";}i:14;a:1:{s:2:"id";s:2:"15";}i:15;a:1:{s:2:"id";s:2:"16";}}}}i:5;a:1:{i:0;a:3:{s:8:"sphinxql";s:63:"select * from test where match('@(author) luther @(title) ccc')";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}i:2;a:1:{s:2:"id";s:1:"3";}i:3;a:1:{s:2:"id";s:1:"4";}i:4;a:1:{s:2:"id";s:1:"5";}i:5;a:1:{s:2:"id";s:1:"6";}i:6;a:1:{s:2:"id";s:1:"7";}i:7;a:1:{s:2:"id";s:1:"8";}i:8;a:1:{s:2:"id";s:1:"9";}i:9;a:1:{s:2:"id";s:2:"10";}i:10;a:1:{s:2:"id";s:2:"11";}i:11;a:1:{s:2:"id";s:2:"12";}i:12;a:1:{s:2:"id";s:2:"13";}i:13;a:1:{s:2:"id";s:2:"14";}i:14;a:1:{s:2:"id";s:2:"15";}i:15;a:1:{s:2:"id";s:2:"16";}}}}i:6;a:1:{i:0;a:3:{s:8:"sphinxql";s:63:"select * from test where match('@(author) luther @(title) ccc')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"3";}}}}i:7;a:1:{i:0;a:3:{s:8:"sphinxql";s:63:"select * from test where match('@(author) luther @(title) ccc')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"3";}}}}i:8;a:1:{i:0;a:3:{s:8:"sphinxql";s:63:"select * from test where match('@(author) luther @(title) ccc')";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}i:2;a:1:{s:2:"id";s:1:"3";}i:3;a:1:{s:2:"id";s:1:"4";}i:4;a:1:{s:2:"id";s:1:"5";}i:5;a:1:{s:2:"id";s:1:"6";}i:6;a:1:{s:2:"id";s:1:"7";}i:7;a:1:{s:2:"id";s:1:"8";}i:8;a:1:{s:2:"id";s:1:"9";}i:9;a:1:{s:2:"id";s:2:"10";}i:10;a:1:{s:2:"id";s:2:"11";}i:11;a:1:{s:2:"id";s:2:"12";}i:12;a:1:{s:2:"id";s:2:"13";}i:13;a:1:{s:2:"id";s:2:"14";}i:14;a:1:{s:2:"id";s:2:"15";}i:15;a:1:{s:2:"id";s:2:"16";}}}}i:9;a:1:{i:0;a:3:{s:8:"sphinxql";s:63:"select * from test where match('@(author) luther @(title) ccc')";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}i:2;a:1:{s:2:"id";s:1:"3";}i:3;a:1:{s:2:"id";s:1:"4";}i:4;a:1:{s:2:"id";s:1:"5";}i:5;a:1:{s:2:"id";s:1:"6";}i:6;a:1:{s:2:"id";s:1:"7";}i:7;a:1:{s:2:"id";s:1:"8";}i:8;a:1:{s:2:"id";s:1:"9";}i:9;a:1:{s:2:"id";s:2:"10";}i:10;a:1:{s:2:"id";s:2:"11";}i:11;a:1:{s:2:"id";s:2:"12";}i:12;a:1:{s:2:"id";s:2:"13";}i:13;a:1:{s:2:"id";s:2:"14";}i:14;a:1:{s:2:"id";s:2:"15";}i:15;a:1:{s:2:"id";s:2:"16";}}}}i:10;a:1:{i:0;a:3:{s:8:"sphinxql";s:63:"select * from test where match('@(author) luther @(title) ccc')";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}i:2;a:1:{s:2:"id";s:1:"3";}i:3;a:1:{s:2:"id";s:1:"4";}i:4;a:1:{s:2:"id";s:1:"5";}i:5;a:1:{s:2:"id";s:1:"6";}i:6;a:1:{s:2:"id";s:1:"7";}i:7;a:1:{s:2:"id";s:1:"8";}i:8;a:1:{s:2:"id";s:1:"9";}i:9;a:1:{s:2:"id";s:2:"10";}i:10;a:1:{s:2:"id";s:2:"11";}i:11;a:1:{s:2:"id";s:2:"12";}i:12;a:1:{s:2:"id";s:2:"13";}i:13;a:1:{s:2:"id";s:2:"14";}i:14;a:1:{s:2:"id";s:2:"15";}i:15;a:1:{s:2:"id";s:2:"16";}}}}i:11;a:1:{i:0;a:3:{s:8:"sphinxql";s:63:"select * from test where match('@(author) luther @(title) ccc')";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}i:2;a:1:{s:2:"id";s:1:"3";}i:3;a:1:{s:2:"id";s:1:"4";}i:4;a:1:{s:2:"id";s:1:"5";}i:5;a:1:{s:2:"id";s:1:"6";}i:6;a:1:{s:2:"id";s:1:"7";}i:7;a:1:{s:2:"id";s:1:"8";}i:8;a:1:{s:2:"id";s:1:"9";}i:9;a:1:{s:2:"id";s:2:"10";}i:10;a:1:{s:2:"id";s:2:"11";}i:11;a:1:{s:2:"id";s:2:"12";}i:12;a:1:{s:2:"id";s:2:"13";}i:13;a:1:{s:2:"id";s:2:"14";}i:14;a:1:{s:2:"id";s:2:"15";}i:15;a:1:{s:2:"id";s:2:"16";}}}}i:12;a:1:{i:0;a:3:{s:8:"sphinxql";s:63:"select * from test where match('@(author) luther @(title) ccc')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"3";}}}}i:13;a:1:{i:0;a:3:{s:8:"sphinxql";s:63:"select * from test where match('@(author) luther @(title) ccc')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"3";}}}}i:14;a:1:{i:0;a:3:{s:8:"sphinxql";s:63:"select * from test where match('@(author) luther @(title) ccc')";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}i:2;a:1:{s:2:"id";s:1:"3";}i:3;a:1:{s:2:"id";s:1:"4";}i:4;a:1:{s:2:"id";s:1:"5";}i:5;a:1:{s:2:"id";s:1:"6";}i:6;a:1:{s:2:"id";s:1:"7";}i:7;a:1:{s:2:"id";s:1:"8";}i:8;a:1:{s:2:"id";s:1:"9";}i:9;a:1:{s:2:"id";s:2:"10";}i:10;a:1:{s:2:"id";s:2:"11";}i:11;a:1:{s:2:"id";s:2:"12";}i:12;a:1:{s:2:"id";s:2:"13";}i:13;a:1:{s:2:"id";s:2:"14";}i:14;a:1:{s:2:"id";s:2:"15";}i:15;a:1:{s:2:"id";s:2:"16";}}}}i:15;a:1:{i:0;a:3:{s:8:"sphinxql";s:63:"select * from test where match('@(author) luther @(title) ccc')";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}i:2;a:1:{s:2:"id";s:1:"3";}i:3;a:1:{s:2:"id";s:1:"4";}i:4;a:1:{s:2:"id";s:1:"5";}i:5;a:1:{s:2:"id";s:1:"6";}i:6;a:1:{s:2:"id";s:1:"7";}i:7;a:1:{s:2:"id";s:1:"8";}i:8;a:1:{s:2:"id";s:1:"9";}i:9;a:1:{s:2:"id";s:2:"10";}i:10;a:1:{s:2:"id";s:2:"11";}i:11;a:1:{s:2:"id";s:2:"12";}i:12;a:1:{s:2:"id";s:2:"13";}i:13;a:1:{s:2:"id";s:2:"14";}i:14;a:1:{s:2:"id";s:2:"15";}i:15;a:1:{s:2:"id";s:2:"16";}}}}i:16;a:1:{i:0;a:3:{s:8:"sphinxql";s:63:"select * from test where match('@(author) luther @(title) ccc')";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}i:2;a:1:{s:2:"id";s:1:"3";}i:3;a:1:{s:2:"id";s:1:"4";}i:4;a:1:{s:2:"id";s:1:"5";}i:5;a:1:{s:2:"id";s:1:"6";}i:6;a:1:{s:2:"id";s:1:"7";}i:7;a:1:{s:2:"id";s:1:"8";}i:8;a:1:{s:2:"id";s:1:"9";}i:9;a:1:{s:2:"id";s:2:"10";}i:10;a:1:{s:2:"id";s:2:"11";}i:11;a:1:{s:2:"id";s:2:"12";}i:12;a:1:{s:2:"id";s:2:"13";}i:13;a:1:{s:2:"id";s:2:"14";}i:14;a:1:{s:2:"id";s:2:"15";}i:15;a:1:{s:2:"id";s:2:"16";}}}}i:17;a:1:{i:0;a:3:{s:8:"sphinxql";s:63:"select * from test where match('@(author) luther @(title) ccc')";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}i:2;a:1:{s:2:"id";s:1:"3";}i:3;a:1:{s:2:"id";s:1:"4";}i:4;a:1:{s:2:"id";s:1:"5";}i:5;a:1:{s:2:"id";s:1:"6";}i:6;a:1:{s:2:"id";s:1:"7";}i:7;a:1:{s:2:"id";s:1:"8";}i:8;a:1:{s:2:"id";s:1:"9";}i:9;a:1:{s:2:"id";s:2:"10";}i:10;a:1:{s:2:"id";s:2:"11";}i:11;a:1:{s:2:"id";s:2:"12";}i:12;a:1:{s:2:"id";s:2:"13";}i:13;a:1:{s:2:"id";s:2:"14";}i:14;a:1:{s:2:"id";s:2:"15";}i:15;a:1:{s:2:"id";s:2:"16";}}}}}sphinx-2.2.11-release/test/test_166/0000755000175000017500000000000012743402012016411 5ustar alexeyalexeysphinx-2.2.11-release/test/test_166/test.xml0000644000175000017500000000563312743402012020121 0ustar alexeyalexey string attibutes vs agent groupings 3 indexer { mem_limit = 16M } searchd { workers = threads collation_libc_locale = C collation_server = utf8_general_ci collation_server = libc_ci collation_server = libc_cs } source src_master { type = mysql sql_query = SELECT id, idd1, str1, body FROM test_table where id in ( 1, 2, 3 ) sql_attr_uint = idd1 sql_attr_string = str1 } index master { source = src_master docinfo = extern path = /master } index all { type = distributed local = master agent = :a1 agent = :a2 } source src_a1 { type = mysql sql_query = SELECT id, idd1, str1, body FROM test_table where id in ( 4, 5, 6 ) sql_attr_uint = idd1 sql_attr_string = str1 } index a1 { source = src_a1 docinfo = extern path = /a1 } source src_a2 { type = mysql sql_query = SELECT id, idd1, str1, body FROM test_table where id in ( 7, 8, 9 ) sql_attr_uint = idd1 sql_attr_string = str1 } index a2 { source = src_a2 docinfo = extern path = /a2 } CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `idd1` int(11) NOT NULL default '0', `str1` varchar(1024) NOT NULL default '', `body` varchar(1024) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 1, 'a aa', 'the dog' ), ( 2, 10, 'c cC', 'the cat' ), ( 3, 2, 'a aA', 'the bird' ), ( 4, 11, 'c cC', 'cat eats bird' ), ( 5, 3, 'a Aa', 'dog eats cat' ), ( 6, 12, 'c cc', 'bird' ), ( 7, 4, 'a Aa', 'the cat' ), ( 8, 5, 'a aA', 'eats' ), ( 9, 13, 'c cc', 'the' ) select * from all group by str1 order by id asc select *, weight() w from all where match ('the | cat | dog | bird') group by str1 within group order by idd1 desc order by w asc set collation_connection=libc_cs select * from all group by str1 order by idd1 desc select *, weight() w from all where match ('the | cat | dog | bird') group by str1 within group order by idd1 asc order by w asc the | cat | dog | bird sphinx-2.2.11-release/test/test_166/model.bin0000644000175000017500000002622212743402012020207 0ustar alexeyalexeya:3:{i:0;a:7:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";i:7;s:8:"@groupby";i:6;s:6:"@count";i:1;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";s:4:"a aa";s:8:"@groupby";s:19:"1286444629639636820";s:6:"@count";i:5;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";i:10;s:4:"str1";s:4:"c cC";s:8:"@groupby";s:18:"195691322532063478";s:6:"@count";i:4;}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.003";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";i:7;s:8:"@groupby";i:6;s:6:"@count";i:1;}s:7:"matches";a:2:{i:9;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:4:{s:4:"idd1";i:13;s:4:"str1";s:4:"c cc";s:8:"@groupby";s:18:"195691322532063478";s:6:"@count";i:4;}}i:7;a:2:{s:6:"weight";s:4:"2545";s:5:"attrs";a:4:{s:4:"idd1";i:4;s:4:"str1";s:4:"a Aa";s:8:"@groupby";s:19:"1286444629639636820";s:6:"@count";i:4;}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.006";s:5:"words";a:4:{s:3:"the";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}s:3:"cat";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:3:"dog";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:4:"bird";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"the | cat | dog | bird";}i:2;a:3:{s:8:"sphinxql";s:47:"select * from all group by str1 order by id asc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:4:"idd1";s:1:"1";s:4:"str1";s:4:"a aa";}i:1;a:3:{s:2:"id";s:1:"2";s:4:"idd1";s:2:"10";s:4:"str1";s:4:"c cC";}}}i:3;a:3:{s:8:"sphinxql";s:129:"select *, weight() w from all where match ('the | cat | dog | bird') group by str1 within group order by idd1 desc order by w asc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"9";s:4:"idd1";s:2:"13";s:4:"str1";s:4:"c cc";s:1:"w";s:4:"1500";}i:1;a:4:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"4";s:4:"str1";s:4:"a Aa";s:1:"w";s:4:"2545";}}}i:4;a:2:{s:8:"sphinxql";s:32:"set collation_connection=libc_cs";s:14:"total_affected";i:0;}i:5;a:3:{s:8:"sphinxql";s:50:"select * from all group by str1 order by idd1 desc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:3:{s:2:"id";s:1:"6";s:4:"idd1";s:2:"12";s:4:"str1";s:4:"c cc";}i:1;a:3:{s:2:"id";s:1:"2";s:4:"idd1";s:2:"10";s:4:"str1";s:4:"c cC";}i:2;a:3:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:4:"a Aa";}i:3;a:3:{s:2:"id";s:1:"3";s:4:"idd1";s:1:"2";s:4:"str1";s:4:"a aA";}i:4;a:3:{s:2:"id";s:1:"1";s:4:"idd1";s:1:"1";s:4:"str1";s:4:"a aa";}}}i:6;a:3:{s:8:"sphinxql";s:128:"select *, weight() w from all where match ('the | cat | dog | bird') group by str1 within group order by idd1 asc order by w asc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:4:{s:2:"id";s:1:"1";s:4:"idd1";s:1:"1";s:4:"str1";s:4:"a aa";s:1:"w";s:4:"1500";}i:1;a:4:{s:2:"id";s:1:"3";s:4:"idd1";s:1:"2";s:4:"str1";s:4:"a aA";s:1:"w";s:4:"1500";}i:2;a:4:{s:2:"id";s:1:"6";s:4:"idd1";s:2:"12";s:4:"str1";s:4:"c cc";s:1:"w";s:4:"1500";}i:3;a:4:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:4:"a Aa";s:1:"w";s:4:"1545";}i:4;a:4:{s:2:"id";s:1:"2";s:4:"idd1";s:2:"10";s:4:"str1";s:4:"c cC";s:1:"w";s:4:"2500";}}}}i:1;a:7:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";i:7;s:8:"@groupby";i:6;s:6:"@count";i:1;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";s:4:"a aa";s:8:"@groupby";s:20:"-6704402370037900940";s:6:"@count";i:5;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";i:10;s:4:"str1";s:4:"c cC";s:8:"@groupby";s:20:"-1004237807469493610";s:6:"@count";i:4;}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";i:7;s:8:"@groupby";i:6;s:6:"@count";i:1;}s:7:"matches";a:2:{i:9;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:4:{s:4:"idd1";i:13;s:4:"str1";s:4:"c cc";s:8:"@groupby";s:20:"-1004237807469493610";s:6:"@count";i:4;}}i:7;a:2:{s:6:"weight";s:4:"2545";s:5:"attrs";a:4:{s:4:"idd1";i:4;s:4:"str1";s:4:"a Aa";s:8:"@groupby";s:20:"-6704402370037900940";s:6:"@count";i:4;}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.003";s:5:"words";a:4:{s:3:"the";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}s:3:"cat";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:3:"dog";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:4:"bird";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"the | cat | dog | bird";}i:2;a:3:{s:8:"sphinxql";s:47:"select * from all group by str1 order by id asc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:4:"idd1";s:1:"1";s:4:"str1";s:4:"a aa";}i:1;a:3:{s:2:"id";s:1:"2";s:4:"idd1";s:2:"10";s:4:"str1";s:4:"c cC";}}}i:3;a:3:{s:8:"sphinxql";s:129:"select *, weight() w from all where match ('the | cat | dog | bird') group by str1 within group order by idd1 desc order by w asc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"9";s:4:"idd1";s:2:"13";s:4:"str1";s:4:"c cc";s:1:"w";s:4:"1500";}i:1;a:4:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"4";s:4:"str1";s:4:"a Aa";s:1:"w";s:4:"2545";}}}i:4;a:2:{s:8:"sphinxql";s:32:"set collation_connection=libc_cs";s:14:"total_affected";i:0;}i:5;a:3:{s:8:"sphinxql";s:50:"select * from all group by str1 order by idd1 desc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:3:{s:2:"id";s:1:"6";s:4:"idd1";s:2:"12";s:4:"str1";s:4:"c cc";}i:1;a:3:{s:2:"id";s:1:"2";s:4:"idd1";s:2:"10";s:4:"str1";s:4:"c cC";}i:2;a:3:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:4:"a Aa";}i:3;a:3:{s:2:"id";s:1:"3";s:4:"idd1";s:1:"2";s:4:"str1";s:4:"a aA";}i:4;a:3:{s:2:"id";s:1:"1";s:4:"idd1";s:1:"1";s:4:"str1";s:4:"a aa";}}}i:6;a:3:{s:8:"sphinxql";s:128:"select *, weight() w from all where match ('the | cat | dog | bird') group by str1 within group order by idd1 asc order by w asc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:4:{s:2:"id";s:1:"1";s:4:"idd1";s:1:"1";s:4:"str1";s:4:"a aa";s:1:"w";s:4:"1500";}i:1;a:4:{s:2:"id";s:1:"3";s:4:"idd1";s:1:"2";s:4:"str1";s:4:"a aA";s:1:"w";s:4:"1500";}i:2;a:4:{s:2:"id";s:1:"6";s:4:"idd1";s:2:"12";s:4:"str1";s:4:"c cc";s:1:"w";s:4:"1500";}i:3;a:4:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:4:"a Aa";s:1:"w";s:4:"1545";}i:4;a:4:{s:2:"id";s:1:"2";s:4:"idd1";s:2:"10";s:4:"str1";s:4:"c cC";s:1:"w";s:4:"2500";}}}}i:2;a:7:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";i:7;s:8:"@groupby";i:6;s:6:"@count";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";s:4:"a aa";s:8:"@groupby";s:20:"-4519871838247582502";s:6:"@count";i:1;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";i:10;s:4:"str1";s:4:"c cC";s:8:"@groupby";s:20:"-2966083720972555100";s:6:"@count";i:2;}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";i:2;s:4:"str1";s:4:"a aA";s:8:"@groupby";s:20:"-4519907022619685254";s:6:"@count";i:2;}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";i:3;s:4:"str1";s:4:"a Aa";s:8:"@groupby";s:20:"-4550552610715127046";s:6:"@count";i:2;}}i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";i:12;s:4:"str1";s:4:"c cc";s:8:"@groupby";s:20:"-2966048536600452348";s:6:"@count";i:2;}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.005";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";i:7;s:8:"@groupby";i:6;s:6:"@count";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";s:4:"a aa";s:8:"@groupby";s:20:"-4519871838247582502";s:6:"@count";i:1;}}i:3;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:4:{s:4:"idd1";i:2;s:4:"str1";s:4:"a aA";s:8:"@groupby";s:20:"-4519907022619685254";s:6:"@count";i:1;}}i:9;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:4:{s:4:"idd1";i:13;s:4:"str1";s:4:"c cc";s:8:"@groupby";s:20:"-2966048536600452348";s:6:"@count";i:2;}}i:4;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:4:{s:4:"idd1";i:11;s:4:"str1";s:4:"c cC";s:8:"@groupby";s:20:"-2966083720972555100";s:6:"@count";i:2;}}i:7;a:2:{s:6:"weight";s:4:"2545";s:5:"attrs";a:4:{s:4:"idd1";i:4;s:4:"str1";s:4:"a Aa";s:8:"@groupby";s:20:"-4550552610715127046";s:6:"@count";i:2;}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.006";s:5:"words";a:4:{s:3:"the";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}s:3:"cat";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:3:"dog";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:4:"bird";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"the | cat | dog | bird";}i:2;a:3:{s:8:"sphinxql";s:47:"select * from all group by str1 order by id asc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:3:{s:2:"id";s:1:"1";s:4:"idd1";s:1:"1";s:4:"str1";s:4:"a aa";}i:1;a:3:{s:2:"id";s:1:"2";s:4:"idd1";s:2:"10";s:4:"str1";s:4:"c cC";}i:2;a:3:{s:2:"id";s:1:"3";s:4:"idd1";s:1:"2";s:4:"str1";s:4:"a aA";}i:3;a:3:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:4:"a Aa";}i:4;a:3:{s:2:"id";s:1:"6";s:4:"idd1";s:2:"12";s:4:"str1";s:4:"c cc";}}}i:3;a:3:{s:8:"sphinxql";s:129:"select *, weight() w from all where match ('the | cat | dog | bird') group by str1 within group order by idd1 desc order by w asc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:4:{s:2:"id";s:1:"1";s:4:"idd1";s:1:"1";s:4:"str1";s:4:"a aa";s:1:"w";s:4:"1500";}i:1;a:4:{s:2:"id";s:1:"3";s:4:"idd1";s:1:"2";s:4:"str1";s:4:"a aA";s:1:"w";s:4:"1500";}i:2;a:4:{s:2:"id";s:1:"9";s:4:"idd1";s:2:"13";s:4:"str1";s:4:"c cc";s:1:"w";s:4:"1500";}i:3;a:4:{s:2:"id";s:1:"4";s:4:"idd1";s:2:"11";s:4:"str1";s:4:"c cC";s:1:"w";s:4:"2500";}i:4;a:4:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"4";s:4:"str1";s:4:"a Aa";s:1:"w";s:4:"2545";}}}i:4;a:2:{s:8:"sphinxql";s:32:"set collation_connection=libc_cs";s:14:"total_affected";i:0;}i:5;a:3:{s:8:"sphinxql";s:50:"select * from all group by str1 order by idd1 desc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:3:{s:2:"id";s:1:"6";s:4:"idd1";s:2:"12";s:4:"str1";s:4:"c cc";}i:1;a:3:{s:2:"id";s:1:"2";s:4:"idd1";s:2:"10";s:4:"str1";s:4:"c cC";}i:2;a:3:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:4:"a Aa";}i:3;a:3:{s:2:"id";s:1:"3";s:4:"idd1";s:1:"2";s:4:"str1";s:4:"a aA";}i:4;a:3:{s:2:"id";s:1:"1";s:4:"idd1";s:1:"1";s:4:"str1";s:4:"a aa";}}}i:6;a:3:{s:8:"sphinxql";s:128:"select *, weight() w from all where match ('the | cat | dog | bird') group by str1 within group order by idd1 asc order by w asc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:4:{s:2:"id";s:1:"1";s:4:"idd1";s:1:"1";s:4:"str1";s:4:"a aa";s:1:"w";s:4:"1500";}i:1;a:4:{s:2:"id";s:1:"3";s:4:"idd1";s:1:"2";s:4:"str1";s:4:"a aA";s:1:"w";s:4:"1500";}i:2;a:4:{s:2:"id";s:1:"6";s:4:"idd1";s:2:"12";s:4:"str1";s:4:"c cc";s:1:"w";s:4:"1500";}i:3;a:4:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:4:"a Aa";s:1:"w";s:4:"1545";}i:4;a:4:{s:2:"id";s:1:"2";s:4:"idd1";s:2:"10";s:4:"str1";s:4:"c cC";s:1:"w";s:4:"2500";}}}}}sphinx-2.2.11-release/test/test_165/0000755000175000017500000000000012743402012016410 5ustar alexeyalexeysphinx-2.2.11-release/test/test_165/test.xml0000644000175000017500000001121412743402012020110 0ustar alexeyalexey exceptions vs ext2 query grouping indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query = SELECT *, 1 as idd FROM test_table } index test { source = srctest path = /test exceptions = /synonyms.txt } source srcstar { type = mysql sql_query = SELECT *, 1 as idd FROM star_table } index star { source = srcstar path = /star charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F, *, %, ? exceptions = /synonyms2.txt min_prefix_len = 1 } index snip { source = srctest path = /snip exceptions = /synonyms3.txt } source src_wild1 { type = mysql sql_query = SELECT 1 as id, 11 as idd, '50% of 20% not 30* found' as text sql_attr_uint = idd } index wild1 { source = src_wild1 path = /wild1 charset_table = a..z, _, A..Z->a..z } source src_e { type = mysql sql_query = SELECT 1, 'life:) on mars' } index e { source = src_e path = /e exceptions = test_165/synonyms4.txt } CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) CREATE TABLE `star_table` ( `document_id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` DROP TABLE IF EXISTS `star_table` INSERT INTO `test_table` VALUES ( 1, 'the X files is not X rated movie' ), ( 2, 'the X files is silver sitcom' ), ( 3, 'the x files is good on silver screen' ) INSERT INTO `star_table` VALUES ( 1, 'action*packed movies are not for family' ), ( 2, 'action movies are mostly blockbasters' ), ( 3, 'action packed movies published recently' ), ( 4, 'recent DVD pack as collection' ), ( 5, 'a?c x%z' ) select * from test where match ('X files') select * from test where match ('(X files)') select * from test where match (' ( X files ) ') select * from test where match ('(x files) silver screen') select * from test where match (' X files silver screen') select * from test where match ('(x file) (silver screen)') select * from test where match ('(x file) | silver screen') select * from test where match ('(X files) | silver screen') select * from test where match ('(x files) | silver | screen') select * from test where match ('x file') select * from test where match ('the X file') select * from star where match ('action*packed') select * from star where match ('mov*') select * from star where match ('pack*') select * from star where match ('action') CALL SNIPPETS('; the test', 'snip', ';doggy the', 1 as force_all_words ) CALL SNIPPETS('; the test', 'snip', 'doggy the', 1 as force_all_words ) CALL SNIPPETS('; the test', 'snip', 'doggy the', 0 as force_all_words ) select * from star where match ('a?c') select * from star where match ('x%z') select * from wild1 where match ('50? of 20% not 30* found') show meta select * from e where match ('life:\\)') show meta select * from test where match ('so\\/dome') SHOW META select * from test where match ('si\\/dome') SHOW META select * from test where match ('X\\/dome') SHOW META select * from test where match('one') show meta select * from test where match('"one"') show meta sphinx-2.2.11-release/test/test_165/synonyms4.txt0000644000175000017500000000002012743402012021124 0ustar alexeyalexeylife:) => life:)sphinx-2.2.11-release/test/test_165/synonyms3.txt0000644000175000017500000000000712743402012021130 0ustar alexeyalexey; => ;)sphinx-2.2.11-release/test/test_165/synonyms2.txt0000644000175000017500000000003612743402012021131 0ustar alexeyalexeyaction*packed => action*packedsphinx-2.2.11-release/test/test_165/synonyms.txt0000644000175000017500000000023212743402012021045 0ustar alexeyalexeythe (dummy) => the (dummy) the (dummy) => dummic silver screen => projection screen X files => X files X file => X files 24/7 => 24/7 one => first sphinx-2.2.11-release/test/test_165/model.bin0000644000175000017500000001750412743402012020211 0ustar alexeyalexeya:1:{i:0;a:34:{i:0;a:3:{s:8:"sphinxql";s:42:"select * from test where match ('X files')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}}}i:1;a:3:{s:8:"sphinxql";s:44:"select * from test where match ('(X files)')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}}}i:2;a:3:{s:8:"sphinxql";s:48:"select * from test where match (' ( X files ) ')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}}}i:3;a:3:{s:8:"sphinxql";s:58:"select * from test where match ('(x files) silver screen')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"3";}}}i:4;a:2:{s:8:"sphinxql";s:57:"select * from test where match (' X files silver screen')";s:10:"total_rows";i:0;}i:5;a:2:{s:8:"sphinxql";s:59:"select * from test where match ('(x file) (silver screen)')";s:10:"total_rows";i:0;}i:6;a:3:{s:8:"sphinxql";s:59:"select * from test where match ('(x file) | silver screen')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"3";}}}i:7;a:3:{s:8:"sphinxql";s:60:"select * from test where match ('(X files) | silver screen')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"id";s:1:"3";}i:1;a:1:{s:2:"id";s:1:"1";}i:2;a:1:{s:2:"id";s:1:"2";}}}i:8;a:3:{s:8:"sphinxql";s:62:"select * from test where match ('(x files) | silver | screen')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"3";}i:1;a:1:{s:2:"id";s:1:"2";}}}i:9;a:2:{s:8:"sphinxql";s:41:"select * from test where match ('x file')";s:10:"total_rows";i:0;}i:10;a:3:{s:8:"sphinxql";s:45:"select * from test where match ('the X file')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}}}i:11;a:3:{s:8:"sphinxql";s:48:"select * from star where match ('action*packed')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}}i:12;a:3:{s:8:"sphinxql";s:39:"select * from star where match ('mov*')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}i:2;a:1:{s:2:"id";s:1:"3";}}}i:13;a:3:{s:8:"sphinxql";s:40:"select * from star where match ('pack*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"3";}i:1;a:1:{s:2:"id";s:1:"4";}}}i:14;a:3:{s:8:"sphinxql";s:41:"select * from star where match ('action')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"2";}i:1;a:1:{s:2:"id";s:1:"3";}}}i:15;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:24:"; the test";}}s:8:"sphinxql";s:72:"CALL SNIPPETS('; the test', 'snip', ';doggy the', 1 as force_all_words )";}i:16;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:17:"; the test";}}s:8:"sphinxql";s:71:"CALL SNIPPETS('; the test', 'snip', 'doggy the', 1 as force_all_words )";}i:17;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:17:"; the test";}}s:8:"sphinxql";s:71:"CALL SNIPPETS('; the test', 'snip', 'doggy the', 0 as force_all_words )";}i:18;a:3:{s:8:"sphinxql";s:38:"select * from star where match ('a?c')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"5";}}}i:19;a:3:{s:8:"sphinxql";s:38:"select * from star where match ('x%z')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"5";}}}i:20;a:3:{s:8:"sphinxql";s:60:"select * from wild1 where match ('50? of 20% not 30* found')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:21;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:12;s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"of";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"not";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:5:"found";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}}}i:22;a:3:{s:8:"sphinxql";s:40:"select * from e where match ('life:\\)')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}}i:23;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"life:)";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:24;a:2:{s:8:"sphinxql";s:44:"select * from test where match ('so\\/dome')";s:10:"total_rows";i:0;}i:25;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"so";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"0";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"0";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"dome";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:26;a:2:{s:8:"sphinxql";s:44:"select * from test where match ('si\\/dome')";s:10:"total_rows";i:0;}i:27;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"si";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"0";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"0";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"dome";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:28;a:2:{s:8:"sphinxql";s:43:"select * from test where match ('X\\/dome')";s:10:"total_rows";i:0;}i:29;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:1:"x";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"dome";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:30;a:2:{s:8:"sphinxql";s:37:"select * from test where match('one')";s:10:"total_rows";i:0;}i:31;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"first";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"0";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"0";}}}i:32;a:2:{s:8:"sphinxql";s:39:"select * from test where match('"one"')";s:10:"total_rows";i:0;}i:33;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"first";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"0";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"0";}}}}}sphinx-2.2.11-release/test/test_164/0000755000175000017500000000000012743402012016407 5ustar alexeyalexeysphinx-2.2.11-release/test/test_164/test.xml0000644000175000017500000000253312743402012020113 0ustar alexeyalexey blend_mode indexer { mem_limit = 16M } searchd { } source test { type = mysql sql_query = SELECT * FROM test_table } index test { source = test path = /test blend_chars = @, &, ., !, - blend_mode = trim_none blend_mode = trim_none, skip_pure blend_mode = trim_tail blend_mode = trim_head, trim_tail } CREATE TABLE test_table ( id INT NOT NULL, text VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test_table INSERT INTO test_table VALUES ( 1, '@simple!' ), ( 2, 'hey @dude! a-team was awesome!!'), ( 3, 'hey @dude... a-team was @@!!! awesome'); simple \@simple \@simple\! simple\! "hey" "@dude!" "dude a-team" "a-team was" "@@!!!" "was @@!!! awesome" sphinx-2.2.11-release/test/test_164/model.bin0000644000175000017500000007400212743402012020204 0ustar alexeyalexeya:8:{i:0;a:9:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"simple";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"simple";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"@simple";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"\@simple";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:8:"@simple!";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:"\@simple\!";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"simple!";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"simple\!";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"2590";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"hey";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:6:"@dude!";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:""hey" "@dude!"";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:4:"dude";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:6:"a-team";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:""dude a-team"";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"a-team";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"was";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:""a-team was"";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"@@!!!";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:""@@!!!"";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"3560";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"was";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:5:"@@!!!";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"awesome";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:19:""was @@!!! awesome"";}}i:1;a:9:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"simple";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"simple";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"@simple";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"\@simple";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:8:"@simple!";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:"\@simple\!";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"simple!";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"simple\!";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"2590";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"hey";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:6:"@dude!";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:""hey" "@dude!"";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:4:"dude";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:6:"a-team";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:""dude a-team"";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"a-team";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"was";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:""a-team was"";}i:7;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:""@@!!!"";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"was";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:7:"awesome";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:19:""was @@!!! awesome"";}}i:2;a:9:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"simple";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"simple";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.012";s:5:"words";a:1:{s:7:"@simple";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"\@simple";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:8:"@simple!";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:"\@simple\!";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"simple!";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"simple\!";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:3:"hey";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:6:"@dude!";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:""hey" "@dude!"";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:4:"dude";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:6:"a-team";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:""dude a-team"";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"a-team";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"was";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:""a-team was"";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"@@!!!";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:""@@!!!"";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"3560";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"was";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:5:"@@!!!";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"awesome";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:19:""was @@!!! awesome"";}}i:3;a:9:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"simple";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"simple";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"@simple";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"\@simple";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:8:"@simple!";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:"\@simple\!";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"simple!";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"simple\!";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:3:"hey";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:6:"@dude!";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:""hey" "@dude!"";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:4:"dude";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:6:"a-team";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:""dude a-team"";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"a-team";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"was";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:""a-team was"";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"@@!!!";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:""@@!!!"";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"3560";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"was";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:5:"@@!!!";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"awesome";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:19:""was @@!!! awesome"";}}i:4;a:9:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"simple";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"simple";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"@simple";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"\@simple";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:8:"@simple!";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:"\@simple\!";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"simple!";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"simple\!";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"2590";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"hey";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:6:"@dude!";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:""hey" "@dude!"";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:4:"dude";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:6:"a-team";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:""dude a-team"";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"a-team";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"was";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:""a-team was"";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"@@!!!";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:""@@!!!"";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"3560";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"was";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:5:"@@!!!";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"awesome";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:19:""was @@!!! awesome"";}}i:5;a:9:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"simple";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"simple";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"@simple";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"\@simple";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:8:"@simple!";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:"\@simple\!";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"simple!";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"simple\!";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"2590";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"hey";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:6:"@dude!";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:""hey" "@dude!"";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:4:"dude";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:6:"a-team";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:""dude a-team"";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"a-team";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"was";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:""a-team was"";}i:7;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:""@@!!!"";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"was";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:7:"awesome";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:19:""was @@!!! awesome"";}}i:6;a:9:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"simple";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"simple";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"@simple";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"\@simple";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:8:"@simple!";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:"\@simple\!";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"simple!";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"simple\!";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:3:"hey";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:6:"@dude!";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:""hey" "@dude!"";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:4:"dude";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:6:"a-team";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:""dude a-team"";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"a-team";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"was";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:""a-team was"";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"@@!!!";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:""@@!!!"";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"3560";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"was";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:5:"@@!!!";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"awesome";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:19:""was @@!!! awesome"";}}i:7;a:9:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"simple";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"simple";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"@simple";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"\@simple";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:8:"@simple!";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:"\@simple\!";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"simple!";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"simple\!";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:3:"hey";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:6:"@dude!";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:""hey" "@dude!"";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:4:"dude";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:6:"a-team";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:""dude a-team"";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"a-team";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"was";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:""a-team was"";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"@@!!!";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:""@@!!!"";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"3560";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"was";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:5:"@@!!!";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"awesome";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:19:""was @@!!! awesome"";}}}sphinx-2.2.11-release/test/test_163/0000755000175000017500000000000012743402012016406 5ustar alexeyalexeysphinx-2.2.11-release/test/test_163/test.xml0000644000175000017500000002614712743402012020121 0ustar alexeyalexey string attribute vs different indexes, attributes UNION 3 indexer { mem_limit = 16M } searchd { workers = threads } source src_main { type = mysql sql_query = SELECT id, body, CONCAT(str1, ' main') AS str1, idd1, 100 as tag FROM test_table sql_attr_uint = idd1 sql_attr_uint = tag sql_attr_string = str1 } source src_delta1 { type = mysql sql_query = SELECT id, body, CONCAT(str1, ' delta1') AS str1, idd1, 101 as tag FROM test_table where id>3 sql_attr_uint = idd1 sql_attr_uint = tag sql_attr_string = str1 sql_query_killlist = SELECT 2 } source src_delta2 { type = mysql sql_query = SELECT id, body, 'delta2' as str1, CONCAT(str1, ' delta2') AS str2, idd1, 102 as tag FROM test_table where id>4 sql_attr_uint = idd1 sql_attr_uint = tag sql_attr_string = str1 sql_attr_string = str2 sql_query_killlist = SELECT 2 } index main { source = src_main docinfo = extern path = /main } index delta1 { source = src_delta1 docinfo = extern path = /delta1 } index delta2 { source = src_delta2 docinfo = extern path = /delta2 } index loc_dist1 { type = distributed local = main local = delta1 } index loc_dist2 { type = distributed local = main local = delta2 } index dist1 { type = distributed local = main agent = :agent1_delta2 } index dist2 { type = distributed local = delta2 agent = :agent2_delta1 } index dist3 { type = distributed agent = :agent1_main agent = :agent2_delta1 } source src_bool { type = mysql sql_query = SELECT id, body, idd1>2 as attr FROM test_table sql_attr_bool = attr } source src_uint { type = mysql sql_query = SELECT id, body, idd1*100 as attr FROM test_table sql_attr_uint = attr } source src_float { type = mysql sql_query = SELECT id, body, idd1/1.73 as attr FROM test_table sql_attr_float = attr } source src_bigint { type = mysql sql_query = SELECT id, body, idd1*100000000000 as attr FROM test_table sql_attr_bigint = attr } index u_bool { source = src_bool docinfo = extern path = /u_bool } index u_uint { source = src_uint docinfo = extern path = /u_uint } index u_float { source = src_float docinfo = extern path = /u_float } index u_bigint { source = src_bigint docinfo = extern path = /u_bigint } index u_dist10 { type = distributed local = u_bool local = u_float } index u_dist11 { type = distributed local = u_float local = u_bool } index u_dist20 { type = distributed local = u_bool local = u_uint local = u_bigint } index u_dist21 { type = distributed local = u_bool local = u_bigint local = u_uint } index u_dist22 { type = distributed local = u_bigint local = u_bool local = u_uint } index u_dist23 { type = distributed local = u_bigint local = u_uint local = u_bool } source src_attr1 { type = mysql sql_query = SELECT id, body, idd1 as attr1, 1 as tag FROM test_table where id in ( 1,2,3 ) sql_attr_uint = attr1 sql_attr_uint = tag } source src_attr2 { type = mysql sql_query = SELECT id, body, idd1 as attr2, 2 as tag FROM test_table where id in ( 4, 5, 6 ) sql_attr_uint = attr2 sql_attr_uint = tag } index idx_attr1 { source = src_attr1 docinfo = extern path = /idx_attr1 } index idx_attr2 { source = src_attr2 docinfo = extern path = /idx_attr2 } index u_dist_aa { type = distributed local = idx_attr1 local = idx_attr2 } source src_mva { type = mysql sql_query = SELECT id, body, 2 as tag, '100, 400, 500' as mva FROM test_table sql_attr_uint = tag sql_attr_multi = uint mva from field sql_field_string = body } index idx_mva { source = src_mva docinfo = extern path = /idx_mva } source src_count1 { type = mysql sql_query = SELECT 1, 11 as idd, 'of the box' text UNION SELECT 2, 11 as idd, 'we are the boxes' sql_attr_uint = idd } source src_count2 { type = mysql sql_query = SELECT 10, 22 as idd, 'of the fox' text UNION SELECT 11, 22 as idd, 'we are the foxes' sql_attr_uint = idd } index count1 { source = src_count1 docinfo = extern path = /count1 } index count2 { source = src_count2 docinfo = extern path = /count2 } index dist_count1 { type = distributed local = count1 local = count2 } index dist_count2 { type = distributed local = count1 agent = :count2 } index agent1_main { source = src_main docinfo = extern path = /agent1_main } index agent1_delta2 { source = src_delta2 docinfo = extern path = /agent1_delta2 } index agent2_delta1 { source = src_delta1 docinfo = extern path = /agent2_delta1 } CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `idd1` int(11) NOT NULL default '0', `str1` varchar(255) NOT NULL default '', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 1, 'a aa', 'the dog' ), ( 2, 11, 'c cc', 'the cat' ), ( 3, 11, 'a a', 'the bird' ), ( 4, 11, 'cc c', 'cat eats bird' ), ( 5, 3, 'a a', 'dog eats cat' ), ( 6, 1, 'c cc', 'bird' ), ( 7, 1, 'a a', 'the cat' ), ( 8, 1, 'a a', 'eats' ), ( 9, 3, 'c cc', 'the' ) select * from loc_dist1 order by str1 asc select * from loc_dist1 order by str1 desc select * from loc_dist2 order by str1 asc, idd1 desc select * from loc_dist2 order by str1 desc, idd1 asc select * from loc_dist2 order by str2 asc select * from loc_dist2 order by str2 desc select * from loc_dist2 order by str2 desc, idd1 desc select * from dist1 order by str2 asc, idd1 desc select * from dist1 order by str2 desc, idd1 asc select * from dist2 order by str1 asc select * from dist2 order by str1 desc select * from dist3 order by str1 asc select * from dist3 order by str1 desc, idd1 desc select * from u_bool, u_float select * from u_float, u_bool select * from u_bool, u_uint, u_bigint select * from u_uint, u_bool, u_bigint select * from u_uint, u_bigint, u_bool select * from u_bigint, u_uint, u_bool select * from u_dist10 select * from u_dist11 select * from u_dist20 select * from u_dist21 select * from u_dist22 select * from u_dist23 select * from u_float, u_uint select * from u_float, u_bigint select * from u_uint, u_float select * from u_bigint, u_float select * from u_dist_aa select *, exist ( ' aTTr2', 11 ) as cnd from u_dist_aa where cnd=11 select *, exist ( ' Attr1', 1 ) as cnd from u_dist_aa where cnd=1 select tag, idd1, idd1 * 2 as rr from dist2 select tag, idd1 as r0, r0 * 2 as rr from dist2 select tag, idd1 as str1, str1 as str2 from dist2 select str1 as str11 from main select *, exist ( 'mva', 1000 ) + id as cnd1 from idx_mva where cnd1 < 5 select *, exist ( 'body', 1 ) as b from idx_mva SELECT *, count(*) as cnt, 1 as gr FROM main GROUP BY gr select *, bigint(idd1) b, min( bigint(idd1)) c from main select *, bigint(idd1) b, min( bigint(idd1)) c, 1 as gr from main GROUP BY gr select count(*) from count2 where id in (1,2); show meta select *, count(*) from count2 where id in (1,2); show meta select count(*) from count1, count2 where id in (1,2); show meta select count(*) from count2, count1 where id in (1,2); show meta select *, count(*) from count1, count2 where id in (1,2); show meta select *, count(*) from count2, count1 where id in (1,2); show meta select idd, count(*) from count1, count2 where id in (1,2); show meta select idd, count(*) from count2, count1 where id in (1,2); show meta select *, count(*) from count1, count2 where id in (100); show meta select idd, count(*) from count2, count1 where id in (100); show meta select count(*) from dist_count1 where id in (1,2); show meta select count(*) from dist_count2 where id in (1,2); show meta select *, count(*) from dist_count1 where id in (1,2); show meta select *, count(*) from dist_count2 where id in (1,2); show meta select idd, count(*) from dist_count1 where id in (1,2); show meta select idd, count(*) from dist_count2 where id in (10,11); show meta select *, count(*) from dist_count1 where id in (100); show meta select idd, count(*) from dist_count2 where id in (100); show meta select *, 123456, 2+2, sin(1.0), sin(idd), idd+1, count(*) from count2 select *, 123456, 2+2, sin(1.0), sin(idd), idd+1, count(*) from count2 where id in (1,2) sphinx-2.2.11-release/test/test_163/model.bin0000644000175000017500000007653612743402012020221 0ustar alexeyalexeya:1:{i:0;a:80:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:7:{s:4:"str1";i:7;s:4:"idd1";i:1;s:3:"tag";i:1;s:3:"cnt";i:1;s:2:"gr";i:1;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:7:{s:4:"str1";s:9:"a aa main";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"100";s:3:"cnt";s:1:"9";s:2:"gr";s:1:"1";s:8:"@groupby";s:1:"1";s:6:"@count";s:1:"9";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:3:{s:8:"sphinxql";s:41:"select * from loc_dist1 order by str1 asc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:4:{s:2:"id";s:1:"5";s:4:"str1";s:10:"a a delta1";s:4:"idd1";s:1:"3";s:3:"tag";s:3:"101";}i:1;a:4:{s:2:"id";s:1:"7";s:4:"str1";s:10:"a a delta1";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"101";}i:2;a:4:{s:2:"id";s:1:"8";s:4:"str1";s:10:"a a delta1";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"101";}i:3;a:4:{s:2:"id";s:1:"3";s:4:"str1";s:8:"a a main";s:4:"idd1";s:2:"11";s:3:"tag";s:3:"100";}i:4;a:4:{s:2:"id";s:1:"1";s:4:"str1";s:9:"a aa main";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"100";}i:5;a:4:{s:2:"id";s:1:"6";s:4:"str1";s:11:"c cc delta1";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"101";}i:6;a:4:{s:2:"id";s:1:"9";s:4:"str1";s:11:"c cc delta1";s:4:"idd1";s:1:"3";s:3:"tag";s:3:"101";}i:7;a:4:{s:2:"id";s:1:"4";s:4:"str1";s:11:"cc c delta1";s:4:"idd1";s:2:"11";s:3:"tag";s:3:"101";}}}i:2;a:3:{s:8:"sphinxql";s:42:"select * from loc_dist1 order by str1 desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:4:{s:2:"id";s:1:"4";s:4:"str1";s:11:"cc c delta1";s:4:"idd1";s:2:"11";s:3:"tag";s:3:"101";}i:1;a:4:{s:2:"id";s:1:"6";s:4:"str1";s:11:"c cc delta1";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"101";}i:2;a:4:{s:2:"id";s:1:"9";s:4:"str1";s:11:"c cc delta1";s:4:"idd1";s:1:"3";s:3:"tag";s:3:"101";}i:3;a:4:{s:2:"id";s:1:"1";s:4:"str1";s:9:"a aa main";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"100";}i:4;a:4:{s:2:"id";s:1:"3";s:4:"str1";s:8:"a a main";s:4:"idd1";s:2:"11";s:3:"tag";s:3:"100";}i:5;a:4:{s:2:"id";s:1:"5";s:4:"str1";s:10:"a a delta1";s:4:"idd1";s:1:"3";s:3:"tag";s:3:"101";}i:6;a:4:{s:2:"id";s:1:"7";s:4:"str1";s:10:"a a delta1";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"101";}i:7;a:4:{s:2:"id";s:1:"8";s:4:"str1";s:10:"a a delta1";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"101";}}}i:3;a:3:{s:8:"sphinxql";s:52:"select * from loc_dist2 order by str1 asc, idd1 desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:4:{s:2:"id";s:1:"3";s:4:"str1";s:8:"a a main";s:4:"idd1";s:2:"11";s:3:"tag";s:3:"100";}i:1;a:4:{s:2:"id";s:1:"1";s:4:"str1";s:9:"a aa main";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"100";}i:2;a:4:{s:2:"id";s:1:"4";s:4:"str1";s:9:"cc c main";s:4:"idd1";s:2:"11";s:3:"tag";s:3:"100";}i:3;a:4:{s:2:"id";s:1:"5";s:4:"str1";s:6:"delta2";s:4:"idd1";s:1:"3";s:3:"tag";s:3:"102";}i:4;a:4:{s:2:"id";s:1:"9";s:4:"str1";s:6:"delta2";s:4:"idd1";s:1:"3";s:3:"tag";s:3:"102";}i:5;a:4:{s:2:"id";s:1:"6";s:4:"str1";s:6:"delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}i:6;a:4:{s:2:"id";s:1:"7";s:4:"str1";s:6:"delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}i:7;a:4:{s:2:"id";s:1:"8";s:4:"str1";s:6:"delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}}}i:4;a:3:{s:8:"sphinxql";s:52:"select * from loc_dist2 order by str1 desc, idd1 asc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:4:{s:2:"id";s:1:"6";s:4:"str1";s:6:"delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}i:1;a:4:{s:2:"id";s:1:"7";s:4:"str1";s:6:"delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}i:2;a:4:{s:2:"id";s:1:"8";s:4:"str1";s:6:"delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}i:3;a:4:{s:2:"id";s:1:"5";s:4:"str1";s:6:"delta2";s:4:"idd1";s:1:"3";s:3:"tag";s:3:"102";}i:4;a:4:{s:2:"id";s:1:"9";s:4:"str1";s:6:"delta2";s:4:"idd1";s:1:"3";s:3:"tag";s:3:"102";}i:5;a:4:{s:2:"id";s:1:"4";s:4:"str1";s:9:"cc c main";s:4:"idd1";s:2:"11";s:3:"tag";s:3:"100";}i:6;a:4:{s:2:"id";s:1:"1";s:4:"str1";s:9:"a aa main";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"100";}i:7;a:4:{s:2:"id";s:1:"3";s:4:"str1";s:8:"a a main";s:4:"idd1";s:2:"11";s:3:"tag";s:3:"100";}}}i:5;a:3:{s:8:"sphinxql";s:41:"select * from loc_dist2 order by str2 asc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:5:{s:2:"id";s:1:"5";s:4:"str1";s:6:"delta2";s:4:"str2";s:10:"a a delta2";s:4:"idd1";s:1:"3";s:3:"tag";s:3:"102";}i:1;a:5:{s:2:"id";s:1:"7";s:4:"str1";s:6:"delta2";s:4:"str2";s:10:"a a delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}i:2;a:5:{s:2:"id";s:1:"8";s:4:"str1";s:6:"delta2";s:4:"str2";s:10:"a a delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}i:3;a:5:{s:2:"id";s:1:"6";s:4:"str1";s:6:"delta2";s:4:"str2";s:11:"c cc delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}i:4;a:5:{s:2:"id";s:1:"9";s:4:"str1";s:6:"delta2";s:4:"str2";s:11:"c cc delta2";s:4:"idd1";s:1:"3";s:3:"tag";s:3:"102";}}}i:6;a:3:{s:8:"sphinxql";s:42:"select * from loc_dist2 order by str2 desc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:5:{s:2:"id";s:1:"6";s:4:"str1";s:6:"delta2";s:4:"str2";s:11:"c cc delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}i:1;a:5:{s:2:"id";s:1:"9";s:4:"str1";s:6:"delta2";s:4:"str2";s:11:"c cc delta2";s:4:"idd1";s:1:"3";s:3:"tag";s:3:"102";}i:2;a:5:{s:2:"id";s:1:"5";s:4:"str1";s:6:"delta2";s:4:"str2";s:10:"a a delta2";s:4:"idd1";s:1:"3";s:3:"tag";s:3:"102";}i:3;a:5:{s:2:"id";s:1:"7";s:4:"str1";s:6:"delta2";s:4:"str2";s:10:"a a delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}i:4;a:5:{s:2:"id";s:1:"8";s:4:"str1";s:6:"delta2";s:4:"str2";s:10:"a a delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}}}i:7;a:3:{s:8:"sphinxql";s:53:"select * from loc_dist2 order by str2 desc, idd1 desc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:5:{s:2:"id";s:1:"9";s:4:"str1";s:6:"delta2";s:4:"str2";s:11:"c cc delta2";s:4:"idd1";s:1:"3";s:3:"tag";s:3:"102";}i:1;a:5:{s:2:"id";s:1:"6";s:4:"str1";s:6:"delta2";s:4:"str2";s:11:"c cc delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}i:2;a:5:{s:2:"id";s:1:"5";s:4:"str1";s:6:"delta2";s:4:"str2";s:10:"a a delta2";s:4:"idd1";s:1:"3";s:3:"tag";s:3:"102";}i:3;a:5:{s:2:"id";s:1:"7";s:4:"str1";s:6:"delta2";s:4:"str2";s:10:"a a delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}i:4;a:5:{s:2:"id";s:1:"8";s:4:"str1";s:6:"delta2";s:4:"str2";s:10:"a a delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}}}i:8;a:3:{s:8:"sphinxql";s:48:"select * from dist1 order by str2 asc, idd1 desc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:5:{s:2:"id";s:1:"5";s:4:"str1";s:6:"delta2";s:4:"str2";s:10:"a a delta2";s:4:"idd1";s:1:"3";s:3:"tag";s:3:"102";}i:1;a:5:{s:2:"id";s:1:"7";s:4:"str1";s:6:"delta2";s:4:"str2";s:10:"a a delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}i:2;a:5:{s:2:"id";s:1:"8";s:4:"str1";s:6:"delta2";s:4:"str2";s:10:"a a delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}i:3;a:5:{s:2:"id";s:1:"9";s:4:"str1";s:6:"delta2";s:4:"str2";s:11:"c cc delta2";s:4:"idd1";s:1:"3";s:3:"tag";s:3:"102";}i:4;a:5:{s:2:"id";s:1:"6";s:4:"str1";s:6:"delta2";s:4:"str2";s:11:"c cc delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}}}i:9;a:3:{s:8:"sphinxql";s:48:"select * from dist1 order by str2 desc, idd1 asc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:5:{s:2:"id";s:1:"6";s:4:"str1";s:6:"delta2";s:4:"str2";s:11:"c cc delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}i:1;a:5:{s:2:"id";s:1:"9";s:4:"str1";s:6:"delta2";s:4:"str2";s:11:"c cc delta2";s:4:"idd1";s:1:"3";s:3:"tag";s:3:"102";}i:2;a:5:{s:2:"id";s:1:"7";s:4:"str1";s:6:"delta2";s:4:"str2";s:10:"a a delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}i:3;a:5:{s:2:"id";s:1:"8";s:4:"str1";s:6:"delta2";s:4:"str2";s:10:"a a delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}i:4;a:5:{s:2:"id";s:1:"5";s:4:"str1";s:6:"delta2";s:4:"str2";s:10:"a a delta2";s:4:"idd1";s:1:"3";s:3:"tag";s:3:"102";}}}i:10;a:3:{s:8:"sphinxql";s:37:"select * from dist2 order by str1 asc";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:4:{s:2:"id";s:1:"4";s:4:"str1";s:11:"cc c delta1";s:4:"idd1";s:2:"11";s:3:"tag";s:3:"101";}i:1;a:4:{s:2:"id";s:1:"5";s:4:"str1";s:6:"delta2";s:4:"idd1";s:1:"3";s:3:"tag";s:3:"102";}i:2;a:4:{s:2:"id";s:1:"6";s:4:"str1";s:6:"delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}i:3;a:4:{s:2:"id";s:1:"7";s:4:"str1";s:6:"delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}i:4;a:4:{s:2:"id";s:1:"8";s:4:"str1";s:6:"delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}i:5;a:4:{s:2:"id";s:1:"9";s:4:"str1";s:6:"delta2";s:4:"idd1";s:1:"3";s:3:"tag";s:3:"102";}}}i:11;a:3:{s:8:"sphinxql";s:38:"select * from dist2 order by str1 desc";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:4:{s:2:"id";s:1:"5";s:4:"str1";s:6:"delta2";s:4:"idd1";s:1:"3";s:3:"tag";s:3:"102";}i:1;a:4:{s:2:"id";s:1:"6";s:4:"str1";s:6:"delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}i:2;a:4:{s:2:"id";s:1:"7";s:4:"str1";s:6:"delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}i:3;a:4:{s:2:"id";s:1:"8";s:4:"str1";s:6:"delta2";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"102";}i:4;a:4:{s:2:"id";s:1:"9";s:4:"str1";s:6:"delta2";s:4:"idd1";s:1:"3";s:3:"tag";s:3:"102";}i:5;a:4:{s:2:"id";s:1:"4";s:4:"str1";s:11:"cc c delta1";s:4:"idd1";s:2:"11";s:3:"tag";s:3:"101";}}}i:12;a:3:{s:8:"sphinxql";s:37:"select * from dist3 order by str1 asc";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:4:{s:2:"id";s:1:"5";s:4:"str1";s:10:"a a delta1";s:4:"idd1";s:1:"3";s:3:"tag";s:3:"101";}i:1;a:4:{s:2:"id";s:1:"7";s:4:"str1";s:10:"a a delta1";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"101";}i:2;a:4:{s:2:"id";s:1:"8";s:4:"str1";s:10:"a a delta1";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"101";}i:3;a:4:{s:2:"id";s:1:"3";s:4:"str1";s:8:"a a main";s:4:"idd1";s:2:"11";s:3:"tag";s:3:"100";}i:4;a:4:{s:2:"id";s:1:"1";s:4:"str1";s:9:"a aa main";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"100";}i:5;a:4:{s:2:"id";s:1:"6";s:4:"str1";s:11:"c cc delta1";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"101";}i:6;a:4:{s:2:"id";s:1:"9";s:4:"str1";s:11:"c cc delta1";s:4:"idd1";s:1:"3";s:3:"tag";s:3:"101";}i:7;a:4:{s:2:"id";s:1:"2";s:4:"str1";s:9:"c cc main";s:4:"idd1";s:2:"11";s:3:"tag";s:3:"100";}i:8;a:4:{s:2:"id";s:1:"4";s:4:"str1";s:11:"cc c delta1";s:4:"idd1";s:2:"11";s:3:"tag";s:3:"101";}}}i:13;a:3:{s:8:"sphinxql";s:49:"select * from dist3 order by str1 desc, idd1 desc";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:4:{s:2:"id";s:1:"4";s:4:"str1";s:11:"cc c delta1";s:4:"idd1";s:2:"11";s:3:"tag";s:3:"101";}i:1;a:4:{s:2:"id";s:1:"2";s:4:"str1";s:9:"c cc main";s:4:"idd1";s:2:"11";s:3:"tag";s:3:"100";}i:2;a:4:{s:2:"id";s:1:"9";s:4:"str1";s:11:"c cc delta1";s:4:"idd1";s:1:"3";s:3:"tag";s:3:"101";}i:3;a:4:{s:2:"id";s:1:"6";s:4:"str1";s:11:"c cc delta1";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"101";}i:4;a:4:{s:2:"id";s:1:"1";s:4:"str1";s:9:"a aa main";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"100";}i:5;a:4:{s:2:"id";s:1:"3";s:4:"str1";s:8:"a a main";s:4:"idd1";s:2:"11";s:3:"tag";s:3:"100";}i:6;a:4:{s:2:"id";s:1:"5";s:4:"str1";s:10:"a a delta1";s:4:"idd1";s:1:"3";s:3:"tag";s:3:"101";}i:7;a:4:{s:2:"id";s:1:"7";s:4:"str1";s:10:"a a delta1";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"101";}i:8;a:4:{s:2:"id";s:1:"8";s:4:"str1";s:10:"a a delta1";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"101";}}}i:14;a:3:{s:8:"sphinxql";s:29:"select * from u_bool, u_float";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:2:{s:2:"id";s:1:"1";s:4:"attr";s:8:"0.578000";}i:1;a:2:{s:2:"id";s:1:"2";s:4:"attr";s:8:"6.358400";}i:2;a:2:{s:2:"id";s:1:"3";s:4:"attr";s:8:"6.358400";}i:3;a:2:{s:2:"id";s:1:"4";s:4:"attr";s:8:"6.358400";}i:4;a:2:{s:2:"id";s:1:"5";s:4:"attr";s:8:"1.734100";}i:5;a:2:{s:2:"id";s:1:"6";s:4:"attr";s:8:"0.578000";}i:6;a:2:{s:2:"id";s:1:"7";s:4:"attr";s:8:"0.578000";}i:7;a:2:{s:2:"id";s:1:"8";s:4:"attr";s:8:"0.578000";}i:8;a:2:{s:2:"id";s:1:"9";s:4:"attr";s:8:"1.734100";}}}i:15;a:3:{s:8:"sphinxql";s:29:"select * from u_float, u_bool";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:2:{s:2:"id";s:1:"1";s:4:"attr";s:8:"0.000000";}i:1;a:2:{s:2:"id";s:1:"2";s:4:"attr";s:8:"1.000000";}i:2;a:2:{s:2:"id";s:1:"3";s:4:"attr";s:8:"1.000000";}i:3;a:2:{s:2:"id";s:1:"4";s:4:"attr";s:8:"1.000000";}i:4;a:2:{s:2:"id";s:1:"5";s:4:"attr";s:8:"1.000000";}i:5;a:2:{s:2:"id";s:1:"6";s:4:"attr";s:8:"0.000000";}i:6;a:2:{s:2:"id";s:1:"7";s:4:"attr";s:8:"0.000000";}i:7;a:2:{s:2:"id";s:1:"8";s:4:"attr";s:8:"0.000000";}i:8;a:2:{s:2:"id";s:1:"9";s:4:"attr";s:8:"1.000000";}}}i:16;a:3:{s:8:"sphinxql";s:38:"select * from u_bool, u_uint, u_bigint";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:2:{s:2:"id";s:1:"1";s:4:"attr";s:12:"100000000000";}i:1;a:2:{s:2:"id";s:1:"2";s:4:"attr";s:13:"1100000000000";}i:2;a:2:{s:2:"id";s:1:"3";s:4:"attr";s:13:"1100000000000";}i:3;a:2:{s:2:"id";s:1:"4";s:4:"attr";s:13:"1100000000000";}i:4;a:2:{s:2:"id";s:1:"5";s:4:"attr";s:12:"300000000000";}i:5;a:2:{s:2:"id";s:1:"6";s:4:"attr";s:12:"100000000000";}i:6;a:2:{s:2:"id";s:1:"7";s:4:"attr";s:12:"100000000000";}i:7;a:2:{s:2:"id";s:1:"8";s:4:"attr";s:12:"100000000000";}i:8;a:2:{s:2:"id";s:1:"9";s:4:"attr";s:12:"300000000000";}}}i:17;a:3:{s:8:"sphinxql";s:38:"select * from u_uint, u_bool, u_bigint";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:2:{s:2:"id";s:1:"1";s:4:"attr";s:12:"100000000000";}i:1;a:2:{s:2:"id";s:1:"2";s:4:"attr";s:13:"1100000000000";}i:2;a:2:{s:2:"id";s:1:"3";s:4:"attr";s:13:"1100000000000";}i:3;a:2:{s:2:"id";s:1:"4";s:4:"attr";s:13:"1100000000000";}i:4;a:2:{s:2:"id";s:1:"5";s:4:"attr";s:12:"300000000000";}i:5;a:2:{s:2:"id";s:1:"6";s:4:"attr";s:12:"100000000000";}i:6;a:2:{s:2:"id";s:1:"7";s:4:"attr";s:12:"100000000000";}i:7;a:2:{s:2:"id";s:1:"8";s:4:"attr";s:12:"100000000000";}i:8;a:2:{s:2:"id";s:1:"9";s:4:"attr";s:12:"300000000000";}}}i:18;a:3:{s:8:"sphinxql";s:38:"select * from u_uint, u_bigint, u_bool";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:2:{s:2:"id";s:1:"1";s:4:"attr";s:1:"0";}i:1;a:2:{s:2:"id";s:1:"2";s:4:"attr";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"3";s:4:"attr";s:1:"1";}i:3;a:2:{s:2:"id";s:1:"4";s:4:"attr";s:1:"1";}i:4;a:2:{s:2:"id";s:1:"5";s:4:"attr";s:1:"1";}i:5;a:2:{s:2:"id";s:1:"6";s:4:"attr";s:1:"0";}i:6;a:2:{s:2:"id";s:1:"7";s:4:"attr";s:1:"0";}i:7;a:2:{s:2:"id";s:1:"8";s:4:"attr";s:1:"0";}i:8;a:2:{s:2:"id";s:1:"9";s:4:"attr";s:1:"1";}}}i:19;a:3:{s:8:"sphinxql";s:39:"select * from u_bigint, u_uint, u_bool ";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:2:{s:2:"id";s:1:"1";s:4:"attr";s:1:"0";}i:1;a:2:{s:2:"id";s:1:"2";s:4:"attr";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"3";s:4:"attr";s:1:"1";}i:3;a:2:{s:2:"id";s:1:"4";s:4:"attr";s:1:"1";}i:4;a:2:{s:2:"id";s:1:"5";s:4:"attr";s:1:"1";}i:5;a:2:{s:2:"id";s:1:"6";s:4:"attr";s:1:"0";}i:6;a:2:{s:2:"id";s:1:"7";s:4:"attr";s:1:"0";}i:7;a:2:{s:2:"id";s:1:"8";s:4:"attr";s:1:"0";}i:8;a:2:{s:2:"id";s:1:"9";s:4:"attr";s:1:"1";}}}i:20;a:3:{s:8:"sphinxql";s:22:"select * from u_dist10";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:2:{s:2:"id";s:1:"1";s:4:"attr";s:8:"0.578000";}i:1;a:2:{s:2:"id";s:1:"2";s:4:"attr";s:8:"6.358400";}i:2;a:2:{s:2:"id";s:1:"3";s:4:"attr";s:8:"6.358400";}i:3;a:2:{s:2:"id";s:1:"4";s:4:"attr";s:8:"6.358400";}i:4;a:2:{s:2:"id";s:1:"5";s:4:"attr";s:8:"1.734100";}i:5;a:2:{s:2:"id";s:1:"6";s:4:"attr";s:8:"0.578000";}i:6;a:2:{s:2:"id";s:1:"7";s:4:"attr";s:8:"0.578000";}i:7;a:2:{s:2:"id";s:1:"8";s:4:"attr";s:8:"0.578000";}i:8;a:2:{s:2:"id";s:1:"9";s:4:"attr";s:8:"1.734100";}}}i:21;a:3:{s:8:"sphinxql";s:22:"select * from u_dist11";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:2:{s:2:"id";s:1:"1";s:4:"attr";s:8:"0.000000";}i:1;a:2:{s:2:"id";s:1:"2";s:4:"attr";s:8:"1.000000";}i:2;a:2:{s:2:"id";s:1:"3";s:4:"attr";s:8:"1.000000";}i:3;a:2:{s:2:"id";s:1:"4";s:4:"attr";s:8:"1.000000";}i:4;a:2:{s:2:"id";s:1:"5";s:4:"attr";s:8:"1.000000";}i:5;a:2:{s:2:"id";s:1:"6";s:4:"attr";s:8:"0.000000";}i:6;a:2:{s:2:"id";s:1:"7";s:4:"attr";s:8:"0.000000";}i:7;a:2:{s:2:"id";s:1:"8";s:4:"attr";s:8:"0.000000";}i:8;a:2:{s:2:"id";s:1:"9";s:4:"attr";s:8:"1.000000";}}}i:22;a:3:{s:8:"sphinxql";s:22:"select * from u_dist20";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:2:{s:2:"id";s:1:"1";s:4:"attr";s:12:"100000000000";}i:1;a:2:{s:2:"id";s:1:"2";s:4:"attr";s:13:"1100000000000";}i:2;a:2:{s:2:"id";s:1:"3";s:4:"attr";s:13:"1100000000000";}i:3;a:2:{s:2:"id";s:1:"4";s:4:"attr";s:13:"1100000000000";}i:4;a:2:{s:2:"id";s:1:"5";s:4:"attr";s:12:"300000000000";}i:5;a:2:{s:2:"id";s:1:"6";s:4:"attr";s:12:"100000000000";}i:6;a:2:{s:2:"id";s:1:"7";s:4:"attr";s:12:"100000000000";}i:7;a:2:{s:2:"id";s:1:"8";s:4:"attr";s:12:"100000000000";}i:8;a:2:{s:2:"id";s:1:"9";s:4:"attr";s:12:"300000000000";}}}i:23;a:3:{s:8:"sphinxql";s:22:"select * from u_dist21";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:2:{s:2:"id";s:1:"1";s:4:"attr";s:3:"100";}i:1;a:2:{s:2:"id";s:1:"2";s:4:"attr";s:4:"1100";}i:2;a:2:{s:2:"id";s:1:"3";s:4:"attr";s:4:"1100";}i:3;a:2:{s:2:"id";s:1:"4";s:4:"attr";s:4:"1100";}i:4;a:2:{s:2:"id";s:1:"5";s:4:"attr";s:3:"300";}i:5;a:2:{s:2:"id";s:1:"6";s:4:"attr";s:3:"100";}i:6;a:2:{s:2:"id";s:1:"7";s:4:"attr";s:3:"100";}i:7;a:2:{s:2:"id";s:1:"8";s:4:"attr";s:3:"100";}i:8;a:2:{s:2:"id";s:1:"9";s:4:"attr";s:3:"300";}}}i:24;a:3:{s:8:"sphinxql";s:22:"select * from u_dist22";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:2:{s:2:"id";s:1:"1";s:4:"attr";s:3:"100";}i:1;a:2:{s:2:"id";s:1:"2";s:4:"attr";s:4:"1100";}i:2;a:2:{s:2:"id";s:1:"3";s:4:"attr";s:4:"1100";}i:3;a:2:{s:2:"id";s:1:"4";s:4:"attr";s:4:"1100";}i:4;a:2:{s:2:"id";s:1:"5";s:4:"attr";s:3:"300";}i:5;a:2:{s:2:"id";s:1:"6";s:4:"attr";s:3:"100";}i:6;a:2:{s:2:"id";s:1:"7";s:4:"attr";s:3:"100";}i:7;a:2:{s:2:"id";s:1:"8";s:4:"attr";s:3:"100";}i:8;a:2:{s:2:"id";s:1:"9";s:4:"attr";s:3:"300";}}}i:25;a:3:{s:8:"sphinxql";s:22:"select * from u_dist23";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:2:{s:2:"id";s:1:"1";s:4:"attr";s:1:"0";}i:1;a:2:{s:2:"id";s:1:"2";s:4:"attr";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"3";s:4:"attr";s:1:"1";}i:3;a:2:{s:2:"id";s:1:"4";s:4:"attr";s:1:"1";}i:4;a:2:{s:2:"id";s:1:"5";s:4:"attr";s:1:"1";}i:5;a:2:{s:2:"id";s:1:"6";s:4:"attr";s:1:"0";}i:6;a:2:{s:2:"id";s:1:"7";s:4:"attr";s:1:"0";}i:7;a:2:{s:2:"id";s:1:"8";s:4:"attr";s:1:"0";}i:8;a:2:{s:2:"id";s:1:"9";s:4:"attr";s:1:"1";}}}i:26;a:3:{s:8:"sphinxql";s:29:"select * from u_float, u_uint";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}i:2;a:1:{s:2:"id";s:1:"3";}i:3;a:1:{s:2:"id";s:1:"4";}i:4;a:1:{s:2:"id";s:1:"5";}i:5;a:1:{s:2:"id";s:1:"6";}i:6;a:1:{s:2:"id";s:1:"7";}i:7;a:1:{s:2:"id";s:1:"8";}i:8;a:1:{s:2:"id";s:1:"9";}}}i:27;a:3:{s:8:"sphinxql";s:31:"select * from u_float, u_bigint";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}i:2;a:1:{s:2:"id";s:1:"3";}i:3;a:1:{s:2:"id";s:1:"4";}i:4;a:1:{s:2:"id";s:1:"5";}i:5;a:1:{s:2:"id";s:1:"6";}i:6;a:1:{s:2:"id";s:1:"7";}i:7;a:1:{s:2:"id";s:1:"8";}i:8;a:1:{s:2:"id";s:1:"9";}}}i:28;a:3:{s:8:"sphinxql";s:29:"select * from u_uint, u_float";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}i:2;a:1:{s:2:"id";s:1:"3";}i:3;a:1:{s:2:"id";s:1:"4";}i:4;a:1:{s:2:"id";s:1:"5";}i:5;a:1:{s:2:"id";s:1:"6";}i:6;a:1:{s:2:"id";s:1:"7";}i:7;a:1:{s:2:"id";s:1:"8";}i:8;a:1:{s:2:"id";s:1:"9";}}}i:29;a:3:{s:8:"sphinxql";s:31:"select * from u_bigint, u_float";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}i:2;a:1:{s:2:"id";s:1:"3";}i:3;a:1:{s:2:"id";s:1:"4";}i:4;a:1:{s:2:"id";s:1:"5";}i:5;a:1:{s:2:"id";s:1:"6";}i:6;a:1:{s:2:"id";s:1:"7";}i:7;a:1:{s:2:"id";s:1:"8";}i:8;a:1:{s:2:"id";s:1:"9";}}}i:30;a:3:{s:8:"sphinxql";s:23:"select * from u_dist_aa";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"tag";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"tag";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"tag";s:1:"1";}i:3;a:2:{s:2:"id";s:1:"4";s:3:"tag";s:1:"2";}i:4;a:2:{s:2:"id";s:1:"5";s:3:"tag";s:1:"2";}i:5;a:2:{s:2:"id";s:1:"6";s:3:"tag";s:1:"2";}}}i:31;a:3:{s:8:"sphinxql";s:67:"select *, exist ( ' aTTr2', 11 ) as cnd from u_dist_aa where cnd=11";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"tag";s:1:"1";s:3:"cnd";s:2:"11";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"tag";s:1:"1";s:3:"cnd";s:2:"11";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"tag";s:1:"1";s:3:"cnd";s:2:"11";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"tag";s:1:"2";s:3:"cnd";s:2:"11";}}}i:32;a:3:{s:8:"sphinxql";s:65:"select *, exist ( ' Attr1', 1 ) as cnd from u_dist_aa where cnd=1";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"tag";s:1:"1";s:3:"cnd";s:1:"1";}i:1;a:3:{s:2:"id";s:1:"4";s:3:"tag";s:1:"2";s:3:"cnd";s:1:"1";}i:2;a:3:{s:2:"id";s:1:"5";s:3:"tag";s:1:"2";s:3:"cnd";s:1:"1";}i:3;a:3:{s:2:"id";s:1:"6";s:3:"tag";s:1:"2";s:3:"cnd";s:1:"1";}}}i:33;a:3:{s:8:"sphinxql";s:43:"select tag, idd1, idd1 * 2 as rr from dist2";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:3:{s:3:"tag";s:3:"101";s:4:"idd1";s:2:"11";s:2:"rr";s:2:"22";}i:1;a:3:{s:3:"tag";s:3:"102";s:4:"idd1";s:1:"3";s:2:"rr";s:1:"6";}i:2;a:3:{s:3:"tag";s:3:"102";s:4:"idd1";s:1:"1";s:2:"rr";s:1:"2";}i:3;a:3:{s:3:"tag";s:3:"102";s:4:"idd1";s:1:"1";s:2:"rr";s:1:"2";}i:4;a:3:{s:3:"tag";s:3:"102";s:4:"idd1";s:1:"1";s:2:"rr";s:1:"2";}i:5;a:3:{s:3:"tag";s:3:"102";s:4:"idd1";s:1:"3";s:2:"rr";s:1:"6";}}}i:34;a:3:{s:8:"sphinxql";s:47:"select tag, idd1 as r0, r0 * 2 as rr from dist2";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:3:{s:3:"tag";s:3:"101";s:2:"r0";s:2:"11";s:2:"rr";s:2:"22";}i:1;a:3:{s:3:"tag";s:3:"102";s:2:"r0";s:1:"3";s:2:"rr";s:1:"6";}i:2;a:3:{s:3:"tag";s:3:"102";s:2:"r0";s:1:"1";s:2:"rr";s:1:"2";}i:3;a:3:{s:3:"tag";s:3:"102";s:2:"r0";s:1:"1";s:2:"rr";s:1:"2";}i:4;a:3:{s:3:"tag";s:3:"102";s:2:"r0";s:1:"1";s:2:"rr";s:1:"2";}i:5;a:3:{s:3:"tag";s:3:"102";s:2:"r0";s:1:"3";s:2:"rr";s:1:"6";}}}i:35;a:3:{s:8:"sphinxql";s:49:"select tag, idd1 as str1, str1 as str2 from dist2";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:3:{s:3:"tag";s:3:"101";s:4:"str1";s:2:"11";s:4:"str2";s:2:"11";}i:1;a:3:{s:3:"tag";s:3:"102";s:4:"str1";s:1:"3";s:4:"str2";s:1:"3";}i:2;a:3:{s:3:"tag";s:3:"102";s:4:"str1";s:1:"1";s:4:"str2";s:1:"1";}i:3;a:3:{s:3:"tag";s:3:"102";s:4:"str1";s:1:"1";s:4:"str2";s:1:"1";}i:4;a:3:{s:3:"tag";s:3:"102";s:4:"str1";s:1:"1";s:4:"str2";s:1:"1";}i:5;a:3:{s:3:"tag";s:3:"102";s:4:"str1";s:1:"3";s:4:"str2";s:1:"3";}}}i:36;a:3:{s:8:"sphinxql";s:30:"select str1 as str11 from main";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:1:{s:5:"str11";s:9:"a aa main";}i:1;a:1:{s:5:"str11";s:9:"c cc main";}i:2;a:1:{s:5:"str11";s:8:"a a main";}i:3;a:1:{s:5:"str11";s:9:"cc c main";}i:4;a:1:{s:5:"str11";s:8:"a a main";}i:5;a:1:{s:5:"str11";s:9:"c cc main";}i:6;a:1:{s:5:"str11";s:8:"a a main";}i:7;a:1:{s:5:"str11";s:8:"a a main";}i:8;a:1:{s:5:"str11";s:9:"c cc main";}}}i:37;a:3:{s:8:"sphinxql";s:72:"select *, exist ( 'mva', 1000 ) + id as cnd1 from idx_mva where cnd1 < 5";s:5:"error";s:64:"index idx_mva: parse error: MVA and STRING in EXIST() prohibited";s:5:"errno";i:1064;}i:38;a:3:{s:8:"sphinxql";s:47:"select *, exist ( 'body', 1 ) as b from idx_mva";s:5:"error";s:64:"index idx_mva: parse error: MVA and STRING in EXIST() prohibited";s:5:"errno";i:1064;}i:39;a:3:{s:8:"sphinxql";s:56:"SELECT *, count(*) as cnt, 1 as gr FROM main GROUP BY gr";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:6:{s:2:"id";s:1:"1";s:4:"str1";s:9:"a aa main";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"100";s:3:"cnt";s:1:"9";s:2:"gr";s:1:"1";}}}i:40;a:3:{s:8:"sphinxql";s:56:"select *, bigint(idd1) b, min( bigint(idd1)) c from main";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:6:{s:2:"id";s:1:"1";s:4:"str1";s:9:"a aa main";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"100";s:1:"b";s:1:"1";s:1:"c";s:1:"1";}}}i:41;a:3:{s:8:"sphinxql";s:77:"select *, bigint(idd1) b, min( bigint(idd1)) c, 1 as gr from main GROUP BY gr";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:7:{s:2:"id";s:1:"1";s:4:"str1";s:9:"a aa main";s:4:"idd1";s:1:"1";s:3:"tag";s:3:"100";s:1:"b";s:1:"1";s:1:"c";s:1:"1";s:2:"gr";s:1:"1";}}}i:42;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:8:"count(*)";s:1:"0";}}s:8:"sphinxql";s:56:"select count(*) from count2 where id in (1,2); show meta";}i:43;a:3:{s:10:"total_rows";i:3;s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";s:4:"rows";a:2:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}}}i:44;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";N;s:3:"idd";N;s:8:"count(*)";s:1:"0";}}s:8:"sphinxql";s:59:"select *, count(*) from count2 where id in (1,2); show meta";}i:45;a:3:{s:10:"total_rows";i:3;s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";s:4:"rows";a:2:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}}}i:46;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:8:"count(*)";s:1:"2";}}s:8:"sphinxql";s:64:"select count(*) from count1, count2 where id in (1,2); show meta";}i:47;a:3:{s:10:"total_rows";i:3;s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";s:4:"rows";a:2:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}}}i:48;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:8:"count(*)";s:1:"2";}}s:8:"sphinxql";s:64:"select count(*) from count2, count1 where id in (1,2); show meta";}i:49;a:3:{s:10:"total_rows";i:3;s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";s:4:"rows";a:2:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}}}i:50;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:8:"count(*)";s:1:"2";}}s:8:"sphinxql";s:67:"select *, count(*) from count1, count2 where id in (1,2); show meta";}i:51;a:3:{s:10:"total_rows";i:3;s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";s:4:"rows";a:2:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}}}i:52;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:8:"count(*)";s:1:"2";}}s:8:"sphinxql";s:67:"select *, count(*) from count2, count1 where id in (1,2); show meta";}i:53;a:3:{s:10:"total_rows";i:3;s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";s:4:"rows";a:2:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}}}i:54;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:3:"idd";s:2:"11";s:8:"count(*)";s:1:"2";}}s:8:"sphinxql";s:69:"select idd, count(*) from count1, count2 where id in (1,2); show meta";}i:55;a:3:{s:10:"total_rows";i:3;s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";s:4:"rows";a:2:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}}}i:56;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:3:"idd";s:2:"11";s:8:"count(*)";s:1:"2";}}s:8:"sphinxql";s:69:"select idd, count(*) from count2, count1 where id in (1,2); show meta";}i:57;a:3:{s:10:"total_rows";i:3;s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";s:4:"rows";a:2:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}}}i:58;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";N;s:3:"idd";N;s:8:"count(*)";s:1:"0";}}s:8:"sphinxql";s:67:"select *, count(*) from count1, count2 where id in (100); show meta";}i:59;a:3:{s:10:"total_rows";i:3;s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";s:4:"rows";a:2:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}}}i:60;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:3:"idd";N;s:8:"count(*)";s:1:"0";}}s:8:"sphinxql";s:69:"select idd, count(*) from count2, count1 where id in (100); show meta";}i:61;a:3:{s:10:"total_rows";i:3;s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";s:4:"rows";a:2:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}}}i:62;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:8:"count(*)";s:1:"2";}}s:8:"sphinxql";s:61:"select count(*) from dist_count1 where id in (1,2); show meta";}i:63;a:3:{s:10:"total_rows";i:3;s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";s:4:"rows";a:2:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}}}i:64;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:8:"count(*)";s:1:"2";}}s:8:"sphinxql";s:61:"select count(*) from dist_count2 where id in (1,2); show meta";}i:65;a:3:{s:10:"total_rows";i:3;s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";s:4:"rows";a:2:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}}}i:66;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:8:"count(*)";s:1:"2";}}s:8:"sphinxql";s:64:"select *, count(*) from dist_count1 where id in (1,2); show meta";}i:67;a:3:{s:10:"total_rows";i:3;s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";s:4:"rows";a:2:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}}}i:68;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:8:"count(*)";s:1:"2";}}s:8:"sphinxql";s:64:"select *, count(*) from dist_count2 where id in (1,2); show meta";}i:69;a:3:{s:10:"total_rows";i:3;s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";s:4:"rows";a:2:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}}}i:70;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:3:"idd";s:2:"11";s:8:"count(*)";s:1:"2";}}s:8:"sphinxql";s:66:"select idd, count(*) from dist_count1 where id in (1,2); show meta";}i:71;a:3:{s:10:"total_rows";i:3;s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";s:4:"rows";a:2:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}}}i:72;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:3:"idd";s:2:"22";s:8:"count(*)";s:1:"2";}}s:8:"sphinxql";s:68:"select idd, count(*) from dist_count2 where id in (10,11); show meta";}i:73;a:3:{s:10:"total_rows";i:3;s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";s:4:"rows";a:2:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}}}i:74;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";N;s:3:"idd";N;s:8:"count(*)";s:1:"0";}}s:8:"sphinxql";s:64:"select *, count(*) from dist_count1 where id in (100); show meta";}i:75;a:3:{s:10:"total_rows";i:3;s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";s:4:"rows";a:2:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}}}i:76;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:3:"idd";N;s:8:"count(*)";s:1:"0";}}s:8:"sphinxql";s:66:"select idd, count(*) from dist_count2 where id in (100); show meta";}i:77;a:3:{s:10:"total_rows";i:3;s:8:"sphinxql";s:52:" show meta /* result 2 of previous multistatement */";s:4:"rows";a:2:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}}}i:78;a:3:{s:8:"sphinxql";s:70:"select *, 123456, 2+2, sin(1.0), sin(idd), idd+1, count(*) from count2";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:8:{s:2:"id";s:2:"10";s:3:"idd";s:2:"22";i:123456;s:6:"123456";s:3:"2+2";s:1:"4";s:8:"sin(1.0)";s:8:"0.841471";s:8:"sin(idd)";s:9:"-0.008851";s:5:"idd+1";s:2:"23";s:8:"count(*)";s:1:"2";}}}i:79;a:3:{s:8:"sphinxql";s:88:"select *, 123456, 2+2, sin(1.0), sin(idd), idd+1, count(*) from count2 where id in (1,2)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:8:{s:2:"id";N;s:3:"idd";N;i:123456;s:6:"123456";s:3:"2+2";s:1:"4";s:8:"sin(1.0)";s:8:"0.841471";s:8:"sin(idd)";N;s:5:"idd+1";N;s:8:"count(*)";s:1:"0";}}}}}sphinx-2.2.11-release/test/test_162/0000755000175000017500000000000012743402012016405 5ustar alexeyalexeysphinx-2.2.11-release/test/test_162/test.xml0000644000175000017500000001003412743402012020104 0ustar alexeyalexey string vs within group order indexer { mem_limit = 16M } searchd { workers = threads } source src { type = mysql sql_query = SELECT id, idd1, str1, body FROM test_table sql_attr_uint = idd1 sql_attr_string = str1 } index plain { source = src docinfo = extern path = /plain } index rt { dict = keywords type = rt rt_attr_uint = idd1 rt_attr_string = str1 rt_field = body docinfo = extern path = /rt } CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `idd1` int(11) NOT NULL default '0', `str1` varchar(1024) NOT NULL default '', `body` varchar(1024) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 1, 'a aa', 'the dog' ), ( 2, 11, 'c cc', 'the cat' ), ( 3, 11, 'a a', 'the bird' ), ( 4, 11, 'cc c', 'cat eats bird' ), ( 5, 3, 'a a', 'dog eats cat' ), ( 6, 1, 'c cc', 'bird' ), ( 7, 1, 'a a', 'the cat' ), ( 8, 1, 'a a', 'eats' ), ( 9, 3, 'c cc', 'the' ) the | dog | cat the | eats | bird select * from plain group by idd1 within group order by str1 asc select * from plain group by idd1 within group order by str1 desc select * from plain where match('the | dog | cat') group by idd1 within group order by str1 asc select * from plain where match('the | eats | bird') group by idd1 within group order by str1 desc select *, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc select * from ( select *, sum(id) as s1, sum(idd1) as s2, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc ) order by s1 asc select * from ( select *, sum(id) as s1, sum(idd1) as s2, s1+s2 as s3, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc ) order by s1 desc select * from ( select *, sum(id) as s1, sum(idd1) as s2, s1+s2 as s3, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc ) order by s2 desc select * from ( select *, sum(id) as s1, sum(idd1) as s2, s1+s2 as s3, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc ) order by s3 desc INSERT INTO rt (id, idd1, str1, body) VALUES ( 1, 1, 'a aa', 'the dog' ), ( 2, 11, 'c cc', 'the cat' ), ( 3, 11, 'a a', 'the bird' ), ( 4, 11, 'cc c', 'cat eats bird' ), ( 5, 3, 'a a', 'dog eats cat' ), ( 6, 1, 'c cc', 'bird' ), ( 7, 1, 'a a', 'the cat' ), ( 8, 1, 'a a', 'eats' ), ( 9, 3, 'c cc', 'the' ) select *, sum(id) as s1, sum(idd1) as s2, s1+s2 as s3, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc select *, sum(id) as s1, sum(idd1) as s2, s1+s2 as s3, group_concat(id) from rt where match('the | eats | bird') group by idd1 within group order by str1 asc sphinx-2.2.11-release/test/test_162/model.bin0000644000175000017500000002336212743402012020205 0ustar alexeyalexeya:1:{i:0;a:16:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";i:7;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:3:{i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";s:8:"@groupby";s:1:"1";s:6:"@count";s:1:"4";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";s:1:"3";s:4:"str1";s:3:"a a";s:8:"@groupby";s:1:"3";s:6:"@count";s:1:"2";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";s:2:"11";s:4:"str1";s:3:"a a";s:8:"@groupby";s:2:"11";s:6:"@count";s:1:"3";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";i:7;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:3:{i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";s:1:"1";s:4:"str1";s:4:"c cc";s:8:"@groupby";s:1:"1";s:6:"@count";s:1:"4";}}i:9;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";s:1:"3";s:4:"str1";s:4:"c cc";s:8:"@groupby";s:1:"3";s:6:"@count";s:1:"2";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"idd1";s:2:"11";s:4:"str1";s:4:"cc c";s:8:"@groupby";s:2:"11";s:6:"@count";s:1:"3";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";i:7;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:3:{i:7;a:2:{s:6:"weight";s:4:"1513";s:5:"attrs";a:4:{s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";s:8:"@groupby";s:1:"1";s:6:"@count";s:1:"2";}}i:5;a:2:{s:6:"weight";s:4:"1558";s:5:"attrs";a:4:{s:4:"idd1";s:1:"3";s:4:"str1";s:3:"a a";s:8:"@groupby";s:1:"3";s:6:"@count";s:1:"2";}}i:3;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:4:{s:4:"idd1";s:2:"11";s:4:"str1";s:3:"a a";s:8:"@groupby";s:2:"11";s:6:"@count";s:1:"3";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.003";s:5:"words";a:3:{s:3:"the";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}s:3:"dog";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"cat";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"the | dog | cat";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"idd1";i:1;s:4:"str1";i:7;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:3:{i:6;a:2:{s:6:"weight";s:4:"1527";s:5:"attrs";a:4:{s:4:"idd1";s:1:"1";s:4:"str1";s:4:"c cc";s:8:"@groupby";s:1:"1";s:6:"@count";s:1:"4";}}i:9;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:4:{s:4:"idd1";s:1:"3";s:4:"str1";s:4:"c cc";s:8:"@groupby";s:1:"3";s:6:"@count";s:1:"2";}}i:4;a:2:{s:6:"weight";s:4:"2555";s:5:"attrs";a:4:{s:4:"idd1";s:2:"11";s:4:"str1";s:4:"cc c";s:8:"@groupby";s:2:"11";s:6:"@count";s:1:"3";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"the";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}s:4:"eats";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:4:"bird";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"the | eats | bird";}i:4;a:3:{s:8:"sphinxql";s:64:"select * from plain group by idd1 within group order by str1 asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"a a";}i:1;a:3:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:3:"a a";}i:2;a:3:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";}}}i:5;a:3:{s:8:"sphinxql";s:65:"select * from plain group by idd1 within group order by str1 desc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"4";s:4:"idd1";s:2:"11";s:4:"str1";s:4:"cc c";}i:1;a:3:{s:2:"id";s:1:"6";s:4:"idd1";s:1:"1";s:4:"str1";s:4:"c cc";}i:2;a:3:{s:2:"id";s:1:"9";s:4:"idd1";s:1:"3";s:4:"str1";s:4:"c cc";}}}i:6;a:3:{s:8:"sphinxql";s:95:"select * from plain where match('the | dog | cat') group by idd1 within group order by str1 asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:3:"a a";}i:1;a:3:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";}i:2;a:3:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"a a";}}}i:7;a:3:{s:8:"sphinxql";s:98:"select * from plain where match('the | eats | bird') group by idd1 within group order by str1 desc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"4";s:4:"idd1";s:2:"11";s:4:"str1";s:4:"cc c";}i:1;a:3:{s:2:"id";s:1:"6";s:4:"idd1";s:1:"1";s:4:"str1";s:4:"c cc";}i:2;a:3:{s:2:"id";s:1:"9";s:4:"idd1";s:1:"3";s:4:"str1";s:4:"c cc";}}}i:8;a:3:{s:8:"sphinxql";s:115:"select *, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"a a";s:16:"group_concat(id)";s:5:"2,3,4";}i:1;a:4:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:3:"a a";s:16:"group_concat(id)";s:3:"5,9";}i:2;a:4:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";s:16:"group_concat(id)";s:7:"1,6,7,8";}}}i:9;a:3:{s:8:"sphinxql";s:181:"select * from ( select *, sum(id) as s1, sum(idd1) as s2, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc ) order by s1 asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:6:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"a a";s:2:"s1";s:1:"9";s:2:"s2";s:2:"33";s:16:"group_concat(id)";s:5:"2,3,4";}i:1;a:6:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"14";s:2:"s2";s:1:"6";s:16:"group_concat(id)";s:3:"5,9";}i:2;a:6:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"22";s:2:"s2";s:1:"4";s:16:"group_concat(id)";s:7:"1,6,7,8";}}}i:10;a:3:{s:8:"sphinxql";s:195:"select * from ( select *, sum(id) as s1, sum(idd1) as s2, s1+s2 as s3, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc ) order by s1 desc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:7:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"22";s:2:"s2";s:1:"4";s:2:"s3";s:2:"26";s:16:"group_concat(id)";s:7:"1,6,7,8";}i:1;a:7:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"14";s:2:"s2";s:1:"6";s:2:"s3";s:2:"20";s:16:"group_concat(id)";s:3:"5,9";}i:2;a:7:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"a a";s:2:"s1";s:1:"9";s:2:"s2";s:2:"33";s:2:"s3";s:2:"42";s:16:"group_concat(id)";s:5:"2,3,4";}}}i:11;a:3:{s:8:"sphinxql";s:195:"select * from ( select *, sum(id) as s1, sum(idd1) as s2, s1+s2 as s3, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc ) order by s2 desc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:7:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"a a";s:2:"s1";s:1:"9";s:2:"s2";s:2:"33";s:2:"s3";s:2:"42";s:16:"group_concat(id)";s:5:"2,3,4";}i:1;a:7:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"14";s:2:"s2";s:1:"6";s:2:"s3";s:2:"20";s:16:"group_concat(id)";s:3:"5,9";}i:2;a:7:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"22";s:2:"s2";s:1:"4";s:2:"s3";s:2:"26";s:16:"group_concat(id)";s:7:"1,6,7,8";}}}i:12;a:3:{s:8:"sphinxql";s:195:"select * from ( select *, sum(id) as s1, sum(idd1) as s2, s1+s2 as s3, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc ) order by s3 desc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:7:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"a a";s:2:"s1";s:1:"9";s:2:"s2";s:2:"33";s:2:"s3";s:2:"42";s:16:"group_concat(id)";s:5:"2,3,4";}i:1;a:7:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"22";s:2:"s2";s:1:"4";s:2:"s3";s:2:"26";s:16:"group_concat(id)";s:7:"1,6,7,8";}i:2;a:7:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"14";s:2:"s2";s:1:"6";s:2:"s3";s:2:"20";s:16:"group_concat(id)";s:3:"5,9";}}}i:13;a:2:{s:8:"sphinxql";s:325:" INSERT INTO rt (id, idd1, str1, body) VALUES ( 1, 1, 'a aa', 'the dog' ), ( 2, 11, 'c cc', 'the cat' ), ( 3, 11, 'a a', 'the bird' ), ( 4, 11, 'cc c', 'cat eats bird' ), ( 5, 3, 'a a', 'dog eats cat' ), ( 6, 1, 'c cc', 'bird' ), ( 7, 1, 'a a', 'the cat' ), ( 8, 1, 'a a', 'eats' ), ( 9, 3, 'c cc', 'the' ) ";s:14:"total_affected";i:9;}i:14;a:3:{s:8:"sphinxql";s:160:"select *, sum(id) as s1, sum(idd1) as s2, s1+s2 as s3, group_concat(id) from plain where match('the | eats | bird') group by idd1 within group order by str1 asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:7:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"a a";s:2:"s1";s:1:"9";s:2:"s2";s:2:"33";s:2:"s3";s:2:"42";s:16:"group_concat(id)";s:5:"2,3,4";}i:1;a:7:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"14";s:2:"s2";s:1:"6";s:2:"s3";s:2:"20";s:16:"group_concat(id)";s:3:"5,9";}i:2;a:7:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"22";s:2:"s2";s:1:"4";s:2:"s3";s:2:"26";s:16:"group_concat(id)";s:7:"1,6,7,8";}}}i:15;a:3:{s:8:"sphinxql";s:160:"select *, sum(id) as s1, sum(idd1) as s2, s1+s2 as s3, group_concat(id) from rt where match('the | eats | bird') group by idd1 within group order by str1 asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:7:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"a a";s:2:"s1";s:1:"9";s:2:"s2";s:2:"33";s:2:"s3";s:2:"42";s:16:"group_concat(id)";s:5:"2,3,4";}i:1;a:7:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"14";s:2:"s2";s:1:"6";s:2:"s3";s:2:"20";s:16:"group_concat(id)";s:3:"5,9";}i:2;a:7:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";s:2:"s1";s:2:"22";s:2:"s2";s:1:"4";s:2:"s3";s:2:"26";s:16:"group_concat(id)";s:7:"1,6,7,8";}}}}}sphinx-2.2.11-release/test/test_161/0000755000175000017500000000000012743402012016404 5ustar alexeyalexeysphinx-2.2.11-release/test/test_161/test.xml0000644000175000017500000000164112743402012020107 0ustar alexeyalexey xmlpipe2 indexing vs prefix search indexer { mem_limit = 16M } searchd { } source src { type = xmlpipe2 xmlpipe_command = cat /data1.xml xmlpipe_field = title xmlpipe_attr_uint = paper_id } index test { source = src path = /test min_prefix_len = 1 dict = crc dict = keywords } flo* fa* | te* f* f* !t* sphinx-2.2.11-release/test/test_161/model.bin0000644000175000017500000001351612743402012020204 0ustar alexeyalexeya:2:{i:0;a:5:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:8:"paper_id";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:8:"paper_id";s:1:"1";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:8:"paper_id";s:1:"2";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:8:"paper_id";s:2:"33";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:8:"paper_id";s:2:"40";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:8:"paper_id";i:1;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"1557";s:5:"attrs";a:1:{s:8:"paper_id";s:1:"1";}}i:2;a:2:{s:6:"weight";s:4:"1557";s:5:"attrs";a:1:{s:8:"paper_id";s:1:"2";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"flo*";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"flo*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:8:"paper_id";i:1;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1528";s:5:"attrs";a:1:{s:8:"paper_id";s:1:"1";}}i:2;a:2:{s:6:"weight";s:4:"1528";s:5:"attrs";a:1:{s:8:"paper_id";s:1:"2";}}i:3;a:2:{s:6:"weight";s:4:"1597";s:5:"attrs";a:1:{s:8:"paper_id";s:2:"33";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"fa*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"te*";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"fa* | te*";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:8:"paper_id";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:1:{s:8:"paper_id";s:1:"1";}}i:2;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:1:{s:8:"paper_id";s:1:"2";}}i:3;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:1:{s:8:"paper_id";s:2:"33";}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:1:{s:8:"paper_id";s:2:"40";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"f*";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"f*";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:8:"paper_id";i:1;}s:7:"matches";a:2:{i:3;a:2:{s:6:"weight";s:4:"1402";s:5:"attrs";a:1:{s:8:"paper_id";s:2:"33";}}i:4;a:2:{s:6:"weight";s:4:"1402";s:5:"attrs";a:1:{s:8:"paper_id";s:2:"40";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:2:"f*";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:2:"t*";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"f* !t*";}}i:1;a:5:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:8:"paper_id";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:8:"paper_id";s:1:"1";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:8:"paper_id";s:1:"2";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:8:"paper_id";s:2:"33";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:8:"paper_id";s:2:"40";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:8:"paper_id";i:1;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"1557";s:5:"attrs";a:1:{s:8:"paper_id";s:1:"1";}}i:2;a:2:{s:6:"weight";s:4:"1557";s:5:"attrs";a:1:{s:8:"paper_id";s:1:"2";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:1:{s:4:"flo*";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"flo*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:8:"paper_id";i:1;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1528";s:5:"attrs";a:1:{s:8:"paper_id";s:1:"1";}}i:2;a:2:{s:6:"weight";s:4:"1528";s:5:"attrs";a:1:{s:8:"paper_id";s:1:"2";}}i:3;a:2:{s:6:"weight";s:4:"1597";s:5:"attrs";a:1:{s:8:"paper_id";s:2:"33";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"fa*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"te*";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"fa* | te*";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:8:"paper_id";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:1:{s:8:"paper_id";s:1:"1";}}i:2;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:1:{s:8:"paper_id";s:1:"2";}}i:3;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:1:{s:8:"paper_id";s:2:"33";}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:1:{s:8:"paper_id";s:2:"40";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:2:"f*";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"f*";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:8:"paper_id";i:1;}s:7:"matches";a:2:{i:3;a:2:{s:6:"weight";s:4:"1402";s:5:"attrs";a:1:{s:8:"paper_id";s:2:"33";}}i:4;a:2:{s:6:"weight";s:4:"1402";s:5:"attrs";a:1:{s:8:"paper_id";s:2:"40";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:2:"f*";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:2:"t*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"f* !t*";}}}sphinx-2.2.11-release/test/test_161/data1.xml0000644000175000017500000000073312743402012020123 0ustar alexeyalexey test flowing one 1 test of flore two 2 another fast doc 33 doc number four 40 sphinx-2.2.11-release/test/test_160/0000755000175000017500000000000012743402012016403 5ustar alexeyalexeysphinx-2.2.11-release/test/test_160/test.xml0000644000175000017500000001557512743402012020121 0ustar alexeyalexey snippets vs SPZ searchd { } source test { type = mysql sql_query = SELECT 1, 'text'; } index test { source = test path = /test html_strip = 1 index_sp = 1 index_zones = zone* min_infix_len = 1 } index multiform { source = test path = /multiform wordforms = /multiwordorms.txt min_infix_len = 1 } select 1; 'zone', 'limit'=>0 ); $docs = array(' these words and these to are cool '); $pass = 0; $results[] = '[pass] (query/result=q/r) (fast path=1/0) (query_mode=1/0)'; foreach ( array(0, 1) as $qmode ) { $opts['query_mode'] = $qmode; foreach ( $data as $q ) { $opts['limit_passages'] = 10; $results["[$pass]q"] = $q; $res = $client->BuildExcerpts($docs, 'test', $q, $opts ); $results["[$pass]r 0 $qmode"] = ( count($res)>0 ? $res[0] : ''); $opts['limit_passages'] = 0; $res = $client->BuildExcerpts($docs, 'test', $q, $opts ); $results["[$pass]r 1 $qmode"] = ( count($res)>0 ? $res[0] : '' ); $pass += 1; } } $results[] = $client->BuildExcerpts(array('small doc', 'one more'), 'multiform', 'crash on tokenizer from another doc', array ('query_mode'=>0) ); // another regression - zone transformed by stripper in result set $opts = array ( 'query_mode'=>1, 'limit_words'=>6 ); $opts['html_strip_mode'] = 'index'; $res = $client->BuildExcerpts($docs, 'test', 'these | are', $opts); $res['html_strip_mode'] = $opts['html_strip_mode']; $results[] = $res; $opts['html_strip_mode'] = 'strip'; $res= $client->BuildExcerpts($docs, 'test', 'these | are', $opts); $res['html_strip_mode'] = $opts['html_strip_mode']; $results[] = $res; $opts['html_strip_mode'] = 'index'; $opts['passage_boundary'] = 'zone'; $res = $client->BuildExcerpts($docs, 'test', 'these | are', $opts); $res['html_strip_mode'] = $opts['html_strip_mode']; $res['passage_boundary'] = $opts['passage_boundary']; $results[] = $res; $opts['html_strip_mode'] = 'strip'; $res= $client->BuildExcerpts($docs, 'test', 'these', $opts); $res['html_strip_mode'] = $opts['html_strip_mode']; $res['passage_boundary'] = $opts['passage_boundary']; $results[] = $res; // regression retain vs SPZ $docs = array( ' these words and these to are cool ', ' these words and these to are cool ' ); $opts = array ( 'limit'=>0, 'html_strip_mode'=>'retain', 'query_mode'=>1 ); $res = $client->BuildExcerpts($docs, 'test', 'ZONE:zoneZZ these', $opts); $res['zone'] = 'zoneZZ'; $results[] = $res; $res = $client->BuildExcerpts($docs, 'test', 'ZONE:zoneB these', $opts); $res['zone'] = 'ZoneB'; $results[] = $res; $res = $client->BuildExcerpts($docs, 'test', 'and PARAGRAPH words', $opts); $res['boundary'] = 'paragraph'; $results[] = $res; $results[] = $client->BuildExcerpts(array('tokenizer filter crash at lc'), 'multiform', 'crash at lc', array ('query_mode'=>1, 'html_strip_mode'=>'retain', 'limit'=>0) ); $results[] = $client->BuildExcerpts(array('dog dummy! as the house nearby the dog'), 'test', 'the. dog!? as', array ('query_mode'=>1, 'html_strip_mode'=>'retain', 'limit'=>0) ); // regression SPZ vs passage_boundary $opts = array ( 'query_mode'=>1, 'allow_empty'=>1 ); $opts['limit'] = 0; $res = $client->BuildExcerpts($docs, 'test', 'ZONE:zoneB these', $opts); $res['ZoneB'] = 'fast-path'; $results[] = $res; $opts['limit'] = 30; $res = $client->BuildExcerpts($docs, 'test', 'ZONE:zoneB these', $opts); $res['ZoneB'] = 'old-path'; $results[] = $res; $opts['limit'] = 0; $res = $client->BuildExcerpts($docs, 'test', 'and PARAGRAPH words', $opts); $res['PARAGRAPH'] = 'fast-path'; $results[] = $res; $opts['limit'] = 30; $res = $client->BuildExcerpts($docs, 'test', 'and PARAGRAPH words', $opts); $res['PARAGRAPH'] = 'old-path'; $results[] = $res; // regression fast-path vs passage_boundary $opts['limit'] = 0; $opts['passage_boundary'] = 'paragraph'; $res = $client->BuildExcerpts($docs, 'test', 'and words', $opts); $res['passage_boundary'] = 'paragraph'; $results[] = $res; $opts['passage_boundary'] = 'zone'; $res = $client->BuildExcerpts($docs, 'test', 'and words', $opts); $res['passage_boundary'] = 'zone'; $results[] = $res; // regression head SPZ overgrow + non fast path SPZ $docs = array ( 'Ultra long stuff is going here then store sales, which were going before of store closes. Same store sales for the quarter increased as ultra long dust was here since univerce was born. ' ); $results[] = $client->BuildExcerpts ( $docs, 'test', '(store SENTENCE closes)', array ( 'query_mode'=>1, 'passage_boundary'=>'sentence', 'limit'=>90 ) ); $results[] = $client->BuildExcerpts ( $docs, 'test', '(store SENTENCE closes)', array ( 'query_mode'=>1, 'passage_boundary'=>'sentence', 'limit'=>0 ) ); $docs = array ( 'Ultra long stuff is going here then store sales, which were going before of store closes. Same store sales for the quarter increased as ultra long dust was here since univerce was born. And again store closes as usual ' ); $results[] = $client->BuildExcerpts ( $docs, 'test', '(store SENTENCE closes)', array ( 'query_mode'=>1, 'passage_boundary'=>'sentence', 'limit'=>90 ) ); $results[] = $client->BuildExcerpts ( $docs, 'test', '(store SENTENCE closes)', array ( 'query_mode'=>1, 'passage_boundary'=>'sentence', 'limit'=>0 ) ); // regression fast path SPZ vs html_strip_mode = retain $docs = array ( 'Ultra long stuff is going here then store sales, which were going before of store closes. Same store sales for the quarter increased as ultra long dust was here since univerce was born. And again store closes as usual ' ); $results[] = $client->BuildExcerpts ( $docs, 'test', '(store SENTENCE closes)', array ( 'query_mode'=>1, 'html_strip_mode'=>'retain', 'limit'=>0 ) ); $results[] = $client->BuildExcerpts ( $docs, 'test', '(store PARAGRAPH closes)', array ( 'query_mode'=>1, 'html_strip_mode'=>'retain', 'limit'=>0 ) ); $docs = array ( 'Ultra long stuff is going here then store sales, which were going before of store closes.

Same store sales for the quarter increased as ultra long dust was here since univerce was born.

And again store closes as usual ' ); $results[] = $client->BuildExcerpts ( $docs, 'test', '(store SENTENCE closes)', array ( 'query_mode'=>1, 'html_strip_mode'=>'retain', 'limit'=>0 ) ); $results[] = $client->BuildExcerpts ( $docs, 'test', '(store PARAGRAPH closes)', array ( 'query_mode'=>1, 'html_strip_mode'=>'retain', 'limit'=>0 ) ); ]]> sphinx-2.2.11-release/test/test_160/multiwordorms.txt0000644000175000017500000000020712743402012022072 0ustar alexeyalexeyfolded many > wrapped shortform multi > SomeWhatMoreLongFormThatWouldOverflowShortFormBuffer antediluvian clumsy shandrydan > fordt sphinx-2.2.11-release/test/test_160/model.bin0000644000175000017500000001315012743402012020175 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:61:{i:0;s:58:"[pass] (query/result=q/r) (fast path=1/0) (query_mode=1/0)";s:4:"[0]q";s:16:"ZONE:zoneA these";s:8:"[0]r 0 0";s:49:"these words ... and these to ... ";s:8:"[0]r 1 0";s:49:"these words ... and these to ... ";s:4:"[1]q";s:16:"ZONE:zoneB these";s:8:"[1]r 0 0";s:49:"these words ... and these to ... ";s:8:"[1]r 1 0";s:49:"these words ... and these to ... ";s:4:"[2]q";s:23:"ZONE:(zoneA, zoneB) th*";s:8:"[2]r 0 0";s:49:"these words ... and these to ... ";s:8:"[2]r 1 0";s:49:"these words ... and these to ... ";s:4:"[3]q";s:23:"ZONE:(zoneA, zoneB) are";s:8:"[3]r 0 0";s:21:" ... are cool ";s:8:"[3]r 1 0";s:21:" ... are cool ";s:4:"[4]q";s:20:"ZONE:zoneZZ a* cool$";s:8:"[4]r 0 0";s:53:" ... and these to ... are cool ";s:8:"[4]r 1 0";s:53:" ... and these to ... are cool ";s:4:"[5]q";s:18:"ZONE:zoneZZ to* a*";s:8:"[5]r 0 0";s:53:" ... and these to ... are cool ";s:8:"[5]r 1 0";s:53:" ... and these to ... are cool ";s:4:"[6]q";s:16:"ZONE:zoneA these";s:8:"[6]r 0 1";s:24:"these words ... ";s:8:"[6]r 1 1";s:24:"these words ... ";s:4:"[7]q";s:16:"ZONE:zoneB these";s:8:"[7]r 0 1";s:30:" ... and these to ... ";s:8:"[7]r 1 1";s:30:" ... and these to ... ";s:4:"[8]q";s:23:"ZONE:(zoneA, zoneB) th*";s:8:"[8]r 0 1";N;s:8:"[8]r 1 1";N;s:4:"[9]q";s:23:"ZONE:(zoneA, zoneB) are";s:8:"[9]r 0 1";N;s:8:"[9]r 1 1";N;s:5:"[10]q";s:20:"ZONE:zoneZZ a* cool$";s:9:"[10]r 0 1";s:46:" ... and these to ... are cool ";s:9:"[10]r 1 1";s:46:" ... and these to ... are cool ";s:5:"[11]q";s:18:"ZONE:zoneZZ to* a*";s:9:"[11]r 0 1";s:53:" ... and these to ... are cool ";s:9:"[11]r 1 1";s:53:" ... and these to ... are cool ";i:1;a:2:{i:0;s:16:"small doc";i:1;s:8:"one more";}i:2;a:2:{i:0;s:56:" these words and these to are ... ";s:15:"html_strip_mode";s:5:"index";}i:3;a:2:{i:0;s:56:" these words and these to are ... ";s:15:"html_strip_mode";s:5:"strip";}i:4;a:3:{i:0;s:62:"these ... and these to ... are cool ... ";s:15:"html_strip_mode";s:5:"index";s:16:"passage_boundary";s:4:"zone";}i:5;a:3:{i:0;s:49:"these words ... and these to ... ";s:15:"html_strip_mode";s:5:"strip";s:16:"passage_boundary";s:4:"zone";}i:6;a:3:{i:0;s:98:" these words and these to are cool ";i:1;s:87:" these words and these to are cool ";s:4:"zone";s:6:"zoneZZ";}i:7;a:3:{i:0;s:91:" these words and these to are cool ";i:1;s:73:" these words and these to are cool ";s:4:"zone";s:5:"ZoneB";}i:8;a:3:{i:0;s:98:" these words and these to are cool ";i:1;s:73:" these words and these to are cool ";s:8:"boundary";s:9:"paragraph";}i:9;a:1:{i:0;s:35:"tokenizer filter crash at lc";}i:10;a:1:{i:0;s:59:"dog dummy! as the house nearby the dog";}i:11;a:3:{i:0;s:41:"these words and these to are cool ";i:1;s:0:"";s:5:"ZoneB";s:9:"fast-path";}i:12;a:3:{i:0;s:30:" ... and these to ... ";i:1;s:0:"";s:5:"ZoneB";s:8:"old-path";}i:13;a:3:{i:0;s:48:"these words and these to are cool ";i:1;s:0:"";s:9:"PARAGRAPH";s:9:"fast-path";}i:14;a:3:{i:0;s:49:"these words ... and these to ... ";i:1;s:0:"";s:9:"PARAGRAPH";s:8:"old-path";}i:15;a:3:{i:0;s:49:"these words ... and these to ... ";i:1;s:49:"these words ... and these to ... ";s:16:"passage_boundary";s:9:"paragraph";}i:16;a:3:{i:0;s:49:"these words ... and these to ... ";i:1;s:37:"these words and these to ... ";s:16:"passage_boundary";s:4:"zone";}i:17;a:1:{i:0;s:97:" ... is going here then store sales, which were going before of store closes. ... ";}i:18;a:1:{i:0;s:97:" ... is going here then store sales, which were going before of store closes. ... ";}i:19;a:1:{i:0;s:123:" ... here then store sales, which were going before of store closes. ... again store closes as ... ";}i:20;a:1:{i:0;s:137:" ... is going here then store sales, which were going before of store closes. ... And again store closes as usual ";}i:21;a:1:{i:0;s:239:"Ultra long stuff is going here then store sales, which were going before of store closes. Same store sales for the quarter increased as ultra long dust was here since univerce was born. And again store closes as usual ";}i:22;a:1:{i:0;s:246:"Ultra long stuff is going here then store sales, which were going before of store closes. Same store sales for the quarter increased as ultra long dust was here since univerce was born. And again store closes as usual ";}i:23;a:1:{i:0;s:247:"Ultra long stuff is going here then store sales, which were going before of store closes.

Same store sales for the quarter increased as ultra long dust was here since univerce was born.

And again store closes as usual ";}i:24;a:1:{i:0;s:247:"Ultra long stuff is going here then store sales, which were going before of store closes.

Same store sales for the quarter increased as ultra long dust was here since univerce was born.

And again store closes as usual ";}}}}sphinx-2.2.11-release/test/test_159/0000755000175000017500000000000012743402012016413 5ustar alexeyalexeysphinx-2.2.11-release/test/test_159/test.xml0000644000175000017500000001247212743402012020122 0ustar alexeyalexey sorting vs string indexer { mem_limit = 16M } searchd { workers = threads } source src { type = mysql sql_query = SELECT id, idd1, str1, body FROM test_table sql_attr_uint = idd1 sql_attr_string = str1 } index plain { source = src docinfo = extern path = /plain } index rt { type = rt docinfo = extern path = /rt rt_attr_uint = IDD1 rt_attr_uint = iDD2 rt_attr_string = Str1 rt_attr_string = Str2 rt_field = body rt_mem_limit = 128K } index rt1 { type = rt docinfo = extern path = /rt1 rt_attr_uint = IDD1 rt_attr_string = str1 rt_field = body rt_mem_limit = 128K } index dist { type = distributed local = plain local = rt } CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `idd1` int(11) NOT NULL default '0', `idd2` int(11) NOT NULL default '0', `str1` varchar(1024) NOT NULL default '', `str2` varchar(1024) NOT NULL default '', `body` varchar(1024) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 1, 9, 'aaa', 'h', 'the dog' ), ( 2, 11, 8, 'c cc', 'c', 'the cat' ), ( 3, 13, 7, 'a a', 'cc', 'the bird' ), ( 4, 11, 6, 'cc', 'cc', 'cat eats bird' ), ( 5, 3, 5, 'cc', 'c', 'dog eats cat' ), ( 6, 11, 4, 'ddd', 'hh', 'bird' ), ( 7, 5, 4, 'a', 'cc', 'the' ), ( 8, 6, 4, '', 'cc', 'the' ), ( 9, 7, 4, 'a', '', 'the' ) insert into rt (id, Idd1, idd2, str1, str2, body) values ( 10, 5, 4, '', 'cc', 'the' ) insert into rt (id, idd1, IDD2, str1, str2, body) values ( 11, 5, 4, 'a', '', 'the' ) insert into rt (id, idd1, idd2, Str1, str2, body) values ( 12, 6, 4, 'a', 'cc', 'the' ) insert into rt (id, idd1, idd2, str1, STR2, body) values ( 13, 4, 4, 'ddd', 'hh', 'bird' ) insert into rt (id, idd1, idd2, str1, str2, Body) values ( 14, 3, 5, 'cc', 'c', 'dog eats cat' ) insert into rt (id, idd1, idd2, str1, str2, BODY) values ( 15, 2, 6, 'cc', 'cc', 'cat eats bird' ) insert into rt (id, idd1, idd2, str1, sTr2, body) values ( 16, 1, 7, 'a a', 'cc', 'the bird' ) insert into rt (id, idd1, idd2, stR1, str2, body) values ( 17, 1, 8, 'c cc', 'c', 'the cat' ) insert into rt (id, idd1, iDD2, str1, str2, body) values ( 18, 11, 9, 'aaa', 'h', 'the dog' ) select * from plain order by Str1 desc select * from rt order by sTR1 desc select * from rt order by STR2 asc, Str1 desc select * from dist order by Str1 desc select * from dist order by Str1 desc, IDD1 asc select * from dist where match ('the') order by Str1 desc select * from dist where match ('the') order by Str1 desc, iDD1 asc select * from dist where match ('cat | eats') order by Str1 asc select * from dist where match ('cat | eats') order by Str1 asc, sTr2 desc select * from dist where match ('cat | eats') order by Str1 asc, Idd1 asc select * from dist where match ('cat | eats') group by str1 within group order by id desc select * from dist group by str2 within group order by id desc select id, str1 from rt group by idd1 order by id asc limit 0,2 option max_matches=2 select id, str1 from rt group by idd1 order by id asc limit 2,2 option max_matches=4 select id, idd1, to_string(idd1) as c from plain order by idd1 asc, id desc select id, idd1, to_string(idd1) as c from plain order by c desc, id desc select id, idd1, to_string(idd1) as c from plain where match ( 'the' ) order by c desc, id desc select id, idd2, idd2+4 as i, to_string(i) as c from rt order by i asc, id desc select id, idd2, idd2+4 as i, to_string(i) as c from rt order by c desc, id desc select id, idd2, to_string(idd1) as c from rt where match ( 'the' ) order by c desc, id asc insert into rt1 (id, idd1, str1, Body) values ( 14, 3, '', 'dog eats bone' ) insert into rt1 (id, idd1, str1, Body) values ( 15, 3, '', 'cat ear' ) select id, str1 from plain,rt1 where match ('^cat$') order by id asc select id, str1 from plain,rt1 where match ('cat') order by id asc sphinx-2.2.11-release/test/test_159/model.bin0000644000175000017500000004473512743402012020222 0ustar alexeyalexeya:1:{i:0;a:35:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:4:"idd1";i:1;s:4:"str1";i:7;}s:7:"matches";a:9:{i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:4:"idd1";s:2:"11";s:4:"str1";s:3:"ddd";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:4:"idd1";s:2:"11";s:4:"str1";s:2:"cc";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:4:"idd1";s:1:"3";s:4:"str1";s:2:"cc";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:4:"idd1";s:2:"11";s:4:"str1";s:4:"c cc";}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:4:"idd1";s:1:"1";s:4:"str1";s:3:"aaa";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:4:"idd1";s:2:"13";s:4:"str1";s:3:"a a";}}i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:4:"idd1";s:1:"5";s:4:"str1";s:1:"a";}}i:9;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:4:"idd1";s:1:"7";s:4:"str1";s:1:"a";}}i:8;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:4:"idd1";s:1:"6";s:4:"str1";s:0:"";}}}s:5:"total";s:1:"9";s:11:"total_found";s:1:"9";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:2:"i1";i:7;s:4:"idd1";i:1;}s:7:"matches";a:9:{i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:2:"i1";s:2:"11";s:4:"idd1";s:2:"11";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:2:"i1";s:2:"11";s:4:"idd1";s:2:"11";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:2:"i1";s:1:"3";s:4:"idd1";s:1:"3";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:2:"i1";s:2:"11";s:4:"idd1";s:2:"11";}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:2:"i1";s:1:"1";s:4:"idd1";s:1:"1";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:2:"i1";s:2:"13";s:4:"idd1";s:2:"13";}}i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:2:"i1";s:1:"5";s:4:"idd1";s:1:"5";}}i:9;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:2:"i1";s:1:"7";s:4:"idd1";s:1:"7";}}i:8;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:2:"i1";s:1:"6";s:4:"idd1";s:1:"6";}}}s:5:"total";s:1:"9";s:11:"total_found";s:1:"9";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:2;a:2:{s:8:"sphinxql";s:86:"insert into rt (id, Idd1, idd2, str1, str2, body) values ( 10, 5, 4, '', 'cc', 'the' )";s:14:"total_affected";i:1;}i:3;a:2:{s:8:"sphinxql";s:85:"insert into rt (id, idd1, IDD2, str1, str2, body) values ( 11, 5, 4, 'a', '', 'the' )";s:14:"total_affected";i:1;}i:4;a:2:{s:8:"sphinxql";s:87:"insert into rt (id, idd1, idd2, Str1, str2, body) values ( 12, 6, 4, 'a', 'cc', 'the' )";s:14:"total_affected";i:1;}i:5;a:2:{s:8:"sphinxql";s:90:"insert into rt (id, idd1, idd2, str1, STR2, body) values ( 13, 4, 4, 'ddd', 'hh', 'bird' )";s:14:"total_affected";i:1;}i:6;a:2:{s:8:"sphinxql";s:96:"insert into rt (id, idd1, idd2, str1, str2, Body) values ( 14, 3, 5, 'cc', 'c', 'dog eats cat' )";s:14:"total_affected";i:1;}i:7;a:2:{s:8:"sphinxql";s:98:"insert into rt (id, idd1, idd2, str1, str2, BODY) values ( 15, 2, 6, 'cc', 'cc', 'cat eats bird' )";s:14:"total_affected";i:1;}i:8;a:2:{s:8:"sphinxql";s:94:"insert into rt (id, idd1, idd2, str1, sTr2, body) values ( 16, 1, 7, 'a a', 'cc', 'the bird' )";s:14:"total_affected";i:1;}i:9;a:2:{s:8:"sphinxql";s:93:"insert into rt (id, idd1, idd2, stR1, str2, body) values ( 17, 1, 8, 'c cc', 'c', 'the cat' )";s:14:"total_affected";i:1;}i:10;a:2:{s:8:"sphinxql";s:93:"insert into rt (id, idd1, iDD2, str1, str2, body) values ( 18, 11, 9, 'aaa', 'h', 'the dog' )";s:14:"total_affected";i:1;}i:11;a:3:{s:8:"sphinxql";s:38:"select * from plain order by Str1 desc";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:1:"6";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"ddd";}i:1;a:3:{s:2:"id";s:1:"4";s:4:"idd1";s:2:"11";s:4:"str1";s:2:"cc";}i:2;a:3:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:2:"cc";}i:3;a:3:{s:2:"id";s:1:"2";s:4:"idd1";s:2:"11";s:4:"str1";s:4:"c cc";}i:4;a:3:{s:2:"id";s:1:"1";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"aaa";}i:5;a:3:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"13";s:4:"str1";s:3:"a a";}i:6;a:3:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"5";s:4:"str1";s:1:"a";}i:7;a:3:{s:2:"id";s:1:"9";s:4:"idd1";s:1:"7";s:4:"str1";s:1:"a";}i:8;a:3:{s:2:"id";s:1:"8";s:4:"idd1";s:1:"6";s:4:"str1";s:0:"";}}}i:12;a:3:{s:8:"sphinxql";s:35:"select * from rt order by sTR1 desc";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:5:{s:2:"id";s:2:"13";s:4:"idd1";s:1:"4";s:4:"idd2";s:1:"4";s:4:"str1";s:3:"ddd";s:4:"str2";s:2:"hh";}i:1;a:5:{s:2:"id";s:2:"14";s:4:"idd1";s:1:"3";s:4:"idd2";s:1:"5";s:4:"str1";s:2:"cc";s:4:"str2";s:1:"c";}i:2;a:5:{s:2:"id";s:2:"15";s:4:"idd1";s:1:"2";s:4:"idd2";s:1:"6";s:4:"str1";s:2:"cc";s:4:"str2";s:2:"cc";}i:3;a:5:{s:2:"id";s:2:"17";s:4:"idd1";s:1:"1";s:4:"idd2";s:1:"8";s:4:"str1";s:4:"c cc";s:4:"str2";s:1:"c";}i:4;a:5:{s:2:"id";s:2:"18";s:4:"idd1";s:2:"11";s:4:"idd2";s:1:"9";s:4:"str1";s:3:"aaa";s:4:"str2";s:1:"h";}i:5;a:5:{s:2:"id";s:2:"16";s:4:"idd1";s:1:"1";s:4:"idd2";s:1:"7";s:4:"str1";s:3:"a a";s:4:"str2";s:2:"cc";}i:6;a:5:{s:2:"id";s:2:"11";s:4:"idd1";s:1:"5";s:4:"idd2";s:1:"4";s:4:"str1";s:1:"a";s:4:"str2";s:0:"";}i:7;a:5:{s:2:"id";s:2:"12";s:4:"idd1";s:1:"6";s:4:"idd2";s:1:"4";s:4:"str1";s:1:"a";s:4:"str2";s:2:"cc";}i:8;a:5:{s:2:"id";s:2:"10";s:4:"idd1";s:1:"5";s:4:"idd2";s:1:"4";s:4:"str1";s:0:"";s:4:"str2";s:2:"cc";}}}i:13;a:3:{s:8:"sphinxql";s:45:"select * from rt order by STR2 asc, Str1 desc";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:5:{s:2:"id";s:2:"11";s:4:"idd1";s:1:"5";s:4:"idd2";s:1:"4";s:4:"str1";s:1:"a";s:4:"str2";s:0:"";}i:1;a:5:{s:2:"id";s:2:"14";s:4:"idd1";s:1:"3";s:4:"idd2";s:1:"5";s:4:"str1";s:2:"cc";s:4:"str2";s:1:"c";}i:2;a:5:{s:2:"id";s:2:"17";s:4:"idd1";s:1:"1";s:4:"idd2";s:1:"8";s:4:"str1";s:4:"c cc";s:4:"str2";s:1:"c";}i:3;a:5:{s:2:"id";s:2:"15";s:4:"idd1";s:1:"2";s:4:"idd2";s:1:"6";s:4:"str1";s:2:"cc";s:4:"str2";s:2:"cc";}i:4;a:5:{s:2:"id";s:2:"16";s:4:"idd1";s:1:"1";s:4:"idd2";s:1:"7";s:4:"str1";s:3:"a a";s:4:"str2";s:2:"cc";}i:5;a:5:{s:2:"id";s:2:"12";s:4:"idd1";s:1:"6";s:4:"idd2";s:1:"4";s:4:"str1";s:1:"a";s:4:"str2";s:2:"cc";}i:6;a:5:{s:2:"id";s:2:"10";s:4:"idd1";s:1:"5";s:4:"idd2";s:1:"4";s:4:"str1";s:0:"";s:4:"str2";s:2:"cc";}i:7;a:5:{s:2:"id";s:2:"18";s:4:"idd1";s:2:"11";s:4:"idd2";s:1:"9";s:4:"str1";s:3:"aaa";s:4:"str2";s:1:"h";}i:8;a:5:{s:2:"id";s:2:"13";s:4:"idd1";s:1:"4";s:4:"idd2";s:1:"4";s:4:"str1";s:3:"ddd";s:4:"str2";s:2:"hh";}}}i:14;a:3:{s:8:"sphinxql";s:37:"select * from dist order by Str1 desc";s:10:"total_rows";i:18;s:4:"rows";a:18:{i:0;a:3:{s:2:"id";s:1:"6";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"ddd";}i:1;a:3:{s:2:"id";s:2:"13";s:4:"idd1";s:1:"4";s:4:"str1";s:3:"ddd";}i:2;a:3:{s:2:"id";s:1:"4";s:4:"idd1";s:2:"11";s:4:"str1";s:2:"cc";}i:3;a:3:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:2:"cc";}i:4;a:3:{s:2:"id";s:2:"14";s:4:"idd1";s:1:"3";s:4:"str1";s:2:"cc";}i:5;a:3:{s:2:"id";s:2:"15";s:4:"idd1";s:1:"2";s:4:"str1";s:2:"cc";}i:6;a:3:{s:2:"id";s:1:"2";s:4:"idd1";s:2:"11";s:4:"str1";s:4:"c cc";}i:7;a:3:{s:2:"id";s:2:"17";s:4:"idd1";s:1:"1";s:4:"str1";s:4:"c cc";}i:8;a:3:{s:2:"id";s:1:"1";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"aaa";}i:9;a:3:{s:2:"id";s:2:"18";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"aaa";}i:10;a:3:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"13";s:4:"str1";s:3:"a a";}i:11;a:3:{s:2:"id";s:2:"16";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";}i:12;a:3:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"5";s:4:"str1";s:1:"a";}i:13;a:3:{s:2:"id";s:1:"9";s:4:"idd1";s:1:"7";s:4:"str1";s:1:"a";}i:14;a:3:{s:2:"id";s:2:"11";s:4:"idd1";s:1:"5";s:4:"str1";s:1:"a";}i:15;a:3:{s:2:"id";s:2:"12";s:4:"idd1";s:1:"6";s:4:"str1";s:1:"a";}i:16;a:3:{s:2:"id";s:1:"8";s:4:"idd1";s:1:"6";s:4:"str1";s:0:"";}i:17;a:3:{s:2:"id";s:2:"10";s:4:"idd1";s:1:"5";s:4:"str1";s:0:"";}}}i:15;a:3:{s:8:"sphinxql";s:47:"select * from dist order by Str1 desc, IDD1 asc";s:10:"total_rows";i:18;s:4:"rows";a:18:{i:0;a:3:{s:2:"id";s:2:"13";s:4:"idd1";s:1:"4";s:4:"str1";s:3:"ddd";}i:1;a:3:{s:2:"id";s:1:"6";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"ddd";}i:2;a:3:{s:2:"id";s:2:"15";s:4:"idd1";s:1:"2";s:4:"str1";s:2:"cc";}i:3;a:3:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:2:"cc";}i:4;a:3:{s:2:"id";s:2:"14";s:4:"idd1";s:1:"3";s:4:"str1";s:2:"cc";}i:5;a:3:{s:2:"id";s:1:"4";s:4:"idd1";s:2:"11";s:4:"str1";s:2:"cc";}i:6;a:3:{s:2:"id";s:2:"17";s:4:"idd1";s:1:"1";s:4:"str1";s:4:"c cc";}i:7;a:3:{s:2:"id";s:1:"2";s:4:"idd1";s:2:"11";s:4:"str1";s:4:"c cc";}i:8;a:3:{s:2:"id";s:1:"1";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"aaa";}i:9;a:3:{s:2:"id";s:2:"18";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"aaa";}i:10;a:3:{s:2:"id";s:2:"16";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";}i:11;a:3:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"13";s:4:"str1";s:3:"a a";}i:12;a:3:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"5";s:4:"str1";s:1:"a";}i:13;a:3:{s:2:"id";s:2:"11";s:4:"idd1";s:1:"5";s:4:"str1";s:1:"a";}i:14;a:3:{s:2:"id";s:2:"12";s:4:"idd1";s:1:"6";s:4:"str1";s:1:"a";}i:15;a:3:{s:2:"id";s:1:"9";s:4:"idd1";s:1:"7";s:4:"str1";s:1:"a";}i:16;a:3:{s:2:"id";s:2:"10";s:4:"idd1";s:1:"5";s:4:"str1";s:0:"";}i:17;a:3:{s:2:"id";s:1:"8";s:4:"idd1";s:1:"6";s:4:"str1";s:0:"";}}}i:16;a:3:{s:8:"sphinxql";s:57:"select * from dist where match ('the') order by Str1 desc";s:10:"total_rows";i:12;s:4:"rows";a:12:{i:0;a:3:{s:2:"id";s:1:"2";s:4:"idd1";s:2:"11";s:4:"str1";s:4:"c cc";}i:1;a:3:{s:2:"id";s:2:"17";s:4:"idd1";s:1:"1";s:4:"str1";s:4:"c cc";}i:2;a:3:{s:2:"id";s:1:"1";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"aaa";}i:3;a:3:{s:2:"id";s:2:"18";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"aaa";}i:4;a:3:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"13";s:4:"str1";s:3:"a a";}i:5;a:3:{s:2:"id";s:2:"16";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";}i:6;a:3:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"5";s:4:"str1";s:1:"a";}i:7;a:3:{s:2:"id";s:1:"9";s:4:"idd1";s:1:"7";s:4:"str1";s:1:"a";}i:8;a:3:{s:2:"id";s:2:"11";s:4:"idd1";s:1:"5";s:4:"str1";s:1:"a";}i:9;a:3:{s:2:"id";s:2:"12";s:4:"idd1";s:1:"6";s:4:"str1";s:1:"a";}i:10;a:3:{s:2:"id";s:1:"8";s:4:"idd1";s:1:"6";s:4:"str1";s:0:"";}i:11;a:3:{s:2:"id";s:2:"10";s:4:"idd1";s:1:"5";s:4:"str1";s:0:"";}}}i:17;a:3:{s:8:"sphinxql";s:67:"select * from dist where match ('the') order by Str1 desc, iDD1 asc";s:10:"total_rows";i:12;s:4:"rows";a:12:{i:0;a:3:{s:2:"id";s:2:"17";s:4:"idd1";s:1:"1";s:4:"str1";s:4:"c cc";}i:1;a:3:{s:2:"id";s:1:"2";s:4:"idd1";s:2:"11";s:4:"str1";s:4:"c cc";}i:2;a:3:{s:2:"id";s:1:"1";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"aaa";}i:3;a:3:{s:2:"id";s:2:"18";s:4:"idd1";s:2:"11";s:4:"str1";s:3:"aaa";}i:4;a:3:{s:2:"id";s:2:"16";s:4:"idd1";s:1:"1";s:4:"str1";s:3:"a a";}i:5;a:3:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"13";s:4:"str1";s:3:"a a";}i:6;a:3:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"5";s:4:"str1";s:1:"a";}i:7;a:3:{s:2:"id";s:2:"11";s:4:"idd1";s:1:"5";s:4:"str1";s:1:"a";}i:8;a:3:{s:2:"id";s:2:"12";s:4:"idd1";s:1:"6";s:4:"str1";s:1:"a";}i:9;a:3:{s:2:"id";s:1:"9";s:4:"idd1";s:1:"7";s:4:"str1";s:1:"a";}i:10;a:3:{s:2:"id";s:2:"10";s:4:"idd1";s:1:"5";s:4:"str1";s:0:"";}i:11;a:3:{s:2:"id";s:1:"8";s:4:"idd1";s:1:"6";s:4:"str1";s:0:"";}}}i:18;a:3:{s:8:"sphinxql";s:63:"select * from dist where match ('cat | eats') order by Str1 asc";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:3:{s:2:"id";s:1:"2";s:4:"idd1";s:2:"11";s:4:"str1";s:4:"c cc";}i:1;a:3:{s:2:"id";s:2:"17";s:4:"idd1";s:1:"1";s:4:"str1";s:4:"c cc";}i:2;a:3:{s:2:"id";s:1:"4";s:4:"idd1";s:2:"11";s:4:"str1";s:2:"cc";}i:3;a:3:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:2:"cc";}i:4;a:3:{s:2:"id";s:2:"14";s:4:"idd1";s:1:"3";s:4:"str1";s:2:"cc";}i:5;a:3:{s:2:"id";s:2:"15";s:4:"idd1";s:1:"2";s:4:"str1";s:2:"cc";}}}i:19;a:3:{s:8:"sphinxql";s:74:"select * from dist where match ('cat | eats') order by Str1 asc, sTr2 desc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:5:{s:2:"id";s:2:"17";s:4:"idd1";s:1:"1";s:4:"idd2";s:1:"8";s:4:"str1";s:4:"c cc";s:4:"str2";s:1:"c";}i:1;a:5:{s:2:"id";s:2:"15";s:4:"idd1";s:1:"2";s:4:"idd2";s:1:"6";s:4:"str1";s:2:"cc";s:4:"str2";s:2:"cc";}i:2;a:5:{s:2:"id";s:2:"14";s:4:"idd1";s:1:"3";s:4:"idd2";s:1:"5";s:4:"str1";s:2:"cc";s:4:"str2";s:1:"c";}}}i:20;a:3:{s:8:"sphinxql";s:73:"select * from dist where match ('cat | eats') order by Str1 asc, Idd1 asc";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:3:{s:2:"id";s:2:"17";s:4:"idd1";s:1:"1";s:4:"str1";s:4:"c cc";}i:1;a:3:{s:2:"id";s:1:"2";s:4:"idd1";s:2:"11";s:4:"str1";s:4:"c cc";}i:2;a:3:{s:2:"id";s:2:"15";s:4:"idd1";s:1:"2";s:4:"str1";s:2:"cc";}i:3;a:3:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:4:"str1";s:2:"cc";}i:4;a:3:{s:2:"id";s:2:"14";s:4:"idd1";s:1:"3";s:4:"str1";s:2:"cc";}i:5;a:3:{s:2:"id";s:1:"4";s:4:"idd1";s:2:"11";s:4:"str1";s:2:"cc";}}}i:21;a:3:{s:8:"sphinxql";s:89:"select * from dist where match ('cat | eats') group by str1 within group order by id desc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:2:"15";s:4:"idd1";s:1:"2";s:4:"str1";s:2:"cc";}i:1;a:3:{s:2:"id";s:2:"17";s:4:"idd1";s:1:"1";s:4:"str1";s:4:"c cc";}}}i:22;a:3:{s:8:"sphinxql";s:63:"select * from dist group by str2 within group order by id desc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:5:{s:2:"id";s:2:"11";s:4:"idd1";s:1:"5";s:4:"idd2";s:1:"4";s:4:"str1";s:1:"a";s:4:"str2";s:0:"";}i:1;a:5:{s:2:"id";s:2:"13";s:4:"idd1";s:1:"4";s:4:"idd2";s:1:"4";s:4:"str1";s:3:"ddd";s:4:"str2";s:2:"hh";}i:2;a:5:{s:2:"id";s:2:"16";s:4:"idd1";s:1:"1";s:4:"idd2";s:1:"7";s:4:"str1";s:3:"a a";s:4:"str2";s:2:"cc";}i:3;a:5:{s:2:"id";s:2:"17";s:4:"idd1";s:1:"1";s:4:"idd2";s:1:"8";s:4:"str1";s:4:"c cc";s:4:"str2";s:1:"c";}i:4;a:5:{s:2:"id";s:2:"18";s:4:"idd1";s:2:"11";s:4:"idd2";s:1:"9";s:4:"str1";s:3:"aaa";s:4:"str2";s:1:"h";}}}i:23;a:3:{s:8:"sphinxql";s:84:"select id, str1 from rt group by idd1 order by id asc limit 0,2 option max_matches=2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:2:"10";s:4:"str1";s:0:"";}i:1;a:2:{s:2:"id";s:2:"12";s:4:"str1";s:1:"a";}}}i:24;a:3:{s:8:"sphinxql";s:84:"select id, str1 from rt group by idd1 order by id asc limit 2,2 option max_matches=4";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:2:"13";s:4:"str1";s:3:"ddd";}i:1;a:2:{s:2:"id";s:2:"14";s:4:"str1";s:2:"cc";}}}i:25;a:3:{s:8:"sphinxql";s:75:"select id, idd1, to_string(idd1) as c from plain order by idd1 asc, id desc";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:1:"1";s:4:"idd1";s:1:"1";s:1:"c";s:1:"1";}i:1;a:3:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:1:"c";s:1:"3";}i:2;a:3:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"5";s:1:"c";s:1:"5";}i:3;a:3:{s:2:"id";s:1:"8";s:4:"idd1";s:1:"6";s:1:"c";s:1:"6";}i:4;a:3:{s:2:"id";s:1:"9";s:4:"idd1";s:1:"7";s:1:"c";s:1:"7";}i:5;a:3:{s:2:"id";s:1:"6";s:4:"idd1";s:2:"11";s:1:"c";s:2:"11";}i:6;a:3:{s:2:"id";s:1:"4";s:4:"idd1";s:2:"11";s:1:"c";s:2:"11";}i:7;a:3:{s:2:"id";s:1:"2";s:4:"idd1";s:2:"11";s:1:"c";s:2:"11";}i:8;a:3:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"13";s:1:"c";s:2:"13";}}}i:26;a:3:{s:8:"sphinxql";s:73:"select id, idd1, to_string(idd1) as c from plain order by c desc, id desc";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:1:"9";s:4:"idd1";s:1:"7";s:1:"c";s:1:"7";}i:1;a:3:{s:2:"id";s:1:"8";s:4:"idd1";s:1:"6";s:1:"c";s:1:"6";}i:2;a:3:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"5";s:1:"c";s:1:"5";}i:3;a:3:{s:2:"id";s:1:"5";s:4:"idd1";s:1:"3";s:1:"c";s:1:"3";}i:4;a:3:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"13";s:1:"c";s:2:"13";}i:5;a:3:{s:2:"id";s:1:"6";s:4:"idd1";s:2:"11";s:1:"c";s:2:"11";}i:6;a:3:{s:2:"id";s:1:"4";s:4:"idd1";s:2:"11";s:1:"c";s:2:"11";}i:7;a:3:{s:2:"id";s:1:"2";s:4:"idd1";s:2:"11";s:1:"c";s:2:"11";}i:8;a:3:{s:2:"id";s:1:"1";s:4:"idd1";s:1:"1";s:1:"c";s:1:"1";}}}i:27;a:3:{s:8:"sphinxql";s:95:"select id, idd1, to_string(idd1) as c from plain where match ( 'the' ) order by c desc, id desc";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:3:{s:2:"id";s:1:"9";s:4:"idd1";s:1:"7";s:1:"c";s:1:"7";}i:1;a:3:{s:2:"id";s:1:"8";s:4:"idd1";s:1:"6";s:1:"c";s:1:"6";}i:2;a:3:{s:2:"id";s:1:"7";s:4:"idd1";s:1:"5";s:1:"c";s:1:"5";}i:3;a:3:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"13";s:1:"c";s:2:"13";}i:4;a:3:{s:2:"id";s:1:"2";s:4:"idd1";s:2:"11";s:1:"c";s:2:"11";}i:5;a:3:{s:2:"id";s:1:"1";s:4:"idd1";s:1:"1";s:1:"c";s:1:"1";}}}i:28;a:3:{s:8:"sphinxql";s:79:"select id, idd2, idd2+4 as i, to_string(i) as c from rt order by i asc, id desc";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:4:{s:2:"id";s:2:"13";s:4:"idd2";s:1:"4";s:1:"i";s:1:"8";s:1:"c";s:1:"8";}i:1;a:4:{s:2:"id";s:2:"12";s:4:"idd2";s:1:"4";s:1:"i";s:1:"8";s:1:"c";s:1:"8";}i:2;a:4:{s:2:"id";s:2:"11";s:4:"idd2";s:1:"4";s:1:"i";s:1:"8";s:1:"c";s:1:"8";}i:3;a:4:{s:2:"id";s:2:"10";s:4:"idd2";s:1:"4";s:1:"i";s:1:"8";s:1:"c";s:1:"8";}i:4;a:4:{s:2:"id";s:2:"14";s:4:"idd2";s:1:"5";s:1:"i";s:1:"9";s:1:"c";s:1:"9";}i:5;a:4:{s:2:"id";s:2:"15";s:4:"idd2";s:1:"6";s:1:"i";s:2:"10";s:1:"c";s:2:"10";}i:6;a:4:{s:2:"id";s:2:"16";s:4:"idd2";s:1:"7";s:1:"i";s:2:"11";s:1:"c";s:2:"11";}i:7;a:4:{s:2:"id";s:2:"17";s:4:"idd2";s:1:"8";s:1:"i";s:2:"12";s:1:"c";s:2:"12";}i:8;a:4:{s:2:"id";s:2:"18";s:4:"idd2";s:1:"9";s:1:"i";s:2:"13";s:1:"c";s:2:"13";}}}i:29;a:3:{s:8:"sphinxql";s:80:"select id, idd2, idd2+4 as i, to_string(i) as c from rt order by c desc, id desc";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:4:{s:2:"id";s:2:"14";s:4:"idd2";s:1:"5";s:1:"i";s:1:"9";s:1:"c";s:1:"9";}i:1;a:4:{s:2:"id";s:2:"13";s:4:"idd2";s:1:"4";s:1:"i";s:1:"8";s:1:"c";s:1:"8";}i:2;a:4:{s:2:"id";s:2:"12";s:4:"idd2";s:1:"4";s:1:"i";s:1:"8";s:1:"c";s:1:"8";}i:3;a:4:{s:2:"id";s:2:"11";s:4:"idd2";s:1:"4";s:1:"i";s:1:"8";s:1:"c";s:1:"8";}i:4;a:4:{s:2:"id";s:2:"10";s:4:"idd2";s:1:"4";s:1:"i";s:1:"8";s:1:"c";s:1:"8";}i:5;a:4:{s:2:"id";s:2:"18";s:4:"idd2";s:1:"9";s:1:"i";s:2:"13";s:1:"c";s:2:"13";}i:6;a:4:{s:2:"id";s:2:"17";s:4:"idd2";s:1:"8";s:1:"i";s:2:"12";s:1:"c";s:2:"12";}i:7;a:4:{s:2:"id";s:2:"16";s:4:"idd2";s:1:"7";s:1:"i";s:2:"11";s:1:"c";s:2:"11";}i:8;a:4:{s:2:"id";s:2:"15";s:4:"idd2";s:1:"6";s:1:"i";s:2:"10";s:1:"c";s:2:"10";}}}i:30;a:3:{s:8:"sphinxql";s:91:"select id, idd2, to_string(idd1) as c from rt where match ( 'the' ) order by c desc, id asc";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:3:{s:2:"id";s:2:"12";s:4:"idd2";s:1:"4";s:1:"c";s:1:"6";}i:1;a:3:{s:2:"id";s:2:"10";s:4:"idd2";s:1:"4";s:1:"c";s:1:"5";}i:2;a:3:{s:2:"id";s:2:"11";s:4:"idd2";s:1:"4";s:1:"c";s:1:"5";}i:3;a:3:{s:2:"id";s:2:"18";s:4:"idd2";s:1:"9";s:1:"c";s:2:"11";}i:4;a:3:{s:2:"id";s:2:"16";s:4:"idd2";s:1:"7";s:1:"c";s:1:"1";}i:5;a:3:{s:2:"id";s:2:"17";s:4:"idd2";s:1:"8";s:1:"c";s:1:"1";}}}i:31;a:2:{s:8:"sphinxql";s:76:"insert into rt1 (id, idd1, str1, Body) values ( 14, 3, '', 'dog eats bone' )";s:14:"total_affected";i:1;}i:32;a:2:{s:8:"sphinxql";s:70:"insert into rt1 (id, idd1, str1, Body) values ( 15, 3, '', 'cat ear' )";s:14:"total_affected";i:1;}i:33;a:2:{s:8:"sphinxql";s:68:"select id, str1 from plain,rt1 where match ('^cat$') order by id asc";s:10:"total_rows";i:0;}i:34;a:3:{s:8:"sphinxql";s:66:"select id, str1 from plain,rt1 where match ('cat') order by id asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:2:"id";s:1:"2";s:4:"str1";s:4:"c cc";}i:1;a:2:{s:2:"id";s:1:"4";s:4:"str1";s:2:"cc";}i:2;a:2:{s:2:"id";s:1:"5";s:4:"str1";s:2:"cc";}i:3;a:2:{s:2:"id";s:2:"15";s:4:"str1";s:0:"";}}}}}sphinx-2.2.11-release/test/test_158/0000755000175000017500000000000012743402012016412 5ustar alexeyalexeysphinx-2.2.11-release/test/test_158/test.xml0000644000175000017500000000237612743402012020123 0ustar alexeyalexey multiforms vs quorum indexer { mem_limit = 16M } searchd { workers = threads } index rt { type = rt docinfo = extern path = /rt wordforms = wordforms.txt rt_attr_uint = gid rt_field = body rt_mem_limit = 8M } insert into rt (id, gid, body) values ( 1, 123, 'Although various ancient traditions refer to a lost antediluvian world, the one that stands out is the tradition in the early chapters of Genesis.' ) insert into rt (id, gid, body) values ( 2, 123, 'There are many means of transportation all over India and Nepal which can be called shandrydan due to their awkwardness.' ) insert into rt (id, gid, body) values ( 3, 123, 'If Walker was bothered by my hard look, he hid it well.' ) select * from rt where match ('antediluvian') select * from rt where match ('shandrydan') select * from rt where match ('"something antediluvian"/1') select * from rt where match ('"battered shandrydan"/1') sphinx-2.2.11-release/test/test_158/model.bin0000644000175000017500000000251012743402012020202 0ustar alexeyalexeya:1:{i:0;a:7:{i:0;a:2:{s:8:"sphinxql";s:198:"insert into rt (id, gid, body) values ( 1, 123, 'Although various ancient traditions refer to a lost antediluvian world, the one that stands out is the tradition in the early chapters of Genesis.' )";s:14:"total_affected";i:1;}i:1;a:2:{s:8:"sphinxql";s:172:"insert into rt (id, gid, body) values ( 2, 123, 'There are many means of transportation all over India and Nepal which can be called shandrydan due to their awkwardness.' )";s:14:"total_affected";i:1;}i:2;a:2:{s:8:"sphinxql";s:107:"insert into rt (id, gid, body) values ( 3, 123, 'If Walker was bothered by my hard look, he hid it well.' )";s:14:"total_affected";i:1;}i:3;a:3:{s:8:"sphinxql";s:45:"select * from rt where match ('antediluvian')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:3:"123";}}}i:4;a:3:{s:8:"sphinxql";s:43:"select * from rt where match ('shandrydan')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:3:"123";}}}i:5;a:3:{s:8:"sphinxql";s:59:"select * from rt where match ('"something antediluvian"/1')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:3:"123";}}}i:6;a:3:{s:8:"sphinxql";s:56:"select * from rt where match ('"battered shandrydan"/1')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:3:"123";}}}}}sphinx-2.2.11-release/test/test_157/0000755000175000017500000000000012743402012016411 5ustar alexeyalexeysphinx-2.2.11-release/test/test_157/test.xml0000644000175000017500000000162612743402012020117 0ustar alexeyalexey quorum vs ranker Reset indexer { mem_limit = 16M } searchd { workers = threads } index rt { type = rt docinfo = extern path = /rt rt_attr_uint = idd rt_field = body rt_mem_limit = 8M } insert into rt (id, idd, body) values ( 1, 11, 'this is cool place' ) insert into rt (id, idd, body) values ( 2, 11, 'cool place is like no other' ) insert into rt (id, idd, body) values ( 3, 11, 'place is cool becouse there is no things like this' ) select * from rt where match ('"is cool place"/3') order by id asc select * from rt where match ('"there things is cool place"/3') order by id asc sphinx-2.2.11-release/test/test_157/model.bin0000644000175000017500000000175712743402012020215 0ustar alexeyalexeya:1:{i:0;a:5:{i:0;a:2:{s:8:"sphinxql";s:69:"insert into rt (id, idd, body) values ( 1, 11, 'this is cool place' )";s:14:"total_affected";i:1;}i:1;a:2:{s:8:"sphinxql";s:78:"insert into rt (id, idd, body) values ( 2, 11, 'cool place is like no other' )";s:14:"total_affected";i:1;}i:2;a:2:{s:8:"sphinxql";s:101:"insert into rt (id, idd, body) values ( 3, 11, 'place is cool becouse there is no things like this' )";s:14:"total_affected";i:1;}i:3;a:3:{s:8:"sphinxql";s:66:"select * from rt where match ('"is cool place"/3') order by id asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:4;a:3:{s:8:"sphinxql";s:79:"select * from rt where match ('"there things is cool place"/3') order by id asc";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}}}sphinx-2.2.11-release/test/test_156/0000755000175000017500000000000012743402012016410 5ustar alexeyalexeysphinx-2.2.11-release/test/test_156/test.xml0000644000175000017500000000614112743402012020113 0ustar alexeyalexey ranged-query vs joined field and mva attribute indexer { mem_limit = 16M } searchd { } source test { type = mysql sql_range_step = 2 sql_query = SELECT id, gid, title FROM test sql_joined_field = text from ranged-query; select id, text from test where id between $start and $end; select 1, 5 sql_attr_uint = gid sql_attr_multi = uint mva from ranged-query; select id, mva from mva where id between $start and $end; select 2, 5 sql_attr_multi = bigint mva from ranged-query; select id, mva from mva where id between $start and $end; select 2, 5 } index test { source = test path = /test dict = keywords min_prefix_len = 1 } create table test ( id int not null, gid int not null, title varchar(255) not null, text varchar(255) not null ); create table mva ( id int not null, mva int not null ); drop table if exists test; drop table if exists mva; insert into test values ( 1, 101, 'not found', 'notice found' ); insert into test values ( 2, 102, 'not anyone', 'notice goods' ); insert into test values ( 3, 103, 'not grant', 'notice goods' ); insert into test values ( 4, 104, 'not grant', 'everyone' ); insert into test values ( 5, 105, 'not anyone', 'grant' ); insert into test values ( 6, 106, 'not fun', 'natural' ); insert into mva values (1, 1001), (1, 2001); insert into mva values (2, 1002), (2, 2002); insert into mva values (3, 1003), (3, 2003); insert into mva values (4, 1004), (4, 2004); insert into mva values (5, 1005), (5, 2005); insert into mva values (6, 1006), (6, 2006); select * from test select * from test where mva >= 2004 and mva < 2007 select * from test where match ('goo*') select * from test where match ('g*') select * from test where match ('g* !(@title g*)') select * from test where match ('everyone') select * from test where match ('anyone | everyone') select * from test where match ('@text g*') select * from test where match ('natural') select * from test where mva=1001 select * from test where match ('@text') select * from test where match ('@text ') select * from test where match ('@text {') select * from test where match ('everyone @text {') sphinx-2.2.11-release/test/test_156/model.bin0000644000175000017500000001517412743402012020212 0ustar alexeyalexeya:2:{i:0;a:14:{i:0;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:3:"101";s:3:"mva";s:0:"";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:3:"102";s:3:"mva";s:9:"1002,2002";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:3:"103";s:3:"mva";s:9:"1003,2003";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:3:"104";s:3:"mva";s:9:"1004,2004";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:3:"105";s:3:"mva";s:9:"1005,2005";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"gid";s:3:"106";s:3:"mva";s:0:"";}}}i:1;a:3:{s:8:"sphinxql";s:51:"select * from test where mva >= 2004 and mva < 2007";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:3:"104";s:3:"mva";s:9:"1004,2004";}i:1;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:3:"105";s:3:"mva";s:9:"1005,2005";}}}i:2;a:3:{s:8:"sphinxql";s:39:"select * from test where match ('goo*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:3:"102";s:3:"mva";s:9:"1002,2002";}i:1;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:3:"103";s:3:"mva";s:9:"1003,2003";}}}i:3;a:3:{s:8:"sphinxql";s:37:"select * from test where match ('g*')";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:3:"103";s:3:"mva";s:9:"1003,2003";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:3:"102";s:3:"mva";s:9:"1002,2002";}i:2;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:3:"104";s:3:"mva";s:9:"1004,2004";}i:3;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:3:"105";s:3:"mva";s:9:"1005,2005";}}}i:4;a:3:{s:8:"sphinxql";s:50:"select * from test where match ('g* !(@title g*)')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:3:"102";s:3:"mva";s:9:"1002,2002";}i:1;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:3:"105";s:3:"mva";s:9:"1005,2005";}}}i:5;a:3:{s:8:"sphinxql";s:43:"select * from test where match ('everyone')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:3:"104";s:3:"mva";s:9:"1004,2004";}}}i:6;a:3:{s:8:"sphinxql";s:52:"select * from test where match ('anyone | everyone')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:3:"104";s:3:"mva";s:9:"1004,2004";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:3:"102";s:3:"mva";s:9:"1002,2002";}i:2;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:3:"105";s:3:"mva";s:9:"1005,2005";}}}i:7;a:3:{s:8:"sphinxql";s:43:"select * from test where match ('@text g*')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:3:"102";s:3:"mva";s:9:"1002,2002";}i:1;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:3:"103";s:3:"mva";s:9:"1003,2003";}i:2;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:3:"105";s:3:"mva";s:9:"1005,2005";}}}i:8;a:2:{s:8:"sphinxql";s:42:"select * from test where match ('natural')";s:10:"total_rows";i:0;}i:9;a:2:{s:8:"sphinxql";s:33:"select * from test where mva=1001";s:10:"total_rows";i:0;}i:10;a:3:{s:8:"sphinxql";s:40:"select * from test where match ('@text')";s:5:"error";s:49:"index test: syntax error, unexpected $end near ''";s:5:"errno";i:1064;}i:11;a:3:{s:8:"sphinxql";s:41:"select * from test where match ('@text ')";s:5:"error";s:50:"index test: syntax error, unexpected $end near ' '";s:5:"errno";i:1064;}i:12;a:2:{s:8:"sphinxql";s:42:"select * from test where match ('@text {')";s:10:"total_rows";i:0;}i:13;a:3:{s:8:"sphinxql";s:51:"select * from test where match ('everyone @text {')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:3:"104";s:3:"mva";s:9:"1004,2004";}}}}i:1;a:14:{i:0;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"gid";s:3:"101";s:3:"mva";s:0:"";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:3:"102";s:3:"mva";s:9:"1002,2002";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:3:"103";s:3:"mva";s:9:"1003,2003";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:3:"104";s:3:"mva";s:9:"1004,2004";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:3:"105";s:3:"mva";s:9:"1005,2005";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"gid";s:3:"106";s:3:"mva";s:0:"";}}}i:1;a:3:{s:8:"sphinxql";s:51:"select * from test where mva >= 2004 and mva < 2007";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:3:"104";s:3:"mva";s:9:"1004,2004";}i:1;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:3:"105";s:3:"mva";s:9:"1005,2005";}}}i:2;a:3:{s:8:"sphinxql";s:39:"select * from test where match ('goo*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:3:"102";s:3:"mva";s:9:"1002,2002";}i:1;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:3:"103";s:3:"mva";s:9:"1003,2003";}}}i:3;a:3:{s:8:"sphinxql";s:37:"select * from test where match ('g*')";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:3:"103";s:3:"mva";s:9:"1003,2003";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:3:"102";s:3:"mva";s:9:"1002,2002";}i:2;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:3:"104";s:3:"mva";s:9:"1004,2004";}i:3;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:3:"105";s:3:"mva";s:9:"1005,2005";}}}i:4;a:3:{s:8:"sphinxql";s:50:"select * from test where match ('g* !(@title g*)')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:3:"102";s:3:"mva";s:9:"1002,2002";}i:1;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:3:"105";s:3:"mva";s:9:"1005,2005";}}}i:5;a:3:{s:8:"sphinxql";s:43:"select * from test where match ('everyone')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:3:"104";s:3:"mva";s:9:"1004,2004";}}}i:6;a:3:{s:8:"sphinxql";s:52:"select * from test where match ('anyone | everyone')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:3:"104";s:3:"mva";s:9:"1004,2004";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:3:"102";s:3:"mva";s:9:"1002,2002";}i:2;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:3:"105";s:3:"mva";s:9:"1005,2005";}}}i:7;a:3:{s:8:"sphinxql";s:43:"select * from test where match ('@text g*')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:3:"102";s:3:"mva";s:9:"1002,2002";}i:1;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:3:"103";s:3:"mva";s:9:"1003,2003";}i:2;a:3:{s:2:"id";s:1:"5";s:3:"gid";s:3:"105";s:3:"mva";s:9:"1005,2005";}}}i:8;a:2:{s:8:"sphinxql";s:42:"select * from test where match ('natural')";s:10:"total_rows";i:0;}i:9;a:2:{s:8:"sphinxql";s:33:"select * from test where mva=1001";s:10:"total_rows";i:0;}i:10;a:3:{s:8:"sphinxql";s:40:"select * from test where match ('@text')";s:5:"error";s:49:"index test: syntax error, unexpected $end near ''";s:5:"errno";i:1064;}i:11;a:3:{s:8:"sphinxql";s:41:"select * from test where match ('@text ')";s:5:"error";s:50:"index test: syntax error, unexpected $end near ' '";s:5:"errno";i:1064;}i:12;a:2:{s:8:"sphinxql";s:42:"select * from test where match ('@text {')";s:10:"total_rows";i:0;}i:13;a:3:{s:8:"sphinxql";s:51:"select * from test where match ('everyone @text {')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"4";s:3:"gid";s:3:"104";s:3:"mva";s:9:"1004,2004";}}}}}sphinx-2.2.11-release/test/test_155/0000755000175000017500000000000012743402012016407 5ustar alexeyalexeysphinx-2.2.11-release/test/test_155/test.xml0000644000175000017500000000427012743402012020113 0ustar alexeyalexey SQL-compliant result set vs max_matches indexer { mem_limit = 16M } searchd { } source test1 { type = mysql sql_query = select id, gid, gid as a, title from test_table sql_attr_uint = gid sql_attr_uint = a } source test2 : test1 { sql_query = select id+10, gid, gid as b, title from test_table sql_attr_uint = gid sql_attr_uint = b } source test3 : test1 { sql_query = select id+20, gid, gid+1 as c, gid+2 as b, title from test_table sql_attr_uint = gid sql_attr_uint = c sql_attr_uint = b } source test4 : test1 { sql_query = select id+30, gid, gid+3 as d, gid+5 as b, title from test_table sql_attr_uint = gid sql_attr_uint = d sql_attr_uint = b } index test1 { source = test1 path = /test1 } index test2 { source = test2 path = /test2 } index test3 { source = test3 path = /test3 } index test4 { source = test4 path = /test4 } index dist1 { type = distributed local = test1 local = test2 } index dist2 { type = distributed local = test2 local = test3 } index dist3 { type = distributed local = test2 agent = :idx52 local = test4 agent_connect_timeout = 1000 agent_query_timeout = 3000 } create table test_table ( id int not null, gid int not null, title varchar(255) not null ); drop table if exists test_table; insert into test_table values ( 1, 123, 'hello world' ); insert into test_table values ( 2, 123, 'hello world' ); insert into test_table values ( 3, 123, 'hello world' ); select gid from dist1 where match('hello') option max_matches=2 select b from dist2 where match('hello') option max_matches=2 select b from dist3 where match('hello') option max_matches=2 select id, gid from dist1 where match('hello') option field_weights=(none1=1000, title=1);show meta sphinx-2.2.11-release/test/test_155/model.bin0000644000175000017500000000313412743402012020202 0ustar alexeyalexeya:1:{i:0;a:5:{i:0;a:3:{s:8:"sphinxql";s:63:"select gid from dist1 where match('hello') option max_matches=2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:3:"gid";s:3:"123";}i:1;a:1:{s:3:"gid";s:3:"123";}}}i:1;a:3:{s:8:"sphinxql";s:61:"select b from dist2 where match('hello') option max_matches=2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:1:"b";s:3:"123";}i:1;a:1:{s:1:"b";s:3:"123";}}}i:2;a:3:{s:8:"sphinxql";s:61:"select b from dist3 where match('hello') option max_matches=2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:1:"b";s:3:"123";}i:1;a:1:{s:1:"b";s:3:"123";}}}i:3;a:3:{s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:3:"123";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:3:"123";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:3:"123";}i:3;a:2:{s:2:"id";s:2:"11";s:3:"gid";s:3:"123";}i:4;a:2:{s:2:"id";s:2:"12";s:3:"gid";s:3:"123";}i:5;a:2:{s:2:"id";s:2:"13";s:3:"gid";s:3:"123";}}s:8:"sphinxql";s:99:"select id, gid from dist1 where match('hello') option field_weights=(none1=1000, title=1);show meta";}i:4;a:3:{s:10:"total_rows";i:7;s:8:"sphinxql";s:51:"show meta /* result 2 of previous multistatement */";s:4:"rows";a:6:{i:0;a:2:{s:13:"Variable_name";s:7:"warning";s:5:"Value";s:59:"Fields specified in field_weights option not found: [none1]";}i:1;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"6";}i:2;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"6";}i:3;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"hello";}i:4;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"6";}i:5;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"6";}}}}}sphinx-2.2.11-release/test/test_154/0000755000175000017500000000000012743402012016406 5ustar alexeyalexeysphinx-2.2.11-release/test/test_154/test.xml0000644000175000017500000000473512743402012020120 0ustar alexeyalexey no hit documents in RT and plain index indexer { mem_limit = 16M } searchd { workers = threads } source src { type = mysql sql_query = SELECT id, idd1, body FROM test_table sql_attr_uint = idd1 } index plain { source = src docinfo = extern path = /plain stopwords = /stopwords.txt blend_chars = . blend_mode = trim_both, trim_head } index rt { type = rt docinfo = extern path = /rt stopwords = /stopwords.txt rt_attr_uint = idd1 rt_field = body rt_mem_limit = 8M } index both { type = distributed local = plain local = rt } CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `idd1` int(11) NOT NULL default '0', `body` varchar(1024) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 11, 'a dog.' ), ( 2, 11, 'a cat' ), ( 3, 11, 'a bird' ), ( 4, 12, 'cat eats bird' ), ( 5, 13, 'dog eats cat' ), ( 6, 14, 'bird' ) insert into rt (id, idd1, body) values ( 11, 14, 'bird' ) insert into rt (id, idd1, body) values ( 12, 13, 'dog eats cat' ) insert into rt (id, idd1, body) values ( 13, 12, 'cat eats bird' ) insert into rt (id, idd1, body) values ( 14, 11, 'a bird' ) insert into rt (id, idd1, body) values ( 15, 11, 'a cat' ) insert into rt (id, idd1, body) values ( 16, 11, 'a dog' ) select * from plain select * from rt select * from both select * from both where match ('a') select * from both where match ('bird') select * from both where idd1=11 select * from both where idd1!=11 select * from both where match ('bird') and idd1!=11 select * from both where idd1!=10 flush ramchunk rt select * from rt where match ('a bird') call keywords ('a bird', 'rt', 1) sphinx-2.2.11-release/test/test_154/stopwords.txt0000644000175000017500000000002112743402012021204 0ustar alexeyalexeya dog cat eatssphinx-2.2.11-release/test/test_154/model.bin0000644000175000017500000001155512743402012020207 0ustar alexeyalexeya:1:{i:0;a:18:{i:0;a:2:{s:8:"sphinxql";s:57:"insert into rt (id, idd1, body) values ( 11, 14, 'bird' )";s:14:"total_affected";i:1;}i:1;a:2:{s:8:"sphinxql";s:65:"insert into rt (id, idd1, body) values ( 12, 13, 'dog eats cat' )";s:14:"total_affected";i:1;}i:2;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, idd1, body) values ( 13, 12, 'cat eats bird' )";s:14:"total_affected";i:1;}i:3;a:2:{s:8:"sphinxql";s:59:"insert into rt (id, idd1, body) values ( 14, 11, 'a bird' )";s:14:"total_affected";i:1;}i:4;a:2:{s:8:"sphinxql";s:58:"insert into rt (id, idd1, body) values ( 15, 11, 'a cat' )";s:14:"total_affected";i:1;}i:5;a:2:{s:8:"sphinxql";s:58:"insert into rt (id, idd1, body) values ( 16, 11, 'a dog' )";s:14:"total_affected";i:1;}i:6;a:3:{s:8:"sphinxql";s:19:"select * from plain";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:1:"1";s:4:"idd1";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:4:"idd1";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";}i:3;a:2:{s:2:"id";s:1:"4";s:4:"idd1";s:2:"12";}i:4;a:2:{s:2:"id";s:1:"5";s:4:"idd1";s:2:"13";}i:5;a:2:{s:2:"id";s:1:"6";s:4:"idd1";s:2:"14";}}}i:7;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:2:"11";s:4:"idd1";s:2:"14";}i:1;a:2:{s:2:"id";s:2:"12";s:4:"idd1";s:2:"13";}i:2;a:2:{s:2:"id";s:2:"13";s:4:"idd1";s:2:"12";}i:3;a:2:{s:2:"id";s:2:"14";s:4:"idd1";s:2:"11";}i:4;a:2:{s:2:"id";s:2:"15";s:4:"idd1";s:2:"11";}i:5;a:2:{s:2:"id";s:2:"16";s:4:"idd1";s:2:"11";}}}i:8;a:3:{s:8:"sphinxql";s:18:"select * from both";s:10:"total_rows";i:12;s:4:"rows";a:12:{i:0;a:2:{s:2:"id";s:1:"1";s:4:"idd1";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:4:"idd1";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";}i:3;a:2:{s:2:"id";s:1:"4";s:4:"idd1";s:2:"12";}i:4;a:2:{s:2:"id";s:1:"5";s:4:"idd1";s:2:"13";}i:5;a:2:{s:2:"id";s:1:"6";s:4:"idd1";s:2:"14";}i:6;a:2:{s:2:"id";s:2:"11";s:4:"idd1";s:2:"14";}i:7;a:2:{s:2:"id";s:2:"12";s:4:"idd1";s:2:"13";}i:8;a:2:{s:2:"id";s:2:"13";s:4:"idd1";s:2:"12";}i:9;a:2:{s:2:"id";s:2:"14";s:4:"idd1";s:2:"11";}i:10;a:2:{s:2:"id";s:2:"15";s:4:"idd1";s:2:"11";}i:11;a:2:{s:2:"id";s:2:"16";s:4:"idd1";s:2:"11";}}}i:9;a:2:{s:8:"sphinxql";s:36:"select * from both where match ('a')";s:10:"total_rows";i:0;}i:10;a:3:{s:8:"sphinxql";s:39:"select * from both where match ('bird')";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"4";s:4:"idd1";s:2:"12";}i:2;a:2:{s:2:"id";s:1:"6";s:4:"idd1";s:2:"14";}i:3;a:2:{s:2:"id";s:2:"11";s:4:"idd1";s:2:"14";}i:4;a:2:{s:2:"id";s:2:"13";s:4:"idd1";s:2:"12";}i:5;a:2:{s:2:"id";s:2:"14";s:4:"idd1";s:2:"11";}}}i:11;a:3:{s:8:"sphinxql";s:32:"select * from both where idd1=11";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:1:"1";s:4:"idd1";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:4:"idd1";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";}i:3;a:2:{s:2:"id";s:2:"14";s:4:"idd1";s:2:"11";}i:4;a:2:{s:2:"id";s:2:"15";s:4:"idd1";s:2:"11";}i:5;a:2:{s:2:"id";s:2:"16";s:4:"idd1";s:2:"11";}}}i:12;a:3:{s:8:"sphinxql";s:33:"select * from both where idd1!=11";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:1:"4";s:4:"idd1";s:2:"12";}i:1;a:2:{s:2:"id";s:1:"5";s:4:"idd1";s:2:"13";}i:2;a:2:{s:2:"id";s:1:"6";s:4:"idd1";s:2:"14";}i:3;a:2:{s:2:"id";s:2:"11";s:4:"idd1";s:2:"14";}i:4;a:2:{s:2:"id";s:2:"12";s:4:"idd1";s:2:"13";}i:5;a:2:{s:2:"id";s:2:"13";s:4:"idd1";s:2:"12";}}}i:13;a:3:{s:8:"sphinxql";s:52:"select * from both where match ('bird') and idd1!=11";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:2:"id";s:1:"4";s:4:"idd1";s:2:"12";}i:1;a:2:{s:2:"id";s:1:"6";s:4:"idd1";s:2:"14";}i:2;a:2:{s:2:"id";s:2:"11";s:4:"idd1";s:2:"14";}i:3;a:2:{s:2:"id";s:2:"13";s:4:"idd1";s:2:"12";}}}i:14;a:3:{s:8:"sphinxql";s:33:"select * from both where idd1!=10";s:10:"total_rows";i:12;s:4:"rows";a:12:{i:0;a:2:{s:2:"id";s:1:"1";s:4:"idd1";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:4:"idd1";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:4:"idd1";s:2:"11";}i:3;a:2:{s:2:"id";s:1:"4";s:4:"idd1";s:2:"12";}i:4;a:2:{s:2:"id";s:1:"5";s:4:"idd1";s:2:"13";}i:5;a:2:{s:2:"id";s:1:"6";s:4:"idd1";s:2:"14";}i:6;a:2:{s:2:"id";s:2:"11";s:4:"idd1";s:2:"14";}i:7;a:2:{s:2:"id";s:2:"12";s:4:"idd1";s:2:"13";}i:8;a:2:{s:2:"id";s:2:"13";s:4:"idd1";s:2:"12";}i:9;a:2:{s:2:"id";s:2:"14";s:4:"idd1";s:2:"11";}i:10;a:2:{s:2:"id";s:2:"15";s:4:"idd1";s:2:"11";}i:11;a:2:{s:2:"id";s:2:"16";s:4:"idd1";s:2:"11";}}}i:15;a:2:{s:8:"sphinxql";s:17:"flush ramchunk rt";s:14:"total_affected";i:0;}i:16;a:3:{s:8:"sphinxql";s:39:"select * from rt where match ('a bird')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:2:"11";s:4:"idd1";s:2:"14";}i:1;a:2:{s:2:"id";s:2:"13";s:4:"idd1";s:2:"12";}i:2;a:2:{s:2:"id";s:2:"14";s:4:"idd1";s:2:"11";}}}i:17;a:3:{s:8:"sphinxql";s:33:"call keywords ('a bird', 'rt', 1)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:4:"bird";s:10:"normalized";s:4:"bird";s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}}}}sphinx-2.2.11-release/test/test_153/0000755000175000017500000000000012743402012016405 5ustar alexeyalexeysphinx-2.2.11-release/test/test_153/test.xml0000644000175000017500000004054612743402012020117 0ustar alexeyalexey aggregate, aliases, different sorting, grouping and schemas vs different type of distributed indexer { mem_limit = 28M } searchd { workers = threads } source auth { type = mysql } source src : auth { sql_query = SELECT id, tag, gr, text FROM test_table WHERE id<4 sql_query_pre = SET NAMES UTF8 sql_attr_uint = tag sql_attr_uint = gr } source src1 : src { sql_query = SELECT id, tag, gr, text FROM test_table WHERE id<3 } source src2 : src { sql_query = SELECT id, tag, gr, text FROM test_table WHERE id=3 } source src51 : src { sql_query = SELECT id, tag, gr, text FROM test_table WHERE id<6 } source src52 : src { sql_query = SELECT id, tag, gr, text FROM test_table WHERE id>5 } source fake: auth { sql_query = SELECT id, gr, text FROM test_table WHERE id<4 sql_attr_uint = gr } index dist_no { source = src path = /idx docinfo = extern min_word_len = 1 } index idx1 : dist_no { source = src1 path = /idx1 } index idx2 : dist_no { source = src2 path = /idx2 } index idx51 : dist_no { source = src51 path = /idx51 } index idx52 : dist_no { source = src52 path = /idx52 } index idxfake : dist_no { source = fake path = /otheridx } index dist50 { type = distributed local = idx51 agent = :idx52 agent_connect_timeout = 1000 agent_query_timeout = 3000 } index dist52 { type = distributed local = idx51 local = idx52 agent_connect_timeout = 1000 agent_query_timeout = 3000 } index dist0 { type = distributed local = dist_no agent_connect_timeout = 1000 agent_query_timeout = 3000 } index dist1 { type = distributed local = idx1 local = idx2 agent_connect_timeout = 1000 agent_query_timeout = 3000 } index dist2 { type = distributed agent = :idx1 local = idx2 agent_connect_timeout = 1000 agent_query_timeout = 3000 } index dist3 { type = distributed local = idx1 agent = :idx2 agent_connect_timeout = 1000 agent_query_timeout = 3000 } index dist4 { type = distributed agent = :idx1 agent = :idx2 agent_connect_timeout = 1000 agent_query_timeout = 3000 } index dist5 { type = distributed agent = :dist_no agent_connect_timeout = 1000 agent_query_timeout = 3000 } index distfake { type = distributed agent = :idx51 agent = :idxfake agent_connect_timeout = 1000 agent_query_timeout = 3000 } index disthfake { type = distributed local = idx51 agent = :idxfake agent_connect_timeout = 1000 agent_query_timeout = 3000 } index disthfakeb { type = distributed agent = :idx51 local = idxfake agent_connect_timeout = 1000 agent_query_timeout = 3000 } index distlfake { type = distributed local = idx51 local = idxfake agent_connect_timeout = 1000 agent_query_timeout = 3000 } source src_proxy1 : auth { sql_query = SELECT 1, 11 as idd, 'the box' text UNION SELECT 2, 11 as idd, 'the fox' text UNION SELECT 3, 11 as idd, 'the fort nox' text UNION SELECT 4, 11 as idd, 'of the box' text UNION SELECT 5, 11 as idd, 'not the box' text sql_attr_uint = idd } source src_proxy2 : auth { sql_query = SELECT 5, 22 as idd, 'of the box' text UNION SELECT 6, 22 as idd, 'we are the boxes' text UNION SELECT 7, 22 as idd, 'how is the fox' text UNION SELECT 8, 22 as idd, 'for the nox' text UNION SELECT 9, 22 as idd, 'from the box' text sql_attr_uint = idd } index proxy_loc1 : dist_no { source = src_proxy1 path = /proxy_loc1 } index proxy_loc2 : dist_no { source = src_proxy2 path = /proxy_loc2 } index dist_w1 { type = distributed local = proxy_loc2 agent = :proxy_loc1 } index dist_endpoint { type = distributed local = proxy_loc1 } index dist_proxy1 { type = distributed agent = :dist_endpoint } index dist_w2 { type = distributed local = proxy_loc2 agent = :dist_proxy1 } index dist_invalid { type = distributed local = proxy_loc2 agent = } test test --> select * from dist_no select * from dist0 select * from dist1 select * from dist2 select * from dist3 select * from dist4 select * from dist5 select gr, sum(tag) as t from dist_no group by gr select gr, sum(tag) as t from dist0 group by gr select gr, sum(tag) as t from dist1 group by gr select gr, sum(tag) as t from dist2 group by gr select gr, sum(tag) as t from dist3 group by gr select tag,gr from dist4 group by tag order by gr asc select gr, sum(tag) as t from dist4 group by gr select gr, sum(tag) as t from dist5 group by gr select sum(tag) as t from dist0 group by gr select sum(tag) as t from dist5 group by gr select gr, tag+1 as t from dist0 group by gr select gr, tag+1 as t from dist5 group by gr select tag+1 as t from dist0 where match('test') ORDER BY gr ASC select tag+1 as t from dist5 where match('test') ORDER BY gr ASC select tag+1 as t, gr from dist0 where match('test') ORDER BY gr ASC select tag+1 as t, gr from dist5 where match('test') ORDER BY gr ASC select tag+1 as t, gr, tag, gr from dist0 where match('test') ORDER BY gr ASC select tag+1 as t, gr, tag, gr from dist5 where match('test') ORDER BY gr ASC select tag+1 as t, gr, gr+1 as g from dist0 where match('test') ORDER BY gr ASC select tag+1 as t, gr, gr+1 as g from dist5 where match('test') ORDER BY gr ASC select tag+1 as t, gr, tag as tt, tag, tag from dist0 where match('test') ORDER BY gr ASC select tag+1 as t, gr, tag as tt, tag, tag from dist5 where match('test') ORDER BY gr ASC select tag+1 as t from dist0 ORDER BY gr ASC select tag+1 as t from dist5 ORDER BY gr ASC select * from dist0 where match('test') select * from dist5 where match('test') select @id as idd, gr,tag+1 as t from dist50 order by gr asc select @id as idd, tag+1 as t from dist50 order by gr asc select @id as idd, gr,tag+1 as t from dist52 order by gr asc select @id as idd, tag+1 as t from dist52 order by gr asc select @id as idd, gr,tag+1 as t from idx51 order by gr asc select @id as idd, tag+1 as t from idx51 order by gr asc select id as idd, gr,tag+1 as t from dist50 order by gr asc select id as idd, tag+1 as t from dist50 order by gr asc select id as idd, gr,tag+1 as t from dist52 order by gr asc select id as idd, tag+1 as t from dist52 order by gr asc select id as idd, gr,tag+1 as t from idx51 order by gr asc select id as idd, tag+1 as t from idx51 order by gr asc select @id as idd, gr+1 as t from distfake group by t order by tag asc select @id as idd, gr+1 as t from disthfakeb group by t order by tag asc select @id as idd, gr+1 as t from disthfake group by t order by tag asc select @id as idd, gr+1 as t from distlfake group by t order by tag asc select id as idd, gr+1 as t from distfake group by t order by tag asc select id as idd, gr+1 as t from disthfakeb group by t order by tag asc select id as idd, gr+1 as t from disthfake group by t order by tag asc select id as idd, gr+1 as t from distlfake group by t order by tag asc select * from dist50 where match ( 'broken merge' ) select gr from dist_no group by gr select gr, @groupby, @count from dist_no group by gr select gr, groupby(), count(*) from dist_no group by gr SELECT *, weight() as w FROM dist_w1 ORDER BY id asc OPTION index_weights=(dist_w1=10) SELECT *, weight() as w FROM dist_w2 ORDER BY id asc OPTION index_weights=(dist_w2=10) SELECT *, weight() as w FROM dist_w1 WHERE MATCH ('the') ORDER BY id asc OPTION index_weights=(dist_w1=10) SELECT *, weight() as w FROM dist_w2 WHERE MATCH ('the') ORDER BY id asc OPTION index_weights=(dist_w2=10) SELECT *, weight() as w FROM proxy_loc2, dist_w1 ORDER BY id asc OPTION index_weights=(proxy_loc2=2, dist_w1=10, dist_w2=100) SELECT *, weight() as w FROM dist_w1, proxy_loc2 ORDER BY id asc OPTION index_weights=(proxy_loc2=2, dist_w1=10, dist_w2=100) SELECT *, weight() as w FROM proxy_loc2, dist_w1, dist_w2 ORDER BY id asc OPTION index_weights=(proxy_loc2=2, dist_w1=10, dist_w2=100) SELECT *, weight() as w FROM dist_w2, dist_w1, proxy_loc2 ORDER BY id asc OPTION index_weights=(proxy_loc2=2, dist_w1=10, dist_w2=100) SELECT *, weight() as w FROM proxy_loc2, dist_w1, dist_w2 WHERE MATCH ('the') ORDER BY id asc OPTION index_weights=(proxy_loc2=1, dist_w1=10, dist_w2=100) SELECT *, weight() as w FROM dist_w2, dist_w1, proxy_loc2 WHERE MATCH ('the') ORDER BY id asc OPTION index_weights=(proxy_loc2=1, dist_w1=10, dist_w2=100) SELECT *, weight() as w FROM proxy_loc2, dist_w1, dist_w2 WHERE MATCH ('the | box') ORDER BY id asc OPTION index_weights=(proxy_loc2=1, dist_w1=10, dist_w2=100) SELECT *, weight() as w FROM dist_w2, dist_w1, proxy_loc2 WHERE MATCH ('the | box') ORDER BY id asc OPTION index_weights=(proxy_loc2=1, dist_w1=10, dist_w2=100) SELECT *, weight() as w FROM proxy_loc2, dist_w1, dist_w2 WHERE MATCH ('the | box') ORDER BY id asc OPTION index_weights=(proxy_loc2=1, dist_w1=10, dist_w2=100), ranker=proximity_bm25 SELECT *, weight() as w FROM dist_w2, dist_w1, proxy_loc2 WHERE MATCH ('the | box') ORDER BY id asc OPTION index_weights=(proxy_loc2=1, dist_w1=10, dist_w2=100), ranker=proximity_bm25 SELECT *, weight() as w FROM proxy_loc2, dist_w1, dist_w2 WHERE MATCH ('the | box') ORDER BY id asc OPTION index_weights=(proxy_loc2=1, dist_w1=10, dist_w2=100), ranker=expr('sum(lcs)*1000+bm25') SELECT *, weight() as w FROM dist_w2, dist_w1, proxy_loc2 WHERE MATCH ('the | box') ORDER BY id asc OPTION index_weights=(proxy_loc2=1, dist_w1=10, dist_w2=100), ranker=expr('sum(lcs)*1000+bm25') SELECT *, weight() as w FROM proxy_loc2, dist_w1, dist_w2 WHERE MATCH ('the | box') ORDER BY id asc OPTION index_weights=(proxy_loc2=1, dist_w1=10, dist_w2=100), ranker=bm25 SELECT *, weight() as w FROM dist_w2, dist_w1, proxy_loc2 WHERE MATCH ('the | box') ORDER BY id asc OPTION index_weights=(proxy_loc2=1, dist_w1=10, dist_w2=100), ranker=bm25 SELECT *, weight() as w FROM proxy_loc2, dist_w1, dist_w2 WHERE MATCH ('the | box') ORDER BY id asc OPTION index_weights=(proxy_loc2=1, dist_w1=10, dist_w2=100), ranker=wordcount SELECT *, weight() as w FROM dist_w2, dist_w1, proxy_loc2 WHERE MATCH ('the | box') ORDER BY id asc OPTION index_weights=(proxy_loc2=1, dist_w1=10, dist_w2=100), ranker=wordcount select id, weight() * 11 as w from dist50 SHOW META select `id`, `tag` t, `gr` from dist50 CREATE TABLE `test_table` ( `id` int(11), `tag` int(11), `gr` int(11), `text` varchar(255) NOT NULL ) DROP TABLE IF EXISTS `test_table` SET NAMES utf8 INSERT INTO `test_table` VALUES ( 1, 2, 3, 'test'), ( 2, 2, 2, 'test'), ( 3, 2, 3, 'test'), ( 4, 2, 10, 'test'), ( 5, 2, 9, 'test'), ( 6, 2, 8, 'test'), ( 7, 2, 7, 'test'), ( 8, 2, 6, 'test'), ( 9, 2, 5, 'test'), ( 10, 2, 4, 'test') sphinx-2.2.11-release/test/test_153/model.bin0000644000175000017500000013635312743402012020212 0ustar alexeyalexeya:1:{i:0;a:103:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:4:{s:2:"gr";i:1;s:3:"tag";i:1;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:2:"gr";s:1:"3";s:3:"tag";s:1:"2";s:8:"@groupby";s:1:"3";s:6:"@count";s:1:"2";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:2:"gr";s:1:"2";s:3:"tag";s:1:"2";s:8:"@groupby";s:1:"2";s:6:"@count";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:4:{s:3:"tag";i:1;s:2:"gr";i:1;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";s:8:"@groupby";s:1:"3";s:6:"@count";s:1:"2";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:3:"tag";s:1:"2";s:2:"gr";s:1:"2";s:8:"@groupby";s:1:"2";s:6:"@count";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:4:{s:2:"gr";i:1;s:1:"t";i:1;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:2:"gr";s:1:"3";s:1:"t";s:1:"4";s:8:"@groupby";s:1:"3";s:6:"@count";s:1:"2";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:2:"gr";s:1:"2";s:1:"t";s:1:"2";s:8:"@groupby";s:1:"2";s:6:"@count";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:4:{s:2:"gr";i:1;s:1:"t";i:1;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:2:"gr";s:1:"3";s:1:"t";s:1:"4";s:8:"@groupby";s:1:"3";s:6:"@count";s:1:"2";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:2:"gr";s:1:"2";s:1:"t";s:1:"2";s:8:"@groupby";s:1:"2";s:6:"@count";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:4:{s:2:"gr";i:1;s:1:"t";i:1;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:2:"gr";s:1:"3";s:1:"t";s:1:"4";s:8:"@groupby";s:1:"3";s:6:"@count";s:1:"2";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:2:"gr";s:1:"2";s:1:"t";s:1:"2";s:8:"@groupby";s:1:"2";s:6:"@count";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:4:{s:2:"gr";i:1;s:1:"t";i:1;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:2:"gr";s:1:"3";s:1:"t";s:1:"4";s:8:"@groupby";s:1:"3";s:6:"@count";s:1:"2";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:2:"gr";s:1:"2";s:1:"t";s:1:"2";s:8:"@groupby";s:1:"2";s:6:"@count";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.004";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:4:{s:2:"gr";i:1;s:1:"t";i:1;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:2:"gr";s:1:"3";s:1:"t";s:1:"4";s:8:"@groupby";s:1:"3";s:6:"@count";s:1:"2";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:2:"gr";s:1:"2";s:1:"t";s:1:"2";s:8:"@groupby";s:1:"2";s:6:"@count";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.004";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:4:{s:2:"gr";i:1;s:1:"t";i:1;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:2:"gr";s:1:"3";s:1:"t";s:1:"4";s:8:"@groupby";s:1:"3";s:6:"@count";s:1:"2";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:2:"gr";s:1:"2";s:1:"t";s:1:"2";s:8:"@groupby";s:1:"2";s:6:"@count";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.004";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:4:{s:2:"gr";i:1;s:1:"t";i:1;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:2:"gr";s:1:"3";s:1:"t";s:1:"4";s:8:"@groupby";s:1:"3";s:6:"@count";s:1:"2";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:2:"gr";s:1:"2";s:1:"t";s:1:"2";s:8:"@groupby";s:1:"2";s:6:"@count";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:5:{s:1:"t";i:1;s:3:"tag";i:1;s:2:"gr";i:1;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:1:"t";s:1:"3";s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";s:8:"@groupby";s:1:"2";s:6:"@count";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:10;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:5:{s:1:"t";i:1;s:3:"tag";i:1;s:2:"gr";i:1;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:1:"t";s:1:"3";s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";s:8:"@groupby";s:1:"2";s:6:"@count";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.005";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:11;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:4:{s:3:"tag";i:1;s:2:"gr";i:1;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";s:8:"@groupby";s:1:"2";s:6:"@count";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.004";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:3:"tag";i:1;s:2:"gr";i:1;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:2:{s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:2:{s:3:"tag";s:1:"2";s:2:"gr";s:1:"2";}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:2:{s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"test";}i:13;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:3:"tag";i:1;s:2:"gr";i:1;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:2:{s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:2:{s:3:"tag";s:1:"2";s:2:"gr";s:1:"2";}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:2:{s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.002";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"test";}i:14;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:4:{s:1:"t";i:1;s:2:"gr";i:1;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"t";s:1:"3";s:2:"gr";s:1:"3";s:8:"@groupby";s:1:"3";s:6:"@count";s:2:"10";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:15;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:1:"t";i:1;s:2:"gr";i:1;}s:7:"matches";a:10:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"t";s:1:"3";s:2:"gr";s:1:"3";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"t";s:1:"3";s:2:"gr";s:1:"2";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"t";s:1:"3";s:2:"gr";s:1:"3";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"t";s:1:"3";s:2:"gr";s:2:"10";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"t";s:1:"3";s:2:"gr";s:1:"9";}}i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"t";s:1:"3";s:2:"gr";s:1:"8";}}i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"t";s:1:"3";s:2:"gr";s:1:"7";}}i:8;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"t";s:1:"3";s:2:"gr";s:1:"6";}}i:9;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"t";s:1:"3";s:2:"gr";s:1:"5";}}i:10;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"t";s:1:"3";s:2:"gr";s:1:"4";}}}s:5:"total";s:2:"10";s:11:"total_found";s:2:"10";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:16;a:12:{s:5:"error";s:0:"";s:7:"warning";s:105:"index distfake: agent 127.0.0.1:6722: remote query error: index idxfake: parse error: unknown column: tag";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:4:{s:1:"t";i:1;s:3:"tag";i:1;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"t";s:1:"4";s:3:"tag";s:1:"2";s:8:"@groupby";s:1:"4";s:6:"@count";s:1:"2";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"t";s:1:"3";s:3:"tag";s:1:"2";s:8:"@groupby";s:1:"3";s:6:"@count";s:1:"1";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"t";s:2:"11";s:3:"tag";s:1:"2";s:8:"@groupby";s:2:"11";s:6:"@count";s:1:"1";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"t";s:2:"10";s:3:"tag";s:1:"2";s:8:"@groupby";s:2:"10";s:6:"@count";s:1:"1";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.002";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:17;a:12:{s:5:"error";s:0:"";s:7:"warning";s:47:"index idxfake: parse error: unknown column: tag";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:4:{s:1:"t";i:1;s:3:"tag";i:1;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"t";s:1:"4";s:3:"tag";s:1:"2";s:8:"@groupby";s:1:"4";s:6:"@count";s:1:"2";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"t";s:1:"3";s:3:"tag";s:1:"2";s:8:"@groupby";s:1:"3";s:6:"@count";s:1:"1";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"t";s:2:"11";s:3:"tag";s:1:"2";s:8:"@groupby";s:2:"11";s:6:"@count";s:1:"1";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"t";s:2:"10";s:3:"tag";s:1:"2";s:8:"@groupby";s:2:"10";s:6:"@count";s:1:"1";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.002";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:18;a:12:{s:5:"error";s:0:"";s:7:"warning";s:106:"index disthfake: agent 127.0.0.1:6722: remote query error: index idxfake: parse error: unknown column: tag";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:4:{s:1:"t";i:1;s:3:"tag";i:1;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"t";s:1:"4";s:3:"tag";s:1:"2";s:8:"@groupby";s:1:"4";s:6:"@count";s:1:"2";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"t";s:1:"3";s:3:"tag";s:1:"2";s:8:"@groupby";s:1:"3";s:6:"@count";s:1:"1";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"t";s:2:"11";s:3:"tag";s:1:"2";s:8:"@groupby";s:2:"11";s:6:"@count";s:1:"1";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"t";s:2:"10";s:3:"tag";s:1:"2";s:8:"@groupby";s:2:"10";s:6:"@count";s:1:"1";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:19;a:12:{s:5:"error";s:0:"";s:7:"warning";s:47:"index idxfake: parse error: unknown column: tag";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:4:{s:1:"t";i:1;s:3:"tag";i:1;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"t";s:1:"4";s:3:"tag";s:1:"2";s:8:"@groupby";s:1:"4";s:6:"@count";s:1:"2";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"t";s:1:"3";s:3:"tag";s:1:"2";s:8:"@groupby";s:1:"3";s:6:"@count";s:1:"1";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"t";s:2:"11";s:3:"tag";s:1:"2";s:8:"@groupby";s:2:"11";s:6:"@count";s:1:"1";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"t";s:2:"10";s:3:"tag";s:1:"2";s:8:"@groupby";s:2:"10";s:6:"@count";s:1:"1";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:2:"gr";i:1;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:2:"gr";s:1:"3";s:8:"@groupby";s:1:"3";s:6:"@count";s:1:"2";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:2:"gr";s:1:"2";s:8:"@groupby";s:1:"2";s:6:"@count";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:2:"gr";i:1;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:2:"gr";s:1:"3";s:8:"@groupby";s:1:"3";s:6:"@count";s:1:"2";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:2:"gr";s:1:"2";s:8:"@groupby";s:1:"2";s:6:"@count";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:22;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:3:"tag";i:1;s:2:"gr";i:1;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"tag";s:1:"2";s:2:"gr";s:1:"2";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:23;a:3:{s:8:"sphinxql";s:21:"select * from dist_no";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"tag";s:1:"2";s:2:"gr";s:1:"2";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";}}}i:24;a:3:{s:8:"sphinxql";s:19:"select * from dist0";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"tag";s:1:"2";s:2:"gr";s:1:"2";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";}}}i:25;a:3:{s:8:"sphinxql";s:19:"select * from dist1";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"tag";s:1:"2";s:2:"gr";s:1:"2";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";}}}i:26;a:3:{s:8:"sphinxql";s:19:"select * from dist2";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"tag";s:1:"2";s:2:"gr";s:1:"2";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";}}}i:27;a:3:{s:8:"sphinxql";s:19:"select * from dist3";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"tag";s:1:"2";s:2:"gr";s:1:"2";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";}}}i:28;a:3:{s:8:"sphinxql";s:19:"select * from dist4";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"tag";s:1:"2";s:2:"gr";s:1:"2";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";}}}i:29;a:3:{s:8:"sphinxql";s:19:"select * from dist5";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"tag";s:1:"2";s:2:"gr";s:1:"2";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";}}}i:30;a:3:{s:8:"sphinxql";s:49:"select gr, sum(tag) as t from dist_no group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"gr";s:1:"3";s:1:"t";s:1:"4";}i:1;a:2:{s:2:"gr";s:1:"2";s:1:"t";s:1:"2";}}}i:31;a:3:{s:8:"sphinxql";s:47:"select gr, sum(tag) as t from dist0 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"gr";s:1:"3";s:1:"t";s:1:"4";}i:1;a:2:{s:2:"gr";s:1:"2";s:1:"t";s:1:"2";}}}i:32;a:3:{s:8:"sphinxql";s:47:"select gr, sum(tag) as t from dist1 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"gr";s:1:"3";s:1:"t";s:1:"4";}i:1;a:2:{s:2:"gr";s:1:"2";s:1:"t";s:1:"2";}}}i:33;a:3:{s:8:"sphinxql";s:47:"select gr, sum(tag) as t from dist2 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"gr";s:1:"3";s:1:"t";s:1:"4";}i:1;a:2:{s:2:"gr";s:1:"2";s:1:"t";s:1:"2";}}}i:34;a:3:{s:8:"sphinxql";s:47:"select gr, sum(tag) as t from dist3 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"gr";s:1:"3";s:1:"t";s:1:"4";}i:1;a:2:{s:2:"gr";s:1:"2";s:1:"t";s:1:"2";}}}i:35;a:3:{s:8:"sphinxql";s:53:"select tag,gr from dist4 group by tag order by gr asc";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";}}}i:36;a:3:{s:8:"sphinxql";s:47:"select gr, sum(tag) as t from dist4 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"gr";s:1:"3";s:1:"t";s:1:"4";}i:1;a:2:{s:2:"gr";s:1:"2";s:1:"t";s:1:"2";}}}i:37;a:3:{s:8:"sphinxql";s:47:"select gr, sum(tag) as t from dist5 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"gr";s:1:"3";s:1:"t";s:1:"4";}i:1;a:2:{s:2:"gr";s:1:"2";s:1:"t";s:1:"2";}}}i:38;a:3:{s:8:"sphinxql";s:43:"select sum(tag) as t from dist0 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:1:"t";s:1:"4";}i:1;a:1:{s:1:"t";s:1:"2";}}}i:39;a:3:{s:8:"sphinxql";s:43:"select sum(tag) as t from dist5 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:1:"t";s:1:"4";}i:1;a:1:{s:1:"t";s:1:"2";}}}i:40;a:3:{s:8:"sphinxql";s:44:"select gr, tag+1 as t from dist0 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"gr";s:1:"3";s:1:"t";s:1:"3";}i:1;a:2:{s:2:"gr";s:1:"2";s:1:"t";s:1:"3";}}}i:41;a:3:{s:8:"sphinxql";s:44:"select gr, tag+1 as t from dist5 group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"gr";s:1:"3";s:1:"t";s:1:"3";}i:1;a:2:{s:2:"gr";s:1:"2";s:1:"t";s:1:"3";}}}i:42;a:3:{s:8:"sphinxql";s:64:"select tag+1 as t from dist0 where match('test') ORDER BY gr ASC";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:1:"t";s:1:"3";}i:1;a:1:{s:1:"t";s:1:"3";}i:2;a:1:{s:1:"t";s:1:"3";}}}i:43;a:3:{s:8:"sphinxql";s:64:"select tag+1 as t from dist5 where match('test') ORDER BY gr ASC";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:1:"t";s:1:"3";}i:1;a:1:{s:1:"t";s:1:"3";}i:2;a:1:{s:1:"t";s:1:"3";}}}i:44;a:3:{s:8:"sphinxql";s:68:"select tag+1 as t, gr from dist0 where match('test') ORDER BY gr ASC";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:1:"t";s:1:"3";s:2:"gr";s:1:"2";}i:1;a:2:{s:1:"t";s:1:"3";s:2:"gr";s:1:"3";}i:2;a:2:{s:1:"t";s:1:"3";s:2:"gr";s:1:"3";}}}i:45;a:3:{s:8:"sphinxql";s:68:"select tag+1 as t, gr from dist5 where match('test') ORDER BY gr ASC";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:1:"t";s:1:"3";s:2:"gr";s:1:"2";}i:1;a:2:{s:1:"t";s:1:"3";s:2:"gr";s:1:"3";}i:2;a:2:{s:1:"t";s:1:"3";s:2:"gr";s:1:"3";}}}i:46;a:3:{s:8:"sphinxql";s:77:"select tag+1 as t, gr, tag, gr from dist0 where match('test') ORDER BY gr ASC";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:1:"t";s:1:"3";s:2:"gr";s:1:"2";s:3:"tag";s:1:"2";}i:1;a:3:{s:1:"t";s:1:"3";s:2:"gr";s:1:"3";s:3:"tag";s:1:"2";}i:2;a:3:{s:1:"t";s:1:"3";s:2:"gr";s:1:"3";s:3:"tag";s:1:"2";}}}i:47;a:3:{s:8:"sphinxql";s:77:"select tag+1 as t, gr, tag, gr from dist5 where match('test') ORDER BY gr ASC";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:1:"t";s:1:"3";s:2:"gr";s:1:"2";s:3:"tag";s:1:"2";}i:1;a:3:{s:1:"t";s:1:"3";s:2:"gr";s:1:"3";s:3:"tag";s:1:"2";}i:2;a:3:{s:1:"t";s:1:"3";s:2:"gr";s:1:"3";s:3:"tag";s:1:"2";}}}i:48;a:3:{s:8:"sphinxql";s:79:"select tag+1 as t, gr, gr+1 as g from dist0 where match('test') ORDER BY gr ASC";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:1:"t";s:1:"3";s:2:"gr";s:1:"2";s:1:"g";s:1:"3";}i:1;a:3:{s:1:"t";s:1:"3";s:2:"gr";s:1:"3";s:1:"g";s:1:"4";}i:2;a:3:{s:1:"t";s:1:"3";s:2:"gr";s:1:"3";s:1:"g";s:1:"4";}}}i:49;a:3:{s:8:"sphinxql";s:79:"select tag+1 as t, gr, gr+1 as g from dist5 where match('test') ORDER BY gr ASC";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:1:"t";s:1:"3";s:2:"gr";s:1:"2";s:1:"g";s:1:"3";}i:1;a:3:{s:1:"t";s:1:"3";s:2:"gr";s:1:"3";s:1:"g";s:1:"4";}i:2;a:3:{s:1:"t";s:1:"3";s:2:"gr";s:1:"3";s:1:"g";s:1:"4";}}}i:50;a:3:{s:8:"sphinxql";s:89:"select tag+1 as t, gr, tag as tt, tag, tag from dist0 where match('test') ORDER BY gr ASC";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:1:"t";s:1:"3";s:2:"gr";s:1:"2";s:2:"tt";s:1:"2";s:3:"tag";s:1:"2";}i:1;a:4:{s:1:"t";s:1:"3";s:2:"gr";s:1:"3";s:2:"tt";s:1:"2";s:3:"tag";s:1:"2";}i:2;a:4:{s:1:"t";s:1:"3";s:2:"gr";s:1:"3";s:2:"tt";s:1:"2";s:3:"tag";s:1:"2";}}}i:51;a:3:{s:8:"sphinxql";s:89:"select tag+1 as t, gr, tag as tt, tag, tag from dist5 where match('test') ORDER BY gr ASC";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:1:"t";s:1:"3";s:2:"gr";s:1:"2";s:2:"tt";s:1:"2";s:3:"tag";s:1:"2";}i:1;a:4:{s:1:"t";s:1:"3";s:2:"gr";s:1:"3";s:2:"tt";s:1:"2";s:3:"tag";s:1:"2";}i:2;a:4:{s:1:"t";s:1:"3";s:2:"gr";s:1:"3";s:2:"tt";s:1:"2";s:3:"tag";s:1:"2";}}}i:52;a:3:{s:8:"sphinxql";s:44:"select tag+1 as t from dist0 ORDER BY gr ASC";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:1:"t";s:1:"3";}i:1;a:1:{s:1:"t";s:1:"3";}i:2;a:1:{s:1:"t";s:1:"3";}}}i:53;a:3:{s:8:"sphinxql";s:44:"select tag+1 as t from dist5 ORDER BY gr ASC";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:1:"t";s:1:"3";}i:1;a:1:{s:1:"t";s:1:"3";}i:2;a:1:{s:1:"t";s:1:"3";}}}i:54;a:3:{s:8:"sphinxql";s:39:"select * from dist0 where match('test')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"tag";s:1:"2";s:2:"gr";s:1:"2";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";}}}i:55;a:3:{s:8:"sphinxql";s:39:"select * from dist5 where match('test')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"tag";s:1:"2";s:2:"gr";s:1:"2";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"tag";s:1:"2";s:2:"gr";s:1:"3";}}}i:56;a:3:{s:8:"sphinxql";s:60:"select @id as idd, gr,tag+1 as t from dist50 order by gr asc";s:5:"error";s:70:"Using the old-fashion @variables (@count, @weight, etc.) is deprecated";s:5:"errno";i:1064;}i:57;a:3:{s:8:"sphinxql";s:57:"select @id as idd, tag+1 as t from dist50 order by gr asc";s:5:"error";s:70:"Using the old-fashion @variables (@count, @weight, etc.) is deprecated";s:5:"errno";i:1064;}i:58;a:3:{s:8:"sphinxql";s:60:"select @id as idd, gr,tag+1 as t from dist52 order by gr asc";s:5:"error";s:70:"Using the old-fashion @variables (@count, @weight, etc.) is deprecated";s:5:"errno";i:1064;}i:59;a:3:{s:8:"sphinxql";s:57:"select @id as idd, tag+1 as t from dist52 order by gr asc";s:5:"error";s:70:"Using the old-fashion @variables (@count, @weight, etc.) is deprecated";s:5:"errno";i:1064;}i:60;a:3:{s:8:"sphinxql";s:59:"select @id as idd, gr,tag+1 as t from idx51 order by gr asc";s:5:"error";s:70:"Using the old-fashion @variables (@count, @weight, etc.) is deprecated";s:5:"errno";i:1064;}i:61;a:3:{s:8:"sphinxql";s:56:"select @id as idd, tag+1 as t from idx51 order by gr asc";s:5:"error";s:70:"Using the old-fashion @variables (@count, @weight, etc.) is deprecated";s:5:"errno";i:1064;}i:62;a:3:{s:8:"sphinxql";s:59:"select id as idd, gr,tag+1 as t from dist50 order by gr asc";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:3:{s:3:"idd";s:1:"2";s:2:"gr";s:1:"2";s:1:"t";s:1:"3";}i:1;a:3:{s:3:"idd";s:1:"1";s:2:"gr";s:1:"3";s:1:"t";s:1:"3";}i:2;a:3:{s:3:"idd";s:1:"3";s:2:"gr";s:1:"3";s:1:"t";s:1:"3";}i:3;a:3:{s:3:"idd";s:2:"10";s:2:"gr";s:1:"4";s:1:"t";s:1:"3";}i:4;a:3:{s:3:"idd";s:1:"9";s:2:"gr";s:1:"5";s:1:"t";s:1:"3";}i:5;a:3:{s:3:"idd";s:1:"8";s:2:"gr";s:1:"6";s:1:"t";s:1:"3";}i:6;a:3:{s:3:"idd";s:1:"7";s:2:"gr";s:1:"7";s:1:"t";s:1:"3";}i:7;a:3:{s:3:"idd";s:1:"6";s:2:"gr";s:1:"8";s:1:"t";s:1:"3";}i:8;a:3:{s:3:"idd";s:1:"5";s:2:"gr";s:1:"9";s:1:"t";s:1:"3";}i:9;a:3:{s:3:"idd";s:1:"4";s:2:"gr";s:2:"10";s:1:"t";s:1:"3";}}}i:63;a:3:{s:8:"sphinxql";s:56:"select id as idd, tag+1 as t from dist50 order by gr asc";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:2:{s:3:"idd";s:1:"2";s:1:"t";s:1:"3";}i:1;a:2:{s:3:"idd";s:1:"1";s:1:"t";s:1:"3";}i:2;a:2:{s:3:"idd";s:1:"3";s:1:"t";s:1:"3";}i:3;a:2:{s:3:"idd";s:2:"10";s:1:"t";s:1:"3";}i:4;a:2:{s:3:"idd";s:1:"9";s:1:"t";s:1:"3";}i:5;a:2:{s:3:"idd";s:1:"8";s:1:"t";s:1:"3";}i:6;a:2:{s:3:"idd";s:1:"7";s:1:"t";s:1:"3";}i:7;a:2:{s:3:"idd";s:1:"6";s:1:"t";s:1:"3";}i:8;a:2:{s:3:"idd";s:1:"5";s:1:"t";s:1:"3";}i:9;a:2:{s:3:"idd";s:1:"4";s:1:"t";s:1:"3";}}}i:64;a:3:{s:8:"sphinxql";s:59:"select id as idd, gr,tag+1 as t from dist52 order by gr asc";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:3:{s:3:"idd";s:1:"2";s:2:"gr";s:1:"2";s:1:"t";s:1:"3";}i:1;a:3:{s:3:"idd";s:1:"1";s:2:"gr";s:1:"3";s:1:"t";s:1:"3";}i:2;a:3:{s:3:"idd";s:1:"3";s:2:"gr";s:1:"3";s:1:"t";s:1:"3";}i:3;a:3:{s:3:"idd";s:2:"10";s:2:"gr";s:1:"4";s:1:"t";s:1:"3";}i:4;a:3:{s:3:"idd";s:1:"9";s:2:"gr";s:1:"5";s:1:"t";s:1:"3";}i:5;a:3:{s:3:"idd";s:1:"8";s:2:"gr";s:1:"6";s:1:"t";s:1:"3";}i:6;a:3:{s:3:"idd";s:1:"7";s:2:"gr";s:1:"7";s:1:"t";s:1:"3";}i:7;a:3:{s:3:"idd";s:1:"6";s:2:"gr";s:1:"8";s:1:"t";s:1:"3";}i:8;a:3:{s:3:"idd";s:1:"5";s:2:"gr";s:1:"9";s:1:"t";s:1:"3";}i:9;a:3:{s:3:"idd";s:1:"4";s:2:"gr";s:2:"10";s:1:"t";s:1:"3";}}}i:65;a:3:{s:8:"sphinxql";s:56:"select id as idd, tag+1 as t from dist52 order by gr asc";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:2:{s:3:"idd";s:1:"2";s:1:"t";s:1:"3";}i:1;a:2:{s:3:"idd";s:1:"1";s:1:"t";s:1:"3";}i:2;a:2:{s:3:"idd";s:1:"3";s:1:"t";s:1:"3";}i:3;a:2:{s:3:"idd";s:2:"10";s:1:"t";s:1:"3";}i:4;a:2:{s:3:"idd";s:1:"9";s:1:"t";s:1:"3";}i:5;a:2:{s:3:"idd";s:1:"8";s:1:"t";s:1:"3";}i:6;a:2:{s:3:"idd";s:1:"7";s:1:"t";s:1:"3";}i:7;a:2:{s:3:"idd";s:1:"6";s:1:"t";s:1:"3";}i:8;a:2:{s:3:"idd";s:1:"5";s:1:"t";s:1:"3";}i:9;a:2:{s:3:"idd";s:1:"4";s:1:"t";s:1:"3";}}}i:66;a:3:{s:8:"sphinxql";s:58:"select id as idd, gr,tag+1 as t from idx51 order by gr asc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:3:{s:3:"idd";s:1:"2";s:2:"gr";s:1:"2";s:1:"t";s:1:"3";}i:1;a:3:{s:3:"idd";s:1:"1";s:2:"gr";s:1:"3";s:1:"t";s:1:"3";}i:2;a:3:{s:3:"idd";s:1:"3";s:2:"gr";s:1:"3";s:1:"t";s:1:"3";}i:3;a:3:{s:3:"idd";s:1:"5";s:2:"gr";s:1:"9";s:1:"t";s:1:"3";}i:4;a:3:{s:3:"idd";s:1:"4";s:2:"gr";s:2:"10";s:1:"t";s:1:"3";}}}i:67;a:3:{s:8:"sphinxql";s:55:"select id as idd, tag+1 as t from idx51 order by gr asc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:2:{s:3:"idd";s:1:"2";s:1:"t";s:1:"3";}i:1;a:2:{s:3:"idd";s:1:"1";s:1:"t";s:1:"3";}i:2;a:2:{s:3:"idd";s:1:"3";s:1:"t";s:1:"3";}i:3;a:2:{s:3:"idd";s:1:"5";s:1:"t";s:1:"3";}i:4;a:2:{s:3:"idd";s:1:"4";s:1:"t";s:1:"3";}}}i:68;a:3:{s:8:"sphinxql";s:70:"select @id as idd, gr+1 as t from distfake group by t order by tag asc";s:5:"error";s:70:"Using the old-fashion @variables (@count, @weight, etc.) is deprecated";s:5:"errno";i:1064;}i:69;a:3:{s:8:"sphinxql";s:72:"select @id as idd, gr+1 as t from disthfakeb group by t order by tag asc";s:5:"error";s:70:"Using the old-fashion @variables (@count, @weight, etc.) is deprecated";s:5:"errno";i:1064;}i:70;a:3:{s:8:"sphinxql";s:71:"select @id as idd, gr+1 as t from disthfake group by t order by tag asc";s:5:"error";s:70:"Using the old-fashion @variables (@count, @weight, etc.) is deprecated";s:5:"errno";i:1064;}i:71;a:3:{s:8:"sphinxql";s:71:"select @id as idd, gr+1 as t from distlfake group by t order by tag asc";s:5:"error";s:70:"Using the old-fashion @variables (@count, @weight, etc.) is deprecated";s:5:"errno";i:1064;}i:72;a:3:{s:8:"sphinxql";s:69:"select id as idd, gr+1 as t from distfake group by t order by tag asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:3:"idd";s:1:"1";s:1:"t";s:1:"4";}i:1;a:2:{s:3:"idd";s:1:"2";s:1:"t";s:1:"3";}i:2;a:2:{s:3:"idd";s:1:"4";s:1:"t";s:2:"11";}i:3;a:2:{s:3:"idd";s:1:"5";s:1:"t";s:2:"10";}}}i:73;a:3:{s:8:"sphinxql";s:71:"select id as idd, gr+1 as t from disthfakeb group by t order by tag asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:3:"idd";s:1:"1";s:1:"t";s:1:"4";}i:1;a:2:{s:3:"idd";s:1:"2";s:1:"t";s:1:"3";}i:2;a:2:{s:3:"idd";s:1:"4";s:1:"t";s:2:"11";}i:3;a:2:{s:3:"idd";s:1:"5";s:1:"t";s:2:"10";}}}i:74;a:3:{s:8:"sphinxql";s:70:"select id as idd, gr+1 as t from disthfake group by t order by tag asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:3:"idd";s:1:"1";s:1:"t";s:1:"4";}i:1;a:2:{s:3:"idd";s:1:"2";s:1:"t";s:1:"3";}i:2;a:2:{s:3:"idd";s:1:"4";s:1:"t";s:2:"11";}i:3;a:2:{s:3:"idd";s:1:"5";s:1:"t";s:2:"10";}}}i:75;a:3:{s:8:"sphinxql";s:70:"select id as idd, gr+1 as t from distlfake group by t order by tag asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:3:"idd";s:1:"1";s:1:"t";s:1:"4";}i:1;a:2:{s:3:"idd";s:1:"2";s:1:"t";s:1:"3";}i:2;a:2:{s:3:"idd";s:1:"4";s:1:"t";s:2:"11";}i:3;a:2:{s:3:"idd";s:1:"5";s:1:"t";s:2:"10";}}}i:76;a:2:{s:8:"sphinxql";s:51:"select * from dist50 where match ( 'broken merge' )";s:10:"total_rows";i:0;}i:77;a:3:{s:8:"sphinxql";s:34:"select gr from dist_no group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"gr";s:1:"3";}i:1;a:1:{s:2:"gr";s:1:"2";}}}i:78;a:3:{s:8:"sphinxql";s:52:"select gr, @groupby, @count from dist_no group by gr";s:5:"error";s:70:"Using the old-fashion @variables (@count, @weight, etc.) is deprecated";s:5:"errno";i:1064;}i:79;a:3:{s:8:"sphinxql";s:55:"select gr, groupby(), count(*) from dist_no group by gr";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"gr";s:1:"3";s:9:"groupby()";s:1:"3";s:8:"count(*)";s:1:"2";}i:1;a:3:{s:2:"gr";s:1:"2";s:9:"groupby()";s:1:"2";s:8:"count(*)";s:1:"1";}}}i:80;a:3:{s:8:"sphinxql";s:86:"SELECT *, weight() as w FROM dist_w1 ORDER BY id asc OPTION index_weights=(dist_w1=10)";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:1:"w";s:2:"10";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";s:1:"w";s:2:"10";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:1:"w";s:2:"10";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";s:1:"w";s:2:"10";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"idd";s:2:"22";s:1:"w";s:2:"10";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"idd";s:2:"22";s:1:"w";s:2:"10";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"idd";s:2:"22";s:1:"w";s:2:"10";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"idd";s:2:"22";s:1:"w";s:2:"10";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"idd";s:2:"22";s:1:"w";s:2:"10";}}}i:81;a:3:{s:8:"sphinxql";s:86:"SELECT *, weight() as w FROM dist_w2 ORDER BY id asc OPTION index_weights=(dist_w2=10)";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:1:"w";s:2:"10";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";s:1:"w";s:2:"10";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:1:"w";s:2:"10";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";s:1:"w";s:2:"10";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"idd";s:2:"22";s:1:"w";s:2:"10";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"idd";s:2:"22";s:1:"w";s:2:"10";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"idd";s:2:"22";s:1:"w";s:2:"10";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"idd";s:2:"22";s:1:"w";s:2:"10";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"idd";s:2:"22";s:1:"w";s:2:"10";}}}i:82;a:3:{s:8:"sphinxql";s:106:"SELECT *, weight() as w FROM dist_w1 WHERE MATCH ('the') ORDER BY id asc OPTION index_weights=(dist_w1=10)";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:1:"w";s:5:"12950";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";s:1:"w";s:5:"12950";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:1:"w";s:5:"12950";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";s:1:"w";s:5:"12950";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"idd";s:2:"22";s:1:"w";s:5:"12950";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"idd";s:2:"22";s:1:"w";s:5:"12950";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"idd";s:2:"22";s:1:"w";s:5:"12950";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"idd";s:2:"22";s:1:"w";s:5:"12950";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"idd";s:2:"22";s:1:"w";s:5:"12950";}}}i:83;a:3:{s:8:"sphinxql";s:106:"SELECT *, weight() as w FROM dist_w2 WHERE MATCH ('the') ORDER BY id asc OPTION index_weights=(dist_w2=10)";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:1:"w";s:5:"12950";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";s:1:"w";s:5:"12950";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:1:"w";s:5:"12950";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";s:1:"w";s:5:"12950";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"idd";s:2:"22";s:1:"w";s:5:"12950";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"idd";s:2:"22";s:1:"w";s:5:"12950";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"idd";s:2:"22";s:1:"w";s:5:"12950";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"idd";s:2:"22";s:1:"w";s:5:"12950";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"idd";s:2:"22";s:1:"w";s:5:"12950";}}}i:84;a:3:{s:8:"sphinxql";s:125:"SELECT *, weight() as w FROM proxy_loc2, dist_w1 ORDER BY id asc OPTION index_weights=(proxy_loc2=2, dist_w1=10, dist_w2=100)";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:1:"w";s:2:"10";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";s:1:"w";s:2:"10";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:1:"w";s:2:"10";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";s:1:"w";s:2:"10";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"idd";s:2:"22";s:1:"w";s:2:"10";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"idd";s:2:"22";s:1:"w";s:2:"10";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"idd";s:2:"22";s:1:"w";s:2:"10";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"idd";s:2:"22";s:1:"w";s:2:"10";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"idd";s:2:"22";s:1:"w";s:2:"10";}}}i:85;a:3:{s:8:"sphinxql";s:125:"SELECT *, weight() as w FROM dist_w1, proxy_loc2 ORDER BY id asc OPTION index_weights=(proxy_loc2=2, dist_w1=10, dist_w2=100)";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:1:"w";s:2:"10";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";s:1:"w";s:2:"10";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:1:"w";s:2:"10";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";s:1:"w";s:2:"10";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"idd";s:2:"22";s:1:"w";s:1:"2";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"idd";s:2:"22";s:1:"w";s:1:"2";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"idd";s:2:"22";s:1:"w";s:1:"2";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"idd";s:2:"22";s:1:"w";s:1:"2";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"idd";s:2:"22";s:1:"w";s:1:"2";}}}i:86;a:3:{s:8:"sphinxql";s:134:"SELECT *, weight() as w FROM proxy_loc2, dist_w1, dist_w2 ORDER BY id asc OPTION index_weights=(proxy_loc2=2, dist_w1=10, dist_w2=100)";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:1:"w";s:3:"100";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";s:1:"w";s:3:"100";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:1:"w";s:3:"100";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";s:1:"w";s:3:"100";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"idd";s:2:"22";s:1:"w";s:3:"100";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"idd";s:2:"22";s:1:"w";s:3:"100";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"idd";s:2:"22";s:1:"w";s:3:"100";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"idd";s:2:"22";s:1:"w";s:3:"100";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"idd";s:2:"22";s:1:"w";s:3:"100";}}}i:87;a:3:{s:8:"sphinxql";s:135:"SELECT *, weight() as w FROM dist_w2, dist_w1, proxy_loc2 ORDER BY id asc OPTION index_weights=(proxy_loc2=2, dist_w1=10, dist_w2=100)";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:1:"w";s:2:"10";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";s:1:"w";s:2:"10";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:1:"w";s:2:"10";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";s:1:"w";s:2:"10";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"idd";s:2:"22";s:1:"w";s:1:"2";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"idd";s:2:"22";s:1:"w";s:1:"2";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"idd";s:2:"22";s:1:"w";s:1:"2";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"idd";s:2:"22";s:1:"w";s:1:"2";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"idd";s:2:"22";s:1:"w";s:1:"2";}}}i:88;a:3:{s:8:"sphinxql";s:155:"SELECT *, weight() as w FROM proxy_loc2, dist_w1, dist_w2 WHERE MATCH ('the') ORDER BY id asc OPTION index_weights=(proxy_loc2=1, dist_w1=10, dist_w2=100)";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:1:"w";s:6:"129500";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";s:1:"w";s:6:"129500";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:1:"w";s:6:"129500";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";s:1:"w";s:6:"129500";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"idd";s:2:"22";s:1:"w";s:6:"129500";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"idd";s:2:"22";s:1:"w";s:6:"129500";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"idd";s:2:"22";s:1:"w";s:6:"129500";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"idd";s:2:"22";s:1:"w";s:6:"129500";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"idd";s:2:"22";s:1:"w";s:6:"129500";}}}i:89;a:3:{s:8:"sphinxql";s:155:"SELECT *, weight() as w FROM dist_w2, dist_w1, proxy_loc2 WHERE MATCH ('the') ORDER BY id asc OPTION index_weights=(proxy_loc2=1, dist_w1=10, dist_w2=100)";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:1:"w";s:5:"12950";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";s:1:"w";s:5:"12950";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:1:"w";s:5:"12950";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";s:1:"w";s:5:"12950";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"idd";s:2:"22";s:1:"w";s:4:"1295";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"idd";s:2:"22";s:1:"w";s:4:"1295";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"idd";s:2:"22";s:1:"w";s:4:"1295";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"idd";s:2:"22";s:1:"w";s:4:"1295";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"idd";s:2:"22";s:1:"w";s:4:"1295";}}}i:90;a:3:{s:8:"sphinxql";s:161:"SELECT *, weight() as w FROM proxy_loc2, dist_w1, dist_w2 WHERE MATCH ('the | box') ORDER BY id asc OPTION index_weights=(proxy_loc2=1, dist_w1=10, dist_w2=100)";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:1:"w";s:6:"239700";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";s:1:"w";s:6:"139700";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:1:"w";s:6:"139700";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";s:1:"w";s:6:"239700";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"idd";s:2:"22";s:1:"w";s:6:"244100";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"idd";s:2:"22";s:1:"w";s:6:"139700";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"idd";s:2:"22";s:1:"w";s:6:"139700";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"idd";s:2:"22";s:1:"w";s:6:"139700";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"idd";s:2:"22";s:1:"w";s:6:"244100";}}}i:91;a:3:{s:8:"sphinxql";s:161:"SELECT *, weight() as w FROM dist_w2, dist_w1, proxy_loc2 WHERE MATCH ('the | box') ORDER BY id asc OPTION index_weights=(proxy_loc2=1, dist_w1=10, dist_w2=100)";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:1:"w";s:5:"23970";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";s:1:"w";s:5:"13970";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:1:"w";s:5:"13970";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";s:1:"w";s:5:"23970";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"idd";s:2:"22";s:1:"w";s:4:"2441";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"idd";s:2:"22";s:1:"w";s:4:"1397";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"idd";s:2:"22";s:1:"w";s:4:"1397";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"idd";s:2:"22";s:1:"w";s:4:"1397";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"idd";s:2:"22";s:1:"w";s:4:"2441";}}}i:92;a:3:{s:8:"sphinxql";s:184:"SELECT *, weight() as w FROM proxy_loc2, dist_w1, dist_w2 WHERE MATCH ('the | box') ORDER BY id asc OPTION index_weights=(proxy_loc2=1, dist_w1=10, dist_w2=100), ranker=proximity_bm25";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:1:"w";s:6:"239700";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";s:1:"w";s:6:"139700";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:1:"w";s:6:"139700";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";s:1:"w";s:6:"239700";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"idd";s:2:"22";s:1:"w";s:6:"244100";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"idd";s:2:"22";s:1:"w";s:6:"139700";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"idd";s:2:"22";s:1:"w";s:6:"139700";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"idd";s:2:"22";s:1:"w";s:6:"139700";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"idd";s:2:"22";s:1:"w";s:6:"244100";}}}i:93;a:3:{s:8:"sphinxql";s:184:"SELECT *, weight() as w FROM dist_w2, dist_w1, proxy_loc2 WHERE MATCH ('the | box') ORDER BY id asc OPTION index_weights=(proxy_loc2=1, dist_w1=10, dist_w2=100), ranker=proximity_bm25";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:1:"w";s:5:"23970";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";s:1:"w";s:5:"13970";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:1:"w";s:5:"13970";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";s:1:"w";s:5:"23970";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"idd";s:2:"22";s:1:"w";s:4:"2441";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"idd";s:2:"22";s:1:"w";s:4:"1397";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"idd";s:2:"22";s:1:"w";s:4:"1397";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"idd";s:2:"22";s:1:"w";s:4:"1397";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"idd";s:2:"22";s:1:"w";s:4:"2441";}}}i:94;a:3:{s:8:"sphinxql";s:196:"SELECT *, weight() as w FROM proxy_loc2, dist_w1, dist_w2 WHERE MATCH ('the | box') ORDER BY id asc OPTION index_weights=(proxy_loc2=1, dist_w1=10, dist_w2=100), ranker=expr('sum(lcs)*1000+bm25')";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:1:"w";s:6:"239700";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";s:1:"w";s:6:"139700";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:1:"w";s:6:"139700";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";s:1:"w";s:6:"239700";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"idd";s:2:"22";s:1:"w";s:6:"244100";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"idd";s:2:"22";s:1:"w";s:6:"139700";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"idd";s:2:"22";s:1:"w";s:6:"139700";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"idd";s:2:"22";s:1:"w";s:6:"139700";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"idd";s:2:"22";s:1:"w";s:6:"244100";}}}i:95;a:3:{s:8:"sphinxql";s:196:"SELECT *, weight() as w FROM dist_w2, dist_w1, proxy_loc2 WHERE MATCH ('the | box') ORDER BY id asc OPTION index_weights=(proxy_loc2=1, dist_w1=10, dist_w2=100), ranker=expr('sum(lcs)*1000+bm25')";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:1:"w";s:5:"23970";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";s:1:"w";s:5:"13970";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:1:"w";s:5:"13970";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";s:1:"w";s:5:"23970";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"idd";s:2:"22";s:1:"w";s:4:"2441";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"idd";s:2:"22";s:1:"w";s:4:"1397";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"idd";s:2:"22";s:1:"w";s:4:"1397";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"idd";s:2:"22";s:1:"w";s:4:"1397";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"idd";s:2:"22";s:1:"w";s:4:"2441";}}}i:96;a:3:{s:8:"sphinxql";s:174:"SELECT *, weight() as w FROM proxy_loc2, dist_w1, dist_w2 WHERE MATCH ('the | box') ORDER BY id asc OPTION index_weights=(proxy_loc2=1, dist_w1=10, dist_w2=100), ranker=bm25";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:1:"w";s:6:"139700";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";s:1:"w";s:6:"139700";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:1:"w";s:6:"139700";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";s:1:"w";s:6:"139700";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"idd";s:2:"22";s:1:"w";s:6:"144100";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"idd";s:2:"22";s:1:"w";s:6:"139700";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"idd";s:2:"22";s:1:"w";s:6:"139700";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"idd";s:2:"22";s:1:"w";s:6:"139700";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"idd";s:2:"22";s:1:"w";s:6:"144100";}}}i:97;a:3:{s:8:"sphinxql";s:174:"SELECT *, weight() as w FROM dist_w2, dist_w1, proxy_loc2 WHERE MATCH ('the | box') ORDER BY id asc OPTION index_weights=(proxy_loc2=1, dist_w1=10, dist_w2=100), ranker=bm25";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:1:"w";s:5:"13970";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";s:1:"w";s:5:"13970";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:1:"w";s:5:"13970";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";s:1:"w";s:5:"13970";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"idd";s:2:"22";s:1:"w";s:4:"1441";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"idd";s:2:"22";s:1:"w";s:4:"1397";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"idd";s:2:"22";s:1:"w";s:4:"1397";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"idd";s:2:"22";s:1:"w";s:4:"1397";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"idd";s:2:"22";s:1:"w";s:4:"1441";}}}i:98;a:3:{s:8:"sphinxql";s:179:"SELECT *, weight() as w FROM proxy_loc2, dist_w1, dist_w2 WHERE MATCH ('the | box') ORDER BY id asc OPTION index_weights=(proxy_loc2=1, dist_w1=10, dist_w2=100), ranker=wordcount";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:1:"w";s:3:"200";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";s:1:"w";s:3:"100";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:1:"w";s:3:"100";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";s:1:"w";s:3:"200";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"idd";s:2:"22";s:1:"w";s:3:"200";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"idd";s:2:"22";s:1:"w";s:3:"100";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"idd";s:2:"22";s:1:"w";s:3:"100";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"idd";s:2:"22";s:1:"w";s:3:"100";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"idd";s:2:"22";s:1:"w";s:3:"200";}}}i:99;a:3:{s:8:"sphinxql";s:179:"SELECT *, weight() as w FROM dist_w2, dist_w1, proxy_loc2 WHERE MATCH ('the | box') ORDER BY id asc OPTION index_weights=(proxy_loc2=1, dist_w1=10, dist_w2=100), ranker=wordcount";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";s:1:"w";s:2:"20";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";s:1:"w";s:2:"10";}i:2;a:3:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";s:1:"w";s:2:"10";}i:3;a:3:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";s:1:"w";s:2:"20";}i:4;a:3:{s:2:"id";s:1:"5";s:3:"idd";s:2:"22";s:1:"w";s:1:"2";}i:5;a:3:{s:2:"id";s:1:"6";s:3:"idd";s:2:"22";s:1:"w";s:1:"1";}i:6;a:3:{s:2:"id";s:1:"7";s:3:"idd";s:2:"22";s:1:"w";s:1:"1";}i:7;a:3:{s:2:"id";s:1:"8";s:3:"idd";s:2:"22";s:1:"w";s:1:"1";}i:8;a:3:{s:2:"id";s:1:"9";s:3:"idd";s:2:"22";s:1:"w";s:1:"2";}}}i:100;a:3:{s:8:"sphinxql";s:41:"select id, weight() * 11 as w from dist50";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:2:{s:2:"id";s:1:"1";s:1:"w";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:1:"w";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:1:"w";s:2:"11";}i:3;a:2:{s:2:"id";s:1:"4";s:1:"w";s:2:"11";}i:4;a:2:{s:2:"id";s:1:"5";s:1:"w";s:2:"11";}i:5;a:2:{s:2:"id";s:1:"6";s:1:"w";s:2:"11";}i:6;a:2:{s:2:"id";s:1:"7";s:1:"w";s:2:"11";}i:7;a:2:{s:2:"id";s:1:"8";s:1:"w";s:2:"11";}i:8;a:2:{s:2:"id";s:1:"9";s:1:"w";s:2:"11";}i:9;a:2:{s:2:"id";s:2:"10";s:1:"w";s:2:"11";}}}i:101;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:3;s:4:"rows";a:2:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:2:"10";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:2:"10";}}}i:102;a:3:{s:8:"sphinxql";s:38:"select `id`, `tag` t, `gr` from dist50";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:3:{s:2:"id";s:1:"1";s:1:"t";s:1:"2";s:2:"gr";s:1:"3";}i:1;a:3:{s:2:"id";s:1:"2";s:1:"t";s:1:"2";s:2:"gr";s:1:"2";}i:2;a:3:{s:2:"id";s:1:"3";s:1:"t";s:1:"2";s:2:"gr";s:1:"3";}i:3;a:3:{s:2:"id";s:1:"4";s:1:"t";s:1:"2";s:2:"gr";s:2:"10";}i:4;a:3:{s:2:"id";s:1:"5";s:1:"t";s:1:"2";s:2:"gr";s:1:"9";}i:5;a:3:{s:2:"id";s:1:"6";s:1:"t";s:1:"2";s:2:"gr";s:1:"8";}i:6;a:3:{s:2:"id";s:1:"7";s:1:"t";s:1:"2";s:2:"gr";s:1:"7";}i:7;a:3:{s:2:"id";s:1:"8";s:1:"t";s:1:"2";s:2:"gr";s:1:"6";}i:8;a:3:{s:2:"id";s:1:"9";s:1:"t";s:1:"2";s:2:"gr";s:1:"5";}i:9;a:3:{s:2:"id";s:2:"10";s:1:"t";s:1:"2";s:2:"gr";s:1:"4";}}}}}sphinx-2.2.11-release/test/test_152/0000755000175000017500000000000012743402012016404 5ustar alexeyalexeysphinx-2.2.11-release/test/test_152/test.xml0000644000175000017500000000667712743402012020125 0ustar alexeyalexey tail hits vs UNIT node indexer { mem_limit = 16M } searchd { } source src1 { type = mysql sql_query = SELECT * FROM test_table where gid=1 sql_attr_uint = gid } index test1 { source = src1 path = /test1 html_strip = 1 index_sp = 1 } source src2 { type = mysql sql_query = SELECT * FROM test_table2 sql_attr_uint = gid } index test2 { source = src2 path = /test2 docinfo = extern html_strip = 1 index_sp = 1 index_zones = z_* } source src3 { type = mysql sql_query = SELECT * FROM test_table3 sql_attr_uint = gid } index test3 { source = src3 path = /test3 docinfo = extern } CREATE TABLE test_table ( id INTEGER NOT NULL, gid INTEGER NOT NULL, title VARCHAR(16384) NOT NULL ) DROP TABLE IF EXISTS test_table insert into test_table values ( 1, 1, 'aa bb cc' ) insert into test_table values ( 2, 1, 'aa bb' ) insert into test_table values ( 3, 1, 'aa bb' ) insert into test_table values ( 4, 1, CONCAT(REPEAT('aa bb. ', 512), 'aa bb. ')) insert into test_table values ( 5, 1, 'cc' ) insert into test_table values ( 6, 1, 'cc' ) CREATE TABLE test_table2 ( id INTEGER NOT NULL, gid INTEGER NOT NULL, title VARCHAR(6048) NOT NULL ) DROP TABLE IF EXISTS test_table2 insert into test_table2 values ( 1, 1, 'aa' ) insert into test_table2 values ( 2, 1, 'aa' ) insert into test_table2 values ( 3, 1, 'aa' ) insert into test_table2 values ( 4, 1, 'aa' ) insert into test_table2 values ( 5, 1, 'aa' ) aa' )]]> aa' )]]> aa' )]]> ', CONCAT(REPEAT('aa ', 512), ' ')) )]]> aa ' )]]> aa ' )]]> CREATE TABLE test_table3 ( id BIGINT NOT NULL, gid INTEGER NOT NULL, title VARCHAR(6048) NOT NULL ) DROP TABLE IF EXISTS test_table3 insert into test_table3 values ( 3452816845, 3, 'match1 and match2 vs match3' ) select * from test1 where match('aa SENTENCE bb') select * from test1 where match('(aa SENTENCE bb) cc') CALL SNIPPETS ('dummy1 match1 dummy2 match2', 'test1', ' ( match1 NEAR/3 match2 ) | ^missed1 | missed2 ', 1 as query_mode) select * from test2 where match('(ZONE:z_1 aa )') order by id asc sphinx-2.2.11-release/test/test_152/model.bin0000644000175000017500000000252112743402012020176 0ustar alexeyalexeya:1:{i:0;a:5:{i:0;a:3:{s:8:"sphinxql";s:49:"select * from test1 where match('aa SENTENCE bb')";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:1:"1";}i:3;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:1:"1";}}}i:1;a:3:{s:8:"sphinxql";s:54:"select * from test1 where match('(aa SENTENCE bb) cc')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}}}i:2;a:3:{s:8:"sphinxql";s:122:"CALL SNIPPETS ('dummy1 match1 dummy2 match2', 'test1', ' ( match1 NEAR/3 match2 ) | ^missed1 | missed2 ', 1 as query_mode)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:41:"dummy1 match1 dummy2 match2";}}}i:3;a:3:{s:8:"sphinxql";s:65:"select * from test2 where match('(ZONE:z_1 aa )') order by id asc";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"8";s:3:"gid";s:1:"1";}i:3;a:2:{s:2:"id";s:1:"9";s:3:"gid";s:1:"1";}i:4;a:2:{s:2:"id";s:2:"10";s:3:"gid";s:1:"1";}i:5;a:2:{s:2:"id";s:2:"11";s:3:"gid";s:1:"1";}}}i:4;a:3:{s:8:"sphinxql";s:69:"select * from test3 where match ( ' match1 | ( match5 << match2) ' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:10:"3452816845";s:3:"gid";s:1:"3";}}}}}sphinx-2.2.11-release/test/test_151/0000755000175000017500000000000012743402012016403 5ustar alexeyalexeysphinx-2.2.11-release/test/test_151/test.xml0000644000175000017500000000333312743402012020106 0ustar alexeyalexey html_stripper vs hit position indexer { mem_limit = 16M } searchd { } source src { type = mysql sql_query = SELECT * FROM test_table sql_attr_uint = idd } index test { source = src path = /test html_strip = 1 index_sp = 1 index_zones = zone_* } CREATE TABLE test_table ( id INTEGER NOT NULL, idd INTEGER NOT NULL, title VARCHAR(255) NOT NULL ) DROP TABLE IF EXISTS `test_table`

para' );]]>

zone' );]]>

broken para' );]]>

couple

of trooper' );]]> select * from test where match( '"the para"~2' ) select * from test where match( '"the para"~3' ) select * from test where match( '"the zone"~2' ) select * from test where match( 'ZONE:zone_A para' ) select * from test where match( 'couple PARAGRAPH trooper' ) select * from test where match( 'of PARAGRAPH trooper' ) select * from test where match( 'ZONE:zone_A "couple of"~2' ) select * from test where match( '"one two"~0' ) sphinx-2.2.11-release/test/test_151/model.bin0000644000175000017500000000251112743402012020174 0ustar alexeyalexeya:1:{i:0;a:8:{i:0;a:3:{s:8:"sphinxql";s:48:"select * from test where match( '"the para"~2' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";}}}i:1;a:3:{s:8:"sphinxql";s:48:"select * from test where match( '"the para"~3' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";}}}i:2;a:3:{s:8:"sphinxql";s:48:"select * from test where match( '"the zone"~2' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"2";}}}i:3;a:3:{s:8:"sphinxql";s:52:"select * from test where match( 'ZONE:zone_A para' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";}}}i:4;a:2:{s:8:"sphinxql";s:60:"select * from test where match( 'couple PARAGRAPH trooper' )";s:10:"total_rows";i:0;}i:5;a:3:{s:8:"sphinxql";s:56:"select * from test where match( 'of PARAGRAPH trooper' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:1:"4";}}}i:6;a:3:{s:8:"sphinxql";s:61:"select * from test where match( 'ZONE:zone_A "couple of"~2' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:1:"4";}}}i:7;a:3:{s:8:"sphinxql";s:47:"select * from test where match( '"one two"~0' )";s:5:"error";s:43:"index test: proximity threshold too low (0)";s:5:"errno";i:1064;}}}sphinx-2.2.11-release/test/test_150/0000755000175000017500000000000012743402012016402 5ustar alexeyalexeysphinx-2.2.11-release/test/test_150/test.xml0000644000175000017500000001307312743402012020107 0ustar alexeyalexey keywords dictionary vs expansion limit indexer { mem_limit = 16M } searchd { expansion_limit = 0 expansion_limit = 3 expansion_limit = 2 workers = threads } source test { type = mysql sql_query = select * from test_table sql_attr_uint = gid } index test { source = test path = /test dict = keywords min_prefix_len = 2 } index rt { type = rt path = /rt docinfo = extern rt_field = data rt_attr_uint = idd dict = keywords min_prefix_len = 1 } source plain_prefix { type = mysql sql_query_pre = SET NAMES utf8 sql_query = select 1000 as id, 1 as gid, 'Москва родимая' as text sql_attr_uint = gid } index plain_prefix { source = plain_prefix path = /plain_prefix dict = keywords min_prefix_len = 1 } index rt_prefix { type = rt path = /rt_prefix docinfo = extern rt_field = data rt_attr_uint = idd dict = keywords min_prefix_len = 1 } source plain_substring { type = mysql sql_query = select 1 id, 1 gid, '12345' as text sql_attr_uint = gid } index plain_sub_prefix { source = plain_substring path = /plain_sub_prefix min_prefix_len = 2 max_substring_len = 3 dict = crc } index plain_sub_infix { source = plain_substring path = /plain_sub_infix min_infix_len = 2 max_substring_len = 3 dict = crc } source kw_infix { type = mysql sql_query = SELECT 1, '1' title, 100 as idd sql_attr_uint = idd } index kw_infix { source = kw_infix path = /kw_infix docinfo = extern min_infix_len = 3 dict = keywords } source kw_infix_morph { type = mysql sql_query = SELECT 1, 'running star' title, 100 as idd UNION SELECT 2, 'run off', 100 as idd sql_attr_uint = idd } index kw_infix_morph { source = kw_infix_morph path = /kw_infix_morph docinfo = extern min_infix_len = 1 dict = keywords morphology = stem_en } source plain_prefix_limit { type = mysql sql_query_pre = SET NAMES utf8 sql_query = select 1000 as id, 1 as gid, 'hello two world' as text sql_attr_uint = gid } index plain_prefix_limit { source = plain_prefix_limit path = /plain_prefix_limit dict = keywords min_prefix_len = 4 } index rt_prefix_limit { type = rt path = /rt_prefix_limit docinfo = extern rt_field = data rt_attr_uint = idd dict = keywords min_prefix_len = 4 } create table test_table ( id int not null, gid int not null, title varchar(255) not null ); drop table if exists test_table; insert into test_table values ( 1, 1, 'funny place.' ); insert into test_table values ( 2, 1, 'is it function?' ); insert into test_table values ( 3, 1, 'functional lang. quite funny.' ); insert into test_table values ( 4, 1, 'functic sequence.' ); insert into test_table values ( 5, 1, 'fun place. funny place.' ); insert into test_table values ( 6, 1, 'its function.' ); insert into test_table values ( 7, 1, 'functional is not place.' ); insert into test_table values ( 8, 1, 'functic is not place.' ); fu* func* insert into rt values ( 1, 'the test is going there', 11 ) insert into rt values ( 2, 'a sojmething is going here', 12 ) insert into rt values ( 3, 'testing is going not here', 13 ) select * from rt where match ( 't*' ) show meta insert into rt_prefix values ( 1001, 'Москва ква', 23 ) select * from plain_prefix where match ( 'Мос*' ) select * from rt_prefix where match ( 'Мос*' ) select * from plain_sub_prefix where match('1*') select * from plain_sub_prefix where match('12*') select * from plain_sub_prefix where match('123*') select * from plain_sub_prefix where match('1234*') select * from plain_sub_infix where match('*5') select * from plain_sub_infix where match('*45') select * from plain_sub_infix where match('*345') select * from plain_sub_infix where match('*2345') select * from kw_infix where match('1') select * from kw_infix_morph where match('r*') insert into rt_prefix_limit values ( 1000, 'hello two world', 23 ) select * from plain_prefix_limit where match('hello two* world') show meta select * from rt_prefix_limit where match('hello two* world') show meta sphinx-2.2.11-release/test/test_150/model.bin0000644000175000017500000004715112743402012020204 0ustar alexeyalexeya:3:{i:0;a:25:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:8:{i:1;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:2;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:6;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:7;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:8;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"1204";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:5;a:2:{s:6:"weight";s:4:"1204";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"fu*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"fu*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:6:{i:2;a:2:{s:6:"weight";s:4:"1428";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"1428";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1428";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:6;a:2:{s:6:"weight";s:4:"1428";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:7;a:2:{s:6:"weight";s:4:"1428";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:8;a:2:{s:6:"weight";s:4:"1428";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"6";s:11:"total_found";s:1:"6";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"func*";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"func*";}i:2;a:2:{s:8:"sphinxql";s:58:"insert into rt values ( 1, 'the test is going there', 11 )";s:14:"total_affected";i:1;}i:3;a:2:{s:8:"sphinxql";s:61:"insert into rt values ( 2, 'a sojmething is going here', 12 )";s:14:"total_affected";i:1;}i:4;a:2:{s:8:"sphinxql";s:60:"insert into rt values ( 3, 'testing is going not here', 13 )";s:14:"total_affected";i:1;}i:5;a:3:{s:8:"sphinxql";s:37:"select * from rt where match ( 't*' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"13";}i:1;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:6;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"t*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"4";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"4";}}}i:7;a:2:{s:8:"sphinxql";s:64:"insert into rt_prefix values ( 1001, 'Москва ква', 23 )";s:14:"total_affected";i:1;}i:8;a:3:{s:8:"sphinxql";s:52:"select * from plain_prefix where match ( 'Мос*' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:4:"1000";s:3:"gid";s:1:"1";}}}i:9;a:3:{s:8:"sphinxql";s:49:"select * from rt_prefix where match ( 'Мос*' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:4:"1001";s:3:"idd";s:2:"23";}}}i:10;a:2:{s:8:"sphinxql";s:48:"select * from plain_sub_prefix where match('1*')";s:10:"total_rows";i:0;}i:11;a:3:{s:8:"sphinxql";s:49:"select * from plain_sub_prefix where match('12*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}}}i:12;a:3:{s:8:"sphinxql";s:50:"select * from plain_sub_prefix where match('123*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}}}i:13;a:2:{s:8:"sphinxql";s:51:"select * from plain_sub_prefix where match('1234*')";s:10:"total_rows";i:0;}i:14;a:2:{s:8:"sphinxql";s:47:"select * from plain_sub_infix where match('*5')";s:10:"total_rows";i:0;}i:15;a:3:{s:8:"sphinxql";s:48:"select * from plain_sub_infix where match('*45')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}}}i:16;a:3:{s:8:"sphinxql";s:49:"select * from plain_sub_infix where match('*345')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}}}i:17;a:2:{s:8:"sphinxql";s:50:"select * from plain_sub_infix where match('*2345')";s:10:"total_rows";i:0;}i:18;a:3:{s:8:"sphinxql";s:39:"select * from kw_infix where match('1')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:3:"100";}}}i:19;a:3:{s:8:"sphinxql";s:46:"select * from kw_infix_morph where match('r*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:3:"100";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:3:"100";}}}i:20;a:2:{s:8:"sphinxql";s:66:"insert into rt_prefix_limit values ( 1000, 'hello two world', 23 )";s:14:"total_affected";i:1;}i:21;a:2:{s:8:"sphinxql";s:64:"select * from plain_prefix_limit where match('hello two* world')";s:10:"total_rows";i:0;}i:22;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:13;s:4:"rows";a:12:{i:0;a:2:{s:13:"Variable_name";s:7:"warning";s:5:"Value";s:63:"Query word length is less than min prefix length. word: 'two*' ";}i:1;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:3;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"hello";}i:4;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:6;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"two*";}i:7;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:8;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}i:9;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:5:"world";}i:10;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:11;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}}}i:23;a:2:{s:8:"sphinxql";s:61:"select * from rt_prefix_limit where match('hello two* world')";s:10:"total_rows";i:0;}i:24;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:13;s:4:"rows";a:12:{i:0;a:2:{s:13:"Variable_name";s:7:"warning";s:5:"Value";s:63:"Query word length is less than min prefix length. word: 'two*' ";}i:1;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:3;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"hello";}i:4;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:6;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"two*";}i:7;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:8;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}i:9;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:5:"world";}i:10;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:11;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}}}}i:1;a:25:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:6:{i:1;a:2:{s:6:"weight";s:4:"1428";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:2;a:2:{s:6:"weight";s:4:"1428";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:5;a:2:{s:6:"weight";s:4:"1428";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:6;a:2:{s:6:"weight";s:4:"1428";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:7;a:2:{s:6:"weight";s:4:"1428";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"1401";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"6";s:11:"total_found";s:1:"6";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"fu*";a:2:{s:4:"docs";s:1:"7";s:4:"hits";s:1:"7";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"fu*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:6:{i:2;a:2:{s:6:"weight";s:4:"1428";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"1428";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1428";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:6;a:2:{s:6:"weight";s:4:"1428";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:7;a:2:{s:6:"weight";s:4:"1428";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:8;a:2:{s:6:"weight";s:4:"1428";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"6";s:11:"total_found";s:1:"6";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"func*";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"func*";}i:2;a:2:{s:8:"sphinxql";s:58:"insert into rt values ( 1, 'the test is going there', 11 )";s:14:"total_affected";i:1;}i:3;a:2:{s:8:"sphinxql";s:61:"insert into rt values ( 2, 'a sojmething is going here', 12 )";s:14:"total_affected";i:1;}i:4;a:2:{s:8:"sphinxql";s:60:"insert into rt values ( 3, 'testing is going not here', 13 )";s:14:"total_affected";i:1;}i:5;a:3:{s:8:"sphinxql";s:37:"select * from rt where match ( 't*' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"13";}i:1;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:6;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"t*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"4";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"4";}}}i:7;a:2:{s:8:"sphinxql";s:64:"insert into rt_prefix values ( 1001, 'Москва ква', 23 )";s:14:"total_affected";i:1;}i:8;a:3:{s:8:"sphinxql";s:52:"select * from plain_prefix where match ( 'Мос*' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:4:"1000";s:3:"gid";s:1:"1";}}}i:9;a:3:{s:8:"sphinxql";s:49:"select * from rt_prefix where match ( 'Мос*' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:4:"1001";s:3:"idd";s:2:"23";}}}i:10;a:2:{s:8:"sphinxql";s:48:"select * from plain_sub_prefix where match('1*')";s:10:"total_rows";i:0;}i:11;a:3:{s:8:"sphinxql";s:49:"select * from plain_sub_prefix where match('12*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}}}i:12;a:3:{s:8:"sphinxql";s:50:"select * from plain_sub_prefix where match('123*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}}}i:13;a:2:{s:8:"sphinxql";s:51:"select * from plain_sub_prefix where match('1234*')";s:10:"total_rows";i:0;}i:14;a:2:{s:8:"sphinxql";s:47:"select * from plain_sub_infix where match('*5')";s:10:"total_rows";i:0;}i:15;a:3:{s:8:"sphinxql";s:48:"select * from plain_sub_infix where match('*45')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}}}i:16;a:3:{s:8:"sphinxql";s:49:"select * from plain_sub_infix where match('*345')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}}}i:17;a:2:{s:8:"sphinxql";s:50:"select * from plain_sub_infix where match('*2345')";s:10:"total_rows";i:0;}i:18;a:3:{s:8:"sphinxql";s:39:"select * from kw_infix where match('1')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:3:"100";}}}i:19;a:3:{s:8:"sphinxql";s:46:"select * from kw_infix_morph where match('r*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:3:"100";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:3:"100";}}}i:20;a:2:{s:8:"sphinxql";s:66:"insert into rt_prefix_limit values ( 1000, 'hello two world', 23 )";s:14:"total_affected";i:1;}i:21;a:2:{s:8:"sphinxql";s:64:"select * from plain_prefix_limit where match('hello two* world')";s:10:"total_rows";i:0;}i:22;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:13;s:4:"rows";a:12:{i:0;a:2:{s:13:"Variable_name";s:7:"warning";s:5:"Value";s:63:"Query word length is less than min prefix length. word: 'two*' ";}i:1;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:3;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"hello";}i:4;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:6;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"two*";}i:7;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:8;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}i:9;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:5:"world";}i:10;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:11;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}}}i:23;a:2:{s:8:"sphinxql";s:61:"select * from rt_prefix_limit where match('hello two* world')";s:10:"total_rows";i:0;}i:24;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:13;s:4:"rows";a:12:{i:0;a:2:{s:13:"Variable_name";s:7:"warning";s:5:"Value";s:63:"Query word length is less than min prefix length. word: 'two*' ";}i:1;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:3;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"hello";}i:4;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:6;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"two*";}i:7;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:8;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}i:9;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:5:"world";}i:10;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:11;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}}}}i:2;a:25:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:4:{i:3;a:2:{s:6:"weight";s:4:"1531";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:1;a:2:{s:6:"weight";s:4:"1523";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:5;a:2:{s:6:"weight";s:4:"1523";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:7;a:2:{s:6:"weight";s:4:"1523";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"fu*";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"fu*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:4:{i:2;a:2:{s:6:"weight";s:4:"1523";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"1523";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:6;a:2:{s:6:"weight";s:4:"1523";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:7;a:2:{s:6:"weight";s:4:"1523";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"func*";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"func*";}i:2;a:2:{s:8:"sphinxql";s:58:"insert into rt values ( 1, 'the test is going there', 11 )";s:14:"total_affected";i:1;}i:3;a:2:{s:8:"sphinxql";s:61:"insert into rt values ( 2, 'a sojmething is going here', 12 )";s:14:"total_affected";i:1;}i:4;a:2:{s:8:"sphinxql";s:60:"insert into rt values ( 3, 'testing is going not here', 13 )";s:14:"total_affected";i:1;}i:5;a:3:{s:8:"sphinxql";s:37:"select * from rt where match ( 't*' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"13";}i:1;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:6;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"t*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}}}i:7;a:2:{s:8:"sphinxql";s:64:"insert into rt_prefix values ( 1001, 'Москва ква', 23 )";s:14:"total_affected";i:1;}i:8;a:3:{s:8:"sphinxql";s:52:"select * from plain_prefix where match ( 'Мос*' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:4:"1000";s:3:"gid";s:1:"1";}}}i:9;a:3:{s:8:"sphinxql";s:49:"select * from rt_prefix where match ( 'Мос*' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:4:"1001";s:3:"idd";s:2:"23";}}}i:10;a:2:{s:8:"sphinxql";s:48:"select * from plain_sub_prefix where match('1*')";s:10:"total_rows";i:0;}i:11;a:3:{s:8:"sphinxql";s:49:"select * from plain_sub_prefix where match('12*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}}}i:12;a:3:{s:8:"sphinxql";s:50:"select * from plain_sub_prefix where match('123*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}}}i:13;a:2:{s:8:"sphinxql";s:51:"select * from plain_sub_prefix where match('1234*')";s:10:"total_rows";i:0;}i:14;a:2:{s:8:"sphinxql";s:47:"select * from plain_sub_infix where match('*5')";s:10:"total_rows";i:0;}i:15;a:3:{s:8:"sphinxql";s:48:"select * from plain_sub_infix where match('*45')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}}}i:16;a:3:{s:8:"sphinxql";s:49:"select * from plain_sub_infix where match('*345')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}}}i:17;a:2:{s:8:"sphinxql";s:50:"select * from plain_sub_infix where match('*2345')";s:10:"total_rows";i:0;}i:18;a:3:{s:8:"sphinxql";s:39:"select * from kw_infix where match('1')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:3:"100";}}}i:19;a:3:{s:8:"sphinxql";s:46:"select * from kw_infix_morph where match('r*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:3:"100";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:3:"100";}}}i:20;a:2:{s:8:"sphinxql";s:66:"insert into rt_prefix_limit values ( 1000, 'hello two world', 23 )";s:14:"total_affected";i:1;}i:21;a:2:{s:8:"sphinxql";s:64:"select * from plain_prefix_limit where match('hello two* world')";s:10:"total_rows";i:0;}i:22;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:13;s:4:"rows";a:12:{i:0;a:2:{s:13:"Variable_name";s:7:"warning";s:5:"Value";s:63:"Query word length is less than min prefix length. word: 'two*' ";}i:1;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:3;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"hello";}i:4;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:6;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"two*";}i:7;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:8;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}i:9;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:5:"world";}i:10;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:11;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}}}i:23;a:2:{s:8:"sphinxql";s:61:"select * from rt_prefix_limit where match('hello two* world')";s:10:"total_rows";i:0;}i:24;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:13;s:4:"rows";a:12:{i:0;a:2:{s:13:"Variable_name";s:7:"warning";s:5:"Value";s:63:"Query word length is less than min prefix length. word: 'two*' ";}i:1;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:3;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"hello";}i:4;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:6;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"two*";}i:7;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:8;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}i:9;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:5:"world";}i:10;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:11;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}}}}}sphinx-2.2.11-release/test/test_149/0000755000175000017500000000000012743402012016412 5ustar alexeyalexeysphinx-2.2.11-release/test/test_149/test.xml0000644000175000017500000000341212743402012020113 0ustar alexeyalexey MySQL IN vs filter order indexer { mem_limit = 16M } searchd { workers = threads } source test { type = mysql sql_query = SELECT * FROM test_table sql_attr_uint = idd } index test { source = test path = /test docinfo = extern } CREATE TABLE test_table ( id INT NOT NULL, body VARCHAR(2048) NOT NULL, idd INT NOT NULL ); drop table if exists test_table; insert into test_table values ( 1, 'test', 10 ); insert into test_table values ( 2, 'test', 20 ); insert into test_table values ( 3, 'test', 30 ); insert into test_table values ( 4, 'test', 40 ); insert into test_table values ( 5, 'test', 50 ); insert into test_table values ( 6, 'test', 60 ); insert into test_table values ( 7, 'test', 70 ); select * from test select * from test where id IN (1,3,6,7) select * from test where id IN (1,1000,3,6,7) select * from test where id IN (1000,1,3,6,7) select * from test where id IN (1,3,6,1000,7) select * from test where idd IN (875,321,60,1010,20,457,20,311,20,750,70,10) select * from test where idd NOT IN (60,1010,20,457,20,311,20,750,70,10) set global @attr_filter=(10,20,30,70) select * from test where idd IN @attr_filter select * from test where idd NOT IN @attr_filter sphinx-2.2.11-release/test/test_149/model.bin0000644000175000017500000000552012743402012020206 0ustar alexeyalexeya:1:{i:0;a:10:{i:0;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:7;s:4:"rows";a:7:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"10";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"20";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"30";}i:3;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"40";}i:4;a:2:{s:2:"id";s:1:"5";s:3:"idd";s:2:"50";}i:5;a:2:{s:2:"id";s:1:"6";s:3:"idd";s:2:"60";}i:6;a:2:{s:2:"id";s:1:"7";s:3:"idd";s:2:"70";}}}i:1;a:3:{s:8:"sphinxql";s:40:"select * from test where id IN (1,3,6,7)";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"10";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"30";}i:2;a:2:{s:2:"id";s:1:"6";s:3:"idd";s:2:"60";}i:3;a:2:{s:2:"id";s:1:"7";s:3:"idd";s:2:"70";}}}i:2;a:3:{s:8:"sphinxql";s:45:"select * from test where id IN (1,1000,3,6,7)";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"10";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"30";}i:2;a:2:{s:2:"id";s:1:"6";s:3:"idd";s:2:"60";}i:3;a:2:{s:2:"id";s:1:"7";s:3:"idd";s:2:"70";}}}i:3;a:3:{s:8:"sphinxql";s:45:"select * from test where id IN (1000,1,3,6,7)";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"10";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"30";}i:2;a:2:{s:2:"id";s:1:"6";s:3:"idd";s:2:"60";}i:3;a:2:{s:2:"id";s:1:"7";s:3:"idd";s:2:"70";}}}i:4;a:3:{s:8:"sphinxql";s:45:"select * from test where id IN (1,3,6,1000,7)";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"10";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"30";}i:2;a:2:{s:2:"id";s:1:"6";s:3:"idd";s:2:"60";}i:3;a:2:{s:2:"id";s:1:"7";s:3:"idd";s:2:"70";}}}i:5;a:3:{s:8:"sphinxql";s:76:"select * from test where idd IN (875,321,60,1010,20,457,20,311,20,750,70,10)";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"10";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"20";}i:2;a:2:{s:2:"id";s:1:"6";s:3:"idd";s:2:"60";}i:3;a:2:{s:2:"id";s:1:"7";s:3:"idd";s:2:"70";}}}i:6;a:3:{s:8:"sphinxql";s:72:"select * from test where idd NOT IN (60,1010,20,457,20,311,20,750,70,10)";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"30";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"40";}i:2;a:2:{s:2:"id";s:1:"5";s:3:"idd";s:2:"50";}}}i:7;a:2:{s:8:"sphinxql";s:37:"set global @attr_filter=(10,20,30,70)";s:14:"total_affected";i:0;}i:8;a:3:{s:8:"sphinxql";s:44:"select * from test where idd IN @attr_filter";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"10";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"20";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"30";}i:3;a:2:{s:2:"id";s:1:"7";s:3:"idd";s:2:"70";}}}i:9;a:3:{s:8:"sphinxql";s:48:"select * from test where idd NOT IN @attr_filter";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"40";}i:1;a:2:{s:2:"id";s:1:"5";s:3:"idd";s:2:"50";}i:2;a:2:{s:2:"id";s:1:"6";s:3:"idd";s:2:"60";}}}}}sphinx-2.2.11-release/test/test_148/0000755000175000017500000000000012743402012016411 5ustar alexeyalexeysphinx-2.2.11-release/test/test_148/test.xml0000644000175000017500000001271712743402012020122 0ustar alexeyalexey field position limit vs many hits indexer { mem_limit = 16M } searchd { workers = threads } source test { type = mysql sql_query = SELECT * FROM test_table sql_attr_uint = idd sql_file_field = body } index test { source = test path = /test docinfo = extern html_strip = 1 index_sp = 1 index_zones = zone* } source start_end { type = mysql sql_query = SELECT id, body, 1 as idd FROM start_end_table sql_attr_uint = idd sql_field_string = body } index start_end { source = start_end path = /start_end docinfo = extern } source src_1 { type = mysql sql_query = SELECT 1 as id, 'Footpath' as title, 'Republic of Ireland' as country sql_field_string = title sql_field_string = country } index i1 { source = src_1 path = /i1 docinfo = extern min_word_len = 1 morphology = stem_en index_exact_words = 1 } source src_fl { type = mysql sql_query = SELECT 1 as id, 'we are from here' as title, 'but live there all the time' as body UNION SELECT 2 as id, 'but live there all the time' as title, 'we are from here' as body sql_field_string = title sql_field_string = body } index fl { source = src_fl path = /fl docinfo = extern } source src_blend { type = mysql sql_query = SELECT 1 as id, 'dummy1 dummy1 dummy1 dummy1 X-COM' as title, 'dummy1 dummy1, dummy1, dummy1 dummy1 dummy1 valid dummy1 dummy1 dummy1 X-COM, dummy1' as body sql_field_string = title sql_field_string = body } index idx_blend_crc { source = src_blend path = /idx_blend_crc docinfo = extern morphology = stem_enru min_prefix_len = 3 enable_star = 1 index_exact_words = 1 blend_mode = trim_head, trim_tail, trim_both blend_chars = +, %, - dict = crc } index idx_blend_kw { source = src_blend path = /idx_blend_kw docinfo = extern morphology = stem_enru min_prefix_len = 3 enable_star = 1 index_exact_words = 1 blend_mode = trim_head, trim_tail, trim_both blend_chars = +, %, - dict = keywords } index rt { type = rt path = /rt docinfo = extern rt_mem_limit = 128k rt_attr_uint = idd rt_field = title rt_field = description dict = keywords } CREATE TABLE test_table ( id INT NOT NULL, body VARCHAR(2048) NOT NULL, idd INT NOT NULL ); CREATE TABLE start_end_table ( id INTEGER PRIMARY KEY NOT NULL AUTO_INCREMENT, body VARCHAR(64) NOT NULL ); drop table if exists test_table; drop table if exists start_end_table; insert into test_table values ( 1, 'test_148/doc1.txt', 1 ); insert into test_table values ( 2, 'test_148/doc2.txt', 2 ); insert into test_table values ( 3, 'test_148/doc3.txt', 3 ); select * from test where match ('ZONE:zoneA dummy') select * from test where match ('@body[1024] text') select * from test where match ('@body[1024] dummy') select * from start_end where match ('@body ABB') group by idd select * from start_end where match ('@body ^ABB') group by idd select * from start_end where match ('@body ABB$') group by idd select * from start_end where match ('@body ^ABB$') group by idd select * from i1 where match (' "=Republic =of =Ireland" ') select * from i1 where match (' "^=Republic =of =Ireland" ') select * from i1 where match (' "=Republic =of =Ireland$" ') select * from i1 where match (' "^=Republic =of =Ireland$" ') select * from i1 where match (' =Footpath$ ') select * from i1 where match (' ^=Footpath$ ') select * from fl where match (' (@title we) live ') select * from fl where match (' (@title we are) (@body live there) from time ') select * from fl where match (' are (@body we) from time ') select * from fl where match (' are (@body we) from (@title time the) here ') select * from idx_blend_crc where match (' x-com NEAR/10 valid') select * from idx_blend_kw where match (' x-com NEAR/10 valid ') CALL SNIPPETS ( 'dummy1 dummy1 valid dummy1 dummy1 dummy1 X-COM, dummy1', 'idx_blend_kw', 'x-com NEAR/10 valid', 1 as query_mode ) REPLACE INTO rt (id, title, description) VALUES (1, 'This is a simple test', 'This is a longer description of a simple test') SELECT id FROM rt WHERE MATCH('@description test') SELECT id FROM rt WHERE MATCH('@description[10] test') sphinx-2.2.11-release/test/test_148/model.bin0000644000175000017500000001222612743402012020206 0ustar alexeyalexeya:1:{i:0;a:23:{i:0;a:3:{s:8:"sphinxql";s:51:"select * from test where match ('ZONE:zoneA dummy')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"2";}}}i:1;a:3:{s:8:"sphinxql";s:51:"select * from test where match ('@body[1024] text')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";}}}i:2;a:3:{s:8:"sphinxql";s:52:"select * from test where match ('@body[1024] dummy')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"2";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";}}}i:3;a:3:{s:8:"sphinxql";s:62:"select * from start_end where match ('@body ABB') group by idd";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:4:"body";s:3:"ABB";s:3:"idd";s:1:"1";}}}i:4;a:3:{s:8:"sphinxql";s:63:"select * from start_end where match ('@body ^ABB') group by idd";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:4:"body";s:3:"ABB";s:3:"idd";s:1:"1";}}}i:5;a:3:{s:8:"sphinxql";s:63:"select * from start_end where match ('@body ABB$') group by idd";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:4:"body";s:3:"ABB";s:3:"idd";s:1:"1";}}}i:6;a:3:{s:8:"sphinxql";s:64:"select * from start_end where match ('@body ^ABB$') group by idd";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:4:"body";s:3:"ABB";s:3:"idd";s:1:"1";}}}i:7;a:3:{s:8:"sphinxql";s:59:"select * from i1 where match (' "=Republic =of =Ireland" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:5:"title";s:8:"Footpath";s:7:"country";s:19:"Republic of Ireland";}}}i:8;a:3:{s:8:"sphinxql";s:60:"select * from i1 where match (' "^=Republic =of =Ireland" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:5:"title";s:8:"Footpath";s:7:"country";s:19:"Republic of Ireland";}}}i:9;a:3:{s:8:"sphinxql";s:60:"select * from i1 where match (' "=Republic =of =Ireland$" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:5:"title";s:8:"Footpath";s:7:"country";s:19:"Republic of Ireland";}}}i:10;a:3:{s:8:"sphinxql";s:61:"select * from i1 where match (' "^=Republic =of =Ireland$" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:5:"title";s:8:"Footpath";s:7:"country";s:19:"Republic of Ireland";}}}i:11;a:3:{s:8:"sphinxql";s:45:"select * from i1 where match (' =Footpath$ ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:5:"title";s:8:"Footpath";s:7:"country";s:19:"Republic of Ireland";}}}i:12;a:3:{s:8:"sphinxql";s:46:"select * from i1 where match (' ^=Footpath$ ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:5:"title";s:8:"Footpath";s:7:"country";s:19:"Republic of Ireland";}}}i:13;a:3:{s:8:"sphinxql";s:51:"select * from fl where match (' (@title we) live ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:5:"title";s:16:"we are from here";s:4:"body";s:27:"but live there all the time";}}}i:14;a:3:{s:8:"sphinxql";s:79:"select * from fl where match (' (@title we are) (@body live there) from time ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:5:"title";s:16:"we are from here";s:4:"body";s:27:"but live there all the time";}}}i:15;a:3:{s:8:"sphinxql";s:59:"select * from fl where match (' are (@body we) from time ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"2";s:5:"title";s:27:"but live there all the time";s:4:"body";s:16:"we are from here";}}}i:16;a:3:{s:8:"sphinxql";s:77:"select * from fl where match (' are (@body we) from (@title time the) here ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"2";s:5:"title";s:27:"but live there all the time";s:4:"body";s:16:"we are from here";}}}i:17;a:3:{s:8:"sphinxql";s:64:"select * from idx_blend_crc where match (' x-com NEAR/10 valid')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:5:"title";s:33:"dummy1 dummy1 dummy1 dummy1 X-COM";s:4:"body";s:84:"dummy1 dummy1, dummy1, dummy1 dummy1 dummy1 valid dummy1 dummy1 dummy1 X-COM, dummy1";}}}i:18;a:3:{s:8:"sphinxql";s:64:"select * from idx_blend_kw where match (' x-com NEAR/10 valid ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:5:"title";s:33:"dummy1 dummy1 dummy1 dummy1 X-COM";s:4:"body";s:84:"dummy1 dummy1, dummy1, dummy1 dummy1 dummy1 valid dummy1 dummy1 dummy1 X-COM, dummy1";}}}i:19;a:3:{s:8:"sphinxql";s:130:"CALL SNIPPETS ( 'dummy1 dummy1 valid dummy1 dummy1 dummy1 X-COM, dummy1', 'idx_blend_kw', 'x-com NEAR/10 valid', 1 as query_mode )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:68:"dummy1 dummy1 valid dummy1 dummy1 dummy1 X-COM, dummy1";}}}i:20;a:2:{s:8:"sphinxql";s:125:"REPLACE INTO rt (id, title, description) VALUES (1, 'This is a simple test', 'This is a longer description of a simple test')";s:14:"total_affected";i:1;}i:21;a:3:{s:8:"sphinxql";s:50:"SELECT id FROM rt WHERE MATCH('@description test')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}}i:22;a:3:{s:8:"sphinxql";s:54:"SELECT id FROM rt WHERE MATCH('@description[10] test')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}}}}sphinx-2.2.11-release/test/test_148/doc3.txt0000644000175000017500000002075712743402012020015 0ustar alexeyalexeydummy dummy dummy dummy dummy dummy dummy dummy dummy dummy text dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy text dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy text dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy sphinx-2.2.11-release/test/test_148/doc2.txt0000644000175000017500000007176512743402012020021 0ustar alexeyalexeydummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy text dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy text dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy dummy sphinx-2.2.11-release/test/test_148/doc1.txt0000644000175000017500000000003112743402012017772 0ustar alexeyalexeydummy textsphinx-2.2.11-release/test/test_147/0000755000175000017500000000000012743402012016410 5ustar alexeyalexeysphinx-2.2.11-release/test/test_147/test.xml0000644000175000017500000000705012743402012020113 0ustar alexeyalexey multi-index queries vs mva and string attributes indexer { mem_limit = 16M } searchd { dist_threads = 0 dist_threads = 2 } source src_base { type = mysql } source src_1 : src_base { sql_query = SELECT id, attr1, mva1, mva2, str1, str2, text FROM test_table WHERE idx = 'i1'; sql_attr_multi = uint mva1 from field sql_attr_multi = uint mva2 from field sql_attr_string = str1 sql_attr_string = str2 sql_attr_uint = attr1 } source src_2 : src_base { sql_query = SELECT id, attr1, mva2, str1, str2, text FROM test_table WHERE idx = 'i2'; sql_attr_multi = uint mva2 from field sql_attr_string = str1 sql_attr_string = str2 sql_attr_uint = attr1 } source src_3 : src_base { sql_query = SELECT id, attr1, mva1, mva2, str2, text FROM test_table WHERE idx = 'i3'; sql_attr_multi = uint mva1 from field sql_attr_multi = uint mva2 from field sql_attr_string = str2 sql_attr_uint = attr1 } source src_1 : src_base { sql_query = SELECT id, attr1, mva1, mva2, str1, str2, text FROM test_table WHERE idx = 'i1'; sql_attr_multi = bigint mva1 from field sql_attr_multi = bigint mva2 from field sql_attr_string = str1 sql_attr_string = str2 sql_attr_uint = attr1 } source src_2 : src_base { sql_query = SELECT id, attr1, mva2, str1, str2, text FROM test_table WHERE idx = 'i2'; sql_attr_multi = bigint mva2 from field sql_attr_string = str1 sql_attr_string = str2 sql_attr_uint = attr1 } source src_3 : src_base { sql_query = SELECT id, attr1, mva1, mva2, str2, text FROM test_table WHERE idx = 'i3'; sql_attr_multi = bigint mva1 from field sql_attr_multi = bigint mva2 from field sql_attr_string = str2 sql_attr_uint = attr1 } index i1 { source = src_1 path = /i1 docinfo = extern } index i2 { source = src_2 path = /i2 docinfo = extern } index i3 { source = src_3 path = /i3 docinfo = extern } CREATE TABLE test_table ( id INT NOT NULL, attr1 INT NOT NULL, mva1 VARCHAR(255) NOT NULL, mva2 VARCHAR(255) NOT NULL, str1 VARCHAR(255) NOT NULL, str2 VARCHAR(255) NOT NULL, text VARCHAR(255) NOT NULL DEFAULT 'text', idx VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table (id, attr1, mva1, mva2, str1, str2, idx) VALUES ( 1, 10, '101, 101, 103', '110, 111, 112', 'some data 100', 'another data 110', 'i1' ), ( 2, 20, '201, 202, 203', '21, 211, 212', 'some data 200', 'another data 210', 'i1' ), ( 3, 30, '12, 302, 303', '310, 312, 313', 'some data 300', 'another data 310', 'i1' ), ( 1, 1000, '', '1000, 10000, 100000', 'aaa bbb', 'ccc ddd', 'i2' ), ( 2, 2000, '', '2000, 20000, 21', 'eee fff', 'ggg hhh', 'i2' ), ( 3, 3000, '', '3000, 30000, 300000', 'iii jjj', 'lll mmm', 'i2' ), ( 1, 1, '2, 3, 4', '5, 6, 7', '', 'second string attribute in the 1st row', 'i3' ), ( 2, 8, '9, 10, 11', '12, 13, 14', '', 'second string attribute in the 2nd row', 'i3' ), ( 3, 15, '12, 17, 18', '19, 20, 21', '', 'second string attribute in the 3d row', 'i3' ) SetMatchMode (SPH_MATCH_EXTENDED2); $results = array(); $q = "text"; $i = "*"; $client->ResetFilters(); $client->AddQuery ($q, $i); $client->AddQuery ($q, $i); $results = $client->RunQueries(); ]]> sphinx-2.2.11-release/test/test_147/model.bin0000644000175000017500000001622612743402012020211 0ustar alexeyalexeya:4:{i:0;a:2:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:5:"attr1";i:1;s:4:"mva2";i:1073741825;s:4:"str2";i:7;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:5:"attr1";s:1:"1";s:4:"mva2";a:3:{i:0;s:1:"5";i:1;s:1:"6";i:2;s:1:"7";}s:4:"str2";s:38:"second string attribute in the 1st row";}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:5:"attr1";s:1:"8";s:4:"mva2";a:3:{i:0;s:2:"12";i:1;s:2:"13";i:2;s:2:"14";}s:4:"str2";s:38:"second string attribute in the 2nd row";}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:5:"attr1";s:2:"15";s:4:"mva2";a:3:{i:0;s:2:"19";i:1;s:2:"20";i:2;s:2:"21";}s:4:"str2";s:37:"second string attribute in the 3d row";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:5:"query";s:0:"";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:5:"attr1";i:1;s:4:"mva2";i:1073741825;s:4:"str2";i:7;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:5:"attr1";s:1:"1";s:4:"mva2";a:3:{i:0;s:1:"5";i:1;s:1:"6";i:2;s:1:"7";}s:4:"str2";s:38:"second string attribute in the 1st row";}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:5:"attr1";s:1:"8";s:4:"mva2";a:3:{i:0;s:2:"12";i:1;s:2:"13";i:2;s:2:"14";}s:4:"str2";s:38:"second string attribute in the 2nd row";}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:5:"attr1";s:2:"15";s:4:"mva2";a:3:{i:0;s:2:"19";i:1;s:2:"20";i:2;s:2:"21";}s:4:"str2";s:37:"second string attribute in the 3d row";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:5:"query";s:0:"";}}i:1;a:2:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:5:"attr1";i:1;s:4:"mva2";i:1073741825;s:4:"str2";i:7;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:5:"attr1";s:1:"1";s:4:"mva2";a:3:{i:0;s:1:"5";i:1;s:1:"6";i:2;s:1:"7";}s:4:"str2";s:38:"second string attribute in the 1st row";}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:5:"attr1";s:1:"8";s:4:"mva2";a:3:{i:0;s:2:"12";i:1;s:2:"13";i:2;s:2:"14";}s:4:"str2";s:38:"second string attribute in the 2nd row";}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:5:"attr1";s:2:"15";s:4:"mva2";a:3:{i:0;s:2:"19";i:1;s:2:"20";i:2;s:2:"21";}s:4:"str2";s:37:"second string attribute in the 3d row";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:5:"query";s:0:"";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:5:"attr1";i:1;s:4:"mva2";i:1073741825;s:4:"str2";i:7;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:5:"attr1";s:1:"1";s:4:"mva2";a:3:{i:0;s:1:"5";i:1;s:1:"6";i:2;s:1:"7";}s:4:"str2";s:38:"second string attribute in the 1st row";}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:5:"attr1";s:1:"8";s:4:"mva2";a:3:{i:0;s:2:"12";i:1;s:2:"13";i:2;s:2:"14";}s:4:"str2";s:38:"second string attribute in the 2nd row";}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:5:"attr1";s:2:"15";s:4:"mva2";a:3:{i:0;s:2:"19";i:1;s:2:"20";i:2;s:2:"21";}s:4:"str2";s:37:"second string attribute in the 3d row";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:5:"query";s:0:"";}}i:2;a:2:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:5:"attr1";i:1;s:4:"mva2";i:1073741825;s:4:"str2";i:7;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:5:"attr1";s:1:"1";s:4:"mva2";a:3:{i:0;s:1:"5";i:1;s:1:"6";i:2;s:1:"7";}s:4:"str2";s:38:"second string attribute in the 1st row";}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:5:"attr1";s:1:"8";s:4:"mva2";a:3:{i:0;s:2:"12";i:1;s:2:"13";i:2;s:2:"14";}s:4:"str2";s:38:"second string attribute in the 2nd row";}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:5:"attr1";s:2:"15";s:4:"mva2";a:3:{i:0;s:2:"19";i:1;s:2:"20";i:2;s:2:"21";}s:4:"str2";s:37:"second string attribute in the 3d row";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:5:"query";s:0:"";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:5:"attr1";i:1;s:4:"mva2";i:1073741825;s:4:"str2";i:7;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:5:"attr1";s:1:"1";s:4:"mva2";a:3:{i:0;s:1:"5";i:1;s:1:"6";i:2;s:1:"7";}s:4:"str2";s:38:"second string attribute in the 1st row";}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:5:"attr1";s:1:"8";s:4:"mva2";a:3:{i:0;s:2:"12";i:1;s:2:"13";i:2;s:2:"14";}s:4:"str2";s:38:"second string attribute in the 2nd row";}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:5:"attr1";s:2:"15";s:4:"mva2";a:3:{i:0;s:2:"19";i:1;s:2:"20";i:2;s:2:"21";}s:4:"str2";s:37:"second string attribute in the 3d row";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:5:"query";s:0:"";}}i:3;a:2:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:5:"attr1";i:1;s:4:"mva2";i:1073741825;s:4:"str2";i:7;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:5:"attr1";s:1:"1";s:4:"mva2";a:3:{i:0;s:1:"5";i:1;s:1:"6";i:2;s:1:"7";}s:4:"str2";s:38:"second string attribute in the 1st row";}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:5:"attr1";s:1:"8";s:4:"mva2";a:3:{i:0;s:2:"12";i:1;s:2:"13";i:2;s:2:"14";}s:4:"str2";s:38:"second string attribute in the 2nd row";}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:5:"attr1";s:2:"15";s:4:"mva2";a:3:{i:0;s:2:"19";i:1;s:2:"20";i:2;s:2:"21";}s:4:"str2";s:37:"second string attribute in the 3d row";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:5:"query";s:0:"";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:5:"attr1";i:1;s:4:"mva2";i:1073741825;s:4:"str2";i:7;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:5:"attr1";s:1:"1";s:4:"mva2";a:3:{i:0;s:1:"5";i:1;s:1:"6";i:2;s:1:"7";}s:4:"str2";s:38:"second string attribute in the 1st row";}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:5:"attr1";s:1:"8";s:4:"mva2";a:3:{i:0;s:2:"12";i:1;s:2:"13";i:2;s:2:"14";}s:4:"str2";s:38:"second string attribute in the 2nd row";}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:5:"attr1";s:2:"15";s:4:"mva2";a:3:{i:0;s:2:"19";i:1;s:2:"20";i:2;s:2:"21";}s:4:"str2";s:37:"second string attribute in the 3d row";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:5:"query";s:0:"";}}}sphinx-2.2.11-release/test/test_146/0000755000175000017500000000000012743402012016407 5ustar alexeyalexeysphinx-2.2.11-release/test/test_146/test.xml0000644000175000017500000001060412743402012020111 0ustar alexeyalexey joined fields indexing indexer { mem_limit = 16M } searchd { } source pure { type = mysql sql_query = select id, idd from test; sql_attr_uint = idd sql_joined_field = text from query; select id, text from test_joined; } index pure { source = pure path = /pure docinfo = extern } source test { type = mysql sql_query = select id, text, idd from test; sql_joined_field = text from query; select id, text from test_joined; sql_attr_uint = idd } index test { source = test path = /test docinfo = extern phrase_boundary = . phrase_boundary_step = 2 stopwords = /stopwords.txt } source ignore_absent_joined_ids { type = mysql sql_query = SELECT 1, 'one two three' sql_joined_field = test from query; SELECT 2, 'пыля безопастн' } index ignore_absent_joined_ids { source = ignore_absent_joined_ids path = /ignore_absent_joined_ids } source multi_joined { type = mysql sql_attr_uint = idd sql_query = SELECT 490495 id, 11 idd, 'Beast Obsessed 3 - Scene 12 - Future Works' t1, '' t2 UNION SELECT 490496 id, 11 idd, 'Hot Fonde Aaliyah Love Foo Her Stud Longer' t1, 'When Ryan comes into the picture' t2 UNION SELECT 490497 id, 11 idd, 'Daia Gloomer Big Noob In Prague' t1, 'Daia Gloomer Big Noob' t2 sql_joined_field = t1 from query; SELECT 0 id, 'aspirine brunette fooneling powder solo latina group salsa webcam gum idling shovel european killing too tan lines' t1 UNION SELECT 490495 id, 'job babe cow busty mugshot wire all full trip' t1 UNION SELECT 490496 id, 'hd fonde style glamour love madison ryan aaliyah' t1 UNION SELECT 490497 id, 'job salsa redhead famous shot tilt daia gloomer' t1 sql_joined_field = t1 from query; SELECT 490496 id, 'Aaliyah Love' t1 } index multi_joined { source = multi_joined path = /multi_joined docinfo = extern charset_table = 0..9, a..z, A..Z->a..z, _ } create table test ( id int, text varchar(255), idd int ); create table test_joined ( id int, text varchar(255) ); drop table if exists test drop table if exists test_joined insert into test (id, text, idd) values ( 1, 'aaa', 1 ), ( 2, 'aaa bbb', 2 ), ( 3, 'bbb ccc', 3 ); insert into test_joined (id, text) values ( 1, 'jjj kkk' ), ( 1, 'zzz. my' ), ( 1, 'cool' ), ( 2, 'yyy' ), ( 2, 'ttt' ), ( 3, 'ccc do. dog' ), ( 3, 'sleepy' ); aaa bbb aaa | bbb "aaa bbb" ( kkk zzz ) | "do dog" ( kkk zzz ) | "do not as dog" "kkk zzz" "zzz not as not cool" "zzz do dog look cool"/2 dog not as do sleepy "dog not as do sleepy" "do not as dog sleepy" ( dog sleepy ) | my sphinx-2.2.11-release/test/test_146/stopwords.txt0000644000175000017500000000001112743402012021204 0ustar alexeyalexeynot as sphinx-2.2.11-release/test/test_146/model.bin0000644000175000017500000001756512743402012020217 0ustar alexeyalexeya:1:{i:0;a:14:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:4:"text";i:1;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"idd";s:1:"1";}}i:2;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"idd";s:1:"2";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"aaa";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"aaa";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:4:"text";i:1;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"idd";s:1:"2";}}i:3;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"idd";s:1:"3";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"bbb";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"bbb";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:4:"text";i:1;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"idd";s:1:"1";}}i:2;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"idd";s:1:"2";}}i:3;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"idd";s:1:"3";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"aaa";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"bbb";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"aaa | bbb";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:4:"text";i:1;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"idd";s:1:"2";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"aaa";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"bbb";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:""aaa bbb"";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:4:"text";i:1;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"2590";s:5:"attrs";a:1:{s:3:"idd";s:1:"1";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:4:{s:3:"kkk";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"zzz";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"do";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"dog";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"( kkk zzz ) | "do dog"";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:4:"text";i:1;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"2590";s:5:"attrs";a:1:{s:3:"idd";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2590";s:5:"attrs";a:1:{s:3:"idd";s:1:"3";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:4:{s:3:"kkk";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"zzz";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"do";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"dog";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:29:"( kkk zzz ) | "do not as dog"";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:4:"text";i:1;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"2680";s:5:"attrs";a:1:{s:3:"idd";s:1:"1";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"kkk";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"zzz";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:""kkk zzz"";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:4:"text";i:1;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"2680";s:5:"attrs";a:1:{s:3:"idd";s:1:"1";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"zzz";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"cool";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:21:""zzz not as not cool"";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:4:"text";i:1;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"2572";s:5:"attrs";a:1:{s:3:"idd";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"1572";s:5:"attrs";a:1:{s:3:"idd";s:1:"3";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:5:{s:3:"zzz";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"do";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"dog";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"look";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:4:"cool";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:24:""zzz do dog look cool"/2";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:4:"text";i:1;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:1:{s:3:"idd";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"dog";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"do";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:6:"sleepy";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:20:"dog not as do sleepy";}i:10;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:4:"text";i:1;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"dog";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"do";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:6:"sleepy";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:""dog not as do sleepy"";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:4:"text";i:1;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"3680";s:5:"attrs";a:1:{s:3:"idd";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:2:"do";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"dog";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:6:"sleepy";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:""do not as dog sleepy"";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"1560";s:5:"attrs";a:1:{s:3:"idd";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2620";s:5:"attrs";a:1:{s:3:"idd";s:1:"3";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"dog";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:6:"sleepy";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"my";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:19:"( dog sleepy ) | my";}i:13;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:4:{i:0;s:2:"t1";i:1;s:2:"t2";i:2;s:2:"t1";i:3;s:2:"t1";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:3:{i:490495;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"idd";s:2:"11";}}i:490496;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"idd";s:2:"11";}}i:490497;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"idd";s:2:"11";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}}}sphinx-2.2.11-release/test/test_145/0000755000175000017500000000000012743402012016406 5ustar alexeyalexeysphinx-2.2.11-release/test/test_145/test.xml0000644000175000017500000000521712743402012020114 0ustar alexeyalexey snippets vs stopwords searchd { } source test { type = mysql sql_query = SELECT 1, 'text'; } index test { source = test path = /test stopwords = /stopwords.txt morphology = stem_en phrase_boundary = U+002C phrase_boundary_step = 4 } select 1; CALL SNIPPETS('click edit', 'test', '"click TO edit"', 1 AS query_mode ) CALL SNIPPETS('click word1 WITH edit', 'test', '"click TO word1 edit"', 1 AS query_mode ) CALL SNIPPETS('click WITH word1 edit', 'test', '"click TO word1 edit"', 1 AS query_mode ) CALL SNIPPETS('clicking ANY edit', 'test', '"click TO edit"', 1 AS query_mode ) CALL SNIPPETS('click ANY edit', 'test', '"click TO edit"', 1 AS query_mode ) CALL SNIPPETS('edit ANY click', 'test', '"click TO edit"', 1 AS query_mode ) CALL SNIPPETS('clicking WITH ANY AND ALL TO edit', 'test', '"click TO edit"', 1 AS query_mode ) CALL SNIPPETS('click WITH ANY AND ALL TO edit', 'test', '"click TO edit"', 1 AS query_mode ) CALL SNIPPETS('either click, edit', 'test', '"click TO edit"', 1 AS query_mode ) CALL SNIPPETS('either click, edit', 'test', '"click TO ANY AND ALL edit"', 1 AS query_mode ) CALL SNIPPETS('click edit', 'test', 'click TO edit', 1 AS exact_phrase ) CALL SNIPPETS('click word1 WITH edit', 'test', 'click TO word1 edit', 1 AS exact_phrase ) CALL SNIPPETS('click WITH word1 edit', 'test', 'click TO word1 edit', 1 AS exact_phrase ) CALL SNIPPETS('clicking ANY edit', 'test', 'click TO edit', 1 AS exact_phrase ) CALL SNIPPETS('click ANY edit', 'test', 'click TO edit', 1 AS exact_phrase ) CALL SNIPPETS('edit ANY click', 'test', 'click TO edit', 1 AS exact_phrase ) CALL SNIPPETS('clicking WITH ANY AND ALL TO edit', 'test', 'click TO edit', 1 AS exact_phrase ) CALL SNIPPETS('click WITH ANY AND ALL TO edit', 'test', 'click TO edit', 1 AS exact_phrase ) CALL SNIPPETS('either click, edit', 'test', 'click TO edit', 1 AS exact_phrase ) CALL SNIPPETS('either click, edit', 'test', 'click TO ANY AND ALL edit', 1 AS exact_phrase ) sphinx-2.2.11-release/test/test_145/stopwords.txt0000644000175000017500000000003512743402012021211 0ustar alexeyalexeyTO WITH ANY AND ALL TO sphinx-2.2.11-release/test/test_145/model.bin0000644000175000017500000001024712743402012020204 0ustar alexeyalexeya:1:{i:0;a:20:{i:0;a:3:{s:8:"sphinxql";s:72:"CALL SNIPPETS('click edit', 'test', '"click TO edit"', 1 AS query_mode )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:10:"click edit";}}}i:1;a:3:{s:8:"sphinxql";s:89:"CALL SNIPPETS('click word1 WITH edit', 'test', '"click TO word1 edit"', 1 AS query_mode )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:21:"click word1 WITH edit";}}}i:2;a:3:{s:8:"sphinxql";s:89:"CALL SNIPPETS('click WITH word1 edit', 'test', '"click TO word1 edit"', 1 AS query_mode )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:35:"click WITH word1 edit";}}}i:3;a:3:{s:8:"sphinxql";s:79:"CALL SNIPPETS('clicking ANY edit', 'test', '"click TO edit"', 1 AS query_mode )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:31:"clicking ANY edit";}}}i:4;a:3:{s:8:"sphinxql";s:76:"CALL SNIPPETS('click ANY edit', 'test', '"click TO edit"', 1 AS query_mode )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:28:"click ANY edit";}}}i:5;a:3:{s:8:"sphinxql";s:76:"CALL SNIPPETS('edit ANY click', 'test', '"click TO edit"', 1 AS query_mode )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:14:"edit ANY click";}}}i:6;a:3:{s:8:"sphinxql";s:95:"CALL SNIPPETS('clicking WITH ANY AND ALL TO edit', 'test', '"click TO edit"', 1 AS query_mode )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:33:"clicking WITH ANY AND ALL TO edit";}}}i:7;a:3:{s:8:"sphinxql";s:92:"CALL SNIPPETS('click WITH ANY AND ALL TO edit', 'test', '"click TO edit"', 1 AS query_mode )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"click WITH ANY AND ALL TO edit";}}}i:8;a:3:{s:8:"sphinxql";s:80:"CALL SNIPPETS('either click, edit', 'test', '"click TO edit"', 1 AS query_mode )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:18:"either click, edit";}}}i:9;a:3:{s:8:"sphinxql";s:92:"CALL SNIPPETS('either click, edit', 'test', '"click TO ANY AND ALL edit"', 1 AS query_mode )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:32:"either click, edit";}}}i:10;a:3:{s:8:"sphinxql";s:72:"CALL SNIPPETS('click edit', 'test', 'click TO edit', 1 AS exact_phrase )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:10:"click edit";}}}i:11;a:3:{s:8:"sphinxql";s:89:"CALL SNIPPETS('click word1 WITH edit', 'test', 'click TO word1 edit', 1 AS exact_phrase )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:21:"click word1 WITH edit";}}}i:12;a:3:{s:8:"sphinxql";s:89:"CALL SNIPPETS('click WITH word1 edit', 'test', 'click TO word1 edit', 1 AS exact_phrase )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:28:"click WITH word1 edit";}}}i:13;a:3:{s:8:"sphinxql";s:79:"CALL SNIPPETS('clicking ANY edit', 'test', 'click TO edit', 1 AS exact_phrase )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:24:"clicking ANY edit";}}}i:14;a:3:{s:8:"sphinxql";s:76:"CALL SNIPPETS('click ANY edit', 'test', 'click TO edit', 1 AS exact_phrase )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:21:"click ANY edit";}}}i:15;a:3:{s:8:"sphinxql";s:76:"CALL SNIPPETS('edit ANY click', 'test', 'click TO edit', 1 AS exact_phrase )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:14:"edit ANY click";}}}i:16;a:3:{s:8:"sphinxql";s:95:"CALL SNIPPETS('clicking WITH ANY AND ALL TO edit', 'test', 'click TO edit', 1 AS exact_phrase )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:33:"clicking WITH ANY AND ALL TO edit";}}}i:17;a:3:{s:8:"sphinxql";s:92:"CALL SNIPPETS('click WITH ANY AND ALL TO edit', 'test', 'click TO edit', 1 AS exact_phrase )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"click WITH ANY AND ALL TO edit";}}}i:18;a:3:{s:8:"sphinxql";s:80:"CALL SNIPPETS('either click, edit', 'test', 'click TO edit', 1 AS exact_phrase )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:18:"either click, edit";}}}i:19;a:3:{s:8:"sphinxql";s:92:"CALL SNIPPETS('either click, edit', 'test', 'click TO ANY AND ALL edit', 1 AS exact_phrase )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:25:"either click, edit";}}}}}sphinx-2.2.11-release/test/test_144/0000755000175000017500000000000012743402012016405 5ustar alexeyalexeysphinx-2.2.11-release/test/test_144/test.xml0000644000175000017500000000644512743402012020117 0ustar alexeyalexey query vs stack overflow searchd { workers = threads thread_stack = 320K binlog_path = } index test { type = rt path = /test rt_field = text rt_attr_uint = idd rt_mem_limit = 16M } CREATE TABLE `test` ( `document_id` int(11) NOT NULL default '0', `text` varchar(25) NOT NULL default '', `idd` int(11) NOT NULL default '0' ) DROP TABLE IF EXISTS `test` $value) $foo[$key] = $value; $results[] = $foo; } } $query = "CALL SNIPPETS ( 'not a fast path is going here word word1000 and might be others', 'test', '$match', 1 as query_mode, 40 as limit )"; $results[] = 'snippets ext query stack overflow'; $res = mysql_query ( $query, $sock ); if ($res===true) $results[] = "total affected ".mysql_affected_rows($sock); else if ($res===false) $results[] = "error ".@mysql_errno($sock)." : ".@mysql_error ($sock); else { while ($row = @mysql_fetch_array($res, MYSQL_ASSOC)) { $foo = array(); foreach ($row as $key => $value) $foo[$key] = $value; $results[] = $foo; } } ]]> sphinx-2.2.11-release/test/test_144/model.bin0000644000175000017500000003057712743402012020213 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:8:{i:0;s:47:"INSERT INTO test VALUES (1, 'word1 word10', 1 )";i:1;s:16:"total affected 1";i:2;s:12253:"SELECT * FROM test WHERE MATCH('"word1 word2"~30 | "word3 word4"~30 | "word4 word5"~30 | "word5 word6"~30 | "word6 word7"~30 | "word7 word8"~30 | "word8 word9"~30 | "word9 word10"~30 | "word10 word11"~30 | "word11 word12"~30 | "word12 word13"~30 | "word13 word14"~30 | "word14 word15"~30 | "word15 word16"~30 | "word16 word17"~30 | "word17 word18"~30 | "word18 word19"~30 | "word19 word20"~30 | "word20 word21"~30 | "word21 word22"~30 | "word22 word23"~30 | "word23 word24"~30 | "word24 word25"~30 | "word25 word26"~30 | "word26 word27"~30 | "word27 word28"~30 | "word28 word29"~30 | "word29 word30"~30 | "word30 word31"~30 | "word31 word32"~30 | "word32 word33"~30 | "word33 word34"~30 | "word34 word35"~30 | "word35 word36"~30 | "word36 word37"~30 | "word37 word38"~30 | "word38 word39"~30 | "word39 word40"~30 | "word40 word41"~30 | "word41 word42"~30 | "word42 word43"~30 | "word43 word44"~30 | "word44 word45"~30 | "word45 word46"~30 | "word46 word47"~30 | "word47 word48"~30 | "word48 word49"~30 | "word49 word50"~30 | "word50 word51"~30 | "word51 word52"~30 | "word52 word53"~30 | "word53 word54"~30 | "word54 word55"~30 | "word55 word56"~30 | "word56 word57"~30 | "word57 word58"~30 | "word58 word59"~30 | "word59 word60"~30 | "word60 word61"~30 | "word61 word62"~30 | "word62 word63"~30 | "word63 word64"~30 | "word64 word65"~30 | "word65 word66"~30 | "word66 word67"~30 | "word67 word68"~30 | "word68 word69"~30 | "word69 word70"~30 | "word70 word71"~30 | "word71 word72"~30 | "word72 word73"~30 | "word73 word74"~30 | "word74 word75"~30 | "word75 word76"~30 | "word76 word77"~30 | "word77 word78"~30 | "word78 word79"~30 | "word79 word80"~30 | "word80 word81"~30 | "word81 word82"~30 | "word82 word83"~30 | "word83 word84"~30 | "word84 word85"~30 | "word85 word86"~30 | "word86 word87"~30 | "word87 word88"~30 | "word88 word89"~30 | "word89 word90"~30 | "word90 word91"~30 | "word91 word92"~30 | "word92 word93"~30 | "word93 word94"~30 | "word94 word95"~30 | "word95 word96"~30 | "word96 word97"~30 | "word97 word98"~30 | "word98 word99"~30 | "word99 word100"~30 | "word100 word101"~30 | "word101 word102"~30 | "word102 word103"~30 | "word103 word104"~30 | "word104 word105"~30 | "word105 word106"~30 | "word106 word107"~30 | "word107 word108"~30 | "word108 word109"~30 | "word109 word110"~30 | "word110 word111"~30 | "word111 word112"~30 | "word112 word113"~30 | "word113 word114"~30 | "word114 word115"~30 | "word115 word116"~30 | "word116 word117"~30 | "word117 word118"~30 | "word118 word119"~30 | "word119 word120"~30 | "word120 word121"~30 | "word121 word122"~30 | "word122 word123"~30 | "word123 word124"~30 | "word124 word125"~30 | "word125 word126"~30 | "word126 word127"~30 | "word127 word128"~30 | "word128 word129"~30 | "word129 word130"~30 | "word130 word131"~30 | "word131 word132"~30 | "word132 word133"~30 | "word133 word134"~30 | "word134 word135"~30 | "word135 word136"~30 | "word136 word137"~30 | "word137 word138"~30 | "word138 word139"~30 | "word139 word140"~30 | "word140 word141"~30 | "word141 word142"~30 | "word142 word143"~30 | "word143 word144"~30 | "word144 word145"~30 | "word145 word146"~30 | "word146 word147"~30 | "word147 word148"~30 | "word148 word149"~30 | "word149 word150"~30 | "word150 word151"~30 | "word151 word152"~30 | "word152 word153"~30 | "word153 word154"~30 | "word154 word155"~30 | "word155 word156"~30 | "word156 word157"~30 | "word157 word158"~30 | "word158 word159"~30 | "word159 word160"~30 | "word160 word161"~30 | "word161 word162"~30 | "word162 word163"~30 | "word163 word164"~30 | "word164 word165"~30 | "word165 word166"~30 | "word166 word167"~30 | "word167 word168"~30 | "word168 word169"~30 | "word169 word170"~30 | "word170 word171"~30 | "word171 word172"~30 | "word172 word173"~30 | "word173 word174"~30 | "word174 word175"~30 | "word175 word176"~30 | "word176 word177"~30 | "word177 word178"~30 | "word178 word179"~30 | "word179 word180"~30 | "word180 word181"~30 | "word181 word182"~30 | "word182 word183"~30 | "word183 word184"~30 | "word184 word185"~30 | "word185 word186"~30 | "word186 word187"~30 | "word187 word188"~30 | "word188 word189"~30 | "word189 word190"~30 | "word190 word191"~30 | "word191 word192"~30 | "word192 word193"~30 | "word193 word194"~30 | "word194 word195"~30 | "word195 word196"~30 | "word196 word197"~30 | "word197 word198"~30 | "word198 word199"~30 | "word199 word200"~30 | "word200 word201"~30 | "word201 word202"~30 | "word202 word203"~30 | "word203 word204"~30 | "word204 word205"~30 | "word205 word206"~30 | "word206 word207"~30 | "word207 word208"~30 | "word208 word209"~30 | "word209 word210"~30 | "word210 word211"~30 | "word211 word212"~30 | "word212 word213"~30 | "word213 word214"~30 | "word214 word215"~30 | "word215 word216"~30 | "word216 word217"~30 | "word217 word218"~30 | "word218 word219"~30 | "word219 word220"~30 | "word220 word221"~30 | "word221 word222"~30 | "word222 word223"~30 | "word223 word224"~30 | "word224 word225"~30 | "word225 word226"~30 | "word226 word227"~30 | "word227 word228"~30 | "word228 word229"~30 | "word229 word230"~30 | "word230 word231"~30 | "word231 word232"~30 | "word232 word233"~30 | "word233 word234"~30 | "word234 word235"~30 | "word235 word236"~30 | "word236 word237"~30 | "word237 word238"~30 | "word238 word239"~30 | "word239 word240"~30 | "word240 word241"~30 | "word241 word242"~30 | "word242 word243"~30 | "word243 word244"~30 | "word244 word245"~30 | "word245 word246"~30 | "word246 word247"~30 | "word247 word248"~30 | "word248 word249"~30 | "word249 word250"~30 | "word250 word251"~30 | "word251 word252"~30 | "word252 word253"~30 | "word253 word254"~30 | "word254 word255"~30 | "word255 word256"~30 | "word256 word257"~30 | "word257 word258"~30 | "word258 word259"~30 | "word259 word260"~30 | "word260 word261"~30 | "word261 word262"~30 | "word262 word263"~30 | "word263 word264"~30 | "word264 word265"~30 | "word265 word266"~30 | "word266 word267"~30 | "word267 word268"~30 | "word268 word269"~30 | "word269 word270"~30 | "word270 word271"~30 | "word271 word272"~30 | "word272 word273"~30 | "word273 word274"~30 | "word274 word275"~30 | "word275 word276"~30 | "word276 word277"~30 | "word277 word278"~30 | "word278 word279"~30 | "word279 word280"~30 | "word280 word281"~30 | "word281 word282"~30 | "word282 word283"~30 | "word283 word284"~30 | "word284 word285"~30 | "word285 word286"~30 | "word286 word287"~30 | "word287 word288"~30 | "word288 word289"~30 | "word289 word290"~30 | "word290 word291"~30 | "word291 word292"~30 | "word292 word293"~30 | "word293 word294"~30 | "word294 word295"~30 | "word295 word296"~30 | "word296 word297"~30 | "word297 word298"~30 | "word298 word299"~30 | "word299 word300"~30 | "word300 word301"~30 | "word301 word302"~30 | "word302 word303"~30 | "word303 word304"~30 | "word304 word305"~30 | "word305 word306"~30 | "word306 word307"~30 | "word307 word308"~30 | "word308 word309"~30 | "word309 word310"~30 | "word310 word311"~30 | "word311 word312"~30 | "word312 word313"~30 | "word313 word314"~30 | "word314 word315"~30 | "word315 word316"~30 | "word316 word317"~30 | "word317 word318"~30 | "word318 word319"~30 | "word319 word320"~30 | "word320 word321"~30 | "word321 word322"~30 | "word322 word323"~30 | "word323 word324"~30 | "word324 word325"~30 | "word325 word326"~30 | "word326 word327"~30 | "word327 word328"~30 | "word328 word329"~30 | "word329 word330"~30 | "word330 word331"~30 | "word331 word332"~30 | "word332 word333"~30 | "word333 word334"~30 | "word334 word335"~30 | "word335 word336"~30 | "word336 word337"~30 | "word337 word338"~30 | "word338 word339"~30 | "word339 word340"~30 | "word340 word341"~30 | "word341 word342"~30 | "word342 word343"~30 | "word343 word344"~30 | "word344 word345"~30 | "word345 word346"~30 | "word346 word347"~30 | "word347 word348"~30 | "word348 word349"~30 | "word349 word350"~30 | "word350 word351"~30 | "word351 word352"~30 | "word352 word353"~30 | "word353 word354"~30 | "word354 word355"~30 | "word355 word356"~30 | "word356 word357"~30 | "word357 word358"~30 | "word358 word359"~30 | "word359 word360"~30 | "word360 word361"~30 | "word361 word362"~30 | "word362 word363"~30 | "word363 word364"~30 | "word364 word365"~30 | "word365 word366"~30 | "word366 word367"~30 | "word367 word368"~30 | "word368 word369"~30 | "word369 word370"~30 | "word370 word371"~30 | "word371 word372"~30 | "word372 word373"~30 | "word373 word374"~30 | "word374 word375"~30 | "word375 word376"~30 | "word376 word377"~30 | "word377 word378"~30 | "word378 word379"~30 | "word379 word380"~30 | "word380 word381"~30 | "word381 word382"~30 | "word382 word383"~30 | "word383 word384"~30 | "word384 word385"~30 | "word385 word386"~30 | "word386 word387"~30 | "word387 word388"~30 | "word388 word389"~30 | "word389 word390"~30 | "word390 word391"~30 | "word391 word392"~30 | "word392 word393"~30 | "word393 word394"~30 | "word394 word395"~30 | "word395 word396"~30 | "word396 word397"~30 | "word397 word398"~30 | "word398 word399"~30 | "word399 word400"~30 | "word400 word401"~30 | "word401 word402"~30 | "word402 word403"~30 | "word403 word404"~30 | "word404 word405"~30 | "word405 word406"~30 | "word406 word407"~30 | "word407 word408"~30 | "word408 word409"~30 | "word409 word410"~30 | "word410 word411"~30 | "word411 word412"~30 | "word412 word413"~30 | "word413 word414"~30 | "word414 word415"~30 | "word415 word416"~30 | "word416 word417"~30 | "word417 word418"~30 | "word418 word419"~30 | "word419 word420"~30 | "word420 word421"~30 | "word421 word422"~30 | "word422 word423"~30 | "word423 word424"~30 | "word424 word425"~30 | "word425 word426"~30 | "word426 word427"~30 | "word427 word428"~30 | "word428 word429"~30 | "word429 word430"~30 | "word430 word431"~30 | "word431 word432"~30 | "word432 word433"~30 | "word433 word434"~30 | "word434 word435"~30 | "word435 word436"~30 | "word436 word437"~30 | "word437 word438"~30 | "word438 word439"~30 | "word439 word440"~30 | "word440 word441"~30 | "word441 word442"~30 | "word442 word443"~30 | "word443 word444"~30 | "word444 word445"~30 | "word445 word446"~30 | "word446 word447"~30 | "word447 word448"~30 | "word448 word449"~30 | "word449 word450"~30 | "word450 word451"~30 | "word451 word452"~30 | "word452 word453"~30 | "word453 word454"~30 | "word454 word455"~30 | "word455 word456"~30 | "word456 word457"~30 | "word457 word458"~30 | "word458 word459"~30 | "word459 word460"~30 | "word460 word461"~30 | "word461 word462"~30 | "word462 word463"~30 | "word463 word464"~30 | "word464 word465"~30 | "word465 word466"~30 | "word466 word467"~30 | "word467 word468"~30 | "word468 word469"~30 | "word469 word470"~30 | "word470 word471"~30 | "word471 word472"~30 | "word472 word473"~30 | "word473 word474"~30 | "word474 word475"~30 | "word475 word476"~30 | "word476 word477"~30 | "word477 word478"~30 | "word478 word479"~30 | "word479 word480"~30 | "word480 word481"~30 | "word481 word482"~30 | "word482 word483"~30 | "word483 word484"~30 | "word484 word485"~30 | "word485 word486"~30 | "word486 word487"~30 | "word487 word488"~30 | "word488 word489"~30 | "word489 word490"~30 | "word490 word491"~30 | "word491 word492"~30 | "word492 word493"~30 | "word493 word494"~30 | "word494 word495"~30 | "word495 word496"~30 | "word496 word497"~30 | "word497 word498"~30 | "word498 word499"~30 | "word499 word500"~30 | "word500 word501"~30 | "word501 word502"~30 | "word502 word503"~30 | "word503 word504"~30 | "word504 word505"~30 | "word505 word506"~30 | "word506 word507"~30 | "word507 word508"~30 | "word508 word509"~30 | "word509 word510"~30 | "word510 word511"~30 | "word511 word512"~30 | "word512 word513"~30 | "word513 word514"~30 | "word514 word515"~30 | "word515 word516"~30 | "word516 word517"~30 | "word517 word518"~30 | "word518 word519"~30 | "word519 word520"~30 ')";i:3;s:13:"total found 0";i:4;s:43:"snippets fast-path ext query stack overflow";i:5;a:1:{s:7:"snippet";s:37:"fast path word word1000";}i:6;s:33:"snippets ext query stack overflow";i:7;a:1:{s:7:"snippet";s:64:" ... a fast path is going here word word1000 ... ";}}}}sphinx-2.2.11-release/test/test_143/0000755000175000017500000000000012743402012016404 5ustar alexeyalexeysphinx-2.2.11-release/test/test_143/wordforms_multi_dest.txt0000644000175000017500000000024312743402012023417 0ustar alexeyalexeytried and true > time1 test1 tripple and true > time2 for test2 dou true > time3 for test3 # comment for sure that whole line comment should not produce warningsphinx-2.2.11-release/test/test_143/wordforms.txt0000644000175000017500000000001512743402012021163 0ustar alexeyalexey0 es > none sphinx-2.2.11-release/test/test_143/test.xml0000644000175000017500000002130412743402012020105 0ustar alexeyalexey snippets vs multiwordforms searchd { workers = threads dist_threads = 2 } source test { type = mysql sql_query = SELECT 1, 'text'; } index test { source = test path = /test wordforms = /wordforms.txt blend_chars = + } source src_snip { type = mysql sql_query = SELECT 1 as id , 1 as idd, 2 as idd2, 'viva las mundos' as body sql_attr_uint = idd sql_attr_uint = idd2 sql_field_string = body } index snip2 { source = src_snip path = /snip2 } source src_snip22 { type = mysql sql_query = SELECT 100 as id , 1 as idd, 20 as idd2, 'viva las mundos' as body sql_attr_uint = idd sql_attr_uint = idd2 sql_field_string = body } index snip22 { source = src_snip22 path = /snip22 } source src_snip3 { type = mysql sql_query = SELECT 10 as id , 1 as idd, 20 as pup, 'viva las mundos' as body sql_attr_uint = pup sql_attr_uint = idd sql_field_string = body } index snip3 { source = src_snip3 path = /snip3 } index dist1 { type = distributed local = snip2 local = snip3 } index dist2 { type = distributed local = snip2 agent = :snip3 } index dist3 { type = distributed agent = :snip2 agent = :snip3 } index dist11 { type = distributed local = snip2 local = snip22 } index dist12 { type = distributed local = snip2 agent = :snip22 } index dist13 { type = distributed agent = :snip2 agent = :snip22 } index test_milti { type = template wordforms = /wordforms_multi_dest.txt charset_table = english, 0..9 } index dist_all1 { type = distributed local = snip2 local = snip22 local = snip3 } source src_snip301 { type = mysql sql_query = SELECT document_id+0 as id, idd+0 as idd, body FROM test_table sql_attr_uint = idd sql_field_string = body } source src_snip302 : src_snip301 { sql_query = SELECT document_id+10 as id, idd+10 as idd, body FROM test_table } source src_snip303 : src_snip301 { sql_query = SELECT document_id+20 as id, idd+20 as idd, 1 as idd1, body FROM test_table sql_attr_uint = idd1 } index snip301 { source = src_snip301 path = /snip301 } index snip302 : snip301 { source = src_snip302 path = /snip302 } index snip303 : snip301 { source = src_snip303 path = /snip303 } index dist_all2 { type = distributed local = snip301 local = snip302 local = snip303 } CREATE TABLE `test_table` ( `document_id` int(5) NOT NULL default '0', `idd` int(5) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES (1,1,'viva las mundos'), (2,2,'viva las mundos'), (3,3,'viva las mundos'), (4,4,'viva las mundos'), (5,5,'viva las mundos'), (6,6,'viva las mundos'), (7,7,'viva las mundos'), (8,8,'viva las mundos'), (9,9,'viva las mundos'), (10,10,'viva las mundos') CALL SNIPPETS('Kph on Europe road 1110', 'test', 'kph', 1 AS query_mode ) CALL SNIPPETS('when you on+time do it', 'test', 'you on', 1 AS query_mode ) CALL SNIPPETS('when you on+time do it', 'test', 'you time', 1 AS query_mode ) CALL SNIPPETS('you on+time 0 es you 0 at', 'test', 'none', 1 AS query_mode ) CALL SNIPPETS('you on+time 0 es you 0 at', 'test', '0', 1 AS query_mode ) select id, SNIPPET('', '') as s from snip2 where match ('silver') select id, SNIPPET('body as las void', 'las') as s from snip2 where match ('las') select id, SNIPPET(body, 'las') as s from snip2 where match ('las') select id, SNIPPET('something', snip2) from snip2 select *, SNIPPET('body as las void', 'las') from dist3 select *, SNIPPET(body, 'las') from dist3 select *, SNIPPET('body as las void', 'las') from dist2 select *, SNIPPET(body, 'las') from dist2 select *, SNIPPET('body as las void', 'las') from dist1 select *, SNIPPET(body, 'las') from dist1 select *, SNIPPET(body, 'cas') from dist2 select *, SNIPPET(body, 'cas') from dist1 select *, SNIPPET(body, 'las') from dist11 select *, SNIPPET(body, 'las') from dist12 select *, SNIPPET(body, 'las') from dist13 select id, body, SNIPPET(body, '','allow_empty=1', 'query_mode=1') from snip2 select id, body, SNIPPET(body, '','allow_empty=0', 'query_mode=1') from snip2 CALL SNIPPETS('tried and true 1 12 11 11 11 11', 'test_milti', 'notfound', 1 AS query_mode, 25 as limit ) CALL SNIPPETS('tried and true 1 12 11 11 11 11', 'test_milti', 'notfound', 1 AS query_mode, 0 as limit ) CALL SNIPPETS('tried and true 1 12 11 11 11 11', 'test_milti', 'notfound', 0 AS query_mode, 25 as limit ) CALL SNIPPETS('tried and true 1 12 11 11 11 11', 'test_milti', 'notfound', 0 AS query_mode, 0 as limit ) CALL SNIPPETS('tried and true 1 12 11 11 11 11', 'test_milti', 'time1', 1 AS query_mode, 25 as limit ) CALL SNIPPETS('tried and true 1 12 11 11 11 11', 'test_milti', 'test1', 1 AS query_mode, 0 as limit ) CALL SNIPPETS('tried and true 1 12 11 11 11 11', 'test_milti', 'time1', 0 AS query_mode, 25 as limit ) CALL SNIPPETS('tried and true 1 12 11 11 11 11', 'test_milti', 'test1', 0 AS query_mode, 0 as limit ) CALL SNIPPETS('17 64 15 tripple and true 1 12 11 11 11 11', 'test_milti', 'time2', 1 AS query_mode, 25 as limit ) CALL SNIPPETS('17 64 15 tripple and true 1 12 11 11 11 11', 'test_milti', 'test2', 1 AS query_mode, 0 as limit ) CALL SNIPPETS('17 64 15 tripple and true 1 12 11 11 11 11', 'test_milti', 'time2', 0 AS query_mode, 25 as limit ) CALL SNIPPETS('17 64 15 tripple and true 1 12 11 11 11 11', 'test_milti', 'test2', 0 AS query_mode, 0 as limit ) CALL SNIPPETS('17 64 15 dou true 1 12 11 11 11 11', 'test_milti', 'time3', 1 AS query_mode, 25 as limit ) CALL SNIPPETS('17 64 15 dou true 1 12 11 11 11 11', 'test_milti', 'test3', 1 AS query_mode, 0 as limit ) CALL SNIPPETS('17 64 15 dou true 1 12 11 11 11 11', 'test_milti', 'time3', 0 AS query_mode, 25 as limit ) CALL SNIPPETS('17 64 15 dou true 1 12 11 11 11 11', 'test_milti', 'test3', 0 AS query_mode, 0 as limit ) CALL SNIPPETS('17 64 15 dou true 1 12 11 11 11 11', 'test_milti', 'time3 for', 1 AS query_mode, 25 as limit ) CALL SNIPPETS('17 64 15 dou true 1 12 11 11 11 11', 'test_milti', 'for test3', 1 AS query_mode, 0 as limit ) CALL SNIPPETS('17 64 15 dou true 1 12 11 11 11 11', 'test_milti', 'time3 for', 0 AS query_mode, 25 as limit ) CALL SNIPPETS('17 64 15 dou true 1 12 11 11 11 11', 'test_milti', 'for test3', 0 AS query_mode, 0 as limit ) CALL SNIPPETS('17 64 15 tripple and true 1 12 11 11 11 11', 'test_milti', '"for test2"', 1 AS query_mode, 25 as limit ) CALL SNIPPETS('17 64 15 tripple and true 1 12 11 11 11 11', 'test_milti', '"for test2"', 1 AS query_mode, 0 as limit ) CALL SNIPPETS('17 64 15 dou true 1 12 11 11 11 11', 'test_milti', '"time3 for"', 1 AS query_mode, 25 as limit ) CALL SNIPPETS('17 64 15 dou true 1 12 11 11 11 11', 'test_milti', '"time3 for"', 1 AS query_mode, 0 as limit ) select *, SNIPPET(body, 'las') from dist_all1 select *, SNIPPET(body, 'las') from dist_all1 limit 1,2 select *, SNIPPET(body, 'las') from dist_all1 limit 0,2 select *, SNIPPET(body, 'las') from dist_all2 limit 0,20 select *, SNIPPET(body, 'las') from dist_all2 limit 10,20 select *, SNIPPET(body, 'las') from dist_all2 limit 20,20 select *, SNIPPET(body, 'las') from dist_all2 limit 20,2 sphinx-2.2.11-release/test/test_143/model.bin0000644000175000017500000005110212743402012020175 0ustar alexeyalexeya:1:{i:0;a:53:{i:0;a:3:{s:8:"sphinxql";s:73:"CALL SNIPPETS('Kph on Europe road 1110', 'test', 'kph', 1 AS query_mode )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"Kph on Europe road 1110";}}}i:1;a:3:{s:8:"sphinxql";s:75:"CALL SNIPPETS('when you on+time do it', 'test', 'you on', 1 AS query_mode )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:29:"when you on+time do it";}}}i:2;a:3:{s:8:"sphinxql";s:77:"CALL SNIPPETS('when you on+time do it', 'test', 'you time', 1 AS query_mode )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:36:"when you on+time do it";}}}i:3;a:3:{s:8:"sphinxql";s:76:"CALL SNIPPETS('you on+time 0 es you 0 at', 'test', 'none', 1 AS query_mode )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:32:"you on+time 0 es you 0 at";}}}i:4;a:3:{s:8:"sphinxql";s:73:"CALL SNIPPETS('you on+time 0 es you 0 at', 'test', '0', 1 AS query_mode )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:32:"you on+time 0 es you 0 at";}}}i:5;a:2:{s:8:"sphinxql";s:65:"select id, SNIPPET('', '') as s from snip2 where match ('silver')";s:10:"total_rows";i:0;}i:6;a:3:{s:8:"sphinxql";s:81:"select id, SNIPPET('body as las void', 'las') as s from snip2 where match ('las')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:1:"s";s:23:"body as las void";}}}i:7;a:3:{s:8:"sphinxql";s:67:"select id, SNIPPET(body, 'las') as s from snip2 where match ('las')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:1:"s";s:22:"viva las mundos";}}}i:8;a:3:{s:8:"sphinxql";s:49:"select id, SNIPPET('something', snip2) from snip2";s:5:"error";s:75:"index snip2: parse error: 1 argument to SNIPPET() must be a constant string";s:5:"errno";i:1064;}i:9;a:3:{s:8:"sphinxql";s:55:"select *, SNIPPET('body as las void', 'las') from dist3";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"body";s:15:"viva las mundos";s:34:"snippet('body as las void', 'las')";s:23:"body as las void";}i:1;a:4:{s:2:"id";s:2:"10";s:3:"idd";s:1:"1";s:4:"body";s:15:"viva las mundos";s:34:"snippet('body as las void', 'las')";s:23:"body as las void";}}}i:10;a:3:{s:8:"sphinxql";s:41:"select *, SNIPPET(body, 'las') from dist3";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:1;a:4:{s:2:"id";s:2:"10";s:3:"idd";s:1:"1";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}}}i:11;a:3:{s:8:"sphinxql";s:55:"select *, SNIPPET('body as las void', 'las') from dist2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"body";s:15:"viva las mundos";s:34:"snippet('body as las void', 'las')";s:23:"body as las void";}i:1;a:4:{s:2:"id";s:2:"10";s:3:"idd";s:1:"1";s:4:"body";s:15:"viva las mundos";s:34:"snippet('body as las void', 'las')";s:23:"body as las void";}}}i:12;a:3:{s:8:"sphinxql";s:41:"select *, SNIPPET(body, 'las') from dist2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:1;a:4:{s:2:"id";s:2:"10";s:3:"idd";s:1:"1";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}}}i:13;a:3:{s:8:"sphinxql";s:55:"select *, SNIPPET('body as las void', 'las') from dist1";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"body";s:15:"viva las mundos";s:34:"snippet('body as las void', 'las')";s:23:"body as las void";}i:1;a:4:{s:2:"id";s:2:"10";s:3:"idd";s:1:"1";s:4:"body";s:15:"viva las mundos";s:34:"snippet('body as las void', 'las')";s:23:"body as las void";}}}i:14;a:3:{s:8:"sphinxql";s:41:"select *, SNIPPET(body, 'las') from dist1";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:1;a:4:{s:2:"id";s:2:"10";s:3:"idd";s:1:"1";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}}}i:15;a:3:{s:8:"sphinxql";s:41:"select *, SNIPPET(body, 'cas') from dist2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'cas')";s:15:"viva las mundos";}i:1;a:4:{s:2:"id";s:2:"10";s:3:"idd";s:1:"1";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'cas')";s:15:"viva las mundos";}}}i:16;a:3:{s:8:"sphinxql";s:41:"select *, SNIPPET(body, 'cas') from dist1";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'cas')";s:15:"viva las mundos";}i:1;a:4:{s:2:"id";s:2:"10";s:3:"idd";s:1:"1";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'cas')";s:15:"viva las mundos";}}}i:17;a:3:{s:8:"sphinxql";s:42:"select *, SNIPPET(body, 'las') from dist11";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"idd2";s:1:"2";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:1;a:5:{s:2:"id";s:3:"100";s:3:"idd";s:1:"1";s:4:"idd2";s:2:"20";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}}}i:18;a:3:{s:8:"sphinxql";s:42:"select *, SNIPPET(body, 'las') from dist12";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"idd2";s:1:"2";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:1;a:5:{s:2:"id";s:3:"100";s:3:"idd";s:1:"1";s:4:"idd2";s:2:"20";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}}}i:19;a:3:{s:8:"sphinxql";s:42:"select *, SNIPPET(body, 'las') from dist13";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"idd2";s:1:"2";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:1;a:5:{s:2:"id";s:3:"100";s:3:"idd";s:1:"1";s:4:"idd2";s:2:"20";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}}}i:20;a:3:{s:8:"sphinxql";s:77:"select id, body, SNIPPET(body, '','allow_empty=1', 'query_mode=1') from snip2";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:4:"body";s:15:"viva las mundos";s:49:"snippet(body, '','allow_empty=1', 'query_mode=1')";s:0:"";}}}i:21;a:3:{s:8:"sphinxql";s:77:"select id, body, SNIPPET(body, '','allow_empty=0', 'query_mode=1') from snip2";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:4:"body";s:15:"viva las mundos";s:49:"snippet(body, '','allow_empty=0', 'query_mode=1')";s:15:"viva las mundos";}}}i:22;a:3:{s:8:"sphinxql";s:105:"CALL SNIPPETS('tried and true 1 12 11 11 11 11', 'test_milti', 'notfound', 1 AS query_mode, 25 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"tried and true 1 12 11 11 ... ";}}}i:23;a:3:{s:8:"sphinxql";s:104:"CALL SNIPPETS('tried and true 1 12 11 11 11 11', 'test_milti', 'notfound', 1 AS query_mode, 0 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:31:"tried and true 1 12 11 11 11 11";}}}i:24;a:3:{s:8:"sphinxql";s:105:"CALL SNIPPETS('tried and true 1 12 11 11 11 11', 'test_milti', 'notfound', 0 AS query_mode, 25 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:30:"tried and true 1 12 11 11 ... ";}}}i:25;a:3:{s:8:"sphinxql";s:104:"CALL SNIPPETS('tried and true 1 12 11 11 11 11', 'test_milti', 'notfound', 0 AS query_mode, 0 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:31:"tried and true 1 12 11 11 11 11";}}}i:26;a:3:{s:8:"sphinxql";s:102:"CALL SNIPPETS('tried and true 1 12 11 11 11 11', 'test_milti', 'time1', 1 AS query_mode, 25 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:37:"tried and true 1 12 11 11 ... ";}}}i:27;a:3:{s:8:"sphinxql";s:101:"CALL SNIPPETS('tried and true 1 12 11 11 11 11', 'test_milti', 'test1', 1 AS query_mode, 0 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:38:"tried and true 1 12 11 11 11 11";}}}i:28;a:3:{s:8:"sphinxql";s:102:"CALL SNIPPETS('tried and true 1 12 11 11 11 11', 'test_milti', 'time1', 0 AS query_mode, 25 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:37:"tried and true 1 12 11 11 ... ";}}}i:29;a:3:{s:8:"sphinxql";s:101:"CALL SNIPPETS('tried and true 1 12 11 11 11 11', 'test_milti', 'test1', 0 AS query_mode, 0 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:38:"tried and true 1 12 11 11 11 11";}}}i:30;a:3:{s:8:"sphinxql";s:113:"CALL SNIPPETS('17 64 15 tripple and true 1 12 11 11 11 11', 'test_milti', 'time2', 1 AS query_mode, 25 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:42:" ... 64 15 tripple and true 1 ... ";}}}i:31;a:3:{s:8:"sphinxql";s:112:"CALL SNIPPETS('17 64 15 tripple and true 1 12 11 11 11 11', 'test_milti', 'test2', 1 AS query_mode, 0 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:49:"17 64 15 tripple and true 1 12 11 11 11 11";}}}i:32;a:3:{s:8:"sphinxql";s:113:"CALL SNIPPETS('17 64 15 tripple and true 1 12 11 11 11 11', 'test_milti', 'time2', 0 AS query_mode, 25 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:42:" ... 64 15 tripple and true 1 ... ";}}}i:33;a:3:{s:8:"sphinxql";s:112:"CALL SNIPPETS('17 64 15 tripple and true 1 12 11 11 11 11', 'test_milti', 'test2', 0 AS query_mode, 0 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:49:"17 64 15 tripple and true 1 12 11 11 11 11";}}}i:34;a:3:{s:8:"sphinxql";s:105:"CALL SNIPPETS('17 64 15 dou true 1 12 11 11 11 11', 'test_milti', 'time3', 1 AS query_mode, 25 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:37:"17 64 15 dou true 1 12 11 ... ";}}}i:35;a:3:{s:8:"sphinxql";s:104:"CALL SNIPPETS('17 64 15 dou true 1 12 11 11 11 11', 'test_milti', 'test3', 1 AS query_mode, 0 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:41:"17 64 15 dou true 1 12 11 11 11 11";}}}i:36;a:3:{s:8:"sphinxql";s:105:"CALL SNIPPETS('17 64 15 dou true 1 12 11 11 11 11', 'test_milti', 'time3', 0 AS query_mode, 25 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:37:"17 64 15 dou true 1 12 11 ... ";}}}i:37;a:3:{s:8:"sphinxql";s:104:"CALL SNIPPETS('17 64 15 dou true 1 12 11 11 11 11', 'test_milti', 'test3', 0 AS query_mode, 0 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:41:"17 64 15 dou true 1 12 11 11 11 11";}}}i:38;a:3:{s:8:"sphinxql";s:109:"CALL SNIPPETS('17 64 15 dou true 1 12 11 11 11 11', 'test_milti', 'time3 for', 1 AS query_mode, 25 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:37:"17 64 15 dou true 1 12 11 ... ";}}}i:39;a:3:{s:8:"sphinxql";s:108:"CALL SNIPPETS('17 64 15 dou true 1 12 11 11 11 11', 'test_milti', 'for test3', 1 AS query_mode, 0 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:41:"17 64 15 dou true 1 12 11 11 11 11";}}}i:40;a:3:{s:8:"sphinxql";s:109:"CALL SNIPPETS('17 64 15 dou true 1 12 11 11 11 11', 'test_milti', 'time3 for', 0 AS query_mode, 25 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:37:"17 64 15 dou true 1 12 11 ... ";}}}i:41;a:3:{s:8:"sphinxql";s:108:"CALL SNIPPETS('17 64 15 dou true 1 12 11 11 11 11', 'test_milti', 'for test3', 0 AS query_mode, 0 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:41:"17 64 15 dou true 1 12 11 11 11 11";}}}i:42;a:3:{s:8:"sphinxql";s:119:"CALL SNIPPETS('17 64 15 tripple and true 1 12 11 11 11 11', 'test_milti', '"for test2"', 1 AS query_mode, 25 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:42:" ... 64 15 tripple and true 1 ... ";}}}i:43;a:3:{s:8:"sphinxql";s:118:"CALL SNIPPETS('17 64 15 tripple and true 1 12 11 11 11 11', 'test_milti', '"for test2"', 1 AS query_mode, 0 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:49:"17 64 15 tripple and true 1 12 11 11 11 11";}}}i:44;a:3:{s:8:"sphinxql";s:111:"CALL SNIPPETS('17 64 15 dou true 1 12 11 11 11 11', 'test_milti', '"time3 for"', 1 AS query_mode, 25 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:37:"17 64 15 dou true 1 12 11 ... ";}}}i:45;a:3:{s:8:"sphinxql";s:110:"CALL SNIPPETS('17 64 15 dou true 1 12 11 11 11 11', 'test_milti', '"time3 for"', 1 AS query_mode, 0 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:41:"17 64 15 dou true 1 12 11 11 11 11";}}}i:46;a:3:{s:8:"sphinxql";s:45:"select *, SNIPPET(body, 'las') from dist_all1";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:1;a:4:{s:2:"id";s:2:"10";s:3:"idd";s:1:"1";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:2;a:4:{s:2:"id";s:3:"100";s:3:"idd";s:1:"1";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}}}i:47;a:3:{s:8:"sphinxql";s:55:"select *, SNIPPET(body, 'las') from dist_all1 limit 1,2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"idd";s:1:"1";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:1;a:4:{s:2:"id";s:3:"100";s:3:"idd";s:1:"1";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}}}i:48;a:3:{s:8:"sphinxql";s:55:"select *, SNIPPET(body, 'las') from dist_all1 limit 0,2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:1;a:4:{s:2:"id";s:2:"10";s:3:"idd";s:1:"1";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}}}i:49;a:3:{s:8:"sphinxql";s:56:"select *, SNIPPET(body, 'las') from dist_all2 limit 0,20";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:1:"1";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:1;a:3:{s:2:"id";s:1:"2";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:2;a:3:{s:2:"id";s:1:"3";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:3;a:3:{s:2:"id";s:1:"4";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:4;a:3:{s:2:"id";s:1:"5";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:5;a:3:{s:2:"id";s:1:"6";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:6;a:3:{s:2:"id";s:1:"7";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:7;a:3:{s:2:"id";s:1:"8";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:8;a:3:{s:2:"id";s:1:"9";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:9;a:3:{s:2:"id";s:2:"10";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:10;a:3:{s:2:"id";s:2:"11";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:11;a:3:{s:2:"id";s:2:"12";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:12;a:3:{s:2:"id";s:2:"13";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:13;a:3:{s:2:"id";s:2:"14";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:14;a:3:{s:2:"id";s:2:"15";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:15;a:3:{s:2:"id";s:2:"16";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:16;a:3:{s:2:"id";s:2:"17";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:17;a:3:{s:2:"id";s:2:"18";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:18;a:3:{s:2:"id";s:2:"19";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:19;a:3:{s:2:"id";s:2:"20";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}}}i:50;a:3:{s:8:"sphinxql";s:57:"select *, SNIPPET(body, 'las') from dist_all2 limit 10,20";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:3:{s:2:"id";s:2:"11";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:1;a:3:{s:2:"id";s:2:"12";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:2;a:3:{s:2:"id";s:2:"13";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:3;a:3:{s:2:"id";s:2:"14";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:4;a:3:{s:2:"id";s:2:"15";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:5;a:3:{s:2:"id";s:2:"16";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:6;a:3:{s:2:"id";s:2:"17";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:7;a:3:{s:2:"id";s:2:"18";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:8;a:3:{s:2:"id";s:2:"19";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:9;a:3:{s:2:"id";s:2:"20";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:10;a:3:{s:2:"id";s:2:"21";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:11;a:3:{s:2:"id";s:2:"22";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:12;a:3:{s:2:"id";s:2:"23";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:13;a:3:{s:2:"id";s:2:"24";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:14;a:3:{s:2:"id";s:2:"25";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:15;a:3:{s:2:"id";s:2:"26";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:16;a:3:{s:2:"id";s:2:"27";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:17;a:3:{s:2:"id";s:2:"28";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:18;a:3:{s:2:"id";s:2:"29";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:19;a:3:{s:2:"id";s:2:"30";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}}}i:51;a:3:{s:8:"sphinxql";s:57:"select *, SNIPPET(body, 'las') from dist_all2 limit 20,20";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:3:{s:2:"id";s:2:"21";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:1;a:3:{s:2:"id";s:2:"22";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:2;a:3:{s:2:"id";s:2:"23";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:3;a:3:{s:2:"id";s:2:"24";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:4;a:3:{s:2:"id";s:2:"25";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:5;a:3:{s:2:"id";s:2:"26";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:6;a:3:{s:2:"id";s:2:"27";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:7;a:3:{s:2:"id";s:2:"28";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:8;a:3:{s:2:"id";s:2:"29";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:9;a:3:{s:2:"id";s:2:"30";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}}}i:52;a:3:{s:8:"sphinxql";s:56:"select *, SNIPPET(body, 'las') from dist_all2 limit 20,2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:2:"21";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}i:1;a:3:{s:2:"id";s:2:"22";s:4:"body";s:15:"viva las mundos";s:20:"snippet(body, 'las')";s:22:"viva las mundos";}}}}}sphinx-2.2.11-release/test/test_142/0000755000175000017500000000000012743402012016403 5ustar alexeyalexeysphinx-2.2.11-release/test/test_142/test.xml0000644000175000017500000000613412743402012020110 0ustar alexeyalexey RT on *nix: watchdog and replaying binlog searchd { workers = threads binlog_path = binlog_path = data } index crc { type = rt path = data/crc rt_field = content rt_attr_uint = idd dict = crc } index kw { type = rt path = data/kw rt_field = content rt_attr_uint = idd dict = keywords min_prefix_len = 1 } source src_test { type = mysql sql_query = select 1, 11 as idd, 'dummy' sql_attr_uint = idd } index test { source = src_test path = /test docinfo = extern dict = crc } $value) { $results[] = $key . " => " . $value; } } } '); $sock = $make_sock( $results ); if ( $sock === false ) { return; } // regression // binlog crashes on replayng commit with delete only statement $query ( $results, "DELETE FROM kw WHERE id=1000", $sock); $query ( $results, "INSERT INTO crc VALUES (1, 'test work', 11)", $sock); $query ( $results, "INSERT INTO kw VALUES (100, 'test stuff', 111)", $sock); $query ( $results, "SELECT * FROM crc,kw WHERE MATCH('test')", $sock ); $query ( $results, "SELECT * FROM crc,kw", $sock ); $query ( $results, "SELECT * FROM test", $sock ); $query ( $results, "UPDATE test SET idd=111 WHERE id=1", $sock ); $query ( $results, "SELECT * FROM test", $sock ); $client->FlushAttributes(); $results[]= "killing"; KillSearchd ('config.conf', 'searchd.pid','KILL',false); usleep ( 150000 ); StartSearchd ( "config.conf", "error.txt", 'searchd.pid', $error, true ); usleep ( 150000 ); $results[] = "connecting again"; $sock = $make_sock( $results ); if ( $sock === false ) { return; } $query ( $results, "SELECT * FROM crc,kw WHERE MATCH('test')", $sock ); $query ( $results, "SELECT * FROM crc,kw", $sock ); $query ( $results, "SELECT * FROM test", $sock ); ]]> sphinx-2.2.11-release/test/test_142/model.bin0000644000175000017500000000440212743402012020175 0ustar alexeyalexeya:2:{i:0;a:1:{i:0;a:27:{i:0;s:53:"query: DELETE FROM kw WHERE id=1000; total_affected:0";i:1;s:68:"query: INSERT INTO crc VALUES (1, 'test work', 11); total_affected:1";i:2;s:71:"query: INSERT INTO kw VALUES (100, 'test stuff', 111); total_affected:1";i:3;s:61:"query: SELECT * FROM crc,kw WHERE MATCH('test'); total_rows:2";i:4;s:7:"id => 1";i:5;s:9:"idd => 11";i:6;s:9:"id => 100";i:7;s:10:"idd => 111";i:8;s:41:"query: SELECT * FROM crc,kw; total_rows:2";i:9;s:7:"id => 1";i:10;s:9:"idd => 11";i:11;s:9:"id => 100";i:12;s:10:"idd => 111";i:13;s:39:"query: SELECT * FROM test; total_rows:1";i:14;s:7:"id => 1";i:15;s:9:"idd => 11";i:16;s:59:"query: UPDATE test SET idd=111 WHERE id=1; total_affected:1";i:17;s:39:"query: SELECT * FROM test; total_rows:1";i:18;s:7:"id => 1";i:19;s:10:"idd => 111";i:20;s:7:"killing";i:21;s:16:"connecting again";i:22;s:61:"query: SELECT * FROM crc,kw WHERE MATCH('test'); total_rows:0";i:23;s:41:"query: SELECT * FROM crc,kw; total_rows:0";i:24;s:39:"query: SELECT * FROM test; total_rows:1";i:25;s:7:"id => 1";i:26;s:10:"idd => 111";}}i:1;a:1:{i:0;a:35:{i:0;s:53:"query: DELETE FROM kw WHERE id=1000; total_affected:0";i:1;s:68:"query: INSERT INTO crc VALUES (1, 'test work', 11); total_affected:1";i:2;s:71:"query: INSERT INTO kw VALUES (100, 'test stuff', 111); total_affected:1";i:3;s:61:"query: SELECT * FROM crc,kw WHERE MATCH('test'); total_rows:2";i:4;s:7:"id => 1";i:5;s:9:"idd => 11";i:6;s:9:"id => 100";i:7;s:10:"idd => 111";i:8;s:41:"query: SELECT * FROM crc,kw; total_rows:2";i:9;s:7:"id => 1";i:10;s:9:"idd => 11";i:11;s:9:"id => 100";i:12;s:10:"idd => 111";i:13;s:39:"query: SELECT * FROM test; total_rows:1";i:14;s:7:"id => 1";i:15;s:9:"idd => 11";i:16;s:59:"query: UPDATE test SET idd=111 WHERE id=1; total_affected:1";i:17;s:39:"query: SELECT * FROM test; total_rows:1";i:18;s:7:"id => 1";i:19;s:10:"idd => 111";i:20;s:7:"killing";i:21;s:16:"connecting again";i:22;s:61:"query: SELECT * FROM crc,kw WHERE MATCH('test'); total_rows:2";i:23;s:7:"id => 1";i:24;s:9:"idd => 11";i:25;s:9:"id => 100";i:26;s:10:"idd => 111";i:27;s:41:"query: SELECT * FROM crc,kw; total_rows:2";i:28;s:7:"id => 1";i:29;s:9:"idd => 11";i:30;s:9:"id => 100";i:31;s:10:"idd => 111";i:32;s:39:"query: SELECT * FROM test; total_rows:1";i:33;s:7:"id => 1";i:34;s:10:"idd => 111";}}}sphinx-2.2.11-release/test/test_141/0000755000175000017500000000000012743402012016402 5ustar alexeyalexeysphinx-2.2.11-release/test/test_141/test.xml0000644000175000017500000000170712743402012020110 0ustar alexeyalexey Crashing of indexer id64 with keywords dict indexer { mem_limit = 64M } searchd { } source srcmain { type = mysql sql_query = SELECT * FROM table141 sql_attr_uint = uint1 } index main { source = srcmain path = /main dict = keywords } select * from main where match('00001') CREATE TABLE `table141` ( `document_id` int(11) NOT NULL default '0', `uint1` int(11) NOT NULL default '0', `body` varchar(25) NOT NULL default '' ) DROP TABLE IF EXISTS `table141` INSERT INTO `table141` VALUES (1, 1, '00001'), (2, 2, '00002'), (3, 3, '00003') sphinx-2.2.11-release/test/test_141/model.bin0000644000175000017500000000025612743402012020177 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:3:{s:8:"sphinxql";s:39:"select * from main where match('00001')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:5:"uint1";s:1:"1";}}}}}sphinx-2.2.11-release/test/test_140/0000755000175000017500000000000012743402012016401 5ustar alexeyalexeysphinx-2.2.11-release/test/test_140/test.xml0000644000175000017500000001151412743402012020104 0ustar alexeyalexey MVA and string via MySQL indexer { mem_limit = 16M } searchd { } source srcmain { type = mysql sql_query = SELECT * FROM test_table sql_attr_uint = idd sql_attr_string = str1 sql_attr_uint = tag sql_attr_multi = uint mva1 from field sql_attr_string = str2 sql_attr_multi = uint mva2 from field sql_attr_multi = bigint mva1 from field sql_attr_string = str2 sql_attr_multi = bigint mva2 from field } index main { source = srcmain path = /main140 } source src_mva_64 { type = mysql sql_query = SELECT * FROM mva_64 sql_attr_uint = idd sql_attr_multi = bigint mva1 from field } index mva_64 { source = src_mva_64 path = /mva_64 } source src_groupby_64 { type = mysql sql_query = SELECT *, 1 as idd, 'dummy' as body FROM groupby_64 sql_attr_uint = idd sql_attr_multi = bigint mva1 from field } index groupby_64 { source = src_groupby_64 path = /groupby_64 } select * from main order by idd asc select * from main where match('main') order by idd asc select * from main where match('delta') order by idd asc select * from main where match('main | delta') order by idd asc select * from mva_64 select * from mva_64 where mva1=-2099511627775 select * from mva_64 where mva1=55599511627775 50099511627775 ]]> select * from groupby_64 select * from groupby_64 group by mva1 CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `idd` int(11) NOT NULL default '0', `tag` int(11) NOT NULL default '0', `mva1` varchar(255) NOT NULL default '', `mva2` varchar(255) NOT NULL default '', `body` varchar(255) NOT NULL default '', `str1` varchar(255) NOT NULL default '', `str2` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 1, 1, '', '1 2 3','main and delta', 'some attribute', 'more data are here' ), ( 2, 2, 0, '2 22 222', '', 'main and delta' , 'is it sunny', ''), ( 3, 3, 0, '3 33 333', '5 6 7','main and delta' , '', 'cool place' ), ( 4, 4, 1, '', '', 'delta', '', '' ), ( 5, 5, 1, '', '', 'delta', 'good stuff', 'step ahead' ), ( 6, 6, 0, '6', '', 'delta', 'reality real', 'reality augumented' ), ( 7, 7, 1, '7', '', 'main', 'how its going', 'well' ), ( 8, 8, 1, '8', '', 'main', 'its going...', '?!?!?!' ), ( 9, 9, 0, '1 10 100', '9 0 1','delta', '', '' ), (10, 10, 0, '2 20 200', '', 'delta', '', 'a' ), (11, 11, 0, '', '', 'delta', 'b', '' ) CREATE TABLE `mva_64` ( `id` int(11) NOT NULL default '0', `idd` int(11) NOT NULL default '0', `mva1` varchar(255) NOT NULL default '', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `mva_64` INSERT INTO `mva_64` VALUES ( 100, 1, '1099511627775 50099511627775 -1099511627775 2099511627775', 'dummy' ), ( 200, 1, '50099511627775 11099511627775 501099511627775 -2099511627775', 'dummy' ), ( 300, 2, '-1099511627775 50099511627775 50099511627772 -2099511627771', 'dummy' ), ( 400, 2, '-1099511627775 50099511627771 -1099511627775 55599511627775', 'dummy' ) CREATE TABLE `groupby_64` ( `id` int(11) NOT NULL default '0', `mva1` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `groupby_64` INSERT INTO `groupby_64` VALUES ( 100, '281474992439296' ), ( 200, '844424945860608' ), ( 300, '1970324852703232' ), ( 400, '281474992439296 1970324852703232' ) sphinx-2.2.11-release/test/test_140/model.bin0000644000175000017500000006501212743402012020177 0ustar alexeyalexeya:2:{i:0;a:18:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"idd";i:1;s:4:"mva1";i:1073741826;}s:7:"matches";a:4:{i:100;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:1;s:4:"mva1";a:4:{i:0;s:14:"-1099511627775";i:1;s:13:"1099511627775";i:2;s:13:"2099511627775";i:3;s:14:"50099511627775";}}}i:200;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:1;s:4:"mva1";a:4:{i:0;s:14:"-2099511627775";i:1;s:14:"11099511627775";i:2;s:14:"50099511627775";i:3;s:15:"501099511627775";}}}i:300;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:2;s:4:"mva1";a:4:{i:0;s:14:"-2099511627771";i:1;s:14:"-1099511627775";i:2;s:14:"50099511627772";i:3;s:14:"50099511627775";}}}i:400;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:2;s:4:"mva1";a:3:{i:0;s:14:"-1099511627775";i:1;s:14:"50099511627771";i:2;s:14:"55599511627775";}}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"idd";i:1;s:4:"mva1";i:1073741826;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:1;s:4:"mva1";a:4:{i:0;s:14:"-2099511627775";i:1;s:14:"11099511627775";i:2;s:14:"50099511627775";i:3;s:15:"501099511627775";}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"idd";i:1;s:4:"mva1";i:1073741826;}s:7:"matches";a:1:{i:400;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:2;s:4:"mva1";a:3:{i:0;s:14:"-1099511627775";i:1;s:14:"50099511627771";i:2;s:14:"55599511627775";}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"idd";i:1;s:4:"mva1";i:1073741826;}s:7:"matches";a:4:{i:100;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:1;s:4:"mva1";a:4:{i:0;s:14:"-1099511627775";i:1;s:13:"1099511627775";i:2;s:13:"2099511627775";i:3;s:14:"50099511627775";}}}i:200;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:1;s:4:"mva1";a:4:{i:0;s:14:"-2099511627775";i:1;s:14:"11099511627775";i:2;s:14:"50099511627775";i:3;s:15:"501099511627775";}}}i:300;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:2;s:4:"mva1";a:4:{i:0;s:14:"-2099511627771";i:1;s:14:"-1099511627775";i:2;s:14:"50099511627772";i:3;s:14:"50099511627775";}}}i:400;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:2;s:4:"mva1";a:3:{i:0;s:14:"-1099511627775";i:1;s:14:"50099511627771";i:2;s:14:"55599511627775";}}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"idd";i:1;s:4:"mva1";i:1073741826;}s:7:"matches";a:2:{i:200;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:1;s:4:"mva1";a:4:{i:0;s:14:"-2099511627775";i:1;s:14:"11099511627775";i:2;s:14:"50099511627775";i:3;s:15:"501099511627775";}}}i:300;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:2;s:4:"mva1";a:4:{i:0;s:14:"-2099511627771";i:1;s:14:"-1099511627775";i:2;s:14:"50099511627772";i:3;s:14:"50099511627775";}}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"idd";i:1;s:4:"mva1";i:1073741826;}s:7:"matches";a:2:{i:200;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:1;s:4:"mva1";a:4:{i:0;s:14:"-2099511627775";i:1;s:14:"11099511627775";i:2;s:14:"50099511627775";i:3;s:15:"501099511627775";}}}i:400;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:2;s:4:"mva1";a:3:{i:0;s:14:"-1099511627775";i:1;s:14:"50099511627771";i:2;s:14:"55599511627775";}}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:6;a:3:{s:8:"sphinxql";s:35:"select * from main order by idd asc";s:10:"total_rows";i:11;s:4:"rows";a:11:{i:0;a:7:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:3:"tag";s:1:"1";s:4:"mva1";s:0:"";s:4:"mva2";s:5:"1,2,3";s:4:"str1";s:14:"some attribute";s:4:"str2";s:18:"more data are here";}i:1;a:7:{s:2:"id";s:1:"2";s:3:"idd";s:1:"2";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"2,22,222";s:4:"mva2";s:0:"";s:4:"str1";s:11:"is it sunny";s:4:"str2";s:0:"";}i:2;a:7:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"3,33,333";s:4:"mva2";s:5:"5,6,7";s:4:"str1";s:0:"";s:4:"str2";s:10:"cool place";}i:3;a:7:{s:2:"id";s:1:"4";s:3:"idd";s:1:"4";s:3:"tag";s:1:"1";s:4:"mva1";s:0:"";s:4:"mva2";s:0:"";s:4:"str1";s:0:"";s:4:"str2";s:0:"";}i:4;a:7:{s:2:"id";s:1:"5";s:3:"idd";s:1:"5";s:3:"tag";s:1:"1";s:4:"mva1";s:0:"";s:4:"mva2";s:0:"";s:4:"str1";s:10:"good stuff";s:4:"str2";s:10:"step ahead";}i:5;a:7:{s:2:"id";s:1:"6";s:3:"idd";s:1:"6";s:3:"tag";s:1:"0";s:4:"mva1";s:1:"6";s:4:"mva2";s:0:"";s:4:"str1";s:12:"reality real";s:4:"str2";s:18:"reality augumented";}i:6;a:7:{s:2:"id";s:1:"7";s:3:"idd";s:1:"7";s:3:"tag";s:1:"1";s:4:"mva1";s:1:"7";s:4:"mva2";s:0:"";s:4:"str1";s:13:"how its going";s:4:"str2";s:4:"well";}i:7;a:7:{s:2:"id";s:1:"8";s:3:"idd";s:1:"8";s:3:"tag";s:1:"1";s:4:"mva1";s:1:"8";s:4:"mva2";s:0:"";s:4:"str1";s:12:"its going...";s:4:"str2";s:6:"?!?!?!";}i:8;a:7:{s:2:"id";s:1:"9";s:3:"idd";s:1:"9";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:5:"0,1,9";s:4:"str1";s:0:"";s:4:"str2";s:0:"";}i:9;a:7:{s:2:"id";s:2:"10";s:3:"idd";s:2:"10";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"2,20,200";s:4:"mva2";s:0:"";s:4:"str1";s:0:"";s:4:"str2";s:1:"a";}i:10;a:7:{s:2:"id";s:2:"11";s:3:"idd";s:2:"11";s:3:"tag";s:1:"0";s:4:"mva1";s:0:"";s:4:"mva2";s:0:"";s:4:"str1";s:1:"b";s:4:"str2";s:0:"";}}}i:7;a:3:{s:8:"sphinxql";s:55:"select * from main where match('main') order by idd asc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:7:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:3:"tag";s:1:"1";s:4:"mva1";s:0:"";s:4:"mva2";s:5:"1,2,3";s:4:"str1";s:14:"some attribute";s:4:"str2";s:18:"more data are here";}i:1;a:7:{s:2:"id";s:1:"2";s:3:"idd";s:1:"2";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"2,22,222";s:4:"mva2";s:0:"";s:4:"str1";s:11:"is it sunny";s:4:"str2";s:0:"";}i:2;a:7:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"3,33,333";s:4:"mva2";s:5:"5,6,7";s:4:"str1";s:0:"";s:4:"str2";s:10:"cool place";}i:3;a:7:{s:2:"id";s:1:"7";s:3:"idd";s:1:"7";s:3:"tag";s:1:"1";s:4:"mva1";s:1:"7";s:4:"mva2";s:0:"";s:4:"str1";s:13:"how its going";s:4:"str2";s:4:"well";}i:4;a:7:{s:2:"id";s:1:"8";s:3:"idd";s:1:"8";s:3:"tag";s:1:"1";s:4:"mva1";s:1:"8";s:4:"mva2";s:0:"";s:4:"str1";s:12:"its going...";s:4:"str2";s:6:"?!?!?!";}}}i:8;a:3:{s:8:"sphinxql";s:56:"select * from main where match('delta') order by idd asc";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:7:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:3:"tag";s:1:"1";s:4:"mva1";s:0:"";s:4:"mva2";s:5:"1,2,3";s:4:"str1";s:14:"some attribute";s:4:"str2";s:18:"more data are here";}i:1;a:7:{s:2:"id";s:1:"2";s:3:"idd";s:1:"2";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"2,22,222";s:4:"mva2";s:0:"";s:4:"str1";s:11:"is it sunny";s:4:"str2";s:0:"";}i:2;a:7:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"3,33,333";s:4:"mva2";s:5:"5,6,7";s:4:"str1";s:0:"";s:4:"str2";s:10:"cool place";}i:3;a:7:{s:2:"id";s:1:"4";s:3:"idd";s:1:"4";s:3:"tag";s:1:"1";s:4:"mva1";s:0:"";s:4:"mva2";s:0:"";s:4:"str1";s:0:"";s:4:"str2";s:0:"";}i:4;a:7:{s:2:"id";s:1:"5";s:3:"idd";s:1:"5";s:3:"tag";s:1:"1";s:4:"mva1";s:0:"";s:4:"mva2";s:0:"";s:4:"str1";s:10:"good stuff";s:4:"str2";s:10:"step ahead";}i:5;a:7:{s:2:"id";s:1:"6";s:3:"idd";s:1:"6";s:3:"tag";s:1:"0";s:4:"mva1";s:1:"6";s:4:"mva2";s:0:"";s:4:"str1";s:12:"reality real";s:4:"str2";s:18:"reality augumented";}i:6;a:7:{s:2:"id";s:1:"9";s:3:"idd";s:1:"9";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:5:"0,1,9";s:4:"str1";s:0:"";s:4:"str2";s:0:"";}i:7;a:7:{s:2:"id";s:2:"10";s:3:"idd";s:2:"10";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"2,20,200";s:4:"mva2";s:0:"";s:4:"str1";s:0:"";s:4:"str2";s:1:"a";}i:8;a:7:{s:2:"id";s:2:"11";s:3:"idd";s:2:"11";s:3:"tag";s:1:"0";s:4:"mva1";s:0:"";s:4:"mva2";s:0:"";s:4:"str1";s:1:"b";s:4:"str2";s:0:"";}}}i:9;a:3:{s:8:"sphinxql";s:63:"select * from main where match('main | delta') order by idd asc";s:10:"total_rows";i:11;s:4:"rows";a:11:{i:0;a:7:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:3:"tag";s:1:"1";s:4:"mva1";s:0:"";s:4:"mva2";s:5:"1,2,3";s:4:"str1";s:14:"some attribute";s:4:"str2";s:18:"more data are here";}i:1;a:7:{s:2:"id";s:1:"2";s:3:"idd";s:1:"2";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"2,22,222";s:4:"mva2";s:0:"";s:4:"str1";s:11:"is it sunny";s:4:"str2";s:0:"";}i:2;a:7:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"3,33,333";s:4:"mva2";s:5:"5,6,7";s:4:"str1";s:0:"";s:4:"str2";s:10:"cool place";}i:3;a:7:{s:2:"id";s:1:"4";s:3:"idd";s:1:"4";s:3:"tag";s:1:"1";s:4:"mva1";s:0:"";s:4:"mva2";s:0:"";s:4:"str1";s:0:"";s:4:"str2";s:0:"";}i:4;a:7:{s:2:"id";s:1:"5";s:3:"idd";s:1:"5";s:3:"tag";s:1:"1";s:4:"mva1";s:0:"";s:4:"mva2";s:0:"";s:4:"str1";s:10:"good stuff";s:4:"str2";s:10:"step ahead";}i:5;a:7:{s:2:"id";s:1:"6";s:3:"idd";s:1:"6";s:3:"tag";s:1:"0";s:4:"mva1";s:1:"6";s:4:"mva2";s:0:"";s:4:"str1";s:12:"reality real";s:4:"str2";s:18:"reality augumented";}i:6;a:7:{s:2:"id";s:1:"7";s:3:"idd";s:1:"7";s:3:"tag";s:1:"1";s:4:"mva1";s:1:"7";s:4:"mva2";s:0:"";s:4:"str1";s:13:"how its going";s:4:"str2";s:4:"well";}i:7;a:7:{s:2:"id";s:1:"8";s:3:"idd";s:1:"8";s:3:"tag";s:1:"1";s:4:"mva1";s:1:"8";s:4:"mva2";s:0:"";s:4:"str1";s:12:"its going...";s:4:"str2";s:6:"?!?!?!";}i:8;a:7:{s:2:"id";s:1:"9";s:3:"idd";s:1:"9";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:5:"0,1,9";s:4:"str1";s:0:"";s:4:"str2";s:0:"";}i:9;a:7:{s:2:"id";s:2:"10";s:3:"idd";s:2:"10";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"2,20,200";s:4:"mva2";s:0:"";s:4:"str1";s:0:"";s:4:"str2";s:1:"a";}i:10;a:7:{s:2:"id";s:2:"11";s:3:"idd";s:2:"11";s:3:"tag";s:1:"0";s:4:"mva1";s:0:"";s:4:"mva2";s:0:"";s:4:"str1";s:1:"b";s:4:"str2";s:0:"";}}}i:10;a:3:{s:8:"sphinxql";s:20:"select * from mva_64";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:3:"100";s:3:"idd";s:1:"1";s:4:"mva1";s:57:"-1099511627775,1099511627775,2099511627775,50099511627775";}i:1;a:3:{s:2:"id";s:3:"200";s:3:"idd";s:1:"1";s:4:"mva1";s:60:"-2099511627775,11099511627775,50099511627775,501099511627775";}i:2;a:3:{s:2:"id";s:3:"300";s:3:"idd";s:1:"2";s:4:"mva1";s:59:"-2099511627771,-1099511627775,50099511627772,50099511627775";}i:3;a:3:{s:2:"id";s:3:"400";s:3:"idd";s:1:"2";s:4:"mva1";s:44:"-1099511627775,50099511627771,55599511627775";}}}i:11;a:3:{s:8:"sphinxql";s:47:"select * from mva_64 where mva1=-2099511627775 ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:3:"200";s:3:"idd";s:1:"1";s:4:"mva1";s:60:"-2099511627775,11099511627775,50099511627775,501099511627775";}}}i:12;a:3:{s:8:"sphinxql";s:47:"select * from mva_64 where mva1=55599511627775 ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:3:"400";s:3:"idd";s:1:"2";s:4:"mva1";s:44:"-1099511627775,50099511627771,55599511627775";}}}i:13;a:3:{s:8:"sphinxql";s:37:" select * from mva_64 where mva1<-10 ";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:3:"100";s:3:"idd";s:1:"1";s:4:"mva1";s:57:"-1099511627775,1099511627775,2099511627775,50099511627775";}i:1;a:3:{s:2:"id";s:3:"200";s:3:"idd";s:1:"1";s:4:"mva1";s:60:"-2099511627775,11099511627775,50099511627775,501099511627775";}i:2;a:3:{s:2:"id";s:3:"300";s:3:"idd";s:1:"2";s:4:"mva1";s:59:"-2099511627771,-1099511627775,50099511627772,50099511627775";}i:3;a:3:{s:2:"id";s:3:"400";s:3:"idd";s:1:"2";s:4:"mva1";s:44:"-1099511627775,50099511627771,55599511627775";}}}i:14;a:3:{s:8:"sphinxql";s:48:" select * from mva_64 where mva1<-1099511627775 ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:3:"200";s:3:"idd";s:1:"1";s:4:"mva1";s:60:"-2099511627775,11099511627775,50099511627775,501099511627775";}i:1;a:3:{s:2:"id";s:3:"300";s:3:"idd";s:1:"2";s:4:"mva1";s:59:"-2099511627771,-1099511627775,50099511627772,50099511627775";}}}i:15;a:3:{s:8:"sphinxql";s:48:" select * from mva_64 where mva1>50099511627775 ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:3:"200";s:3:"idd";s:1:"1";s:4:"mva1";s:60:"-2099511627775,11099511627775,50099511627775,501099511627775";}i:1;a:3:{s:2:"id";s:3:"400";s:3:"idd";s:1:"2";s:4:"mva1";s:44:"-1099511627775,50099511627771,55599511627775";}}}i:16;a:3:{s:8:"sphinxql";s:24:"select * from groupby_64";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:3:"100";s:4:"mva1";s:15:"281474992439296";s:3:"idd";s:1:"1";}i:1;a:3:{s:2:"id";s:3:"200";s:4:"mva1";s:15:"844424945860608";s:3:"idd";s:1:"1";}i:2;a:3:{s:2:"id";s:3:"300";s:4:"mva1";s:16:"1970324852703232";s:3:"idd";s:1:"1";}i:3;a:3:{s:2:"id";s:3:"400";s:4:"mva1";s:32:"281474992439296,1970324852703232";s:3:"idd";s:1:"1";}}}i:17;a:3:{s:8:"sphinxql";s:38:"select * from groupby_64 group by mva1";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:3:"100";s:4:"mva1";s:15:"281474992439296";s:3:"idd";s:1:"1";}i:1;a:3:{s:2:"id";s:3:"200";s:4:"mva1";s:15:"844424945860608";s:3:"idd";s:1:"1";}i:2;a:3:{s:2:"id";s:3:"300";s:4:"mva1";s:16:"1970324852703232";s:3:"idd";s:1:"1";}}}}i:1;a:18:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"idd";i:1;s:4:"mva1";i:1073741826;}s:7:"matches";a:4:{i:100;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:1;s:4:"mva1";a:4:{i:0;s:14:"-1099511627775";i:1;s:13:"1099511627775";i:2;s:13:"2099511627775";i:3;s:14:"50099511627775";}}}i:200;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:1;s:4:"mva1";a:4:{i:0;s:14:"-2099511627775";i:1;s:14:"11099511627775";i:2;s:14:"50099511627775";i:3;s:15:"501099511627775";}}}i:300;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:2;s:4:"mva1";a:4:{i:0;s:14:"-2099511627771";i:1;s:14:"-1099511627775";i:2;s:14:"50099511627772";i:3;s:14:"50099511627775";}}}i:400;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:2;s:4:"mva1";a:3:{i:0;s:14:"-1099511627775";i:1;s:14:"50099511627771";i:2;s:14:"55599511627775";}}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"idd";i:1;s:4:"mva1";i:1073741826;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:1;s:4:"mva1";a:4:{i:0;s:14:"-2099511627775";i:1;s:14:"11099511627775";i:2;s:14:"50099511627775";i:3;s:15:"501099511627775";}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"idd";i:1;s:4:"mva1";i:1073741826;}s:7:"matches";a:1:{i:400;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:2;s:4:"mva1";a:3:{i:0;s:14:"-1099511627775";i:1;s:14:"50099511627771";i:2;s:14:"55599511627775";}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"idd";i:1;s:4:"mva1";i:1073741826;}s:7:"matches";a:4:{i:100;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:1;s:4:"mva1";a:4:{i:0;s:14:"-1099511627775";i:1;s:13:"1099511627775";i:2;s:13:"2099511627775";i:3;s:14:"50099511627775";}}}i:200;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:1;s:4:"mva1";a:4:{i:0;s:14:"-2099511627775";i:1;s:14:"11099511627775";i:2;s:14:"50099511627775";i:3;s:15:"501099511627775";}}}i:300;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:2;s:4:"mva1";a:4:{i:0;s:14:"-2099511627771";i:1;s:14:"-1099511627775";i:2;s:14:"50099511627772";i:3;s:14:"50099511627775";}}}i:400;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:2;s:4:"mva1";a:3:{i:0;s:14:"-1099511627775";i:1;s:14:"50099511627771";i:2;s:14:"55599511627775";}}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"idd";i:1;s:4:"mva1";i:1073741826;}s:7:"matches";a:2:{i:200;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:1;s:4:"mva1";a:4:{i:0;s:14:"-2099511627775";i:1;s:14:"11099511627775";i:2;s:14:"50099511627775";i:3;s:15:"501099511627775";}}}i:300;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:2;s:4:"mva1";a:4:{i:0;s:14:"-2099511627771";i:1;s:14:"-1099511627775";i:2;s:14:"50099511627772";i:3;s:14:"50099511627775";}}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"idd";i:1;s:4:"mva1";i:1073741826;}s:7:"matches";a:2:{i:200;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:1;s:4:"mva1";a:4:{i:0;s:14:"-2099511627775";i:1;s:14:"11099511627775";i:2;s:14:"50099511627775";i:3;s:15:"501099511627775";}}}i:400;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"idd";i:2;s:4:"mva1";a:3:{i:0;s:14:"-1099511627775";i:1;s:14:"50099511627771";i:2;s:14:"55599511627775";}}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:6;a:3:{s:8:"sphinxql";s:35:"select * from main order by idd asc";s:10:"total_rows";i:11;s:4:"rows";a:11:{i:0;a:7:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:3:"tag";s:1:"1";s:4:"mva1";s:0:"";s:4:"mva2";s:5:"1,2,3";s:4:"str1";s:14:"some attribute";s:4:"str2";s:18:"more data are here";}i:1;a:7:{s:2:"id";s:1:"2";s:3:"idd";s:1:"2";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"2,22,222";s:4:"mva2";s:0:"";s:4:"str1";s:11:"is it sunny";s:4:"str2";s:0:"";}i:2;a:7:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"3,33,333";s:4:"mva2";s:5:"5,6,7";s:4:"str1";s:0:"";s:4:"str2";s:10:"cool place";}i:3;a:7:{s:2:"id";s:1:"4";s:3:"idd";s:1:"4";s:3:"tag";s:1:"1";s:4:"mva1";s:0:"";s:4:"mva2";s:0:"";s:4:"str1";s:0:"";s:4:"str2";s:0:"";}i:4;a:7:{s:2:"id";s:1:"5";s:3:"idd";s:1:"5";s:3:"tag";s:1:"1";s:4:"mva1";s:0:"";s:4:"mva2";s:0:"";s:4:"str1";s:10:"good stuff";s:4:"str2";s:10:"step ahead";}i:5;a:7:{s:2:"id";s:1:"6";s:3:"idd";s:1:"6";s:3:"tag";s:1:"0";s:4:"mva1";s:1:"6";s:4:"mva2";s:0:"";s:4:"str1";s:12:"reality real";s:4:"str2";s:18:"reality augumented";}i:6;a:7:{s:2:"id";s:1:"7";s:3:"idd";s:1:"7";s:3:"tag";s:1:"1";s:4:"mva1";s:1:"7";s:4:"mva2";s:0:"";s:4:"str1";s:13:"how its going";s:4:"str2";s:4:"well";}i:7;a:7:{s:2:"id";s:1:"8";s:3:"idd";s:1:"8";s:3:"tag";s:1:"1";s:4:"mva1";s:1:"8";s:4:"mva2";s:0:"";s:4:"str1";s:12:"its going...";s:4:"str2";s:6:"?!?!?!";}i:8;a:7:{s:2:"id";s:1:"9";s:3:"idd";s:1:"9";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:5:"0,1,9";s:4:"str1";s:0:"";s:4:"str2";s:0:"";}i:9;a:7:{s:2:"id";s:2:"10";s:3:"idd";s:2:"10";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"2,20,200";s:4:"mva2";s:0:"";s:4:"str1";s:0:"";s:4:"str2";s:1:"a";}i:10;a:7:{s:2:"id";s:2:"11";s:3:"idd";s:2:"11";s:3:"tag";s:1:"0";s:4:"mva1";s:0:"";s:4:"mva2";s:0:"";s:4:"str1";s:1:"b";s:4:"str2";s:0:"";}}}i:7;a:3:{s:8:"sphinxql";s:55:"select * from main where match('main') order by idd asc";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:7:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:3:"tag";s:1:"1";s:4:"mva1";s:0:"";s:4:"mva2";s:5:"1,2,3";s:4:"str1";s:14:"some attribute";s:4:"str2";s:18:"more data are here";}i:1;a:7:{s:2:"id";s:1:"2";s:3:"idd";s:1:"2";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"2,22,222";s:4:"mva2";s:0:"";s:4:"str1";s:11:"is it sunny";s:4:"str2";s:0:"";}i:2;a:7:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"3,33,333";s:4:"mva2";s:5:"5,6,7";s:4:"str1";s:0:"";s:4:"str2";s:10:"cool place";}i:3;a:7:{s:2:"id";s:1:"7";s:3:"idd";s:1:"7";s:3:"tag";s:1:"1";s:4:"mva1";s:1:"7";s:4:"mva2";s:0:"";s:4:"str1";s:13:"how its going";s:4:"str2";s:4:"well";}i:4;a:7:{s:2:"id";s:1:"8";s:3:"idd";s:1:"8";s:3:"tag";s:1:"1";s:4:"mva1";s:1:"8";s:4:"mva2";s:0:"";s:4:"str1";s:12:"its going...";s:4:"str2";s:6:"?!?!?!";}}}i:8;a:3:{s:8:"sphinxql";s:56:"select * from main where match('delta') order by idd asc";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:7:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:3:"tag";s:1:"1";s:4:"mva1";s:0:"";s:4:"mva2";s:5:"1,2,3";s:4:"str1";s:14:"some attribute";s:4:"str2";s:18:"more data are here";}i:1;a:7:{s:2:"id";s:1:"2";s:3:"idd";s:1:"2";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"2,22,222";s:4:"mva2";s:0:"";s:4:"str1";s:11:"is it sunny";s:4:"str2";s:0:"";}i:2;a:7:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"3,33,333";s:4:"mva2";s:5:"5,6,7";s:4:"str1";s:0:"";s:4:"str2";s:10:"cool place";}i:3;a:7:{s:2:"id";s:1:"4";s:3:"idd";s:1:"4";s:3:"tag";s:1:"1";s:4:"mva1";s:0:"";s:4:"mva2";s:0:"";s:4:"str1";s:0:"";s:4:"str2";s:0:"";}i:4;a:7:{s:2:"id";s:1:"5";s:3:"idd";s:1:"5";s:3:"tag";s:1:"1";s:4:"mva1";s:0:"";s:4:"mva2";s:0:"";s:4:"str1";s:10:"good stuff";s:4:"str2";s:10:"step ahead";}i:5;a:7:{s:2:"id";s:1:"6";s:3:"idd";s:1:"6";s:3:"tag";s:1:"0";s:4:"mva1";s:1:"6";s:4:"mva2";s:0:"";s:4:"str1";s:12:"reality real";s:4:"str2";s:18:"reality augumented";}i:6;a:7:{s:2:"id";s:1:"9";s:3:"idd";s:1:"9";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:5:"0,1,9";s:4:"str1";s:0:"";s:4:"str2";s:0:"";}i:7;a:7:{s:2:"id";s:2:"10";s:3:"idd";s:2:"10";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"2,20,200";s:4:"mva2";s:0:"";s:4:"str1";s:0:"";s:4:"str2";s:1:"a";}i:8;a:7:{s:2:"id";s:2:"11";s:3:"idd";s:2:"11";s:3:"tag";s:1:"0";s:4:"mva1";s:0:"";s:4:"mva2";s:0:"";s:4:"str1";s:1:"b";s:4:"str2";s:0:"";}}}i:9;a:3:{s:8:"sphinxql";s:63:"select * from main where match('main | delta') order by idd asc";s:10:"total_rows";i:11;s:4:"rows";a:11:{i:0;a:7:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:3:"tag";s:1:"1";s:4:"mva1";s:0:"";s:4:"mva2";s:5:"1,2,3";s:4:"str1";s:14:"some attribute";s:4:"str2";s:18:"more data are here";}i:1;a:7:{s:2:"id";s:1:"2";s:3:"idd";s:1:"2";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"2,22,222";s:4:"mva2";s:0:"";s:4:"str1";s:11:"is it sunny";s:4:"str2";s:0:"";}i:2;a:7:{s:2:"id";s:1:"3";s:3:"idd";s:1:"3";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"3,33,333";s:4:"mva2";s:5:"5,6,7";s:4:"str1";s:0:"";s:4:"str2";s:10:"cool place";}i:3;a:7:{s:2:"id";s:1:"4";s:3:"idd";s:1:"4";s:3:"tag";s:1:"1";s:4:"mva1";s:0:"";s:4:"mva2";s:0:"";s:4:"str1";s:0:"";s:4:"str2";s:0:"";}i:4;a:7:{s:2:"id";s:1:"5";s:3:"idd";s:1:"5";s:3:"tag";s:1:"1";s:4:"mva1";s:0:"";s:4:"mva2";s:0:"";s:4:"str1";s:10:"good stuff";s:4:"str2";s:10:"step ahead";}i:5;a:7:{s:2:"id";s:1:"6";s:3:"idd";s:1:"6";s:3:"tag";s:1:"0";s:4:"mva1";s:1:"6";s:4:"mva2";s:0:"";s:4:"str1";s:12:"reality real";s:4:"str2";s:18:"reality augumented";}i:6;a:7:{s:2:"id";s:1:"7";s:3:"idd";s:1:"7";s:3:"tag";s:1:"1";s:4:"mva1";s:1:"7";s:4:"mva2";s:0:"";s:4:"str1";s:13:"how its going";s:4:"str2";s:4:"well";}i:7;a:7:{s:2:"id";s:1:"8";s:3:"idd";s:1:"8";s:3:"tag";s:1:"1";s:4:"mva1";s:1:"8";s:4:"mva2";s:0:"";s:4:"str1";s:12:"its going...";s:4:"str2";s:6:"?!?!?!";}i:8;a:7:{s:2:"id";s:1:"9";s:3:"idd";s:1:"9";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"1,10,100";s:4:"mva2";s:5:"0,1,9";s:4:"str1";s:0:"";s:4:"str2";s:0:"";}i:9;a:7:{s:2:"id";s:2:"10";s:3:"idd";s:2:"10";s:3:"tag";s:1:"0";s:4:"mva1";s:8:"2,20,200";s:4:"mva2";s:0:"";s:4:"str1";s:0:"";s:4:"str2";s:1:"a";}i:10;a:7:{s:2:"id";s:2:"11";s:3:"idd";s:2:"11";s:3:"tag";s:1:"0";s:4:"mva1";s:0:"";s:4:"mva2";s:0:"";s:4:"str1";s:1:"b";s:4:"str2";s:0:"";}}}i:10;a:3:{s:8:"sphinxql";s:20:"select * from mva_64";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:3:"100";s:3:"idd";s:1:"1";s:4:"mva1";s:57:"-1099511627775,1099511627775,2099511627775,50099511627775";}i:1;a:3:{s:2:"id";s:3:"200";s:3:"idd";s:1:"1";s:4:"mva1";s:60:"-2099511627775,11099511627775,50099511627775,501099511627775";}i:2;a:3:{s:2:"id";s:3:"300";s:3:"idd";s:1:"2";s:4:"mva1";s:59:"-2099511627771,-1099511627775,50099511627772,50099511627775";}i:3;a:3:{s:2:"id";s:3:"400";s:3:"idd";s:1:"2";s:4:"mva1";s:44:"-1099511627775,50099511627771,55599511627775";}}}i:11;a:3:{s:8:"sphinxql";s:47:"select * from mva_64 where mva1=-2099511627775 ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:3:"200";s:3:"idd";s:1:"1";s:4:"mva1";s:60:"-2099511627775,11099511627775,50099511627775,501099511627775";}}}i:12;a:3:{s:8:"sphinxql";s:47:"select * from mva_64 where mva1=55599511627775 ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:3:"400";s:3:"idd";s:1:"2";s:4:"mva1";s:44:"-1099511627775,50099511627771,55599511627775";}}}i:13;a:3:{s:8:"sphinxql";s:37:" select * from mva_64 where mva1<-10 ";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:3:"100";s:3:"idd";s:1:"1";s:4:"mva1";s:57:"-1099511627775,1099511627775,2099511627775,50099511627775";}i:1;a:3:{s:2:"id";s:3:"200";s:3:"idd";s:1:"1";s:4:"mva1";s:60:"-2099511627775,11099511627775,50099511627775,501099511627775";}i:2;a:3:{s:2:"id";s:3:"300";s:3:"idd";s:1:"2";s:4:"mva1";s:59:"-2099511627771,-1099511627775,50099511627772,50099511627775";}i:3;a:3:{s:2:"id";s:3:"400";s:3:"idd";s:1:"2";s:4:"mva1";s:44:"-1099511627775,50099511627771,55599511627775";}}}i:14;a:3:{s:8:"sphinxql";s:48:" select * from mva_64 where mva1<-1099511627775 ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:3:"200";s:3:"idd";s:1:"1";s:4:"mva1";s:60:"-2099511627775,11099511627775,50099511627775,501099511627775";}i:1;a:3:{s:2:"id";s:3:"300";s:3:"idd";s:1:"2";s:4:"mva1";s:59:"-2099511627771,-1099511627775,50099511627772,50099511627775";}}}i:15;a:3:{s:8:"sphinxql";s:48:" select * from mva_64 where mva1>50099511627775 ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:3:"200";s:3:"idd";s:1:"1";s:4:"mva1";s:60:"-2099511627775,11099511627775,50099511627775,501099511627775";}i:1;a:3:{s:2:"id";s:3:"400";s:3:"idd";s:1:"2";s:4:"mva1";s:44:"-1099511627775,50099511627771,55599511627775";}}}i:16;a:3:{s:8:"sphinxql";s:24:"select * from groupby_64";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:3:"100";s:4:"mva1";s:15:"281474992439296";s:3:"idd";s:1:"1";}i:1;a:3:{s:2:"id";s:3:"200";s:4:"mva1";s:15:"844424945860608";s:3:"idd";s:1:"1";}i:2;a:3:{s:2:"id";s:3:"300";s:4:"mva1";s:16:"1970324852703232";s:3:"idd";s:1:"1";}i:3;a:3:{s:2:"id";s:3:"400";s:4:"mva1";s:32:"281474992439296,1970324852703232";s:3:"idd";s:1:"1";}}}i:17;a:3:{s:8:"sphinxql";s:38:"select * from groupby_64 group by mva1";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:3:"100";s:4:"mva1";s:15:"281474992439296";s:3:"idd";s:1:"1";}i:1;a:3:{s:2:"id";s:3:"200";s:4:"mva1";s:15:"844424945860608";s:3:"idd";s:1:"1";}i:2;a:3:{s:2:"id";s:3:"300";s:4:"mva1";s:16:"1970324852703232";s:3:"idd";s:1:"1";}}}}}sphinx-2.2.11-release/test/test_139/0000755000175000017500000000000012743402012016411 5ustar alexeyalexeysphinx-2.2.11-release/test/test_139/test.xml0000644000175000017500000000323112743402012020111 0ustar alexeyalexey string attributes vs buffer ovverun indexer { mem_limit = 16M } searchd { } source test { type = mysql sql_query = SELECT * FROM test_table sql_attr_uint = idd sql_attr_string = attr1 sql_attr_string = attr2 } index test { source = test path = /test docinfo = extern } source utf1 { type = mysql sql_query = SELECT 101, CONCAT(CONCAT('12 dog ', UNHEX ('F4808080') ), '24 doggy show') title, 100 as idd sql_attr_uint = idd } index utf1 { source = utf1 path = /utf1 docinfo = extern min_infix_len = 3 dict = keywords } CREATE TABLE test_table ( id INT NOT NULL, text VARCHAR(255) NOT NULL, idd INT NOT NULL, attr1 VARCHAR(5000) NOT NULL, attr2 VARCHAR(5000) NOT NULL ); DROP TABLE IF EXISTS test_table; select * from test AddQuery ( "dog \xF4\x80\x80\x8024", 'utf1' ); $results = $client->RunQueries (); if ( is_array($results) ) for ( $i=0; $iBuildKeywords ( "dog \xF4\x80\x80\x8024", 'utf1', True ); ]]> sphinx-2.2.11-release/test/test_139/model.bin0000644000175000017500000002223312743402012020205 0ustar alexeyalexeya:1:{i:0;a:2:{i:0;a:2:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:1:{i:101;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"idd";i:100;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:2:{s:3:"dog";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:6:"􀀀24";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:1;a:2:{i:0;a:4:{s:9:"tokenized";s:3:"dog";s:10:"normalized";s:3:"dog";s:4:"docs";i:1;s:4:"hits";i:1;}i:1;a:4:{s:9:"tokenized";s:6:"􀀀24";s:10:"normalized";s:6:"􀀀24";s:4:"docs";i:1;s:4:"hits";i:1;}}}i:1;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";s:5:"attr1";s:4281:" overrun1 overrun2 overrun3 overrun4 overrun5 overrun6 overrun7 overrun8 overrun9 overrun10 overrun11 overrun12 overrun13 overrun14 overrun15 overrun16 overrun17 overrun18 overrun19 overrun20 overrun21 overrun22 overrun23 overrun24 overrun25 overrun26 overrun27 overrun28 overrun29 overrun30 overrun31 overrun32 overrun33 overrun34 overrun35 overrun36 overrun37 overrun38 overrun39 overrun40 overrun41 overrun42 overrun43 overrun44 overrun45 overrun46 overrun47 overrun48 overrun49 overrun50 overrun51 overrun52 overrun53 overrun54 overrun55 overrun56 overrun57 overrun58 overrun59 overrun60 overrun61 overrun62 overrun63 overrun64 overrun65 overrun66 overrun67 overrun68 overrun69 overrun70 overrun71 overrun72 overrun73 overrun74 overrun75 overrun76 overrun77 overrun78 overrun79 overrun80 overrun81 overrun82 overrun83 overrun84 overrun85 overrun86 overrun87 overrun88 overrun89 overrun90 overrun91 overrun92 overrun93 overrun94 overrun95 overrun96 overrun97 overrun98 overrun99 overrun100 overrun101 overrun102 overrun103 overrun104 overrun105 overrun106 overrun107 overrun108 overrun109 overrun110 overrun111 overrun112 overrun113 overrun114 overrun115 overrun116 overrun117 overrun118 overrun119 overrun120 overrun121 overrun122 overrun123 overrun124 overrun125 overrun126 overrun127 overrun128 overrun129 overrun130 overrun131 overrun132 overrun133 overrun134 overrun135 overrun136 overrun137 overrun138 overrun139 overrun140 overrun141 overrun142 overrun143 overrun144 overrun145 overrun146 overrun147 overrun148 overrun149 overrun150 overrun151 overrun152 overrun153 overrun154 overrun155 overrun156 overrun157 overrun158 overrun159 overrun160 overrun161 overrun162 overrun163 overrun164 overrun165 overrun166 overrun167 overrun168 overrun169 overrun170 overrun171 overrun172 overrun173 overrun174 overrun175 overrun176 overrun177 overrun178 overrun179 overrun180 overrun181 overrun182 overrun183 overrun184 overrun185 overrun186 overrun187 overrun188 overrun189 overrun190 overrun191 overrun192 overrun193 overrun194 overrun195 overrun196 overrun197 overrun198 overrun199 overrun200 overrun201 overrun202 overrun203 overrun204 overrun205 overrun206 overrun207 overrun208 overrun209 overrun210 overrun211 overrun212 overrun213 overrun214 overrun215 overrun216 overrun217 overrun218 overrun219 overrun220 overrun221 overrun222 overrun223 overrun224 overrun225 overrun226 overrun227 overrun228 overrun229 overrun230 overrun231 overrun232 overrun233 overrun234 overrun235 overrun236 overrun237 overrun238 overrun239 overrun240 overrun241 overrun242 overrun243 overrun244 overrun245 overrun246 overrun247 overrun248 overrun249 overrun250 overrun251 overrun252 overrun253 overrun254 overrun255 overrun256 overrun257 overrun258 overrun259 overrun260 overrun261 overrun262 overrun263 overrun264 overrun265 overrun266 overrun267 overrun268 overrun269 overrun270 overrun271 overrun272 overrun273 overrun274 overrun275 overrun276 overrun277 overrun278 overrun279 overrun280 overrun281 overrun282 overrun283 overrun284 overrun285 overrun286 overrun287 overrun288 overrun289 overrun290 overrun291 overrun292 overrun293 overrun294 overrun295 overrun296 overrun297 overrun298 overrun299 overrun300 overrun301 overrun302 overrun303 overrun304 overrun305 overrun306 overrun307 overrun308 overrun309 overrun310 overrun311 overrun312 overrun313 overrun314 overrun315 overrun316 overrun317 overrun318 overrun319 overrun320 overrun321 overrun322 overrun323 overrun324 overrun325 overrun326 overrun327 overrun328 overrun329 overrun330 overrun331 overrun332 overrun333 overrun334 overrun335 overrun336 overrun337 overrun338 overrun339 overrun340 overrun341 overrun342 overrun343 overrun344 overrun345 overrun346 overrun347 overrun348 overrun349 overrun350 overrun351 overrun352 overrun353 overrun354 overrun355 overrun356 overrun357 overrun358 overrun359 overrun360 overrun361 overrun362 overrun363 overrun364 overrun365 overrun366 overrun367 overrun368 overrun369 overrun370 overrun371 overrun372 overrun373 overrun374 overrun375 overrun376 overrun377 overrun378 overrun379 overrun380 overrun381 overrun382 overrun383 overrun384 overrun385 overrun386 overrun387 overrun388 overrun389 overrun390 overrun391 overrun392 overrun393 overrun394 overrun395 overrun396 overrun397 overrun398 overrun399";s:5:"attr2";s:4281:" overrun1 overrun2 overrun3 overrun4 overrun5 overrun6 overrun7 overrun8 overrun9 overrun10 overrun11 overrun12 overrun13 overrun14 overrun15 overrun16 overrun17 overrun18 overrun19 overrun20 overrun21 overrun22 overrun23 overrun24 overrun25 overrun26 overrun27 overrun28 overrun29 overrun30 overrun31 overrun32 overrun33 overrun34 overrun35 overrun36 overrun37 overrun38 overrun39 overrun40 overrun41 overrun42 overrun43 overrun44 overrun45 overrun46 overrun47 overrun48 overrun49 overrun50 overrun51 overrun52 overrun53 overrun54 overrun55 overrun56 overrun57 overrun58 overrun59 overrun60 overrun61 overrun62 overrun63 overrun64 overrun65 overrun66 overrun67 overrun68 overrun69 overrun70 overrun71 overrun72 overrun73 overrun74 overrun75 overrun76 overrun77 overrun78 overrun79 overrun80 overrun81 overrun82 overrun83 overrun84 overrun85 overrun86 overrun87 overrun88 overrun89 overrun90 overrun91 overrun92 overrun93 overrun94 overrun95 overrun96 overrun97 overrun98 overrun99 overrun100 overrun101 overrun102 overrun103 overrun104 overrun105 overrun106 overrun107 overrun108 overrun109 overrun110 overrun111 overrun112 overrun113 overrun114 overrun115 overrun116 overrun117 overrun118 overrun119 overrun120 overrun121 overrun122 overrun123 overrun124 overrun125 overrun126 overrun127 overrun128 overrun129 overrun130 overrun131 overrun132 overrun133 overrun134 overrun135 overrun136 overrun137 overrun138 overrun139 overrun140 overrun141 overrun142 overrun143 overrun144 overrun145 overrun146 overrun147 overrun148 overrun149 overrun150 overrun151 overrun152 overrun153 overrun154 overrun155 overrun156 overrun157 overrun158 overrun159 overrun160 overrun161 overrun162 overrun163 overrun164 overrun165 overrun166 overrun167 overrun168 overrun169 overrun170 overrun171 overrun172 overrun173 overrun174 overrun175 overrun176 overrun177 overrun178 overrun179 overrun180 overrun181 overrun182 overrun183 overrun184 overrun185 overrun186 overrun187 overrun188 overrun189 overrun190 overrun191 overrun192 overrun193 overrun194 overrun195 overrun196 overrun197 overrun198 overrun199 overrun200 overrun201 overrun202 overrun203 overrun204 overrun205 overrun206 overrun207 overrun208 overrun209 overrun210 overrun211 overrun212 overrun213 overrun214 overrun215 overrun216 overrun217 overrun218 overrun219 overrun220 overrun221 overrun222 overrun223 overrun224 overrun225 overrun226 overrun227 overrun228 overrun229 overrun230 overrun231 overrun232 overrun233 overrun234 overrun235 overrun236 overrun237 overrun238 overrun239 overrun240 overrun241 overrun242 overrun243 overrun244 overrun245 overrun246 overrun247 overrun248 overrun249 overrun250 overrun251 overrun252 overrun253 overrun254 overrun255 overrun256 overrun257 overrun258 overrun259 overrun260 overrun261 overrun262 overrun263 overrun264 overrun265 overrun266 overrun267 overrun268 overrun269 overrun270 overrun271 overrun272 overrun273 overrun274 overrun275 overrun276 overrun277 overrun278 overrun279 overrun280 overrun281 overrun282 overrun283 overrun284 overrun285 overrun286 overrun287 overrun288 overrun289 overrun290 overrun291 overrun292 overrun293 overrun294 overrun295 overrun296 overrun297 overrun298 overrun299 overrun300 overrun301 overrun302 overrun303 overrun304 overrun305 overrun306 overrun307 overrun308 overrun309 overrun310 overrun311 overrun312 overrun313 overrun314 overrun315 overrun316 overrun317 overrun318 overrun319 overrun320 overrun321 overrun322 overrun323 overrun324 overrun325 overrun326 overrun327 overrun328 overrun329 overrun330 overrun331 overrun332 overrun333 overrun334 overrun335 overrun336 overrun337 overrun338 overrun339 overrun340 overrun341 overrun342 overrun343 overrun344 overrun345 overrun346 overrun347 overrun348 overrun349 overrun350 overrun351 overrun352 overrun353 overrun354 overrun355 overrun356 overrun357 overrun358 overrun359 overrun360 overrun361 overrun362 overrun363 overrun364 overrun365 overrun366 overrun367 overrun368 overrun369 overrun370 overrun371 overrun372 overrun373 overrun374 overrun375 overrun376 overrun377 overrun378 overrun379 overrun380 overrun381 overrun382 overrun383 overrun384 overrun385 overrun386 overrun387 overrun388 overrun389 overrun390 overrun391 overrun392 overrun393 overrun394 overrun395 overrun396 overrun397 overrun398 overrun399";}}}}}sphinx-2.2.11-release/test/test_138/0000755000175000017500000000000012743402012016410 5ustar alexeyalexeysphinx-2.2.11-release/test/test_138/test.xml0000644000175000017500000000555012743402012020116 0ustar alexeyalexey quorum vs decreased matched word indexer { mem_limit = 16M } searchd { } source test1 { type = mysql sql_query = SELECT * FROM test_table1 } index test1 { source = test1 path = /test1 docinfo = extern } source test2 { type = mysql sql_query = SELECT * FROM test_table2 } index test2 { source = test2 path = /test2 docinfo = extern } source test_kw { type = mysql sql_query = select 1 id, 'of me' text, 11 idd UNION select 2 id, 'of me' text, 11 idd UNION select 3 id, 'of me' text, 11 idd UNION select 4 id, 'of me' text, 11 idd sql_joined_field = text from query; select id , text from test_kw_joined sql_attr_uint = idd } index test_kw { source = test_kw path = /test_kw docinfo = extern dict = keywords } CREATE TABLE test_table1 ( document_id INT NOT NULL, text VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test_table1; CREATE TABLE test_table2 ( document_id INT NOT NULL, text VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test_table2; create table test_kw_joined ( id int, text text (4096000) not null ) ENGINE=MYISAM drop table if exists test_kw_joined 'world space', 2=>'one', 3=>'two', 4=>'world', 5=>'space', 6=>'unused1', 7=>'unused2' ); foreach ( $sql_data as $key => $value ) { $text = sprintf ( "insert into test_table1 values ( %d, '%s' )", $key, $value ); mysql_query ( $text ); } $text = sprintf ( "insert into test_table2 values ( 1, '%s' )", $sql_data[1] ); for ( $i=1; $i < 513; $i++ ) { $text = ''; $text = sprintf ( "insert into test_table2 values ( %d, '%s' )", $i, $sql_data[1] ); mysql_query ( $text ); } foreach ( $sql_data as $key => $value ) { $text = sprintf ( "insert into test_table2 values ( %d, '%s' )", 600+$key, $value ); mysql_query ( $text ); } for ( $i=1; $i<=4; $i++ ) { $text = ''; $iend = 300000; if ( $i==4 ) $iend = 150000; for ( $j=0; $j<$iend; $j++ ) { $text .= 'v '; } if ( $i==4 ) $text .= ' the box'; mysql_query ( " insert into test_kw_joined values ( $i, '$text' ) " ) or die( "$i:" . mysql_error() ); } ]]> "one two unused1 unused2 space world"/2 "one two unused1 unused2 space world"/2 of the box v sphinx-2.2.11-release/test/test_138/model.bin0000644000175000017500000007522012743402012020210 0ustar alexeyalexeya:1:{i:0;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1540";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.006";s:5:"words";a:6:{s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"unused1";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"unused2";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"space";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:5:"world";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:39:""one two unused1 unused2 space world"/2";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:513:{i:1;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:6;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:7;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:9;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:17;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:18;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:19;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:20;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:21;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:22;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:23;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:24;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:25;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:26;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:27;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:28;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:29;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:30;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:31;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:32;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:33;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:34;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:35;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:36;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:37;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:38;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:39;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:40;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:41;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:42;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:43;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:44;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:45;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:46;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:47;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:48;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:49;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:50;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:51;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:52;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:53;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:54;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:55;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:56;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:57;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:58;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:59;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:60;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:61;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:62;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:63;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:64;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:65;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:66;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:67;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:68;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:69;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:70;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:71;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:72;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:73;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:74;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:75;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:76;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:77;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:78;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:79;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:80;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:81;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:82;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:83;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:84;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:85;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:86;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:87;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:88;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:89;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:90;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:91;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:92;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:93;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:94;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:95;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:96;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:97;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:98;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:99;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:100;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:101;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:102;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:103;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:104;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:105;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:106;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:107;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:108;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:109;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:110;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:111;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:112;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:113;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:114;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:115;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:116;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:117;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:118;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:119;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:120;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:121;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:122;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:123;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:124;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:125;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:126;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:127;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:128;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:129;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:130;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:131;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:132;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:133;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:134;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:135;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:136;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:137;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:138;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:139;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:140;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:141;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:142;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:143;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:144;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:145;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:146;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:147;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:148;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:149;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:150;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:151;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:152;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:153;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:154;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:155;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:156;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:157;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:158;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:159;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:160;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:161;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:162;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:163;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:164;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:165;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:166;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:167;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:168;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:169;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:170;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:171;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:172;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:173;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:174;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:175;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:176;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:177;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:178;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:179;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:180;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:181;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:182;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:183;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:184;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:185;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:186;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:187;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:188;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:189;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:190;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:191;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:192;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:193;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:194;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:195;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:196;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:197;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:198;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:199;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:200;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:201;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:202;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:203;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:204;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:205;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:206;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:207;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:208;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:209;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:210;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:211;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:212;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:213;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:214;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:215;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:216;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:217;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:218;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:219;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:220;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:221;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:222;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:223;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:224;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:225;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:226;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:227;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:228;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:229;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:230;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:231;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:232;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:233;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:234;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:235;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:236;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:237;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:238;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:239;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:240;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:241;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:242;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:243;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:244;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:245;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:246;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:247;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:248;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:249;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:250;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:251;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:252;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:253;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:254;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:255;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:256;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:257;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:258;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:259;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:260;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:261;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:262;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:263;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:264;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:265;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:266;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:267;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:268;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:269;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:270;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:271;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:272;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:273;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:274;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:275;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:276;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:277;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:278;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:279;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:280;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:281;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:282;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:283;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:284;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:285;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:286;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:287;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:288;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:289;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:290;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:291;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:292;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:293;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:294;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:295;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:296;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:297;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:298;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:299;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:300;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:301;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:302;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:303;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:304;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:305;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:306;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:307;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:308;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:309;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:310;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:311;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:312;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:313;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:314;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:315;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:316;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:317;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:318;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:319;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:320;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:321;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:322;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:323;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:324;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:325;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:326;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:327;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:328;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:329;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:330;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:331;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:332;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:333;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:334;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:335;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:336;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:337;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:338;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:339;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:340;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:341;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:342;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:343;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:344;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:345;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:346;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:347;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:348;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:349;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:350;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:351;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:352;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:353;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:354;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:355;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:356;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:357;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:358;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:359;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:360;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:361;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:362;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:363;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:364;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:365;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:366;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:367;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:368;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:369;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:370;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:371;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:372;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:373;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:374;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:375;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:376;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:377;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:378;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:379;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:380;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:381;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:382;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:383;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:384;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:385;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:386;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:387;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:388;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:389;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:390;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:391;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:392;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:393;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:394;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:395;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:396;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:397;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:398;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:399;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:400;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:401;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:402;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:403;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:404;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:405;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:406;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:407;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:408;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:409;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:410;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:411;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:412;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:413;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:414;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:415;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:416;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:417;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:418;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:419;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:420;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:421;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:422;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:423;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:424;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:425;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:426;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:427;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:428;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:429;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:430;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:431;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:432;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:433;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:434;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:435;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:436;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:437;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:438;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:439;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:440;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:441;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:442;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:443;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:444;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:445;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:446;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:447;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:448;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:449;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:450;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:451;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:452;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:453;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:454;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:455;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:456;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:457;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:458;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:459;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:460;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:461;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:462;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:463;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:464;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:465;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:466;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:467;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:468;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:469;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:470;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:471;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:472;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:473;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:474;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:475;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:476;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:477;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:478;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:479;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:480;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:481;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:482;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:483;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:484;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:485;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:486;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:487;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:488;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:489;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:490;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:491;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:492;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:493;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:494;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:495;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:496;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:497;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:498;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:499;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:500;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:501;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:502;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:503;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:504;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:505;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:506;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:507;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:508;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:509;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:510;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:511;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:512;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}i:601;a:2:{s:6:"weight";s:4:"1446";s:5:"attrs";a:0:{}}}s:5:"total";s:3:"513";s:11:"total_found";s:3:"513";s:4:"time";s:5:"0.011";s:5:"words";a:6:{s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"unused1";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"unused2";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"space";a:2:{s:4:"docs";s:3:"514";s:4:"hits";s:3:"514";}s:5:"world";a:2:{s:4:"docs";s:3:"514";s:4:"hits";s:3:"514";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:39:""one two unused1 unused2 space world"/2";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:4:"text";i:1;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"idd";s:2:"11";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"idd";s:2:"11";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"idd";s:2:"11";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"idd";s:2:"11";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:4:"text";i:1;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:1:{s:3:"idd";s:2:"11";}}i:2;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:1:{s:3:"idd";s:2:"11";}}i:3;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:1:{s:3:"idd";s:2:"11";}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:1:{s:3:"idd";s:2:"11";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.002";s:5:"words";a:1:{s:2:"of";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"of";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:4:"text";i:1;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"2695";s:5:"attrs";a:1:{s:3:"idd";s:2:"11";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.003";s:5:"words";a:2:{s:3:"the";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"box";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"the box";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:4:"text";i:1;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1069";s:5:"attrs";a:1:{s:3:"idd";s:2:"11";}}i:2;a:2:{s:6:"weight";s:4:"1069";s:5:"attrs";a:1:{s:3:"idd";s:2:"11";}}i:3;a:2:{s:6:"weight";s:4:"1069";s:5:"attrs";a:1:{s:3:"idd";s:2:"11";}}i:4;a:2:{s:6:"weight";s:4:"1069";s:5:"attrs";a:1:{s:3:"idd";s:2:"11";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.002";s:5:"words";a:1:{s:1:"v";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:7:"1050000";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"v";}}}sphinx-2.2.11-release/test/test_137/0000755000175000017500000000000012743402012016407 5ustar alexeyalexeysphinx-2.2.11-release/test/test_137/test.xml0000644000175000017500000000222312743402012020107 0ustar alexeyalexey snippets vs NEAR searchd { } source test { type = mysql sql_query = SELECT 1, 'text'; } index test { source = test path = /test } index test_stops { source = test path = /test_stops stopwords = stopwords.txt } select 1; true, "around"=> 2 ); $results[] = $client->BuildExcerpts($docs, 'test', '(one) NEAR/35 ("five")', $opts ); // regression crash on 0 docs snippet $results[] = $client->BuildExcerpts(array(), 'test', '(one) NEAR/35 ("five")', $opts ); $results[] = $client->GetLastError(); // regression for snippets vs stopwords vs proximity $docs = array( 'A section of dome lifted up' ); $results[] = $client->BuildExcerpts($docs, 'test_stops', '"section of dome"~5', $opts ); $results[] = $client->BuildExcerpts($docs, 'test_stops', '"section of dome"~5', array( 'query_mode'=>true, 'exact_phrase'=>true ) ); ]]> sphinx-2.2.11-release/test/test_137/model.bin0000644000175000017500000000043212743402012020200 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:5:{i:0;a:1:{i:0;s:57:"Was one rabiit. Now there are five rabbits.";}i:1;b:0;i:2;s:38:"searchd error: invalid entries count 0";i:3;a:1:{i:0;s:41:"A section of dome lifted up";}i:4;a:1:{i:0;s:34:"A section of dome lifted up";}}}}sphinx-2.2.11-release/test/test_136/0000755000175000017500000000000012743402012016406 5ustar alexeyalexeysphinx-2.2.11-release/test/test_136/test.xml0000644000175000017500000000454412743402012020116 0ustar alexeyalexey persistent MVA updates surviving after hard killing part 2 - *nix only indexer { mem_limit = 16M } searchd { binlog_flush = 1 binlog_path = workers = threads } source src { type = mysql sql_query = SELECT id, text, section, mva1 FROM test_table sql_attr_uint = section sql_attr_multi = uint mva1 from field mva1 sql_attr_multi = bigint mva1 from field mva1 } index idx_131 { source = src path = /idx_131 docinfo = extern } index incorrectrt { type = rt path = /incorrectrt rt_field = data rt_attr_uint = gid blend_chars = / exceptions = /exceptions.txt } UpdateAttributes ( "idx_131", array("mva1"), array(1=>array(array(2,3,4)), 3=>array(array(6,7,8))),true); if ( $up >= 0 ) $results[] = sprintf("up.ok=%d", $up); else $results[] = sprintf("up.err=%s", $client->GetLastError()); $stop = StopWaitSearchd ('config.conf', 'searchd.pid'); $results[] = 'stoped='.($stop==0 ? 'ok' : 'err' ) . '(code=' . $stop . ')'; $startSta = StartSearchd ( 'config.conf', 'error.txt', 'searchd.pid', $error, true ); if ( $startSta == 0 || $startSta == 2 ) { $results[] = "started=ok"; } else $results[] = sprintf("start.err=%d local=%s client=%s", $startSta, $error, $client->GetLastError()); } // find the updated match $results[] = $client->Query ( "test3"); // final fixup; we don't want to compare times for ( $i=0; $i CREATE TABLE `test_table` ( `id` int(11) DEFAULT NULL, `text` varchar (255) NOT NULL, `section` int(11) DEFAULT NULL, `mva1` varchar(255) NOT NULL ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` (`id`, `text`, `section`, `mva1`) VALUES (1, 'test1', 101, '1001'), (2, 'test2', 102, '1002 1023 4456'), (3, 'test3', 103, '1003 1008 1010'), (4, 'test4', 104, '1004 1005 1006'); sphinx-2.2.11-release/test/test_136/model.bin0000644000175000017500000000271412743402012020204 0ustar alexeyalexeya:2:{i:0;a:1:{i:0;a:17:{i:0;s:11:"iteration=0";i:1;s:7:"up.ok=2";i:2;s:17:"stoped=ok(code=0)";i:3;s:10:"started=ok";i:4;s:11:"iteration=1";i:5;s:7:"up.ok=2";i:6;s:17:"stoped=ok(code=0)";i:7;s:10:"started=ok";i:8;s:11:"iteration=2";i:9;s:7:"up.ok=2";i:10;s:17:"stoped=ok(code=0)";i:11;s:10:"started=ok";i:12;s:11:"iteration=3";i:13;s:7:"up.ok=2";i:14;s:17:"stoped=ok(code=0)";i:15;s:10:"started=ok";i:16;a:6:{s:5:"error";s:0:"";s:5:"attrs";a:2:{s:7:"section";i:1;s:4:"mva1";i:1073741825;}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:2:{s:7:"section";i:103;s:4:"mva1";a:3:{i:0;i:6;i:1;i:7;i:2;i:8;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"test3";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}i:1;a:1:{i:0;a:17:{i:0;s:11:"iteration=0";i:1;s:7:"up.ok=2";i:2;s:17:"stoped=ok(code=0)";i:3;s:10:"started=ok";i:4;s:11:"iteration=1";i:5;s:7:"up.ok=2";i:6;s:17:"stoped=ok(code=0)";i:7;s:10:"started=ok";i:8;s:11:"iteration=2";i:9;s:7:"up.ok=2";i:10;s:17:"stoped=ok(code=0)";i:11;s:10:"started=ok";i:12;s:11:"iteration=3";i:13;s:7:"up.ok=2";i:14;s:17:"stoped=ok(code=0)";i:15;s:10:"started=ok";i:16;a:6:{s:5:"error";s:0:"";s:5:"attrs";a:2:{s:7:"section";i:1;s:4:"mva1";i:1073741825;}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:2:{s:7:"section";i:103;s:4:"mva1";a:3:{i:0;i:6;i:1;i:7;i:2;i:8;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"test3";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}}sphinx-2.2.11-release/test/test_136/exceptions.txt0000644000175000017500000000002212743402012021322 0ustar alexeyalexeyfoo/bar => foobar sphinx-2.2.11-release/test/test_135/0000755000175000017500000000000012743402012016405 5ustar alexeyalexeysphinx-2.2.11-release/test/test_135/test.xml0000644000175000017500000000555112743402012020114 0ustar alexeyalexey persistent MVA updates surviving after hard killing part 1 - *nix only indexer { mem_limit = 16M } searchd { binlog_flush = 2 binlog_path = workers = threads } source src { type = mysql sql_query = SELECT id, text, section, mva1 FROM test_table sql_attr_uint = section sql_attr_multi = uint mva1 from field mva1 sql_attr_multi = bigint mva1 from field mva1 } index idx_130 { source = src path = /idx_130 docinfo = extern } UpdateAttributes ( "idx_130", array("mva1"), array(1=>array(array(2,3,4)), 3=>array(array(6,7,8))),true); if ( $up >= 0 ) $results[] = sprintf("up.ok=%d", $up); else $results[] = sprintf("up.err=%s", $client->GetLastError()); KillSearchd ( 'config.conf', 'searchd.pid', 'KILL', false ); usleep ( 50000 ); $error = ""; $startSta = StartSearchd ( 'config.conf', 'error.txt', 'searchd.pid', $error ); if ( $startSta == 0 || $startSta == 2 ) { $results[] = "started=ok"; } else $results[] = sprintf("start.err=%d local=%s client=%s", $startSta, $error, $client->GetLastError()); } // find the updated match $results[] = $client->Query ( "test3"); // regression: // rotation reset index name and TID $results[] = 'rotaiting...'; RunIndexer ( $errors, '--all --rotate' ); usleep ( 50000 ); $up = $client->UpdateAttributes ( "idx_130", array("mva1"), array(2=>array(array(1,2,7))),true); if ( $up >= 0 ) $results[] = sprintf("up.ok=%d", $up); else $results[] = sprintf("up.err=%s", $client->GetLastError()); KillSearchd ( 'config.conf', 'searchd.pid', 'KILL', false ); usleep ( 50000 ); $error = ""; $startSta = StartSearchd ( 'config.conf', 'error.txt', 'searchd.pid', $error ); if ( $startSta == 0 || $startSta == 2 ) { $results[] = "started=ok"; } else { $results[] = sprintf("start.err=%d local=%s client=%s", $startSta, $error, $client->GetLastError()); } $results[] = $client->Query ( 'test2' ); // final fixup; we don't want to compare times for ( $i=0; $i CREATE TABLE `test_table` ( `id` int(11) DEFAULT NULL, `text` varchar (255) NOT NULL, `section` int(11) DEFAULT NULL, `mva1` varchar(255) NOT NULL ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` (`id`, `text`, `section`, `mva1`) VALUES (1, 'test1', 101, '1001'), (2, 'test2', 102, '1002 1023 4456'), (3, 'test3', 103, '1003 1008 1010'), (4, 'test4', 104, '1004 1005 1006'); sphinx-2.2.11-release/test/test_135/model.bin0000644000175000017500000000402212743402012020175 0ustar alexeyalexeya:2:{i:0;a:1:{i:0;a:17:{i:0;s:11:"iteration=0";i:1;s:7:"up.ok=2";i:2;s:10:"started=ok";i:3;s:11:"iteration=1";i:4;s:7:"up.ok=2";i:5;s:10:"started=ok";i:6;s:11:"iteration=2";i:7;s:7:"up.ok=2";i:8;s:10:"started=ok";i:9;s:11:"iteration=3";i:10;s:7:"up.ok=2";i:11;s:10:"started=ok";i:12;a:6:{s:5:"error";s:0:"";s:5:"attrs";a:2:{s:7:"section";i:1;s:4:"mva1";i:1073741825;}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:2:{s:7:"section";i:103;s:4:"mva1";a:3:{i:0;i:6;i:1;i:7;i:2;i:8;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"test3";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:13;s:12:"rotaiting...";i:14;s:7:"up.ok=1";i:15;s:10:"started=ok";i:16;a:6:{s:5:"error";s:0:"";s:5:"attrs";a:2:{s:7:"section";i:1;s:4:"mva1";i:1073741825;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:2:{s:7:"section";i:102;s:4:"mva1";a:3:{i:0;i:1;i:1;i:2;i:2;i:7;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"test2";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}i:1;a:1:{i:0;a:17:{i:0;s:11:"iteration=0";i:1;s:7:"up.ok=2";i:2;s:10:"started=ok";i:3;s:11:"iteration=1";i:4;s:7:"up.ok=2";i:5;s:10:"started=ok";i:6;s:11:"iteration=2";i:7;s:7:"up.ok=2";i:8;s:10:"started=ok";i:9;s:11:"iteration=3";i:10;s:7:"up.ok=2";i:11;s:10:"started=ok";i:12;a:6:{s:5:"error";s:0:"";s:5:"attrs";a:2:{s:7:"section";i:1;s:4:"mva1";i:1073741825;}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:2:{s:7:"section";i:103;s:4:"mva1";a:3:{i:0;i:6;i:1;i:7;i:2;i:8;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"test3";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:13;s:12:"rotaiting...";i:14;s:7:"up.ok=1";i:15;s:10:"started=ok";i:16;a:6:{s:5:"error";s:0:"";s:5:"attrs";a:2:{s:7:"section";i:1;s:4:"mva1";i:1073741825;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:2:{s:7:"section";i:102;s:4:"mva1";a:3:{i:0;i:1;i:1;i:2;i:2;i:7;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"test2";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}}sphinx-2.2.11-release/test/test_134/0000755000175000017500000000000012743402012016404 5ustar alexeyalexeysphinx-2.2.11-release/test/test_134/test.xml0000644000175000017500000001611412743402012020110 0ustar alexeyalexey snippets vs SPZ searchd { dist_threads = 2 } source test { type = mysql sql_query = SELECT 1, 'text'; } index test { source = test path = /test html_strip = 1 index_sp = 1 index_zones = zone_* dict = keywords } index test1 { source = test path = /test1 html_strip = 1 index_sp = 1 index_zones = zone_* dict = crc charset_table = 0..9, a..z, A..Z->a..z } index test2 { source = test path = /test2 html_strip = 1 index_sp = 1 index_zones = zone_* dict = crc charset_table = 0..9, a..z, A..Z->a..z blend_chars = (, ) } index test3 { source = test path = /test3 html_strip = 1 html_remove_elements = style, script, head index_sp = 1 dict = crc } select 1; array ( "

The institutional investment manager it. Is Filing this report and. It is signed hereby represent. That it is all information. Statements are considered integral parts of this form.

" ), "opt"=>array ( "limit"=>150 , "limit_words"=>60 , "limit_passages"=>4 , "around"=>7 , "html_strip_mode"=>"strip" , 'chunk_separator'=>"\n<--->\n" , "passage_boundary"=>"sentence" , "emit_zones"=>false , "exact_phrase"=>false ) ); // 1 test $refs[] = array( "doc"=>array ( "

The institutional investment manager it. Is Filing this report and. It is signed hereby represent. That it is all information. Statements are considered integral parts of this form.

" ), "opt"=>array ( "limit"=>150 , "limit_words"=>60 , "limit_passages"=>4 , "around"=>7 , "html_strip_mode"=>"strip" , 'chunk_separator'=>"\n<--->\n" , "passage_boundary"=>"sentence" , "emit_zones"=>false , "exact_phrase"=>true ) ); // 2 test $refs[] = array( "doc"=>array ( ' The institutional investment manager it. Is Filing this report and. It is signed hereby represent. That it is all information. are It or is cool It is cooler It is another place! ' ), "opt"=>array ( "limit"=>170 , "limit_words"=>60 , "limit_passages"=>8 , "around"=>8 , "html_strip_mode"=>"strip" , 'chunk_separator'=>"\n<--->\n" , "passage_boundary"=>"zone" , "emit_zones"=>true , "exact_phrase"=>false ) ); // 3 test $refs[] = array( "doc"=>array ( ' The institutional investment manager it. Is Filing this report and. It is signed hereby represent. That it is all information. are It or is cool It is cooler It is another place! ' ), "opt"=>array ( "limit"=>170 , "limit_words"=>60 , "limit_passages"=>8 , "around"=>8 , "html_strip_mode"=>"strip" , 'chunk_separator'=>"\n<--->\n" , "passage_boundary"=>"zone" , "emit_zones"=>true , "exact_phrase"=>true ) ); // 4 test $refs[] = array( "doc"=>array ( ' The institutional investment manager it. Is Filing this report and. It is signed hereby represent. That it is all information. are It or is cool It is cooler It is another place! ' ), "opt"=>array ( "limit"=>170 , "limit_words"=>60 , "limit_passages"=>8 , "around"=>8 , "html_strip_mode"=>"strip" , 'chunk_separator'=>"\n<--->\n" , "passage_boundary"=>"zone" , "emit_zones"=>false , "exact_phrase"=>false ) ); // 5 test - HighlightAll path - no passages $refs[] = array( "doc"=>array ( "The institutional investment manager it. Is Filing this report and. It is signed hereby represent. That it is all information. Statements are considered integral parts of this form." ), "opt"=>array ( "limit"=>0 , "limit_passages"=>4 , "around"=>7 , "html_strip_mode"=>"strip" , 'chunk_separator'=>"\n<--->\n" , "passage_boundary"=>"sentence" , "emit_zones"=>false , "exact_phrase"=>false ) ); foreach ( $refs as $ref ) { $results[] = $client->BuildExcerpts($ref["doc"], 'test', $query, $ref["opt"] ); } // last test - nothing found - HighlightStart path $refs[3]['opt']['limit'] = 150; $results[] = $client->BuildExcerpts($refs[3]["doc"], 'test', "nothing found", $refs[3]["opt"] ); // 7 test $docs7 = array ( ' The manager it. Is Filing this report and.Is a signed hereby represent.Is another place! ' ); $opts7 = array ( 'query_mode'=>1 ,'limit'=>70 , "limit_passages"=>4 , "around"=>8 , "html_strip_mode"=>"strip" , 'chunk_separator'=>"\n<--->\n" , "passage_boundary"=>"zone" , "emit_zones"=>false); $results[] = $client->BuildExcerpts($docs7, 'test1', 'it is', $opts7 ); // 8 test $opts7['query_mode'] = 0; $results[] = $client->BuildExcerpts($docs7, 'test1', 'it is', $opts7 ); // 9 test $opts7['passage_boundary'] = 'sentence'; $opts7['query_mode'] = 1; $results[] = $client->BuildExcerpts($docs7, 'test1', 'it is', $opts7 ); // 10 test $opts7['query_mode'] = 0; $results[] = $client->BuildExcerpts($docs7, 'test1', 'it is', $opts7 ); // 11 test $opts7['html_strip_mode'] = 'index'; $opts7['passage_boundary'] = 'paragraph'; $opts7['query_mode'] = 1; $opts7['limit_passages'] = 8; $results[] = $client->BuildExcerpts($docs7, 'test1', 'it | is | ma1 | ma2', $opts7 ); $docs12 = array ('Leverage gains (if any). May fallback or go insolvent. Credit risk of the deal.'); $words12 = 'fallback insolvent'; // 12 test $opts12 = array ( 'limit'=>255, 'limit_words'=>12, 'limit_passages'=>5, 'passage_boundary'=>'paragraph', 'around'=>10 ); $results[] = $client->BuildExcerpts($docs12, 'test2', $words12, $opts12 ); // 13 test $opts12 = array ( 'limit'=>0, 'limit_words'=>0, 'limit_passages'=>0, 'passage_boundary'=>'paragraph', 'around'=>10 ); $results[] = $client->BuildExcerpts($docs12, 'test2', $words12, $opts12 ); // 14 test - differrent setup with dist_threads $docs14 = array ( ' this match should be removed and this match pass is

split as well as this match

tail of documnet ', ' this match should be removed and this match pass is

split as well as this match

tail of documnet ' ); $opts14 = array ( 'limit'=>40, 'limit_words'=>0, 'limit_passages'=>0, 'passage_boundary'=>'paragraph', 'html_strip_mode'=>'index', 'around'=>25 , 'query_mode'=>1 ); $words14 = 'match | pass'; $results[] = $client->BuildExcerpts($docs14, 'test3', $words14, $opts14 ); // 15 test $docs15 = array ( 'hex number №1 test', 'normal number №2 test' ); $opts15 = array ( "html_strip_mode"=>"strip", 'query_mode'=>1 ); $results[] = $client->BuildExcerpts($docs15, 'test3', 'number', $opts15 ); ]]> sphinx-2.2.11-release/test/test_134/model.bin0000644000175000017500000000554012743402012020202 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:16:{i:0;a:1:{i:0;s:196:"The institutional investment manager it. <---> Is Filing this report and. <---> It is signed hereby represent. <---> That it is all information. <---> ";}i:1;a:1:{i:0;s:94:" <---> It is signed hereby represent. <---> That it is all information. <---> ";}i:2;a:1:{i:0;s:356:" <---> The institutional investment manager it. Is Filing this report and. <---> It is signed hereby represent. That it is all information. are It or is <---> cool It is <---> It is another place <---> ";}i:3;a:1:{i:0;s:307:" <---> The institutional investment manager it. Is Filing this report and. <---> It is signed hereby represent. That it is all information. are It or is <---> cool It is <---> It is another place <---> ";}i:4;a:1:{i:0;s:287:" <---> The institutional investment manager it. Is Filing this report and. <---> It is signed hereby represent. That it is all information. are It or is <---> cool It is <---> It is another place <---> ";}i:5;a:1:{i:0;s:196:"The institutional investment manager it. <---> Is Filing this report and. <---> It is signed hereby represent. <---> That it is all information. <---> ";}i:6;a:1:{i:0;s:156:" The institutional investment manager it. Is Filing this report and. It is signed hereby represent. That it is all information. are It or is cool It <---> ";}i:7;a:1:{i:0;s:98:"The manager it. Is Filing this report and. <---> Is a signed hereby represent <---> ";}i:8;a:1:{i:0;s:105:"The manager it. Is Filing this report and. <---> Is a signed hereby represent <---> ";}i:9;a:1:{i:0;s:112:"The manager it. <---> Is Filing this report and <---> Is a signed hereby represent. <---> ";}i:10;a:1:{i:0;s:112:"The manager it. <---> Is Filing this report and <---> Is a signed hereby represent. <---> ";}i:11;a:1:{i:0;s:98:"The manager it. Is Filing this report and. <---> Is a signed hereby represent <---> ";}i:12;a:1:{i:0;s:89:" ... gains (if any). May fallback or go insolvent. Credit risk of the ... ";}i:13;a:1:{i:0;s:93:"Leverage gains (if any). May fallback or go insolvent. Credit risk of the deal.";}i:14;a:2:{i:0;s:69:" ... this match pass is ... well as this match ... ";i:1;s:69:" ... this match pass is ... well as this match ... ";}i:15;a:2:{i:0;s:27:"hex number №1 test";i:1;s:30:"normal number №2 test";}}}}sphinx-2.2.11-release/test/test_133/0000755000175000017500000000000012743402012016403 5ustar alexeyalexeysphinx-2.2.11-release/test/test_133/test.xml0000644000175000017500000002467712743402012020124 0ustar alexeyalexey SENTENCE, PARAGRAPH, and ZONE operators indexer { mem_limit = 16M } searchd { workers = threads binlog_path = # } source test { type = mysql sql_query = select * from test_table sql_attr_uint = gid } index test { source = test path = /test html_strip = 1 index_sp = 1 index_zones = zone* dict = crc dict = keywords exceptions = synonyms.txt } index rt { type = rt path = /rt rt_field = title rt_attr_uint = idd html_strip = 1 index_sp = 1 index_zones = zone* dict = crc dict = keywords } index sp10 { source = test path = /sp10 html_strip = 1 index_sp = 1 morphology = none dict = crc min_prefix_len = 1 } index sp11 { source = test path = /sp11 html_strip = 1 index_sp = 1 morphology = none dict = keywords min_prefix_len = 1 } source z1 { type = mysql sql_query = select 600 id, 6 gid, '<zone601> back off </zone601> from the <zone602> be the </zone602> ' title sql_attr_uint = gid } index z1 { source = z1 path = /z1 html_strip = 1 index_sp = 1 index_zones = zone* dict = keywords min_prefix_len = 1 } create table test_table ( id int not null, gid int not null, title varchar(16384) not null ); drop table if exists test_table; insert into test_table values ( 1, 1, 'One and one and one. And two. And three, all separate.' ); insert into test_table values ( 2, 1, 'And then we\'ll have him, one two three! Kidnap the Sandy Clawz...' ); insert into test_table values ( 3, 1, 'One two something. But not three.' ); insert into test_table values ( 4, 1, 'Two says hello to one more three.' ); insert into test_table values ( 5, 1, CONCAT(REPEAT('A ram zam zam. ', 171), 'Zam ram!') ); insert into test_table values ( 6, 1, 'A ram zam zam, a ram zam zam, guli guli guli guli ram zam zam.' ); insert into test_table values ( 100, 2, 'Quick brown fox<p>jumps over a lazy dog.' ); insert into test_table values ( 101, 2, 'In paragraph, yes. Not in sentence, no.' ); The time has come, the walrus said, to talk of many things.' );]]> and ships, and sealing wax, of cabbages, , and kings.' );]]> , and kings.' );]]> Sweet dreams are made of this.Who am I to disagree?' );]]> Sweet of this.Who am I to disagree?' );]]> I like this. Sweet of  this.' );]]> I like this. Sweet of  this.' );]]> asdf one SENTENCE two one SENTENCE two three one SENTENCE two SENTENCE three "one two" SENTENCE three zam SENTENCE ram fox PARAGRAPH dog sentence SENTENCE paragraph sentence PARAGRAPH paragraph ZONE:zoneA walrus ZONE:zoneB walrus ZONE:zoneA walrus time ZONE:zoneB walrus time ZONE:zoneC cabbages and kings ZONE:zoneC kings and ships ZONE:(zoneA,zoneB) sweet disagree "Who am I" "of this" ZONE:zoneA "like this" strikes one SENTENCE two one SENTENCE two one SENTENCE three one SENTENCE three ZONE:zone601 back ZONE:zone602 back ZONE:zone602 ba* The time has come, the walrus said, to talk of many things.', 3 )]]> and ships, and sealing wax, of cabbages, , and kings.', 3 )]]> Sweet dreams are made of this.Who am I to disagree?', 3 )]]> Sweet of this.Who am I to disagree?', 4 )]]> I like this. Sweet of  this.', 4 )]]> I like this. Sweet of  this.', 4 )]]> I like this. Sweet of  this.', 4 )]]> I like this. Sweet of  this.', 4 )]]> select * from rt where match (' one SENTENCE two' ) select * from rt where match (' one SENTENCE two three' ) select * from rt where match (' one SENTENCE two SENTENCE three' ) select * from rt where match (' "one two" SENTENCE three' ) select * from rt where match (' zam SENTENCE ram' ) select * from rt where match (' fox PARAGRAPH dog' ) select * from rt where match (' sentence SENTENCE paragraph' ) select * from rt where match (' sentence PARAGRAPH paragraph' ) select * from rt where match (' ZONE:zoneA walrus' ) select * from rt where match (' ZONE:zoneB walrus' ) select * from rt where match (' ZONE:zoneA walrus time' ) select * from rt where match (' ZONE:zoneB walrus time' ) select * from rt where match (' ZONE:zoneC cabbages and kings' ) select * from rt where match (' ZONE:zoneC kings and ships' ) select * from rt where match (' ZONE:(zoneA,zoneB) sweet disagree' ) select * from rt where match (' "Who am I" ' ) select * from rt where match (' "of this" ' ) select * from rt where match (' ZONE:zoneA "like this" ' ) sphinx-2.2.11-release/test/test_133/model.bin0000644000175000017500000047200612743402012020206 0ustar alexeyalexeya:8:{i:0;a:59:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"one SENTENCE two";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"3598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"one SENTENCE two three";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"3598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:31:"one SENTENCE two SENTENCE three";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:24:""one two" SENTENCE three";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:5;a:2:{s:6:"weight";s:4:"2857";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:6;a:2:{s:6:"weight";s:4:"1778";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"zam";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:3:"349";}s:3:"ram";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:3:"175";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"zam SENTENCE ram";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"fox";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"dog";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"fox PARAGRAPH dog";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:8:"sentence";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:9:"paragraph";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:27:"sentence SENTENCE paragraph";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:101;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"2";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:8:"sentence";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:9:"paragraph";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:28:"sentence PARAGRAPH paragraph";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zoneA walrus";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zoneB walrus";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"time";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"ZONE:zoneA walrus time";}i:11;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"time";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"ZONE:zoneB walrus time";}i:12;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:8:"cabbages";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"and";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:2:"14";}s:5:"kings";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:29:"ZONE:zoneC cabbages and kings";}i:13;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:201;a:2:{s:6:"weight";s:4:"2648";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:5:"kings";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"and";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:2:"14";}s:5:"ships";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:26:"ZONE:zoneC kings and ships";}i:14;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:202;a:2:{s:6:"weight";s:4:"1631";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:5:"sweet";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:8:"disagree";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:33:"ZONE:(zoneA,zoneB) sweet disagree";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:202;a:2:{s:6:"weight";s:4:"3641";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}i:300;a:2:{s:6:"weight";s:4:"3641";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"who";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"am";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"i";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:""Who am I"";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:4:{i:310;a:2:{s:6:"weight";s:4:"2576";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}i:311;a:2:{s:6:"weight";s:4:"2576";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}i:202;a:2:{s:6:"weight";s:4:"2558";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}i:300;a:2:{s:6:"weight";s:4:"2558";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:2:"of";a:2:{s:4:"docs";s:1:"8";s:4:"hits";s:2:"10";}s:4:"this";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:""of this"";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:310;a:2:{s:6:"weight";s:4:"2630";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}i:311;a:2:{s:6:"weight";s:4:"2630";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:4:"like";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"5";}s:4:"this";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"ZONE:zoneA "like this"";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:400;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"5";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"strikes";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"strikes";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"one SENTENCE two";}i:20;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"one SENTENCE two";}i:21;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:"one SENTENCE three";}i:22;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:"one SENTENCE three";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:600;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:1:"6";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"back";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zone601 back";}i:24;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"back";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zone602 back";}i:25;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"ba*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"ZONE:zone602 ba*";}i:26;a:2:{s:8:"sphinxql";s:88:"insert into rt values ( 1, 'One and one and one. And two. And three, all separate.', 1 )";s:14:"total_affected";i:1;}i:27;a:2:{s:8:"sphinxql";s:100:"insert into rt values ( 2, 'And then we\'ll have him, one two three! Kidnap the Sandy Clawz...', 1 )";s:14:"total_affected";i:1;}i:28;a:2:{s:8:"sphinxql";s:67:"insert into rt values ( 3, 'One two something. But not three.', 1 )";s:14:"total_affected";i:1;}i:29;a:2:{s:8:"sphinxql";s:67:"insert into rt values ( 4, 'Two says hello to one more three.', 1 )";s:14:"total_affected";i:1;}i:30;a:2:{s:8:"sphinxql";s:57:"insert into rt values ( 5, 'A ram zam zam. Zam ram!', 1 )";s:14:"total_affected";i:1;}i:31;a:2:{s:8:"sphinxql";s:96:"insert into rt values ( 6, 'A ram zam zam, a ram zam zam, guli guli guli guli ram zam zam.', 1 )";s:14:"total_affected";i:1;}i:32;a:2:{s:8:"sphinxql";s:75:"insert into rt values ( 101, 'In paragraph, yes. Not in sentence, no.', 2 )";s:14:"total_affected";i:1;}i:33;a:2:{s:8:"sphinxql";s:125:"insert into rt values ( 200, 'The time has come, the walrus said, to talk of many things.', 3 )";s:14:"total_affected";i:1;}i:34;a:2:{s:8:"sphinxql";s:129:"insert into rt values ( 201, 'Of shoes, and ships, and sealing wax, of cabbages, , and kings.', 3 )";s:14:"total_affected";i:1;}i:35;a:2:{s:8:"sphinxql";s:117:"insert into rt values ( 202, 'Sweet dreams are made of this.Who am I to disagree?', 3 )";s:14:"total_affected";i:1;}i:36;a:2:{s:8:"sphinxql";s:581:"insert into rt values ( 300, 'Sweet of this.Who am I to disagree?', 4 )";s:14:"total_affected";i:1;}i:37;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:85:"insert into rt values ( 301, '>I like this. Sweet of  this.', 4 )";}i:38;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:83:"insert into rt values ( 302, 'I like this. Sweet of  this.', 4 )";}i:39;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:91:"insert into rt values ( 310, 'I like this. Sweet of  this.', 4 )";}i:40;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:83:"insert into rt values ( 311, 'I like this. Sweet of  this.', 4 )";}i:41;a:3:{s:8:"sphinxql";s:53:" select * from rt where match (' one SENTENCE two' ) ";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:1:"1";}}}i:42;a:3:{s:8:"sphinxql";s:59:" select * from rt where match (' one SENTENCE two three' ) ";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:1:"1";}}}i:43;a:3:{s:8:"sphinxql";s:68:" select * from rt where match (' one SENTENCE two SENTENCE three' ) ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:1:"1";}}}i:44;a:3:{s:8:"sphinxql";s:61:" select * from rt where match (' "one two" SENTENCE three' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}}}i:45;a:3:{s:8:"sphinxql";s:53:" select * from rt where match (' zam SENTENCE ram' ) ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"5";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"6";s:3:"idd";s:1:"1";}}}i:46;a:2:{s:8:"sphinxql";s:54:" select * from rt where match (' fox PARAGRAPH dog' ) ";s:10:"total_rows";i:0;}i:47;a:2:{s:8:"sphinxql";s:64:" select * from rt where match (' sentence SENTENCE paragraph' ) ";s:10:"total_rows";i:0;}i:48;a:3:{s:8:"sphinxql";s:65:" select * from rt where match (' sentence PARAGRAPH paragraph' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"101";s:3:"idd";s:1:"2";}}}i:49;a:3:{s:8:"sphinxql";s:54:" select * from rt where match (' ZONE:zoneA walrus' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"200";s:3:"idd";s:1:"3";}}}i:50;a:3:{s:8:"sphinxql";s:54:" select * from rt where match (' ZONE:zoneB walrus' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"200";s:3:"idd";s:1:"3";}}}i:51;a:3:{s:8:"sphinxql";s:59:" select * from rt where match (' ZONE:zoneA walrus time' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"200";s:3:"idd";s:1:"3";}}}i:52;a:2:{s:8:"sphinxql";s:59:" select * from rt where match (' ZONE:zoneB walrus time' ) ";s:10:"total_rows";i:0;}i:53;a:2:{s:8:"sphinxql";s:66:" select * from rt where match (' ZONE:zoneC cabbages and kings' ) ";s:10:"total_rows";i:0;}i:54;a:3:{s:8:"sphinxql";s:63:" select * from rt where match (' ZONE:zoneC kings and ships' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"201";s:3:"idd";s:1:"3";}}}i:55;a:3:{s:8:"sphinxql";s:70:" select * from rt where match (' ZONE:(zoneA,zoneB) sweet disagree' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"202";s:3:"idd";s:1:"3";}}}i:56;a:3:{s:8:"sphinxql";s:48:" select * from rt where match (' "Who am I" ' ) ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:3:"202";s:3:"idd";s:1:"3";}i:1;a:2:{s:2:"id";s:3:"300";s:3:"idd";s:1:"4";}}}i:57;a:3:{s:8:"sphinxql";s:47:" select * from rt where match (' "of this" ' ) ";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:3:"301";s:3:"idd";s:1:"4";}i:1;a:2:{s:2:"id";s:3:"302";s:3:"idd";s:1:"4";}i:2;a:2:{s:2:"id";s:3:"310";s:3:"idd";s:1:"4";}i:3;a:2:{s:2:"id";s:3:"311";s:3:"idd";s:1:"4";}i:4;a:2:{s:2:"id";s:3:"202";s:3:"idd";s:1:"3";}i:5;a:2:{s:2:"id";s:3:"300";s:3:"idd";s:1:"4";}}}i:58;a:3:{s:8:"sphinxql";s:60:" select * from rt where match (' ZONE:zoneA "like this" ' ) ";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"302";s:3:"idd";s:1:"4";}i:1;a:2:{s:2:"id";s:3:"310";s:3:"idd";s:1:"4";}i:2;a:2:{s:2:"id";s:3:"311";s:3:"idd";s:1:"4";}}}}i:1;a:59:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"one SENTENCE two";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"3598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"one SENTENCE two three";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"3598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.003";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:31:"one SENTENCE two SENTENCE three";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:24:""one two" SENTENCE three";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:5;a:2:{s:6:"weight";s:4:"2857";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:6;a:2:{s:6:"weight";s:4:"1778";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"zam";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:3:"349";}s:3:"ram";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:3:"175";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"zam SENTENCE ram";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"fox";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"dog";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"fox PARAGRAPH dog";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:8:"sentence";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:9:"paragraph";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:27:"sentence SENTENCE paragraph";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:101;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"2";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:8:"sentence";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:9:"paragraph";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:28:"sentence PARAGRAPH paragraph";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zoneA walrus";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zoneB walrus";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"time";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"ZONE:zoneA walrus time";}i:11;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"time";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"ZONE:zoneB walrus time";}i:12;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:8:"cabbages";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"and";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:2:"14";}s:5:"kings";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:29:"ZONE:zoneC cabbages and kings";}i:13;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:201;a:2:{s:6:"weight";s:4:"2648";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:5:"kings";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"and";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:2:"14";}s:5:"ships";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:26:"ZONE:zoneC kings and ships";}i:14;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:202;a:2:{s:6:"weight";s:4:"1631";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:5:"sweet";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:8:"disagree";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:33:"ZONE:(zoneA,zoneB) sweet disagree";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:202;a:2:{s:6:"weight";s:4:"3641";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}i:300;a:2:{s:6:"weight";s:4:"3641";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"who";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"am";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"i";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:""Who am I"";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:4:{i:310;a:2:{s:6:"weight";s:4:"2576";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}i:311;a:2:{s:6:"weight";s:4:"2576";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}i:202;a:2:{s:6:"weight";s:4:"2558";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}i:300;a:2:{s:6:"weight";s:4:"2558";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:2:"of";a:2:{s:4:"docs";s:1:"8";s:4:"hits";s:2:"10";}s:4:"this";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:""of this"";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:310;a:2:{s:6:"weight";s:4:"2630";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}i:311;a:2:{s:6:"weight";s:4:"2630";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:4:"like";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"5";}s:4:"this";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"ZONE:zoneA "like this"";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:400;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"5";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"strikes";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"strikes";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"one SENTENCE two";}i:20;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"one SENTENCE two";}i:21;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:"one SENTENCE three";}i:22;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:"one SENTENCE three";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:600;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:1:"6";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"back";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zone601 back";}i:24;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.003";s:5:"words";a:1:{s:4:"back";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zone602 back";}i:25;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.003";s:5:"words";a:1:{s:3:"ba*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"ZONE:zone602 ba*";}i:26;a:2:{s:8:"sphinxql";s:88:"insert into rt values ( 1, 'One and one and one. And two. And three, all separate.', 1 )";s:14:"total_affected";i:1;}i:27;a:2:{s:8:"sphinxql";s:100:"insert into rt values ( 2, 'And then we\'ll have him, one two three! Kidnap the Sandy Clawz...', 1 )";s:14:"total_affected";i:1;}i:28;a:2:{s:8:"sphinxql";s:67:"insert into rt values ( 3, 'One two something. But not three.', 1 )";s:14:"total_affected";i:1;}i:29;a:2:{s:8:"sphinxql";s:67:"insert into rt values ( 4, 'Two says hello to one more three.', 1 )";s:14:"total_affected";i:1;}i:30;a:2:{s:8:"sphinxql";s:57:"insert into rt values ( 5, 'A ram zam zam. Zam ram!', 1 )";s:14:"total_affected";i:1;}i:31;a:2:{s:8:"sphinxql";s:96:"insert into rt values ( 6, 'A ram zam zam, a ram zam zam, guli guli guli guli ram zam zam.', 1 )";s:14:"total_affected";i:1;}i:32;a:2:{s:8:"sphinxql";s:75:"insert into rt values ( 101, 'In paragraph, yes. Not in sentence, no.', 2 )";s:14:"total_affected";i:1;}i:33;a:2:{s:8:"sphinxql";s:125:"insert into rt values ( 200, 'The time has come, the walrus said, to talk of many things.', 3 )";s:14:"total_affected";i:1;}i:34;a:2:{s:8:"sphinxql";s:129:"insert into rt values ( 201, 'Of shoes, and ships, and sealing wax, of cabbages, , and kings.', 3 )";s:14:"total_affected";i:1;}i:35;a:2:{s:8:"sphinxql";s:117:"insert into rt values ( 202, 'Sweet dreams are made of this.Who am I to disagree?', 3 )";s:14:"total_affected";i:1;}i:36;a:2:{s:8:"sphinxql";s:581:"insert into rt values ( 300, 'Sweet of this.Who am I to disagree?', 4 )";s:14:"total_affected";i:1;}i:37;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:85:"insert into rt values ( 301, '>I like this. Sweet of  this.', 4 )";}i:38;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:83:"insert into rt values ( 302, 'I like this. Sweet of  this.', 4 )";}i:39;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:91:"insert into rt values ( 310, 'I like this. Sweet of  this.', 4 )";}i:40;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:83:"insert into rt values ( 311, 'I like this. Sweet of  this.', 4 )";}i:41;a:3:{s:8:"sphinxql";s:53:" select * from rt where match (' one SENTENCE two' ) ";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:1:"1";}}}i:42;a:3:{s:8:"sphinxql";s:59:" select * from rt where match (' one SENTENCE two three' ) ";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:1:"1";}}}i:43;a:3:{s:8:"sphinxql";s:68:" select * from rt where match (' one SENTENCE two SENTENCE three' ) ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:1:"1";}}}i:44;a:3:{s:8:"sphinxql";s:61:" select * from rt where match (' "one two" SENTENCE three' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}}}i:45;a:3:{s:8:"sphinxql";s:53:" select * from rt where match (' zam SENTENCE ram' ) ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"5";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"6";s:3:"idd";s:1:"1";}}}i:46;a:2:{s:8:"sphinxql";s:54:" select * from rt where match (' fox PARAGRAPH dog' ) ";s:10:"total_rows";i:0;}i:47;a:2:{s:8:"sphinxql";s:64:" select * from rt where match (' sentence SENTENCE paragraph' ) ";s:10:"total_rows";i:0;}i:48;a:3:{s:8:"sphinxql";s:65:" select * from rt where match (' sentence PARAGRAPH paragraph' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"101";s:3:"idd";s:1:"2";}}}i:49;a:3:{s:8:"sphinxql";s:54:" select * from rt where match (' ZONE:zoneA walrus' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"200";s:3:"idd";s:1:"3";}}}i:50;a:3:{s:8:"sphinxql";s:54:" select * from rt where match (' ZONE:zoneB walrus' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"200";s:3:"idd";s:1:"3";}}}i:51;a:3:{s:8:"sphinxql";s:59:" select * from rt where match (' ZONE:zoneA walrus time' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"200";s:3:"idd";s:1:"3";}}}i:52;a:2:{s:8:"sphinxql";s:59:" select * from rt where match (' ZONE:zoneB walrus time' ) ";s:10:"total_rows";i:0;}i:53;a:2:{s:8:"sphinxql";s:66:" select * from rt where match (' ZONE:zoneC cabbages and kings' ) ";s:10:"total_rows";i:0;}i:54;a:3:{s:8:"sphinxql";s:63:" select * from rt where match (' ZONE:zoneC kings and ships' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"201";s:3:"idd";s:1:"3";}}}i:55;a:3:{s:8:"sphinxql";s:70:" select * from rt where match (' ZONE:(zoneA,zoneB) sweet disagree' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"202";s:3:"idd";s:1:"3";}}}i:56;a:3:{s:8:"sphinxql";s:48:" select * from rt where match (' "Who am I" ' ) ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:3:"202";s:3:"idd";s:1:"3";}i:1;a:2:{s:2:"id";s:3:"300";s:3:"idd";s:1:"4";}}}i:57;a:3:{s:8:"sphinxql";s:47:" select * from rt where match (' "of this" ' ) ";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:3:"301";s:3:"idd";s:1:"4";}i:1;a:2:{s:2:"id";s:3:"302";s:3:"idd";s:1:"4";}i:2;a:2:{s:2:"id";s:3:"310";s:3:"idd";s:1:"4";}i:3;a:2:{s:2:"id";s:3:"311";s:3:"idd";s:1:"4";}i:4;a:2:{s:2:"id";s:3:"202";s:3:"idd";s:1:"3";}i:5;a:2:{s:2:"id";s:3:"300";s:3:"idd";s:1:"4";}}}i:58;a:3:{s:8:"sphinxql";s:60:" select * from rt where match (' ZONE:zoneA "like this" ' ) ";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"302";s:3:"idd";s:1:"4";}i:1;a:2:{s:2:"id";s:3:"310";s:3:"idd";s:1:"4";}i:2;a:2:{s:2:"id";s:3:"311";s:3:"idd";s:1:"4";}}}}i:2;a:59:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"one SENTENCE two";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"3598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"one SENTENCE two three";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"3598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:31:"one SENTENCE two SENTENCE three";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:24:""one two" SENTENCE three";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:5;a:2:{s:6:"weight";s:4:"2857";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:6;a:2:{s:6:"weight";s:4:"1778";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"zam";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:3:"349";}s:3:"ram";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:3:"175";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"zam SENTENCE ram";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"fox";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"dog";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"fox PARAGRAPH dog";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:8:"sentence";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:9:"paragraph";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:27:"sentence SENTENCE paragraph";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:101;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"2";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:8:"sentence";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:9:"paragraph";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:28:"sentence PARAGRAPH paragraph";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zoneA walrus";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zoneB walrus";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"time";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"ZONE:zoneA walrus time";}i:11;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"time";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"ZONE:zoneB walrus time";}i:12;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:8:"cabbages";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"and";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:2:"14";}s:5:"kings";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:29:"ZONE:zoneC cabbages and kings";}i:13;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:201;a:2:{s:6:"weight";s:4:"2648";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:5:"kings";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"and";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:2:"14";}s:5:"ships";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:26:"ZONE:zoneC kings and ships";}i:14;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:202;a:2:{s:6:"weight";s:4:"1631";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:5:"sweet";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:8:"disagree";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:33:"ZONE:(zoneA,zoneB) sweet disagree";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:202;a:2:{s:6:"weight";s:4:"3641";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}i:300;a:2:{s:6:"weight";s:4:"3641";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"who";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"am";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"i";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:""Who am I"";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:4:{i:310;a:2:{s:6:"weight";s:4:"2576";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}i:311;a:2:{s:6:"weight";s:4:"2576";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}i:202;a:2:{s:6:"weight";s:4:"2558";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}i:300;a:2:{s:6:"weight";s:4:"2558";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:2:"of";a:2:{s:4:"docs";s:1:"8";s:4:"hits";s:2:"10";}s:4:"this";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:""of this"";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:310;a:2:{s:6:"weight";s:4:"2630";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}i:311;a:2:{s:6:"weight";s:4:"2630";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:4:"like";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"5";}s:4:"this";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"ZONE:zoneA "like this"";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:400;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"5";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"strikes";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"strikes";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"one SENTENCE two";}i:20;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"one SENTENCE two";}i:21;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:"one SENTENCE three";}i:22;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:"one SENTENCE three";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:600;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:1:"6";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.003";s:5:"words";a:1:{s:4:"back";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zone601 back";}i:24;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.003";s:5:"words";a:1:{s:4:"back";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zone602 back";}i:25;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.003";s:5:"words";a:1:{s:3:"ba*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"ZONE:zone602 ba*";}i:26;a:2:{s:8:"sphinxql";s:88:"insert into rt values ( 1, 'One and one and one. And two. And three, all separate.', 1 )";s:14:"total_affected";i:1;}i:27;a:2:{s:8:"sphinxql";s:100:"insert into rt values ( 2, 'And then we\'ll have him, one two three! Kidnap the Sandy Clawz...', 1 )";s:14:"total_affected";i:1;}i:28;a:2:{s:8:"sphinxql";s:67:"insert into rt values ( 3, 'One two something. But not three.', 1 )";s:14:"total_affected";i:1;}i:29;a:2:{s:8:"sphinxql";s:67:"insert into rt values ( 4, 'Two says hello to one more three.', 1 )";s:14:"total_affected";i:1;}i:30;a:2:{s:8:"sphinxql";s:57:"insert into rt values ( 5, 'A ram zam zam. Zam ram!', 1 )";s:14:"total_affected";i:1;}i:31;a:2:{s:8:"sphinxql";s:96:"insert into rt values ( 6, 'A ram zam zam, a ram zam zam, guli guli guli guli ram zam zam.', 1 )";s:14:"total_affected";i:1;}i:32;a:2:{s:8:"sphinxql";s:75:"insert into rt values ( 101, 'In paragraph, yes. Not in sentence, no.', 2 )";s:14:"total_affected";i:1;}i:33;a:2:{s:8:"sphinxql";s:125:"insert into rt values ( 200, 'The time has come, the walrus said, to talk of many things.', 3 )";s:14:"total_affected";i:1;}i:34;a:2:{s:8:"sphinxql";s:129:"insert into rt values ( 201, 'Of shoes, and ships, and sealing wax, of cabbages, , and kings.', 3 )";s:14:"total_affected";i:1;}i:35;a:2:{s:8:"sphinxql";s:117:"insert into rt values ( 202, 'Sweet dreams are made of this.Who am I to disagree?', 3 )";s:14:"total_affected";i:1;}i:36;a:2:{s:8:"sphinxql";s:581:"insert into rt values ( 300, 'Sweet of this.Who am I to disagree?', 4 )";s:14:"total_affected";i:1;}i:37;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:85:"insert into rt values ( 301, '>I like this. Sweet of  this.', 4 )";}i:38;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:83:"insert into rt values ( 302, 'I like this. Sweet of  this.', 4 )";}i:39;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:91:"insert into rt values ( 310, 'I like this. Sweet of  this.', 4 )";}i:40;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:83:"insert into rt values ( 311, 'I like this. Sweet of  this.', 4 )";}i:41;a:3:{s:8:"sphinxql";s:53:" select * from rt where match (' one SENTENCE two' ) ";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:1:"1";}}}i:42;a:3:{s:8:"sphinxql";s:59:" select * from rt where match (' one SENTENCE two three' ) ";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:1:"1";}}}i:43;a:3:{s:8:"sphinxql";s:68:" select * from rt where match (' one SENTENCE two SENTENCE three' ) ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:1:"1";}}}i:44;a:3:{s:8:"sphinxql";s:61:" select * from rt where match (' "one two" SENTENCE three' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}}}i:45;a:3:{s:8:"sphinxql";s:53:" select * from rt where match (' zam SENTENCE ram' ) ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"5";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"6";s:3:"idd";s:1:"1";}}}i:46;a:2:{s:8:"sphinxql";s:54:" select * from rt where match (' fox PARAGRAPH dog' ) ";s:10:"total_rows";i:0;}i:47;a:2:{s:8:"sphinxql";s:64:" select * from rt where match (' sentence SENTENCE paragraph' ) ";s:10:"total_rows";i:0;}i:48;a:3:{s:8:"sphinxql";s:65:" select * from rt where match (' sentence PARAGRAPH paragraph' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"101";s:3:"idd";s:1:"2";}}}i:49;a:3:{s:8:"sphinxql";s:54:" select * from rt where match (' ZONE:zoneA walrus' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"200";s:3:"idd";s:1:"3";}}}i:50;a:3:{s:8:"sphinxql";s:54:" select * from rt where match (' ZONE:zoneB walrus' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"200";s:3:"idd";s:1:"3";}}}i:51;a:3:{s:8:"sphinxql";s:59:" select * from rt where match (' ZONE:zoneA walrus time' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"200";s:3:"idd";s:1:"3";}}}i:52;a:2:{s:8:"sphinxql";s:59:" select * from rt where match (' ZONE:zoneB walrus time' ) ";s:10:"total_rows";i:0;}i:53;a:2:{s:8:"sphinxql";s:66:" select * from rt where match (' ZONE:zoneC cabbages and kings' ) ";s:10:"total_rows";i:0;}i:54;a:3:{s:8:"sphinxql";s:63:" select * from rt where match (' ZONE:zoneC kings and ships' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"201";s:3:"idd";s:1:"3";}}}i:55;a:3:{s:8:"sphinxql";s:70:" select * from rt where match (' ZONE:(zoneA,zoneB) sweet disagree' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"202";s:3:"idd";s:1:"3";}}}i:56;a:3:{s:8:"sphinxql";s:48:" select * from rt where match (' "Who am I" ' ) ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:3:"202";s:3:"idd";s:1:"3";}i:1;a:2:{s:2:"id";s:3:"300";s:3:"idd";s:1:"4";}}}i:57;a:3:{s:8:"sphinxql";s:47:" select * from rt where match (' "of this" ' ) ";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:3:"301";s:3:"idd";s:1:"4";}i:1;a:2:{s:2:"id";s:3:"302";s:3:"idd";s:1:"4";}i:2;a:2:{s:2:"id";s:3:"310";s:3:"idd";s:1:"4";}i:3;a:2:{s:2:"id";s:3:"311";s:3:"idd";s:1:"4";}i:4;a:2:{s:2:"id";s:3:"202";s:3:"idd";s:1:"3";}i:5;a:2:{s:2:"id";s:3:"300";s:3:"idd";s:1:"4";}}}i:58;a:3:{s:8:"sphinxql";s:60:" select * from rt where match (' ZONE:zoneA "like this" ' ) ";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"302";s:3:"idd";s:1:"4";}i:1;a:2:{s:2:"id";s:3:"310";s:3:"idd";s:1:"4";}i:2;a:2:{s:2:"id";s:3:"311";s:3:"idd";s:1:"4";}}}}i:3;a:59:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"one SENTENCE two";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"3598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"one SENTENCE two three";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"3598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:31:"one SENTENCE two SENTENCE three";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:24:""one two" SENTENCE three";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:5;a:2:{s:6:"weight";s:4:"2857";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:6;a:2:{s:6:"weight";s:4:"1778";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"zam";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:3:"349";}s:3:"ram";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:3:"175";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"zam SENTENCE ram";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"fox";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"dog";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"fox PARAGRAPH dog";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:8:"sentence";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:9:"paragraph";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:27:"sentence SENTENCE paragraph";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:101;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"2";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:8:"sentence";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:9:"paragraph";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:28:"sentence PARAGRAPH paragraph";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zoneA walrus";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zoneB walrus";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"time";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"ZONE:zoneA walrus time";}i:11;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"time";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"ZONE:zoneB walrus time";}i:12;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.003";s:5:"words";a:3:{s:8:"cabbages";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"and";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:2:"14";}s:5:"kings";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:29:"ZONE:zoneC cabbages and kings";}i:13;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:201;a:2:{s:6:"weight";s:4:"2648";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.003";s:5:"words";a:3:{s:5:"kings";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"and";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:2:"14";}s:5:"ships";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:26:"ZONE:zoneC kings and ships";}i:14;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:202;a:2:{s:6:"weight";s:4:"1631";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:5:"sweet";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:8:"disagree";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:33:"ZONE:(zoneA,zoneB) sweet disagree";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:202;a:2:{s:6:"weight";s:4:"3641";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}i:300;a:2:{s:6:"weight";s:4:"3641";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"who";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"am";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"i";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:""Who am I"";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:4:{i:310;a:2:{s:6:"weight";s:4:"2576";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}i:311;a:2:{s:6:"weight";s:4:"2576";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}i:202;a:2:{s:6:"weight";s:4:"2558";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}i:300;a:2:{s:6:"weight";s:4:"2558";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:2:"of";a:2:{s:4:"docs";s:1:"8";s:4:"hits";s:2:"10";}s:4:"this";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:""of this"";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:310;a:2:{s:6:"weight";s:4:"2630";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}i:311;a:2:{s:6:"weight";s:4:"2630";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.003";s:5:"words";a:2:{s:4:"like";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"5";}s:4:"this";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"ZONE:zoneA "like this"";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:400;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"5";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"strikes";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"strikes";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"one SENTENCE two";}i:20;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"one SENTENCE two";}i:21;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:"one SENTENCE three";}i:22;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:"one SENTENCE three";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:600;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:1:"6";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:1:{s:4:"back";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zone601 back";}i:24;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"back";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zone602 back";}i:25;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"ba*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"ZONE:zone602 ba*";}i:26;a:2:{s:8:"sphinxql";s:88:"insert into rt values ( 1, 'One and one and one. And two. And three, all separate.', 1 )";s:14:"total_affected";i:1;}i:27;a:2:{s:8:"sphinxql";s:100:"insert into rt values ( 2, 'And then we\'ll have him, one two three! Kidnap the Sandy Clawz...', 1 )";s:14:"total_affected";i:1;}i:28;a:2:{s:8:"sphinxql";s:67:"insert into rt values ( 3, 'One two something. But not three.', 1 )";s:14:"total_affected";i:1;}i:29;a:2:{s:8:"sphinxql";s:67:"insert into rt values ( 4, 'Two says hello to one more three.', 1 )";s:14:"total_affected";i:1;}i:30;a:2:{s:8:"sphinxql";s:57:"insert into rt values ( 5, 'A ram zam zam. Zam ram!', 1 )";s:14:"total_affected";i:1;}i:31;a:2:{s:8:"sphinxql";s:96:"insert into rt values ( 6, 'A ram zam zam, a ram zam zam, guli guli guli guli ram zam zam.', 1 )";s:14:"total_affected";i:1;}i:32;a:2:{s:8:"sphinxql";s:75:"insert into rt values ( 101, 'In paragraph, yes. Not in sentence, no.', 2 )";s:14:"total_affected";i:1;}i:33;a:2:{s:8:"sphinxql";s:125:"insert into rt values ( 200, 'The time has come, the walrus said, to talk of many things.', 3 )";s:14:"total_affected";i:1;}i:34;a:2:{s:8:"sphinxql";s:129:"insert into rt values ( 201, 'Of shoes, and ships, and sealing wax, of cabbages, , and kings.', 3 )";s:14:"total_affected";i:1;}i:35;a:2:{s:8:"sphinxql";s:117:"insert into rt values ( 202, 'Sweet dreams are made of this.Who am I to disagree?', 3 )";s:14:"total_affected";i:1;}i:36;a:2:{s:8:"sphinxql";s:581:"insert into rt values ( 300, 'Sweet of this.Who am I to disagree?', 4 )";s:14:"total_affected";i:1;}i:37;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:85:"insert into rt values ( 301, '>I like this. Sweet of  this.', 4 )";}i:38;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:83:"insert into rt values ( 302, 'I like this. Sweet of  this.', 4 )";}i:39;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:91:"insert into rt values ( 310, 'I like this. Sweet of  this.', 4 )";}i:40;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:83:"insert into rt values ( 311, 'I like this. Sweet of  this.', 4 )";}i:41;a:3:{s:8:"sphinxql";s:53:" select * from rt where match (' one SENTENCE two' ) ";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:1:"1";}}}i:42;a:3:{s:8:"sphinxql";s:59:" select * from rt where match (' one SENTENCE two three' ) ";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:1:"1";}}}i:43;a:3:{s:8:"sphinxql";s:68:" select * from rt where match (' one SENTENCE two SENTENCE three' ) ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:1:"1";}}}i:44;a:3:{s:8:"sphinxql";s:61:" select * from rt where match (' "one two" SENTENCE three' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}}}i:45;a:3:{s:8:"sphinxql";s:53:" select * from rt where match (' zam SENTENCE ram' ) ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"5";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"6";s:3:"idd";s:1:"1";}}}i:46;a:2:{s:8:"sphinxql";s:54:" select * from rt where match (' fox PARAGRAPH dog' ) ";s:10:"total_rows";i:0;}i:47;a:2:{s:8:"sphinxql";s:64:" select * from rt where match (' sentence SENTENCE paragraph' ) ";s:10:"total_rows";i:0;}i:48;a:3:{s:8:"sphinxql";s:65:" select * from rt where match (' sentence PARAGRAPH paragraph' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"101";s:3:"idd";s:1:"2";}}}i:49;a:3:{s:8:"sphinxql";s:54:" select * from rt where match (' ZONE:zoneA walrus' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"200";s:3:"idd";s:1:"3";}}}i:50;a:3:{s:8:"sphinxql";s:54:" select * from rt where match (' ZONE:zoneB walrus' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"200";s:3:"idd";s:1:"3";}}}i:51;a:3:{s:8:"sphinxql";s:59:" select * from rt where match (' ZONE:zoneA walrus time' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"200";s:3:"idd";s:1:"3";}}}i:52;a:2:{s:8:"sphinxql";s:59:" select * from rt where match (' ZONE:zoneB walrus time' ) ";s:10:"total_rows";i:0;}i:53;a:2:{s:8:"sphinxql";s:66:" select * from rt where match (' ZONE:zoneC cabbages and kings' ) ";s:10:"total_rows";i:0;}i:54;a:3:{s:8:"sphinxql";s:63:" select * from rt where match (' ZONE:zoneC kings and ships' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"201";s:3:"idd";s:1:"3";}}}i:55;a:3:{s:8:"sphinxql";s:70:" select * from rt where match (' ZONE:(zoneA,zoneB) sweet disagree' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"202";s:3:"idd";s:1:"3";}}}i:56;a:3:{s:8:"sphinxql";s:48:" select * from rt where match (' "Who am I" ' ) ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:3:"202";s:3:"idd";s:1:"3";}i:1;a:2:{s:2:"id";s:3:"300";s:3:"idd";s:1:"4";}}}i:57;a:3:{s:8:"sphinxql";s:47:" select * from rt where match (' "of this" ' ) ";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:3:"301";s:3:"idd";s:1:"4";}i:1;a:2:{s:2:"id";s:3:"302";s:3:"idd";s:1:"4";}i:2;a:2:{s:2:"id";s:3:"310";s:3:"idd";s:1:"4";}i:3;a:2:{s:2:"id";s:3:"311";s:3:"idd";s:1:"4";}i:4;a:2:{s:2:"id";s:3:"202";s:3:"idd";s:1:"3";}i:5;a:2:{s:2:"id";s:3:"300";s:3:"idd";s:1:"4";}}}i:58;a:3:{s:8:"sphinxql";s:60:" select * from rt where match (' ZONE:zoneA "like this" ' ) ";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"302";s:3:"idd";s:1:"4";}i:1;a:2:{s:2:"id";s:3:"310";s:3:"idd";s:1:"4";}i:2;a:2:{s:2:"id";s:3:"311";s:3:"idd";s:1:"4";}}}}i:4;a:59:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"one SENTENCE two";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"3598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"one SENTENCE two three";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"3598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:31:"one SENTENCE two SENTENCE three";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:24:""one two" SENTENCE three";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:5;a:2:{s:6:"weight";s:4:"2857";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:6;a:2:{s:6:"weight";s:4:"1778";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"zam";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:3:"349";}s:3:"ram";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:3:"175";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"zam SENTENCE ram";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"fox";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"dog";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"fox PARAGRAPH dog";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:8:"sentence";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:9:"paragraph";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:27:"sentence SENTENCE paragraph";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:101;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"2";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:8:"sentence";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:9:"paragraph";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:28:"sentence PARAGRAPH paragraph";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zoneA walrus";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zoneB walrus";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"time";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"ZONE:zoneA walrus time";}i:11;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"time";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"ZONE:zoneB walrus time";}i:12;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:8:"cabbages";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"and";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:2:"14";}s:5:"kings";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:29:"ZONE:zoneC cabbages and kings";}i:13;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:201;a:2:{s:6:"weight";s:4:"2648";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.003";s:5:"words";a:3:{s:5:"kings";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"and";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:2:"14";}s:5:"ships";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:26:"ZONE:zoneC kings and ships";}i:14;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:202;a:2:{s:6:"weight";s:4:"1631";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:5:"sweet";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:8:"disagree";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:33:"ZONE:(zoneA,zoneB) sweet disagree";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:202;a:2:{s:6:"weight";s:4:"3641";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}i:300;a:2:{s:6:"weight";s:4:"3641";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"who";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"am";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"i";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:""Who am I"";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:4:{i:310;a:2:{s:6:"weight";s:4:"2576";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}i:311;a:2:{s:6:"weight";s:4:"2576";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}i:202;a:2:{s:6:"weight";s:4:"2558";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}i:300;a:2:{s:6:"weight";s:4:"2558";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:2:"of";a:2:{s:4:"docs";s:1:"8";s:4:"hits";s:2:"10";}s:4:"this";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:""of this"";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:310;a:2:{s:6:"weight";s:4:"2630";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}i:311;a:2:{s:6:"weight";s:4:"2630";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:4:"like";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"5";}s:4:"this";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"ZONE:zoneA "like this"";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:400;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"5";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"strikes";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"strikes";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"one SENTENCE two";}i:20;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"one SENTENCE two";}i:21;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:"one SENTENCE three";}i:22;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:"one SENTENCE three";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:600;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:1:"6";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"back";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zone601 back";}i:24;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"back";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zone602 back";}i:25;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"ba*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"ZONE:zone602 ba*";}i:26;a:2:{s:8:"sphinxql";s:88:"insert into rt values ( 1, 'One and one and one. And two. And three, all separate.', 1 )";s:14:"total_affected";i:1;}i:27;a:2:{s:8:"sphinxql";s:100:"insert into rt values ( 2, 'And then we\'ll have him, one two three! Kidnap the Sandy Clawz...', 1 )";s:14:"total_affected";i:1;}i:28;a:2:{s:8:"sphinxql";s:67:"insert into rt values ( 3, 'One two something. But not three.', 1 )";s:14:"total_affected";i:1;}i:29;a:2:{s:8:"sphinxql";s:67:"insert into rt values ( 4, 'Two says hello to one more three.', 1 )";s:14:"total_affected";i:1;}i:30;a:2:{s:8:"sphinxql";s:57:"insert into rt values ( 5, 'A ram zam zam. Zam ram!', 1 )";s:14:"total_affected";i:1;}i:31;a:2:{s:8:"sphinxql";s:96:"insert into rt values ( 6, 'A ram zam zam, a ram zam zam, guli guli guli guli ram zam zam.', 1 )";s:14:"total_affected";i:1;}i:32;a:2:{s:8:"sphinxql";s:75:"insert into rt values ( 101, 'In paragraph, yes. Not in sentence, no.', 2 )";s:14:"total_affected";i:1;}i:33;a:2:{s:8:"sphinxql";s:125:"insert into rt values ( 200, 'The time has come, the walrus said, to talk of many things.', 3 )";s:14:"total_affected";i:1;}i:34;a:2:{s:8:"sphinxql";s:129:"insert into rt values ( 201, 'Of shoes, and ships, and sealing wax, of cabbages, , and kings.', 3 )";s:14:"total_affected";i:1;}i:35;a:2:{s:8:"sphinxql";s:117:"insert into rt values ( 202, 'Sweet dreams are made of this.Who am I to disagree?', 3 )";s:14:"total_affected";i:1;}i:36;a:2:{s:8:"sphinxql";s:581:"insert into rt values ( 300, 'Sweet of this.Who am I to disagree?', 4 )";s:14:"total_affected";i:1;}i:37;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:85:"insert into rt values ( 301, '>I like this. Sweet of  this.', 4 )";}i:38;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:83:"insert into rt values ( 302, 'I like this. Sweet of  this.', 4 )";}i:39;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:91:"insert into rt values ( 310, 'I like this. Sweet of  this.', 4 )";}i:40;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:83:"insert into rt values ( 311, 'I like this. Sweet of  this.', 4 )";}i:41;a:3:{s:8:"sphinxql";s:53:" select * from rt where match (' one SENTENCE two' ) ";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:1:"1";}}}i:42;a:3:{s:8:"sphinxql";s:59:" select * from rt where match (' one SENTENCE two three' ) ";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:1:"1";}}}i:43;a:3:{s:8:"sphinxql";s:68:" select * from rt where match (' one SENTENCE two SENTENCE three' ) ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:1:"1";}}}i:44;a:3:{s:8:"sphinxql";s:61:" select * from rt where match (' "one two" SENTENCE three' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}}}i:45;a:3:{s:8:"sphinxql";s:53:" select * from rt where match (' zam SENTENCE ram' ) ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"5";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"6";s:3:"idd";s:1:"1";}}}i:46;a:2:{s:8:"sphinxql";s:54:" select * from rt where match (' fox PARAGRAPH dog' ) ";s:10:"total_rows";i:0;}i:47;a:2:{s:8:"sphinxql";s:64:" select * from rt where match (' sentence SENTENCE paragraph' ) ";s:10:"total_rows";i:0;}i:48;a:3:{s:8:"sphinxql";s:65:" select * from rt where match (' sentence PARAGRAPH paragraph' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"101";s:3:"idd";s:1:"2";}}}i:49;a:3:{s:8:"sphinxql";s:54:" select * from rt where match (' ZONE:zoneA walrus' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"200";s:3:"idd";s:1:"3";}}}i:50;a:3:{s:8:"sphinxql";s:54:" select * from rt where match (' ZONE:zoneB walrus' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"200";s:3:"idd";s:1:"3";}}}i:51;a:3:{s:8:"sphinxql";s:59:" select * from rt where match (' ZONE:zoneA walrus time' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"200";s:3:"idd";s:1:"3";}}}i:52;a:2:{s:8:"sphinxql";s:59:" select * from rt where match (' ZONE:zoneB walrus time' ) ";s:10:"total_rows";i:0;}i:53;a:2:{s:8:"sphinxql";s:66:" select * from rt where match (' ZONE:zoneC cabbages and kings' ) ";s:10:"total_rows";i:0;}i:54;a:3:{s:8:"sphinxql";s:63:" select * from rt where match (' ZONE:zoneC kings and ships' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"201";s:3:"idd";s:1:"3";}}}i:55;a:3:{s:8:"sphinxql";s:70:" select * from rt where match (' ZONE:(zoneA,zoneB) sweet disagree' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"202";s:3:"idd";s:1:"3";}}}i:56;a:3:{s:8:"sphinxql";s:48:" select * from rt where match (' "Who am I" ' ) ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:3:"202";s:3:"idd";s:1:"3";}i:1;a:2:{s:2:"id";s:3:"300";s:3:"idd";s:1:"4";}}}i:57;a:3:{s:8:"sphinxql";s:47:" select * from rt where match (' "of this" ' ) ";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:3:"301";s:3:"idd";s:1:"4";}i:1;a:2:{s:2:"id";s:3:"302";s:3:"idd";s:1:"4";}i:2;a:2:{s:2:"id";s:3:"310";s:3:"idd";s:1:"4";}i:3;a:2:{s:2:"id";s:3:"311";s:3:"idd";s:1:"4";}i:4;a:2:{s:2:"id";s:3:"202";s:3:"idd";s:1:"3";}i:5;a:2:{s:2:"id";s:3:"300";s:3:"idd";s:1:"4";}}}i:58;a:3:{s:8:"sphinxql";s:60:" select * from rt where match (' ZONE:zoneA "like this" ' ) ";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"302";s:3:"idd";s:1:"4";}i:1;a:2:{s:2:"id";s:3:"310";s:3:"idd";s:1:"4";}i:2;a:2:{s:2:"id";s:3:"311";s:3:"idd";s:1:"4";}}}}i:5;a:59:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"one SENTENCE two";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"3598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"one SENTENCE two three";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"3598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.003";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:31:"one SENTENCE two SENTENCE three";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:24:""one two" SENTENCE three";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:5;a:2:{s:6:"weight";s:4:"2857";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:6;a:2:{s:6:"weight";s:4:"1778";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"zam";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:3:"349";}s:3:"ram";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:3:"175";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"zam SENTENCE ram";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"fox";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"dog";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"fox PARAGRAPH dog";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:8:"sentence";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:9:"paragraph";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:27:"sentence SENTENCE paragraph";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:101;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"2";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:8:"sentence";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:9:"paragraph";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:28:"sentence PARAGRAPH paragraph";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zoneA walrus";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zoneB walrus";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"time";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"ZONE:zoneA walrus time";}i:11;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"time";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"ZONE:zoneB walrus time";}i:12;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.003";s:5:"words";a:3:{s:8:"cabbages";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"and";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:2:"14";}s:5:"kings";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:29:"ZONE:zoneC cabbages and kings";}i:13;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:201;a:2:{s:6:"weight";s:4:"2648";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:5:"kings";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"and";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:2:"14";}s:5:"ships";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:26:"ZONE:zoneC kings and ships";}i:14;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:202;a:2:{s:6:"weight";s:4:"1631";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.003";s:5:"words";a:2:{s:5:"sweet";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:8:"disagree";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:33:"ZONE:(zoneA,zoneB) sweet disagree";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:202;a:2:{s:6:"weight";s:4:"3641";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}i:300;a:2:{s:6:"weight";s:4:"3641";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"who";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"am";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"i";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:""Who am I"";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:4:{i:310;a:2:{s:6:"weight";s:4:"2576";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}i:311;a:2:{s:6:"weight";s:4:"2576";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}i:202;a:2:{s:6:"weight";s:4:"2558";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}i:300;a:2:{s:6:"weight";s:4:"2558";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:2:"of";a:2:{s:4:"docs";s:1:"8";s:4:"hits";s:2:"10";}s:4:"this";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:""of this"";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:310;a:2:{s:6:"weight";s:4:"2630";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}i:311;a:2:{s:6:"weight";s:4:"2630";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:4:"like";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"5";}s:4:"this";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"ZONE:zoneA "like this"";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:400;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"5";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"strikes";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"strikes";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"one SENTENCE two";}i:20;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"one SENTENCE two";}i:21;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:"one SENTENCE three";}i:22;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:"one SENTENCE three";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:600;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:1:"6";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"back";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zone601 back";}i:24;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"back";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zone602 back";}i:25;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"ba*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"ZONE:zone602 ba*";}i:26;a:2:{s:8:"sphinxql";s:88:"insert into rt values ( 1, 'One and one and one. And two. And three, all separate.', 1 )";s:14:"total_affected";i:1;}i:27;a:2:{s:8:"sphinxql";s:100:"insert into rt values ( 2, 'And then we\'ll have him, one two three! Kidnap the Sandy Clawz...', 1 )";s:14:"total_affected";i:1;}i:28;a:2:{s:8:"sphinxql";s:67:"insert into rt values ( 3, 'One two something. But not three.', 1 )";s:14:"total_affected";i:1;}i:29;a:2:{s:8:"sphinxql";s:67:"insert into rt values ( 4, 'Two says hello to one more three.', 1 )";s:14:"total_affected";i:1;}i:30;a:2:{s:8:"sphinxql";s:57:"insert into rt values ( 5, 'A ram zam zam. Zam ram!', 1 )";s:14:"total_affected";i:1;}i:31;a:2:{s:8:"sphinxql";s:96:"insert into rt values ( 6, 'A ram zam zam, a ram zam zam, guli guli guli guli ram zam zam.', 1 )";s:14:"total_affected";i:1;}i:32;a:2:{s:8:"sphinxql";s:75:"insert into rt values ( 101, 'In paragraph, yes. Not in sentence, no.', 2 )";s:14:"total_affected";i:1;}i:33;a:2:{s:8:"sphinxql";s:125:"insert into rt values ( 200, 'The time has come, the walrus said, to talk of many things.', 3 )";s:14:"total_affected";i:1;}i:34;a:2:{s:8:"sphinxql";s:129:"insert into rt values ( 201, 'Of shoes, and ships, and sealing wax, of cabbages, , and kings.', 3 )";s:14:"total_affected";i:1;}i:35;a:2:{s:8:"sphinxql";s:117:"insert into rt values ( 202, 'Sweet dreams are made of this.Who am I to disagree?', 3 )";s:14:"total_affected";i:1;}i:36;a:2:{s:8:"sphinxql";s:581:"insert into rt values ( 300, 'Sweet of this.Who am I to disagree?', 4 )";s:14:"total_affected";i:1;}i:37;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:85:"insert into rt values ( 301, '>I like this. Sweet of  this.', 4 )";}i:38;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:83:"insert into rt values ( 302, 'I like this. Sweet of  this.', 4 )";}i:39;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:91:"insert into rt values ( 310, 'I like this. Sweet of  this.', 4 )";}i:40;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:83:"insert into rt values ( 311, 'I like this. Sweet of  this.', 4 )";}i:41;a:3:{s:8:"sphinxql";s:53:" select * from rt where match (' one SENTENCE two' ) ";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:1:"1";}}}i:42;a:3:{s:8:"sphinxql";s:59:" select * from rt where match (' one SENTENCE two three' ) ";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:1:"1";}}}i:43;a:3:{s:8:"sphinxql";s:68:" select * from rt where match (' one SENTENCE two SENTENCE three' ) ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:1:"1";}}}i:44;a:3:{s:8:"sphinxql";s:61:" select * from rt where match (' "one two" SENTENCE three' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}}}i:45;a:3:{s:8:"sphinxql";s:53:" select * from rt where match (' zam SENTENCE ram' ) ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"5";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"6";s:3:"idd";s:1:"1";}}}i:46;a:2:{s:8:"sphinxql";s:54:" select * from rt where match (' fox PARAGRAPH dog' ) ";s:10:"total_rows";i:0;}i:47;a:2:{s:8:"sphinxql";s:64:" select * from rt where match (' sentence SENTENCE paragraph' ) ";s:10:"total_rows";i:0;}i:48;a:3:{s:8:"sphinxql";s:65:" select * from rt where match (' sentence PARAGRAPH paragraph' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"101";s:3:"idd";s:1:"2";}}}i:49;a:3:{s:8:"sphinxql";s:54:" select * from rt where match (' ZONE:zoneA walrus' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"200";s:3:"idd";s:1:"3";}}}i:50;a:3:{s:8:"sphinxql";s:54:" select * from rt where match (' ZONE:zoneB walrus' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"200";s:3:"idd";s:1:"3";}}}i:51;a:3:{s:8:"sphinxql";s:59:" select * from rt where match (' ZONE:zoneA walrus time' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"200";s:3:"idd";s:1:"3";}}}i:52;a:2:{s:8:"sphinxql";s:59:" select * from rt where match (' ZONE:zoneB walrus time' ) ";s:10:"total_rows";i:0;}i:53;a:2:{s:8:"sphinxql";s:66:" select * from rt where match (' ZONE:zoneC cabbages and kings' ) ";s:10:"total_rows";i:0;}i:54;a:3:{s:8:"sphinxql";s:63:" select * from rt where match (' ZONE:zoneC kings and ships' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"201";s:3:"idd";s:1:"3";}}}i:55;a:3:{s:8:"sphinxql";s:70:" select * from rt where match (' ZONE:(zoneA,zoneB) sweet disagree' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"202";s:3:"idd";s:1:"3";}}}i:56;a:3:{s:8:"sphinxql";s:48:" select * from rt where match (' "Who am I" ' ) ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:3:"202";s:3:"idd";s:1:"3";}i:1;a:2:{s:2:"id";s:3:"300";s:3:"idd";s:1:"4";}}}i:57;a:3:{s:8:"sphinxql";s:47:" select * from rt where match (' "of this" ' ) ";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:3:"301";s:3:"idd";s:1:"4";}i:1;a:2:{s:2:"id";s:3:"302";s:3:"idd";s:1:"4";}i:2;a:2:{s:2:"id";s:3:"310";s:3:"idd";s:1:"4";}i:3;a:2:{s:2:"id";s:3:"311";s:3:"idd";s:1:"4";}i:4;a:2:{s:2:"id";s:3:"202";s:3:"idd";s:1:"3";}i:5;a:2:{s:2:"id";s:3:"300";s:3:"idd";s:1:"4";}}}i:58;a:3:{s:8:"sphinxql";s:60:" select * from rt where match (' ZONE:zoneA "like this" ' ) ";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"302";s:3:"idd";s:1:"4";}i:1;a:2:{s:2:"id";s:3:"310";s:3:"idd";s:1:"4";}i:2;a:2:{s:2:"id";s:3:"311";s:3:"idd";s:1:"4";}}}}i:6;a:59:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"one SENTENCE two";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"3598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"one SENTENCE two three";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"3598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:31:"one SENTENCE two SENTENCE three";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:24:""one two" SENTENCE three";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:5;a:2:{s:6:"weight";s:4:"2857";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:6;a:2:{s:6:"weight";s:4:"1778";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"zam";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:3:"349";}s:3:"ram";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:3:"175";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"zam SENTENCE ram";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"fox";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"dog";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"fox PARAGRAPH dog";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:8:"sentence";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:9:"paragraph";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:27:"sentence SENTENCE paragraph";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:101;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"2";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:8:"sentence";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:9:"paragraph";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:28:"sentence PARAGRAPH paragraph";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:1:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zoneA walrus";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zoneB walrus";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"time";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"ZONE:zoneA walrus time";}i:11;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"time";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"ZONE:zoneB walrus time";}i:12;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:8:"cabbages";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"and";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:2:"14";}s:5:"kings";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:29:"ZONE:zoneC cabbages and kings";}i:13;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:201;a:2:{s:6:"weight";s:4:"2648";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.003";s:5:"words";a:3:{s:5:"kings";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"and";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:2:"14";}s:5:"ships";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:26:"ZONE:zoneC kings and ships";}i:14;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:202;a:2:{s:6:"weight";s:4:"1631";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.003";s:5:"words";a:2:{s:5:"sweet";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:8:"disagree";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:33:"ZONE:(zoneA,zoneB) sweet disagree";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:202;a:2:{s:6:"weight";s:4:"3641";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}i:300;a:2:{s:6:"weight";s:4:"3641";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"who";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"am";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"i";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:""Who am I"";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:4:{i:310;a:2:{s:6:"weight";s:4:"2576";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}i:311;a:2:{s:6:"weight";s:4:"2576";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}i:202;a:2:{s:6:"weight";s:4:"2558";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}i:300;a:2:{s:6:"weight";s:4:"2558";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:2:"of";a:2:{s:4:"docs";s:1:"8";s:4:"hits";s:2:"10";}s:4:"this";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:""of this"";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:310;a:2:{s:6:"weight";s:4:"2630";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}i:311;a:2:{s:6:"weight";s:4:"2630";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:4:"like";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"5";}s:4:"this";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"ZONE:zoneA "like this"";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:400;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"5";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"strikes";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"strikes";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"one SENTENCE two";}i:20;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"one SENTENCE two";}i:21;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:"one SENTENCE three";}i:22;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:"one SENTENCE three";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:600;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:1:"6";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"back";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zone601 back";}i:24;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"back";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zone602 back";}i:25;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"ba*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"ZONE:zone602 ba*";}i:26;a:2:{s:8:"sphinxql";s:88:"insert into rt values ( 1, 'One and one and one. And two. And three, all separate.', 1 )";s:14:"total_affected";i:1;}i:27;a:2:{s:8:"sphinxql";s:100:"insert into rt values ( 2, 'And then we\'ll have him, one two three! Kidnap the Sandy Clawz...', 1 )";s:14:"total_affected";i:1;}i:28;a:2:{s:8:"sphinxql";s:67:"insert into rt values ( 3, 'One two something. But not three.', 1 )";s:14:"total_affected";i:1;}i:29;a:2:{s:8:"sphinxql";s:67:"insert into rt values ( 4, 'Two says hello to one more three.', 1 )";s:14:"total_affected";i:1;}i:30;a:2:{s:8:"sphinxql";s:57:"insert into rt values ( 5, 'A ram zam zam. Zam ram!', 1 )";s:14:"total_affected";i:1;}i:31;a:2:{s:8:"sphinxql";s:96:"insert into rt values ( 6, 'A ram zam zam, a ram zam zam, guli guli guli guli ram zam zam.', 1 )";s:14:"total_affected";i:1;}i:32;a:2:{s:8:"sphinxql";s:75:"insert into rt values ( 101, 'In paragraph, yes. Not in sentence, no.', 2 )";s:14:"total_affected";i:1;}i:33;a:2:{s:8:"sphinxql";s:125:"insert into rt values ( 200, 'The time has come, the walrus said, to talk of many things.', 3 )";s:14:"total_affected";i:1;}i:34;a:2:{s:8:"sphinxql";s:129:"insert into rt values ( 201, 'Of shoes, and ships, and sealing wax, of cabbages, , and kings.', 3 )";s:14:"total_affected";i:1;}i:35;a:2:{s:8:"sphinxql";s:117:"insert into rt values ( 202, 'Sweet dreams are made of this.Who am I to disagree?', 3 )";s:14:"total_affected";i:1;}i:36;a:2:{s:8:"sphinxql";s:581:"insert into rt values ( 300, 'Sweet of this.Who am I to disagree?', 4 )";s:14:"total_affected";i:1;}i:37;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:85:"insert into rt values ( 301, '>I like this. Sweet of  this.', 4 )";}i:38;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:83:"insert into rt values ( 302, 'I like this. Sweet of  this.', 4 )";}i:39;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:91:"insert into rt values ( 310, 'I like this. Sweet of  this.', 4 )";}i:40;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:83:"insert into rt values ( 311, 'I like this. Sweet of  this.', 4 )";}i:41;a:3:{s:8:"sphinxql";s:53:" select * from rt where match (' one SENTENCE two' ) ";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:1:"1";}}}i:42;a:3:{s:8:"sphinxql";s:59:" select * from rt where match (' one SENTENCE two three' ) ";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:1:"1";}}}i:43;a:3:{s:8:"sphinxql";s:68:" select * from rt where match (' one SENTENCE two SENTENCE three' ) ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:1:"1";}}}i:44;a:3:{s:8:"sphinxql";s:61:" select * from rt where match (' "one two" SENTENCE three' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}}}i:45;a:3:{s:8:"sphinxql";s:53:" select * from rt where match (' zam SENTENCE ram' ) ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"5";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"6";s:3:"idd";s:1:"1";}}}i:46;a:2:{s:8:"sphinxql";s:54:" select * from rt where match (' fox PARAGRAPH dog' ) ";s:10:"total_rows";i:0;}i:47;a:2:{s:8:"sphinxql";s:64:" select * from rt where match (' sentence SENTENCE paragraph' ) ";s:10:"total_rows";i:0;}i:48;a:3:{s:8:"sphinxql";s:65:" select * from rt where match (' sentence PARAGRAPH paragraph' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"101";s:3:"idd";s:1:"2";}}}i:49;a:3:{s:8:"sphinxql";s:54:" select * from rt where match (' ZONE:zoneA walrus' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"200";s:3:"idd";s:1:"3";}}}i:50;a:3:{s:8:"sphinxql";s:54:" select * from rt where match (' ZONE:zoneB walrus' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"200";s:3:"idd";s:1:"3";}}}i:51;a:3:{s:8:"sphinxql";s:59:" select * from rt where match (' ZONE:zoneA walrus time' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"200";s:3:"idd";s:1:"3";}}}i:52;a:2:{s:8:"sphinxql";s:59:" select * from rt where match (' ZONE:zoneB walrus time' ) ";s:10:"total_rows";i:0;}i:53;a:2:{s:8:"sphinxql";s:66:" select * from rt where match (' ZONE:zoneC cabbages and kings' ) ";s:10:"total_rows";i:0;}i:54;a:3:{s:8:"sphinxql";s:63:" select * from rt where match (' ZONE:zoneC kings and ships' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"201";s:3:"idd";s:1:"3";}}}i:55;a:3:{s:8:"sphinxql";s:70:" select * from rt where match (' ZONE:(zoneA,zoneB) sweet disagree' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"202";s:3:"idd";s:1:"3";}}}i:56;a:3:{s:8:"sphinxql";s:48:" select * from rt where match (' "Who am I" ' ) ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:3:"202";s:3:"idd";s:1:"3";}i:1;a:2:{s:2:"id";s:3:"300";s:3:"idd";s:1:"4";}}}i:57;a:3:{s:8:"sphinxql";s:47:" select * from rt where match (' "of this" ' ) ";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:3:"301";s:3:"idd";s:1:"4";}i:1;a:2:{s:2:"id";s:3:"302";s:3:"idd";s:1:"4";}i:2;a:2:{s:2:"id";s:3:"310";s:3:"idd";s:1:"4";}i:3;a:2:{s:2:"id";s:3:"311";s:3:"idd";s:1:"4";}i:4;a:2:{s:2:"id";s:3:"202";s:3:"idd";s:1:"3";}i:5;a:2:{s:2:"id";s:3:"300";s:3:"idd";s:1:"4";}}}i:58;a:3:{s:8:"sphinxql";s:60:" select * from rt where match (' ZONE:zoneA "like this" ' ) ";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"302";s:3:"idd";s:1:"4";}i:1;a:2:{s:2:"id";s:3:"310";s:3:"idd";s:1:"4";}i:2;a:2:{s:2:"id";s:3:"311";s:3:"idd";s:1:"4";}}}}i:7;a:59:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"one SENTENCE two";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"3598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"one SENTENCE two three";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"3598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:31:"one SENTENCE two SENTENCE three";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:24:""one two" SENTENCE three";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:5;a:2:{s:6:"weight";s:4:"2857";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:6;a:2:{s:6:"weight";s:4:"1778";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"zam";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:3:"349";}s:3:"ram";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:3:"175";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"zam SENTENCE ram";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"fox";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"dog";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"fox PARAGRAPH dog";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:8:"sentence";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:9:"paragraph";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:27:"sentence SENTENCE paragraph";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:101;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"2";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:8:"sentence";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:9:"paragraph";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:28:"sentence PARAGRAPH paragraph";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zoneA walrus";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zoneB walrus";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"time";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"ZONE:zoneA walrus time";}i:11;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"walrus";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"time";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"ZONE:zoneB walrus time";}i:12;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:8:"cabbages";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"and";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:2:"14";}s:5:"kings";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:29:"ZONE:zoneC cabbages and kings";}i:13;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:201;a:2:{s:6:"weight";s:4:"2648";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:5:"kings";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"and";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:2:"14";}s:5:"ships";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:26:"ZONE:zoneC kings and ships";}i:14;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:202;a:2:{s:6:"weight";s:4:"1631";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:5:"sweet";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:8:"disagree";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:33:"ZONE:(zoneA,zoneB) sweet disagree";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:202;a:2:{s:6:"weight";s:4:"3641";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}i:300;a:2:{s:6:"weight";s:4:"3641";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"who";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"am";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"i";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:""Who am I"";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:4:{i:310;a:2:{s:6:"weight";s:4:"2576";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}i:311;a:2:{s:6:"weight";s:4:"2576";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}i:202;a:2:{s:6:"weight";s:4:"2558";s:5:"attrs";a:1:{s:3:"gid";s:1:"3";}}i:300;a:2:{s:6:"weight";s:4:"2558";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:2:"of";a:2:{s:4:"docs";s:1:"8";s:4:"hits";s:2:"10";}s:4:"this";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:""of this"";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:310;a:2:{s:6:"weight";s:4:"2630";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}i:311;a:2:{s:6:"weight";s:4:"2630";s:5:"attrs";a:1:{s:3:"gid";s:1:"4";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:4:"like";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"5";}s:4:"this";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"ZONE:zoneA "like this"";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:400;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:1:{s:3:"gid";s:1:"5";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"strikes";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"strikes";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"one SENTENCE two";}i:20;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:3;a:2:{s:6:"weight";s:4:"2598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"one SENTENCE two";}i:21;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:"one SENTENCE three";}i:22;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"6";}s:5:"three";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:"one SENTENCE three";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:600;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:1:"6";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"back";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zone601 back";}i:24;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"back";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ZONE:zone602 back";}i:25;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"ba*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"ZONE:zone602 ba*";}i:26;a:2:{s:8:"sphinxql";s:88:"insert into rt values ( 1, 'One and one and one. And two. And three, all separate.', 1 )";s:14:"total_affected";i:1;}i:27;a:2:{s:8:"sphinxql";s:100:"insert into rt values ( 2, 'And then we\'ll have him, one two three! Kidnap the Sandy Clawz...', 1 )";s:14:"total_affected";i:1;}i:28;a:2:{s:8:"sphinxql";s:67:"insert into rt values ( 3, 'One two something. But not three.', 1 )";s:14:"total_affected";i:1;}i:29;a:2:{s:8:"sphinxql";s:67:"insert into rt values ( 4, 'Two says hello to one more three.', 1 )";s:14:"total_affected";i:1;}i:30;a:2:{s:8:"sphinxql";s:57:"insert into rt values ( 5, 'A ram zam zam. Zam ram!', 1 )";s:14:"total_affected";i:1;}i:31;a:2:{s:8:"sphinxql";s:96:"insert into rt values ( 6, 'A ram zam zam, a ram zam zam, guli guli guli guli ram zam zam.', 1 )";s:14:"total_affected";i:1;}i:32;a:2:{s:8:"sphinxql";s:75:"insert into rt values ( 101, 'In paragraph, yes. Not in sentence, no.', 2 )";s:14:"total_affected";i:1;}i:33;a:2:{s:8:"sphinxql";s:125:"insert into rt values ( 200, 'The time has come, the walrus said, to talk of many things.', 3 )";s:14:"total_affected";i:1;}i:34;a:2:{s:8:"sphinxql";s:129:"insert into rt values ( 201, 'Of shoes, and ships, and sealing wax, of cabbages, , and kings.', 3 )";s:14:"total_affected";i:1;}i:35;a:2:{s:8:"sphinxql";s:117:"insert into rt values ( 202, 'Sweet dreams are made of this.Who am I to disagree?', 3 )";s:14:"total_affected";i:1;}i:36;a:2:{s:8:"sphinxql";s:581:"insert into rt values ( 300, 'Sweet of this.Who am I to disagree?', 4 )";s:14:"total_affected";i:1;}i:37;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:85:"insert into rt values ( 301, '>I like this. Sweet of  this.', 4 )";}i:38;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:83:"insert into rt values ( 302, 'I like this. Sweet of  this.', 4 )";}i:39;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:91:"insert into rt values ( 310, 'I like this. Sweet of  this.', 4 )";}i:40;a:2:{s:14:"total_affected";i:1;s:8:"sphinxql";s:83:"insert into rt values ( 311, 'I like this. Sweet of  this.', 4 )";}i:41;a:3:{s:8:"sphinxql";s:53:" select * from rt where match (' one SENTENCE two' ) ";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:1:"1";}}}i:42;a:3:{s:8:"sphinxql";s:59:" select * from rt where match (' one SENTENCE two three' ) ";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:1:"1";}}}i:43;a:3:{s:8:"sphinxql";s:68:" select * from rt where match (' one SENTENCE two SENTENCE three' ) ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:1:"1";}}}i:44;a:3:{s:8:"sphinxql";s:61:" select * from rt where match (' "one two" SENTENCE three' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}}}i:45;a:3:{s:8:"sphinxql";s:53:" select * from rt where match (' zam SENTENCE ram' ) ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"5";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"6";s:3:"idd";s:1:"1";}}}i:46;a:2:{s:8:"sphinxql";s:54:" select * from rt where match (' fox PARAGRAPH dog' ) ";s:10:"total_rows";i:0;}i:47;a:2:{s:8:"sphinxql";s:64:" select * from rt where match (' sentence SENTENCE paragraph' ) ";s:10:"total_rows";i:0;}i:48;a:3:{s:8:"sphinxql";s:65:" select * from rt where match (' sentence PARAGRAPH paragraph' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"101";s:3:"idd";s:1:"2";}}}i:49;a:3:{s:8:"sphinxql";s:54:" select * from rt where match (' ZONE:zoneA walrus' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"200";s:3:"idd";s:1:"3";}}}i:50;a:3:{s:8:"sphinxql";s:54:" select * from rt where match (' ZONE:zoneB walrus' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"200";s:3:"idd";s:1:"3";}}}i:51;a:3:{s:8:"sphinxql";s:59:" select * from rt where match (' ZONE:zoneA walrus time' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"200";s:3:"idd";s:1:"3";}}}i:52;a:2:{s:8:"sphinxql";s:59:" select * from rt where match (' ZONE:zoneB walrus time' ) ";s:10:"total_rows";i:0;}i:53;a:2:{s:8:"sphinxql";s:66:" select * from rt where match (' ZONE:zoneC cabbages and kings' ) ";s:10:"total_rows";i:0;}i:54;a:3:{s:8:"sphinxql";s:63:" select * from rt where match (' ZONE:zoneC kings and ships' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"201";s:3:"idd";s:1:"3";}}}i:55;a:3:{s:8:"sphinxql";s:70:" select * from rt where match (' ZONE:(zoneA,zoneB) sweet disagree' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:3:"202";s:3:"idd";s:1:"3";}}}i:56;a:3:{s:8:"sphinxql";s:48:" select * from rt where match (' "Who am I" ' ) ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:3:"202";s:3:"idd";s:1:"3";}i:1;a:2:{s:2:"id";s:3:"300";s:3:"idd";s:1:"4";}}}i:57;a:3:{s:8:"sphinxql";s:47:" select * from rt where match (' "of this" ' ) ";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:2:{s:2:"id";s:3:"301";s:3:"idd";s:1:"4";}i:1;a:2:{s:2:"id";s:3:"302";s:3:"idd";s:1:"4";}i:2;a:2:{s:2:"id";s:3:"310";s:3:"idd";s:1:"4";}i:3;a:2:{s:2:"id";s:3:"311";s:3:"idd";s:1:"4";}i:4;a:2:{s:2:"id";s:3:"202";s:3:"idd";s:1:"3";}i:5;a:2:{s:2:"id";s:3:"300";s:3:"idd";s:1:"4";}}}i:58;a:3:{s:8:"sphinxql";s:60:" select * from rt where match (' ZONE:zoneA "like this" ' ) ";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:3:"302";s:3:"idd";s:1:"4";}i:1;a:2:{s:2:"id";s:3:"310";s:3:"idd";s:1:"4";}i:2;a:2:{s:2:"id";s:3:"311";s:3:"idd";s:1:"4";}}}}}sphinx-2.2.11-release/test/test_132/0000755000175000017500000000000012743402012016402 5ustar alexeyalexeysphinx-2.2.11-release/test/test_132/test.xml0000644000175000017500000001655712743402012020121 0ustar alexeyalexey MVA persistent attribute updates indexer { mem_limit = 16M } searchd { binlog_path = # workers = threads attr_flush_period = 3600 # not autoflush during test run but be able to do FlushAttributes command } source src { type = mysql sql_query = SELECT id, text, section, mva1 FROM test_table sql_attr_uint = section sql_attr_multi = uint mva1 from field mva1 sql_attr_multi = bigint mva1 from field mva1 } index idx { source = src path = /main132 docinfo = extern } index rt { type = rt path = /rt docinfo = extern rt_field = body rt_attr_multi = mva1 rt_attr_uint = gid rt_attr_multi = mva2 } index hung { type = rt path = /hung docinfo = extern rt_field = body rt_attr_multi = mva1 rt_attr_uint = gid rt_attr_multi = mva2 } index rt_mva { type = rt path = /rt_mva docinfo = extern rt_mem_limit = 128k rt_field = text rt_attr_multi = mva } source src_save { type = mysql sql_query = SELECT id, 1 as idd, '1, 2, 3, 4, 5' as mva, 'dummy' as text FROM mva_table sql_attr_uint = idd sql_attr_multi = uint mva from field } index mva_save { source = src_save path = /mva_save docinfo = extern } $v ) { $line .= $k . " = " . $v . "\t"; } $results[] = $line; } else { $results[] = $row["Variable_name"] . " = " . $row["Value"]; } } @mysql_free_result ( $res ); } return $results; '); global $sd_address, $sd_sphinxql_port; $sockStr = "$sd_address:$sd_sphinxql_port"; if ($sd_address == "localhost") $sockStr = "127.0.0.1:$sd_sphinxql_port"; $sock = @mysql_connect ($sockStr,'','', true ); if ( $sock === false ) { $results[] = "error: can't connect to searchd: " . @mysql_errno ( $sock ) . " : " . @mysql_error ( $sock ); return; } @mysql_query ( "insert into rt (id, gid, mva1, mva2, body) values (1, 11, (1, 1), (2), 'dummy'), (3, 33, (3, 3), (3), 'dummy')" ); @mysql_close($sock); // update that block for ( $i = 0; $i < 4; $i++) { $results[] = sprintf( "iteration=%d", $i ); $up = $client->UpdateAttributes ( "idx", array("mva1"), array(1=>array(array(2,3,4)), 3=>array(array(6,7,8))),true); if ( $up >= 0 ) $results[] = sprintf("up.ok=%d", $up); else $results[] = sprintf("up.err=%s", $client->GetLastError()); $sock = @mysql_connect ($sockStr,'','', true ); if ( $sock === false ) { $results[] = "error: can't connect to searchd: " . @mysql_errno ( $sock ) . " : " . @mysql_error ( $sock ); return; } @mysql_query ( 'update idx set mva1=(3,2, 1, 2), mva1=(1, 2) where id=1' ); if ( @mysql_error() ) $results[] = @mysql_error(); @mysql_query ( 'update rt set mva1=(3,2, 1, 2), gid=3212, mva2=(1, 2, 3, 4, 5, 6), mva2=(3,4,5) where id=1' ); if ( @mysql_error() ) $results[] = @mysql_error(); @mysql_close($sock); StopSearchd ( 'config.conf', 'searchd.pid' ); usleep ( 50000 ); $error = ""; $startSta = StartSearchd ( 'config.conf', 'error.txt', 'searchd.pid', $error ); if ( $startSta == 0 || $startSta == 2 ) { $results[] = "started=ok"; } else $results[] = sprintf("start.err=%d local=%s client=%s", $startSta, $error, $client->GetLastError()); } // regression that rt deadlock on smart attributes update $sock = @mysql_connect ($sockStr,'','', true ); if ( $sock === false ) { $results[] = "error: can't connect to searchd: " . @mysql_errno ( $sock ) . " : " . @mysql_error ( $sock ); return; } for ( $i = 1; $i < 2001; $i++) { $gid = $i * 1000; $mva1 = $i * 1000 + 33; $mva2 = $i * 1000 - 11; @mysql_query ( "replace into hung (id, gid, mva1, mva2, body) values ($i, $gid, ($mva1, $mva2), ($mva1), 'dummy1')" ); if ( @mysql_error() ) $results[] = 'i=$i' . @mysql_error(); } @mysql_close($sock); // regression that rt dumps MVA to plain index wrong way $sock = @mysql_connect ($sockStr,'','', true ); if ( $sock === false ) { $results[] = "error: can't connect to searchd: " . @mysql_errno ( $sock ) . " : " . @mysql_error ( $sock ); return; } $q = "INSERT INTO rt_mva (id, text, mva) VALUES "; for ( $i = 1; $i <= 16000; $i++) { $q .= "( $i, ' ', ($i) )"; if ( ( $i%100 )!=0 ) $q.= ","; if ( ( $i%100 )==0 ) { @mysql_query ( $q ); $q = "INSERT INTO rt_mva (id, text, mva) VALUES "; } if ( @mysql_error() ) $results[] = 'i=$i' . @mysql_error(); } $results = array_merge ( $results, $query ( "select * from rt_mva order by id desc limit 3", $sock ) ); $results = array_merge ( $results, $query ( "show meta", $sock ) ); $results = array_merge ( $results, $query ( "select * from rt_mva where mva<17000 order by id asc limit 3", $sock ) ); $results = array_merge ( $results, $query ( "show meta", $sock ) ); // regressions: // crash on INSERT .. ( id, text, mva ) values ( 1, '', 15 ) // invalid syntax INSERT .. ( id, text, mva ) values ( 1, '', () ) $results = array_merge ( $results, $query ( "replace into rt_mva (id, text, mva) values ( 1, ' ', 333 )", $sock ) ); $results = array_merge ( $results, $query ( "replace into rt_mva (id, text, mva) values ( 2, ' ', () )", $sock ) ); $results = array_merge ( $results, $query ( "select * from rt_mva order by id asc limit 3", $sock ) ); $results = array_merge ( $results, $query ( "show meta", $sock ) ); // regression: //crash on SaveAttributes $results[] = 'pre update flush tag - ' . $client->FlushAttributes(); for ( $i = 0; $i<100; $i++ ) { @mysql_query ( 'UPDATE mva_save SET mva=(3,2, 1, 2) WHERE id>0' ); if ( @mysql_error() ) $results[] = 'i=$i' . @mysql_error(); } $results[] = 'post update flush tag - ' . $client->FlushAttributes(); @mysql_close($sock); ]]> select * from idx where match('test3') select * from rt select * from idx update hung set mva1=(3,2, 1, 2) where id>2 select * from hung order by id asc CREATE TABLE `test_table` ( `id` int(11) DEFAULT NULL, `text` varchar (255) NOT NULL, `section` int(11) DEFAULT NULL, `mva1` varchar(255) NOT NULL ) CREATE TABLE `mva_table` ( `id` int(11) DEFAULT NULL) DROP TABLE IF EXISTS `test_table` DROP TABLE IF EXISTS `mva_table` sphinx-2.2.11-release/test/test_132/model.bin0000644000175000017500000002045212743402012020177 0ustar alexeyalexeya:2:{i:0;a:6:{i:0;a:38:{i:0;s:11:"iteration=0";i:1;s:7:"up.ok=2";i:2;s:10:"started=ok";i:3;s:11:"iteration=1";i:4;s:7:"up.ok=2";i:5;s:10:"started=ok";i:6;s:11:"iteration=2";i:7;s:7:"up.ok=2";i:8;s:10:"started=ok";i:9;s:11:"iteration=3";i:10;s:7:"up.ok=2";i:11;s:10:"started=ok";i:12;s:45:"select * from rt_mva order by id desc limit 3";i:13;s:23:"id = 16000 mva = 16000 ";i:14;s:23:"id = 15999 mva = 15999 ";i:15;s:23:"id = 15998 mva = 15998 ";i:16;s:9:"show meta";i:17;s:12:"total = 1000";i:18;s:19:"total_found = 16000";i:19;s:60:"select * from rt_mva where mva<17000 order by id asc limit 3";i:20;s:15:"id = 1 mva = 1 ";i:21;s:15:"id = 2 mva = 2 ";i:22;s:15:"id = 3 mva = 3 ";i:23;s:9:"show meta";i:24;s:12:"total = 1000";i:25;s:19:"total_found = 16000";i:26;s:59:"replace into rt_mva (id, text, mva) values ( 1, ' ', 333 )";i:27;s:63:"1064; row 1, column 3: non-MVA value specified for a MVA column";i:28;s:58:"replace into rt_mva (id, text, mva) values ( 2, ' ', () )";i:29;s:44:"select * from rt_mva order by id asc limit 3";i:30;s:15:"id = 1 mva = 1 ";i:31;s:14:"id = 2 mva = ";i:32;s:15:"id = 3 mva = 3 ";i:33;s:9:"show meta";i:34;s:12:"total = 1000";i:35;s:19:"total_found = 16000";i:36;s:24:"pre update flush tag - 0";i:37;s:25:"post update flush tag - 1";}i:1;a:3:{s:8:"sphinxql";s:38:"select * from idx where match('test3')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"3";s:7:"section";s:3:"103";s:4:"mva1";s:5:"6,7,8";}}}i:2;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:4:"3212";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"3,4,5";}i:1;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:2:"33";s:4:"mva1";s:1:"3";s:4:"mva2";s:1:"3";}}}i:3;a:3:{s:8:"sphinxql";s:17:"select * from idx";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:7:"section";s:3:"101";s:4:"mva1";s:3:"1,2";}i:1;a:3:{s:2:"id";s:1:"2";s:7:"section";s:3:"102";s:4:"mva1";s:14:"1002,1023,4456";}i:2;a:3:{s:2:"id";s:1:"3";s:7:"section";s:3:"103";s:4:"mva1";s:5:"6,7,8";}i:3;a:3:{s:2:"id";s:1:"4";s:7:"section";s:3:"104";s:4:"mva1";s:14:"1004,1005,1006";}}}i:4;a:2:{s:8:"sphinxql";s:43:"update hung set mva1=(3,2, 1, 2) where id>2";s:14:"total_affected";i:1998;}i:5;a:3:{s:8:"sphinxql";s:34:"select * from hung order by id asc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:4:"1000";s:4:"mva1";s:8:"989,1033";s:4:"mva2";s:4:"1033";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"gid";s:4:"2000";s:4:"mva1";s:9:"1989,2033";s:4:"mva2";s:4:"2033";}i:2;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:4:"3000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:4:"3033";}i:3;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:4:"4000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:4:"4033";}i:4;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:4:"5000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:4:"5033";}i:5;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:4:"6000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:4:"6033";}i:6;a:4:{s:2:"id";s:1:"7";s:3:"gid";s:4:"7000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:4:"7033";}i:7;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:4:"8000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:4:"8033";}i:8;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:4:"9000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:4:"9033";}i:9;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:5:"10000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"10033";}i:10;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:5:"11000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"11033";}i:11;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:5:"12000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"12033";}i:12;a:4:{s:2:"id";s:2:"13";s:3:"gid";s:5:"13000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"13033";}i:13;a:4:{s:2:"id";s:2:"14";s:3:"gid";s:5:"14000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"14033";}i:14;a:4:{s:2:"id";s:2:"15";s:3:"gid";s:5:"15000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"15033";}i:15;a:4:{s:2:"id";s:2:"16";s:3:"gid";s:5:"16000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"16033";}i:16;a:4:{s:2:"id";s:2:"17";s:3:"gid";s:5:"17000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"17033";}i:17;a:4:{s:2:"id";s:2:"18";s:3:"gid";s:5:"18000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"18033";}i:18;a:4:{s:2:"id";s:2:"19";s:3:"gid";s:5:"19000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"19033";}i:19;a:4:{s:2:"id";s:2:"20";s:3:"gid";s:5:"20000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"20033";}}}}i:1;a:6:{i:0;a:38:{i:0;s:11:"iteration=0";i:1;s:7:"up.ok=2";i:2;s:10:"started=ok";i:3;s:11:"iteration=1";i:4;s:7:"up.ok=2";i:5;s:10:"started=ok";i:6;s:11:"iteration=2";i:7;s:7:"up.ok=2";i:8;s:10:"started=ok";i:9;s:11:"iteration=3";i:10;s:7:"up.ok=2";i:11;s:10:"started=ok";i:12;s:45:"select * from rt_mva order by id desc limit 3";i:13;s:23:"id = 16000 mva = 16000 ";i:14;s:23:"id = 15999 mva = 15999 ";i:15;s:23:"id = 15998 mva = 15998 ";i:16;s:9:"show meta";i:17;s:12:"total = 1000";i:18;s:19:"total_found = 16000";i:19;s:60:"select * from rt_mva where mva<17000 order by id asc limit 3";i:20;s:15:"id = 1 mva = 1 ";i:21;s:15:"id = 2 mva = 2 ";i:22;s:15:"id = 3 mva = 3 ";i:23;s:9:"show meta";i:24;s:12:"total = 1000";i:25;s:19:"total_found = 16000";i:26;s:59:"replace into rt_mva (id, text, mva) values ( 1, ' ', 333 )";i:27;s:63:"1064; row 1, column 3: non-MVA value specified for a MVA column";i:28;s:58:"replace into rt_mva (id, text, mva) values ( 2, ' ', () )";i:29;s:44:"select * from rt_mva order by id asc limit 3";i:30;s:15:"id = 1 mva = 1 ";i:31;s:14:"id = 2 mva = ";i:32;s:15:"id = 3 mva = 3 ";i:33;s:9:"show meta";i:34;s:12:"total = 1000";i:35;s:19:"total_found = 16000";i:36;s:24:"pre update flush tag - 0";i:37;s:25:"post update flush tag - 1";}i:1;a:3:{s:8:"sphinxql";s:38:"select * from idx where match('test3')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"3";s:7:"section";s:3:"103";s:4:"mva1";s:5:"6,7,8";}}}i:2;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:4:"3212";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"3,4,5";}i:1;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:2:"33";s:4:"mva1";s:1:"3";s:4:"mva2";s:1:"3";}}}i:3;a:3:{s:8:"sphinxql";s:17:"select * from idx";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:7:"section";s:3:"101";s:4:"mva1";s:3:"1,2";}i:1;a:3:{s:2:"id";s:1:"2";s:7:"section";s:3:"102";s:4:"mva1";s:14:"1002,1023,4456";}i:2;a:3:{s:2:"id";s:1:"3";s:7:"section";s:3:"103";s:4:"mva1";s:5:"6,7,8";}i:3;a:3:{s:2:"id";s:1:"4";s:7:"section";s:3:"104";s:4:"mva1";s:14:"1004,1005,1006";}}}i:4;a:2:{s:8:"sphinxql";s:43:"update hung set mva1=(3,2, 1, 2) where id>2";s:14:"total_affected";i:1998;}i:5;a:3:{s:8:"sphinxql";s:34:"select * from hung order by id asc";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"gid";s:4:"1000";s:4:"mva1";s:8:"989,1033";s:4:"mva2";s:4:"1033";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"gid";s:4:"2000";s:4:"mva1";s:9:"1989,2033";s:4:"mva2";s:4:"2033";}i:2;a:4:{s:2:"id";s:1:"3";s:3:"gid";s:4:"3000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:4:"3033";}i:3;a:4:{s:2:"id";s:1:"4";s:3:"gid";s:4:"4000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:4:"4033";}i:4;a:4:{s:2:"id";s:1:"5";s:3:"gid";s:4:"5000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:4:"5033";}i:5;a:4:{s:2:"id";s:1:"6";s:3:"gid";s:4:"6000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:4:"6033";}i:6;a:4:{s:2:"id";s:1:"7";s:3:"gid";s:4:"7000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:4:"7033";}i:7;a:4:{s:2:"id";s:1:"8";s:3:"gid";s:4:"8000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:4:"8033";}i:8;a:4:{s:2:"id";s:1:"9";s:3:"gid";s:4:"9000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:4:"9033";}i:9;a:4:{s:2:"id";s:2:"10";s:3:"gid";s:5:"10000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"10033";}i:10;a:4:{s:2:"id";s:2:"11";s:3:"gid";s:5:"11000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"11033";}i:11;a:4:{s:2:"id";s:2:"12";s:3:"gid";s:5:"12000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"12033";}i:12;a:4:{s:2:"id";s:2:"13";s:3:"gid";s:5:"13000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"13033";}i:13;a:4:{s:2:"id";s:2:"14";s:3:"gid";s:5:"14000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"14033";}i:14;a:4:{s:2:"id";s:2:"15";s:3:"gid";s:5:"15000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"15033";}i:15;a:4:{s:2:"id";s:2:"16";s:3:"gid";s:5:"16000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"16033";}i:16;a:4:{s:2:"id";s:2:"17";s:3:"gid";s:5:"17000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"17033";}i:17;a:4:{s:2:"id";s:2:"18";s:3:"gid";s:5:"18000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"18033";}i:18;a:4:{s:2:"id";s:2:"19";s:3:"gid";s:5:"19000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"19033";}i:19;a:4:{s:2:"id";s:2:"20";s:3:"gid";s:5:"20000";s:4:"mva1";s:5:"1,2,3";s:4:"mva2";s:5:"20033";}}}}}sphinx-2.2.11-release/test/test_131/0000755000175000017500000000000012743402012016401 5ustar alexeyalexeysphinx-2.2.11-release/test/test_131/test.xml0000644000175000017500000000211212743402012020076 0ustar alexeyalexey 0 hit vs 0+ documents indexer { mem_limit = 16M } searchd { } source src0doc { type = mysql sql_query = SELECT id, gid, title FROM test_table where id=111 sql_attr_uint = gid } index test0doc { source = src0doc path = /test0doc docinfo = extern } source src1doc { type = mysql sql_query = SELECT id, gid, title FROM test_table where id=11 sql_attr_uint = gid } index test1doc { source = src1doc path = /test1doc docinfo = extern } the CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `gid` int(11) NOT NULL default '0', `title` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 11, 1011, '' ) sphinx-2.2.11-release/test/test_131/model.bin0000644000175000017500000000127612743402012020201 0ustar alexeyalexeya:1:{i:0;a:2:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"the";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"the";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:11;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"gid";i:1011;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}}}sphinx-2.2.11-release/test/test_130/0000755000175000017500000000000012743402012016400 5ustar alexeyalexeysphinx-2.2.11-release/test/test_130/test.xml0000644000175000017500000000172212743402012020103 0ustar alexeyalexey snippets vs load_files searchd { } source test { type = mysql sql_query = SELECT 1, 'text'; } index test { source = test path = /test } select 1; true, 'limit'=>0 ); $results[] = $client->BuildExcerpts($docs, 'test', 'end point', $opts ); $results[] = $client->BuildExcerpts($docs, 'test', 'not_found', $opts ); $results[] = $client->BuildExcerpts(array( 'test_130/empty.txt' ), 'test', 'end point', $opts ); $results[] = $client->BuildExcerpts(array( '' ), 'test', 'not_found', $opts ); $results[] = $client->GetLastError(); $results[] = $client->BuildExcerpts ( array ( 'test_130/512k.xml' ), 'test', 'it builds', array ( "limit" => 100, "load_files" => true ) ); ]]> sphinx-2.2.11-release/test/test_130/model.bin0000644000175000017500000000062012743402012020170 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:6:{i:0;a:1:{i:0;s:69:"That paper also reminds me end point as my cool friend.";}i:1;a:1:{i:0;s:55:"That paper also reminds me end point as my cool friend.";}i:2;a:1:{i:0;s:0:"";}i:3;b:0;i:4;s:41:"searchd error: snippet file name is empty";i:5;a:1:{i:0;s:101:" ... days. And Comporellon builds underground right now. It is a common tendency ... ";}}}}sphinx-2.2.11-release/test/test_130/load_file.txt0000644000175000017500000000006712743402012021062 0ustar alexeyalexeyThat paper also reminds me end point as my cool friend.sphinx-2.2.11-release/test/test_130/empty.txt0000644000175000017500000000000012743402012020265 0ustar alexeyalexeysphinx-2.2.11-release/test/test_130/512k.xml0000644000175000017500000155065612743402012017626 0ustar alexeyalexey

<p>48.</p>

Trevize glanced now and then at Blisss face, which seemed entirely concentrated on Bander. Trevize had grown quite certain he knew what was going on.

Bander, despite its paean to freedom, found this unique opportunity irresistible. There was no way it could speak to robots on a basis of intellectual equality, and certainly not to animals. To speak to its fellow-Solarians would be, to it, unpleasant, and what communication there must be would be forced, and never spontaneous.

As for Trevize, Bliss, and Pelorat, they might be half-human to Bander, and it might regard them as no more an infringement on its liberty than a robot or a goat would bebut they were its intellectual equals (or near equals) and the chance to speak to them was a unique luxury it had never experienced before.

No wonder, Trevize thought, it was indulging itself in this way. And Bliss (Trevize was doubly sure) was encouraging this, just pushing Banders mind ever so gently in order to urge it to do what it very much wanted to do in any case.

Bliss, presumably, was working on the supposition that if Bander spoke enough, it might tell them something useful concerning Earth. That made sense to Trevize, so that even if he had not been truly curious about the subject under discussion, he would nevertheless have endeavored to continue the conversation.

What do those brain-lobes do? Trevize asked.

Bander said, They are transducers. They are activated by the flow of heat and they convert the heat-flow into mechanical energy.

I cannot believe that. The flow of heat is insufficient.

Little half-human, you do not think. If there were many Solarians crowded together, each trying to make use of the flow of heat, then, yes, the supply would be insufficient. I, however, have over forty thousand square kilometers that are mine, mine alone. I can collect heat-flow from any quantity of those square kilometers with no one to dispute me, so the quantity is sufficient. Do you see?

Is it that simple to collect heat-flow over a wide area? The mere act of concentration takes a great deal of energy.

Perhaps, but I am not aware of it. My transducer-lobes are constantly concentrating heat-flow so that as work is needed, work is done. When I drew your weapons into the air, a particular volume of the sunlit atmosphere lost some of its excess heat to a volume of the shaded area, so that I was using solar energy for the purpose. Instead of using mechanical or electronic devices to bring that about, however, I used a neuronic device. It touched one of the transducer-lobes gently. It does it quickly, efficiently, constantlyand effortlessly.

Unbelievable, muttered Pelorat.

Not at all unbelievable, said Bander. Consider the delicacy of the eye and ear, and how they can turn small quantities of photons and air vibrations into information. That would seem unbelievable if you had never come across it before. The transducer-lobes are no more unbelievable, and would not be so to you, were they not unfamiliar.

Trevize said, What do you do with these constantly operating transducer-lobes?

We run our world, said Bander. Every robot on this vast estate obtains its energy from me; or, rather, from natural heat-flow. Whether a robot is adjusting a contact, or felling a tree, the energy is derived from mental transductionmy mental transduction.

And if you are asleep?

The process of transduction continues waking or sleeping, little half-human, said Bander. Do you cease breathing when you sleep? Does your heart stop beating? At night, my robots continue working at the cost of cooling Solarias interior a bit. The change is immeasurably small on a global scale and there are only twelve hundred of us, so that all the energy we use does not appreciably shorten our suns life or drain the worlds internal heat.

Has it occurred to you that you might use it as a weapon?

Bander stared at Trevize as though he were something peculiarly incomprehensible. I suppose by that, he said, you mean that Solaria might confront other worlds with energy weapons based on transduction? Why should we? Even if we could beat their energy weapons based on other principleswhich is anything but certainwhat would we gain? The control of other worlds? What do we want with other worlds when we have an ideal world of our own? Do we want to establish our domination over half-humans and use them in forced labor? We have our robots that are far better than half-humans for the purpose. We have everything. We want nothingexcept to be left to ourselves. See hereIll tell you another story.

Go ahead, said Trevize.

Twenty thousand years ago when the half-creatures of Earth began to swarm into space and we ourselves withdrew underground, the other Spacer worlds were determined to oppose the new Earth-settlers. So they struck at Earth.

At Earth, said Trevize, trying to hide his satisfaction over the fact that the subject had come up at last.

Yes, at the center. A sensible move, in a way. If you wish to kill a person, you strike not at a finger or a heel, but at the heart. And our fellow-Spacers, not too far removed from human beings themselves in passions, managed to set Earths surface radioactively aflame, so that the world became largely uninhabitable.

Ah, thats what happened, said Pelorat, clenching a fist and moving it rapidly, as though nailing down a thesis. I knew it could not be a natural phenomenon. How was it done?

I dont know how it was done, said Bander indifferently, and in any case it did the Spacers no good. That is the point of the story. The Settlers continued to swarm and the Spacersdied out. They had tried to compete, and vanished. We Solarians retired and refused to compete, and so we are still here.

And so are the Settlers, said Trevize grimly.

Yes, but not forever. Swarmers must fight, must compete, and eventually must die. That may take tens of thousands of years, but we can wait. And when it happens, we Solarians, whole, solitary, liberated, will have the Galaxy to ourselves. We can then use, or not use, any world we wish to in addition to our own.

But this matter of Earth, said Pelorat, snapping his fingers impatiently. Is what you tell us legend or history?

How does one tell the difference, half-Pelorat? said Bander. All history is legend, more or less.

But what do your records say? May I see the records on the subject, Bander? Please understand that this matter of myths, legends, and primeval history is my field. I am a scholar dealing with such matters and particularly with those matters as related to Earth.

I merely repeat what I have heard, said Bander. There are no records on the subject. Our records deal entirely with Solarian affairs and other worlds are mentioned in them only insofar as they impinge upon us.

Surely, Earth has impinged on you, said Pelorat.

That may be, but, if so, it was long, long ago, and Earth, of all worlds, was most repulsive to us. If we had any records of Earth, I am sure they were destroyed out of sheer revulsion.

Trevize gritted his teeth in chagrin. By yourselves? he asked.

Bander turned its attention to Trevize. There is no one else to destroy them.

Pelorat would not let go of the matter. What else have you heard concerning Earth?

Bander thought. It said, When I was young, I heard a tale from a robot about an Earthman who once visited Solaria; about a Solarian woman who left with him and became an important figure in the Galaxy. That, however, was, in my opinion, an invented tale.

Pelorat bit at his lip. Are you sure?

How can I be sure of anything in such matters? said Bander. Still, it passes the bounds of belief that an Earthman would dare come to Solaria, or that Solaria would allow the intrusion. It is even less likely that a Solarian womanwe were half-humans then, but even soshould voluntarily leave this world. But come, let me show you my home.

Your home? said Bliss, looking about. Are we not in your home?

Not at all, said Bander. This is an anteroom. It is a viewing room. In it I see my fellow-Solarians when I must. Their images appear on that wall, or three-dimensionally in the space before the wall. This room is a public assembly, therefore, and not part of my home. Come with me.

It walked on ahead, without turning to see if it were followed, but the four robots left their corners, and Trevize knew that if he and his companions did not follow spontaneously, the robots would gently coerce them into doing so.

The other two got to their feet and Trevize whispered lightly to Bliss, Have you been keeping it talking?

Bliss pressed his hand, and nodded. Just the same, I wish I knew what its intentions were, she added, with a note of uneasiness in her voice.

<p>49.</p>

They followed Bander. The robots remained at a polite distance, but their presence was a constantly felt threat.

They were moving through a corridor, and Trevize mumbled low-spiritedly, Theres nothing helpful about Earth on this planet. Im sure of it. Just another variation on the radioactivity theme. He shrugged. Well have to go on to the third set of co-ordinates.

A door opened before them, revealing a small room. Bander said, Come, half-humans, I want to show you how we live.

Trevize whispered, It gets infantile pleasure out of display. Id love to knock it down.

Dont try to compete in childishness, said Bliss.

Bander ushered all three into the room. One of the robots followed as well. Bander gestured the other robots away and entered itself. The door closed behind it.

Its an elevator, said Pelorat, with a pleased air of discovery.

So it is, said Bander. Once we went underground, we never truly emerged. Nor would we want to, though I find it pleasant to feel the sunlight on occasion. I dislike clouds or night in the open, however. That gives one the sensation of being underground without truly being underground, if you know what I mean. That is cognitive dissonance, after a fashion, and I find it very unpleasant.

Earth built underground, said Pelorat. The Caves of Steel, they called their cities. And Trantor built underground, too, even more extensively, in the old Imperial days. And Comporellon builds underground right now. It is a common tendency, when you come to think of it.

Half-humans swarming underground and we living underground in isolated splendor are two widely different things, said Bander.

Trevize said, On Terminus, dwelling places are on the surface.

And exposed to the weather, said Bander. Very primitive.

The elevator, after the initial feeling of lower gravity that had given away its nature to Pelorat, gave no sensation of motion whatsoever. Trevize was wondering how far down it would penetrate, when there was a brief feeling of higher gravity and the door opened.

Before them was a large and elaborately furnished room. It was dimly lit, though the source of the light was not apparent. It almost seemed as though the air itself were faintly luminous.

Bander pointed its finger and where it pointed the light grew a bit more intense. It pointed it elsewhere and the same thing happened. It placed its left hand on a stubby rod to one side of the doorway and, with its right hand, made an expansive circular gesture so that the whole room lit up as though it were in sunlight, but with no sensation of heat.

Trevize grimaced and said, half-aloud, The mans a charlatan.

Bander said sharply. Not the man, but the Solarian. Im not sure what the word charlatan means, but if I catch the tone of voice, it is opprobrious.

Trevize said, It means one who is not genuine, who arranges effects to make what is done seem more impressive than it really is.

Bander said, I admit that I love the dramatic, but what I have shown you is not an effect. It is real.

It tapped the rod on which its left hand was resting. This heat-conducting rod extends several kilometers downward, and there are similar rods in many convenient places throughout my estate. I know there are similar rods on other estates. These rods increase the rate at which heat leaves Solarias lower regions for the surface and eases its conversion into work. I do not need the gestures of the hand to produce the light, but it does lend an air of drama or, perhaps, as you point out, a slight touch of the not-genuine. I enjoy that sort of thing.

Bliss said, Do you have much opportunity to experience the pleasure of such little dramatic touches?

No, said Bander, shaking its head. My robots are not impressed with such things. Nor would my fellow-Solarians be. This unusual chance of meeting half-humans and displaying for them is mostamusing.

Pelorat said, The light in this room shone dimly when we entered. Does it shine dimly at all times?

Yes, a small drain of powerlike keeping the robots working. My entire estate is always running, and those parts of it not engaged in active labor are idling.

And you supply the power constantly for all this vast estate?

The sun and the planets core supply the power. I am merely the conduit. Nor is all the estate productive. I keep most of it as wilderness and well stocked with a variety of animal life; first, because that protects my boundaries, and second, because I find esthetic value in it. In fact, my fields and factories are small. They need only supply my own needs, plus some specialties to exchange for those of others. I have robots, for instance, that can manufacture and install the heat-conducting rods at need. Many Solarians depend upon me for that.

And your home? asked Trevize. How large is that?

It must have been the right question to ask, for Bander beamed. Very large. One of the largest on the planet, I believe. It goes on for kilometers in every direction. I have as many robots caring for my home underground, as I have in all the thousands of square kilometers of surface.

You dont live in all of it, surely, said Pelorat.

It might conceivably be that there are chambers I have never entered, but what of that? said Bander. The robots keep every room clean, well ventilated, and in order. But come, step out here.

They emerged through a door that was not the one through which they had entered and found themselves in another corridor. Before them was a little topless ground-car that ran on tracks.

Bander motioned them into it, and one by one they clambered aboard. There was not quite room for all four, plus the robot, but Pelorat and Bliss squeezed together tightly to allow room for Trevize. Bander sat in the front with an air of easy comfort, the robot at its side, and the car moved along with no sign of overt manipulation of controls other than Banders smooth hand motions now and then.

This is a car-shaped robot, actually, said Bander, with an air of negligent indifference.

They progressed at a stately pace, very smoothly past doors that opened as they approached, and closed as they receded. The decorations in each were of widely different kinds as though robots had been ordered to devise combinations at random.

Ahead of them the corridor was gloomy, and behind them as well. At whatever point they actually found themselves, however, they were in the equivalent of cool sunlight. The rooms, too, would light as the doors opened. And each time, Bander moved its hand slowly and gracefully.

There seemed no end to the journey. Now and then they found themselves curving in a way that made it plain that the underground mansion spread out in two dimensions. (No, three, thought Trevize, at one point, as they moved steadily down a shallow declivity.)

Wherever they went, there were robots, by the dozensscoreshundredsengaged in unhurried work whose nature Trevize could not easily divine. They passed the open door of one large room in which rows of robots were bent quietly over desks.

Pelorat asked, What are they doing, Bander?

Bookkeeping, said Bander. Keeping statistical records, financial accounts, and all sorts of things that, I am very glad to say, I dont have to bother with. This isnt just an idle estate. About a quarter of its growing area is given over to orchards. An additional tenth are grain fields, but its the orchards that are really my pride. We grow the best fruit in the world and grow them in the largest number of varieties, too. A Bander peach is the peach on Solaria. Hardly anyone else even bothers to grow peaches. We have twenty-seven varieties of apples andand so on. The robots could give you full information.

What do you do with all the fruit? asked Trevize. You cant eat it all yourself.

I wouldnt dream of it. Im only moderately fond of fruit. Its traded to the other estates.

Traded for what?

Mineral material mostly. I have no mines worth mentioning on my estates. Then, too, I trade for whatever is required to maintain a healthy ecological balance. I have a very large variety of plant and animal life on the estate.

The robots take care of all that, I suppose, said Trevize.

They do. And very well, too.

All for one Solarian.

All for the estate and its ecological standards. I happen to be the only Solarian who visits the various parts of the estatewhen I choosebut that is part of my absolute freedom.

Pelorat said, I suppose the othersthe other Solariansalso maintain a local ecological balance and have marshlands, perhaps, or mountainous areas or seafront estates.

Bander said, I suppose so. Such things occupy us in the conferences that world affairs sometimes make necessary.

How often do you have to get together? asked Trevize. (They were going through a rather narrow passageway, quite long, and with no rooms on either side. Trevize guessed that it might have been built through an area that did not easily allow anything wider to be constructed, so that it served as a connecting link between two wings that could each spread out more widely.

Too often. Its a rare month when I dont have to pass some time in conference with one of the committees I am a member of. Still, although I may not have mountains or marshlands on my estate, my orchards, my fishponds, and my botanical gardens are the best in the world.

Pelorat said, But, my dear fellowI mean, BanderI would assume you have never left your estate and visited those of others

Certainly not, said Bander, with an air of outrage.

I said I assumed that, said Pelorat mildly. But in that case, how can you be certain that yours are best, never having investigated, or even seen the others?

Because, said Bander, I can tell from the demand for my products in interestate trade.

Trevize said, What about manufacturing?

Bander said, There are estates where they manufacture tools and machinery. As I said, on my estate we make the heat-conducting rods, but those are rather simple.

And robots?

Robots are manufactured here and there. Throughout history, Solaria has led all the Galaxy in the cleverness and subtlety of robot design.

Today also, I imagine, said Trevize, carefully having the intonation make the remark a statement and not a question.

Bander said, Today? With whom is there to compete today? Only Solaria makes robots nowadays. Your worlds do not, if I interpret what I hear on the hyper-wave correctly.

But the other Spacer worlds?

I told you. They no longer exist.

At all?

I dont think there is a Spacer alive anywhere but on Solaria.

Then is there no one who knows the location of Earth?

Why would anyone want to know the location of Earth?

Pelorat broke in, I want to know. Its my field of study.

Then, said Bander, you will have to study something else. I know nothing about the location of Earth, nor have I heard of anyone who ever did, nor do I care a sliver of robot-metal about the matter.

The car came to a halt, and, for a moment, Trevize thought that Bander was offended. The halt was a smooth one, however, and Bander, getting out of the car, looked its usual amused self as it motioned the others to get out also.

The lighting in the room they entered was subdued, even after Bander had brightened it with a gesture. It opened into a side corridor, on both sides of which were smaller rooms. In each one of the smaller rooms was one or two ornate vases, sometimes flanked by objects that might have been film projectors.

What is all this, Bander? asked Trevize.

Bander said, The ancestral death chambers, Trevize.

<p>50.</p>

Pelorat looked about with interest. I suppose you have the ashes of your ancestors interred here?

If you mean by interred,? said Bander, buried in the ground, you are not quite right. We may be underground, but this is my mansion, and the ashes are in it, as we are right now. In our own language we say that the ashes are inhoused.? It hesitated, then said, ?House is an archaic word for mansion.?

Trevize looked about him perfunctorily. And these are all your ancestors? How many?

Nearly a hundred, said Bander, making no effort to hide the pride in its voice. Ninety-four, to be exact. Of course, the earliest are not true Solariansnot in the present sense of the word. They were half-people, masculine and feminine. Such half-ancestors were placed in adjoining urns by their immediate descendants. I dont go into those rooms, of course. Its rather shamiferous. At least, thats the Solarian word for it; but I dont know your Galactic equivalent. You may not have one.

And the films? asked Bliss. I take it those are film projectors?

Diaries, said Bander, the history of their lives. Scenes of themselves in their favorite parts of the estate. It means they do not die in every sense. Part of them remains, and it is part of my freedom that I can join them whenever I choose; I can watch this bit of film or that, as I please.

But not into theshamiferous ones.

Banders eyes slithered away. No, it admitted, but then we all have that as part of the ancestry. It is a common wretchedness.

Common? Then other Solarians also have these death chambers? asked Trevize.

Oh yes, we all do, but mine is the best, the most elaborate, the most perfectly preserved.

Trevize said, Do you have your own death chamber already prepared?

Certainly. It is completely constructed and appointed. That was done as my first duty when I inherited the estate. And when I am laid to ashto be poeticmy successor will go about the construction of its own as its first duty.

And do you have a successor?

I will have when the time comes. There is as yet ample scope for life. When I must leave, there will be an adult successor, ripe enough to enjoy the estate, and well lobed for power-transduction.

It will be your offspring, I imagine.

Oh yes.

But what if, said Trevize, something untoward takes place? I presume accidents and misfortunes take place even on Solaria. What happens if a Solarian is laid to ash prematurely and it has no successor to take its place, or at least not one who is ripe enough to enjoy the estate?

That rarely happens. In my line of ancestors, that happened only once. When it does, however, one need only remember that there are other successors waiting for other estates. Some of those are old enough to inherit, and yet have parents who are young enough to produce a second descendant and to live on till that second descendant is ripe enough for the succession. One of these old/young successors, as they are called, would be assigned to the succession of my estate.

Who does the assigning?

We have a ruling board that has this as one of its few functionsthe assignment of a successor in case of premature ashing. It is all done by holovision, of course.

Pelorat said, But see here, if Solarians never see each other, how would anyone know that some Solarian somewhere has unexpectedlyor expectedly, for that matterbeen laid to ash.

Bander said, When one of us is laid to ash, all power at the estate ceases. If no successor takes over at once, the abnormal situation is eventually noticed and corrective measures are taken. I assure you that our social system works smoothly.

Trevize said, Would it be possible to view some of these films you have here?

Bander froze. Then it said, It is only your ignorance that excuses you. What you have said is crude and obscene.

I apologize for that, said Trevize. I do not wish to intrude on you, but weve already explained that we are very interested in obtaining information on Earth. It occurs to me that the earliest films you have would date back to a time before Earth was radioactive. Earth might therefore be mentioned. There might be details given about it. We certainly do not wish to intrude on your privacy, but would there be any way in which you yourself could explore those films, or have a robot do so, perhaps, and then allow any relevant information to be passed on to us? Of course, if you can respect our motives and understand that we will try our best to respect your feelings in return, you might allow us to do the viewing ourselves.

Bander said frigidly, I imagine you have no way of knowing that you are becoming more and more offensive. However, we can end all this at once, for I can tell you that there are no films accompanying my early half-human ancestors.

None? Trevizes disappointment was heartfelt.

They existed once. But even you can imagine what might have been on them. Two half-humans showing interest in each other or, even, Bander cleared its throat, and said, with an effort, interacting. Naturally, all half-human films were destroyed many generations ago.

What about the records of other Solarians?

All destroyed.

Can you be sure?

It would be mad not to destroy them.

It might be that some Solarians were mad, or sentimental, or forgetful. We presume you will not object to directing us to neighboring estates.

Bander looked at Trevize in surprise. Do you suppose others will be as tolerant of you as I have been?

Why not, Bander?

Youll find they wont be.

Its a chance well have to take.

No, Trevize. No, any of you. Listen to me.

There were robots in the background, and Bander was frowning.

What is it, Bander? said Trevize, suddenly uneasy.

Bander said, I have enjoyed speaking to all of you, and observing you in all yourstrangeness. It was a unique experience, which I have been delighted with, but I cannot record it in my diary, nor memorialize it in film.

Why not?

My speaking to you; my listening to you; my bringing you into my mansion; my bringing you here into the ancestral death chambers; are shameful acts.

We are not Solarians. We matter to you as little as these robots do, do we not?

I excuse the matter to myself in that way. It may not serve as an excuse to others.

What do you care? You have absolute liberty to do as you choose, dont you?

Even as we are, freedom is not truly absolute. If I were the only Solarian on the planet, I could do even shameful things in absolute freedom. But there are other Solarians on the planet, and, because of that, ideal freedom, though approached, is not actually reached. There are twelve hundred Solarians on the planet who would despise me if they knew what I had done.

There is no reason they need know about it.

That is true. I have been aware of that since youve arrived. Ive been aware of it all this time that Ive been amusing myself with you. The others must not find out.

Pelorat said, If that means you fear complications as a result of our visits to other estates in search of information about Earth, why, naturally, we will mention nothing of having visited you first. That is clearly understood.

Bander shook its head. I have taken enough chances. I will not speak of this, of course. My robots will not speak of this, and will even be instructed not to remember it. Your ship will be taken underground and explored for what information it can give us

Wait, said Trevize, how long do you suppose we can wait here while you inspect our ship? That is impossible.

Not at all impossible, for you will have nothing to say about it. I am sorry. I would like to speak to you longer and to discuss many other things with you, but you see the matter grows more dangerous.

No, it does not, said Trevize emphatically.

Yes, it does, little half-human. Im afraid the time has come when I must do what my ancestors would have done at once. I must kill you, all three.

<p>12</p> <p>TO THE SURFACE</p>
<p>51.</p>

Trevize turned his head at once to look at Bliss. Her face was expressionless, but taut, and her eyes were fixed on Bander with an intensity that made her seem oblivious to all else.

Pelorats eyes were wide, disbelieving.

Trevize, not knowing what Bliss wouldor coulddo, struggled to fight down an overwhelming sense of loss (not so much at the thought of dying, as of dying without knowing where Earth was, without knowing why he had chosen Gaia as humanitys future). He had to play for time.

He said, striving to keep his voice steady, and his words clear, You have shown yourself a courteous and gentle Solarian, Bander. You have not grown angry at our intrusion into your world. You have been kind enough to show us over your estate and mansion, and you have answered our questions. It would suit your character better to allow us to leave now. No one need ever know we were on this world and we would have no cause to return. We arrived in all innocence, seeking merely information.

What you say is so, said Bander lightly, and, so far, I have given you life. Your lives were forfeit the instant you entered our atmosphere. What I might have doneand should have doneon making close contact with you, would be to have killed you at once. I should then have ordered the appropriate robot to dissect your bodies for what information on Outworlders that might yield me.

I have not done that. I have pampered my own curiosity and given in to my own easygoing nature, but it is enough. I can do it no longer. I have, in fact, already compromised the safety of Solaria, for if, through some weakness, I were to let myself be persuaded to let you go, others of your kind would surely follow, however much you might promise that they would not.

There is, however, at least this. Your death will be painless. I will merely heat your brains mildly and drive them into inactivation. You will experience no pain. Life will merely cease. Eventually, when dissection and study are over, I will convert you to ashes in an intense flash of heat and all will be over.

Trevize said, If we must die, then I cannot argue against a quick and painless death, but why must we die at all, having given no offense?

Your arrival was an offense.

Not on any rational ground, since we could not know it was an offense.

Society defines what constitutes an offense. To you, it may seem irrational and arbitrary, but to us it is not, and this is our world on which we have the full right to say that in this and that, you have done wrong and deserve to die.

Bander smiled as though it were merely making pleasant conversation and went on, Nor have you any right to complain on the ground of your own superior virtue. You have a blaster which uses a beam of microwaves to induce intense killing heat. It does what I intend to do, but does it, I am sure, much more crudely and painfully. You would have no hesitation in using it on me right now, had I not drained its energy, and if I were to be so foolish as to allow you the freedom of movement that would enable you to remove the weapon from its holster.

Trevize said despairingly, afraid even to glance again at Bliss, lest Banders attention be diverted to her, I ask you, as an act of mercy, not to do this.

Bander said, turning suddenly grim, I must first be merciful to myself and to my world, and to do that, you must die.

He raised his hand and instantly darkness descended upon Trevize.

<p>52.</p>

For a moment, Trevize felt the darkness choking him and thought wildly, Is this death?

And as though his thoughts had given rise to an echo, he heard a whispered, Is this death? It was Pelorats voice.

Trevize tried to whisper, and found he could. Why ask? he said, with a sense of vast relief. The mere fact that you can ask shows it is not death.

There are old legends that there is life after death.

Nonsense, muttered Trevize. Bliss? Are you here, Bliss?

There was no answer to that.

Again Pelorat echoed, Bliss? Bliss? What happened, Golan?

Trevize said, Bander must be dead. He would, in that case, be unable to supply the power for his estate. The lights would go out.

But how could? You mean Bliss did it?

I suppose so. I hope she did not come to harm in the process. He was on his hands and knees crawling about in the total darkness of the underground (if one did not count the occasional subvisible flashing of a radioactive atom breaking down in the walls).

Then his hand came on something warm and soft. He felt along it and recognized a leg, which he seized. It was clearly too small to be Banders. Bliss?

The leg kicked out, forcing Trevize to let go.

He said, Bliss? Say something!

I am alive, came Blisss voice, curiously distorted.

Trevize said, But are you well?

No. And, with that, light returned to their surroundingsweakly. The walls gleamed faintly, brightening and dimming erratically.

Bander lay crumpled in a shadowy heap. At its side, holding its head, was Bliss.

She looked up at Trevize and Pelorat. The Solarian is dead, she said, and her cheeks glistened with tears in the weak light.

Trevize was dumbfounded. Why are you crying?

Should I not cry at having killed a living thing of thought and intelligence? That was not my intention.

Trevize leaned down to help her to her feet, but she pushed him away.

Pelorat knelt in his turn, saying softly, Please, Bliss, even you cant bring it back to life. Tell us what happened.

She allowed herself to be pulled upward and said dully, Gaia can do what Bander could do. Gaia can make use of the unevenly distributed energy of the Universe and translate it into chosen work by mental power alone.

I knew that, said Trevize, attempting to be soothing without quite knowing how to go about it. I remember well our meeting in space when youor Gaia, ratherheld our spaceship captive. I thought of that when Bander held me captive after it had taken my weapons. It held you captive, too, but I was confident you could have broken free if you had wished.

No. I would have failed if I had tried. When your ship was in my/our/Gaias grip, she said sadly, I and Gaia were truly one. Now there is a hyperspatial separation that limits my/our/Gaias efficiency. Besides, Gaia does what it does by the sheer power of massed brains. Even so, all those brains together lack the transducer-lobes this one Solarian has. We cannot make use of energy as delicately, as efficiently, as tirelessly as he could. You see that I cannot make the lights gleam more brightly, and I dont know how long I can make them gleam at all before tiring. Bander could supply the power for an entire vast estate, even when it was sleeping.

But you stopped it, said Trevize.

Because it didnt suspect my powers, said Bliss, and because I did nothing that would give it evidence of them. It was therefore without suspicion of me and gave me none of its attention. It concentrated entirely on you, Trevize, because it was you who bore the weaponsagain, how well it has served that you armed yourselfand I had to wait my chance to stop Bander with one quick and unexpected blow. When it was on the point of killing us, when its whole mind was concentrated on that, and on you, I was able to strike.

And it worked beautifully.

How can you say something so cruel, Trevize? It was only my intention to stop it. I merely wished to block its use of its transducer. In the moment of surprise when it tried to blast us and found it could not, but found, instead, that the very illumination about us was fading into darkness, I would tighten my grip and send it into a prolonged normal sleep and release the transducer. The power would then remain on, and we could get out of this mansion, into our ship, and leave the planet. I hoped to so arrange things that, when Bander finally woke, it would have forgotten all that had happened from the instant of its sighting us. Gaia has no desire to kill in order to accomplish what can be brought about without killing.

What went wrong, Bliss? said Pelorat softly.

I had never encountered any such thing as those transducer-lobes and I lacked any time to work with them and learn about them. I merely struck out forcefully with my blocking maneuver and, apparently, it didnt work correctly. It was not the entry of energy into the lobes that was blocked, but the exit of that energy. Energy is always pouring into those lobes at a reckless rate but, ordinarily, the brain safeguards itself by pouring out that energy just as quickly. Once I blocked the exit, however, energy piled up within the lobes at once and, in a tiny fraction of a second, the temperature had risen to the point where the brain protein inactivated explosively and it was dead. The lights went out and I removed my block immediately, but, of course, it was too late.

I dont see that you could have done anything other than that which you did, dear, said Pelorat.

Of what comfort is that, considering that I have killed.

Bander was on the point of killing us, said Trevize.

That was cause for stopping it, not for killing it.

Trevize hesitated. He did not wish to show the impatience he felt for he was unwilling to offend or further upset Bliss, who was, after all, their only defense against a supremely hostile world.

He said, Bliss, it is time to look beyond Banders death. Because it is dead, all power on the estate is blanked out. This will be noticed, sooner or later, probably sooner, by other Solarians. They will be forced to investigate. I dont think you will be able to hold off the perhaps combined attack of several. And, as you have admitted yourself, you wont be able to supply for very long the limited power you are managing to supply now. It is important, therefore, that we get back to the surface, and to our ship, without delay.

But, Golan, said Pelorat, how do we do that? We came for many kilometers along a winding path. I imagine its quite a maze down here and, for myself, I havent the faintest idea of where to go to reach the surface. Ive always had a poor sense of direction.

Trevize, looking about, realized that Pelorat was correct. He said, I imagine there are many openings to the surface, and we neednt find the one we entered.

But we dont know where any of the openings are. How do we find them?

Trevize turned again to Bliss. Can you detect anything, mentally, that will help us find our way out?

Bliss said, The robots on this estate are all inactive. I can detect a thin whisper of subintelligent life straight up, but all that tells us is that the surface is straight up, which we know.

Well, then, said Trevize, well just have to look for some opening.

Hit-and-miss, said Pelorat, appalled. Well never succeed.

We might, Janov, said Trevize. If we search, there will be a chance, however small. The alternative is simply to stay here, and if we do that then we will never succeed. Come, a small chance is better than none.

Wait, said Bliss. I do sense something.

What? said Trevize.

A mind.

Intelligence?

Yes, but limited, I think. What reaches me most clearly, though, is something else.

What? said Trevize, again fighting impatience.

Fright! Intolerable fright! said Bliss, in a whisper.

<p>53.</p>

Trevize looked about ruefully. He knew where they had entered but he had no illusion on the score of being able to retrace the path by which they had come. He had, after all, paid little attention to the turnings and windings. Who would have thought theyd be in the position of having to retrace the route alone and without help, and with only a flickering, dim light to be guided by?

He said, Do you think you can activate the car, Bliss?

Bliss said, Im sure I could, Trevize, but that doesnt mean I can run it.

Pelorat said, I think that Bander ran it mentally. I didnt see it touch anything when it was moving.

Bliss said gently, Yes, it did it mentally, Pel, but how, mentally? You might as well say that it did it by using the controls. Certainly, but if I dont know the details of using the controls, that doesnt help, does it?

You might try, said Trevize.

If I try, Ill have to put my whole mind to it, and if I do that, then I doubt that Ill be able to keep the lights on. The car will do us no good in the dark even if I learn how to control it.

Then we must wander about on foot, I suppose?

Im afraid so.

Trevize peered at the thick and gloomy darkness that lay beyond the dim light in their immediate neighborhood. He saw nothing, heard nothing.

He said, Bliss, do you still sense this frightened mind?

Yes, I do.

Can you tell where it is? Can you guide us to it?

The mental sense is a straight line. It is not refracted sensibly by ordinary matter, so I can tell it is coming from that direction.

She pointed to a spot on the dusky wall, and said, But we cant walk through the wall to it. The best we can do is follow the corridors and try to find our way in whatever direction will keep the sensation growing stronger. In short, we will have to play the game of hot-and-cold.

Then lets start right now.

Pelorat hung back. Wait, Golan; are we sure we want to find this thing, whatever it is? If it is frightened, it may be that we will have reason to be frightened, too.

Trevize shook his head impatiently. We have no choice, Janov. Its a mind, frightened or not, and it may be willing toor may be made todirect us to the surface.

And do we just leave Bander lying here? said Pelorat uneasily.

Trevize took his elbow. Come, Janov. We have no choice in that, either. Eventually some Solarian will reactivate the place, and a robot will find Bander and take care of itI hope not before we are safely away.

He allowed Bliss to lead the way. The light was always strongest in her immediate neighborhood and she paused at each doorway, at each fork in the corridor, trying to sense the direction from which the fright came. Sometimes she would walk through a door, or move around a curve, then come back and try an alternate path, while Trevize watched helplessly.

Each time Bliss came to a decision and moved firmly in a particular direction, the light came on ahead of her. Trevize noticed that it seemed a bit brighter noweither because his eyes were adapting to the dimness, or because Bliss was learning how to handle the transduction more efficiently. At one point, when she passed one of the metal rods that were inserted into the ground, she put her hand on it and the lights brightened noticeably. She nodded her head as though she were pleased with herself.

Nothing looked in the least familiar; it seemed certain they were wandering through portions of the rambling underground mansion they had not passed through on the way in.

Trevize kept looking for corridors that led upward sharply, and he varied that by studying the ceilings for any sign of a trapdoor. Nothing of the sort appeared, and the frightened mind remained their only chance of getting out.

They walked through silence, except for the sound of their own steps; through darkness, except for the light in their immediate vicinity; through death, except for their own lives. Occasionally, they made out the shadowy bulk of a robot, sitting or standing in the dusk, with no motion. Once they saw a robot lying on its side, with legs and arms in queer frozen positions. It had been caught off-balance, Trevize thought, at the moment when power had been turned off, and it had fallen. Bander, either alive or dead, could not affect the force of gravity. Perhaps all over the vast Bander estate, robots were standing and lying inactive and it would be that that would quickly be noted at the borders.

Or perhaps not, he thought suddenly. Solarians would know when one of their number would be dying of old age and physical decay. The world would be alerted and ready. Bander, however, had died suddenly, without possible foreknowledge, in the prime of its existence. Who would know? Who would expect? Who would be watching for inactivation?

But no (and Trevize thrust back optimism and consolation as dangerous lures into overconfidence). The Solarians would note the cessation of all activity on the Bander estate and take action at once. They all had too great an interest in the succession to estates to leave death to itself.

Pelorat murmured unhappily, Ventilation has stopped. A place like this, underground, must be ventilated, and Bander supplied the power. Now it has stopped.

It doesnt matter, Janov, said Trevize. Weve got enough air down in this empty underground place to last us for years.

Its close just the same. Its psychologically bad.

Please, Janov, dont get claustrophobic. Bliss, are we any closer?

Much, Trevize, she replied. The sensation is stronger and I am clearer as to its location.

She was stepping forward more surely, hesitating less at points of choice of direction.

There! There! she said. I can sense it intensely.

Trevize said dryly, Even I can hear it now.

All three stopped and, automatically, held their breaths. They could hear a soft moaning, interspersed with gasping sobs.

They walked into a large room and, as the lights went on, they saw that, unlike all those they had hitherto seen, it was rich and colorful in furnishings.

In the center of the room was a robot, stooping slightly, its arms stretched out in what seemed an almost affectionate gesture and, of course, it was absolutely motionless.

Behind the robot was a flutter of garments. A round frightened eye edged to one side of it, and there was still the sound of a brokenhearted sobbing.

Trevize darted around the robot and, from the other side, a small figure shot out, shrieking. It stumbled, fell to the ground, and lay there, covering its eyes, kicking its legs in all directions, as though to ward off some threat from whatever angle it might approach, and shrieking, shrieking

Bliss said, quite unnecessarily, Its a child!

<p>54.</p>

Trevize drew back, puzzled. What was a child doing here? Bander had been so proud of its absolute solitude, so insistent upon it.

Pelorat, less apt to fall back on iron reasoning in the face of an obscure event, seized upon the solution at once, and said, I suppose this is the successor.

Banders child, said Bliss, agreeing, but too young, I think, to be a successor. The Solarians will have to find one elsewhere.

She was gazing at the child, not in a fixed glare, but in a soft, mesmerizing way, and slowly the noise the child was making lessened. It opened its eyes and looked at Bliss in return. Its outcry was reduced to an occasional soft whimper.

Bliss made sounds of her own, now, soothing ones, broken words that made little sense in themselves but were meant only to reinforce the calming effect of her thoughts. It was as though she were mentally fingering the childs unfamiliar mind and seeking to even out its disheveled emotions.

Slowly, never taking its eyes off Bliss, the child got to its feet, stood there swaying a moment, then made a dash for the silent, frozen robot. It threw its arms about the sturdy robotic leg as though avid for the security of its touch.

Trevize said, I suppose that the robot is itsnursemaidor caretaker. I suppose a Solarian cant care for another Solarian, not even a parent for a child.

Pelorat said, And I suppose the child is hermaphroditic.

It would have to be, said Trevize.

Bliss, still entirely preoccupied with the child, was approaching it slowly, hands held half upward, palms toward herself, as though emphasizing that there was no intention of seizing the small creature. The child was now silent, watching the approach, and holding on the more tightly to the robot.

Bliss said, There, childwarm, childsoft, warm, comfortable, safe, childsafesafe.

She stopped and, without looking round, said in a low voice, Pel, speak to it in its language. Tell it were robots come to take care of it because the power failed.

Robots! said Pelorat, shocked.

We must be presented as robots. Its not afraid of robots. And its never seen a human being, maybe cant even conceive of them.

Pelorat said, I dont know if I can think of the right expression. I dont know the archaic word for robot.?

Say robot, then, Pel. If that doesnt work, say iron thing. Say whatever you can.

Slowly, word by word, Pelorat spoke archaically. The child looked at him, frowning intensely, as though trying to understand.

Trevize said, You might as well ask it how to get out, while youre at it.

Bliss said, No. Not yet. Confidence first, then information.

The child, looking now at Pelorat, slowly released its hold on the robot and spoke in a high-pitched musical voice.

Pelorat said anxiously, Its speaking too quickly for me.

Bliss said, Ask it to repeat more slowly. Im doing my best to calm it and remove its fears.

Pelorat, listening again to the child, said, I think its asking what made Jemby stop. Jemby must be the robot.

Check and make sure, Pel.

Pelorat spoke, then listened, and said, Yes, Jemby is the robot. The child calls itself Fallom.

Good! Bliss smiled at the child, a luminous, happy smile, pointed to it, and said, Fallom. Good Fallom. Brave Fallom. She placed a hand on her chest and said, Bliss.

The child smiled. It looked very attractive when it smiled. Bliss, it said, hissing the s a bit imperfectly.

Trevize said, Bliss, if you can activate the robot, Jemby, it might be able to tell us what we want to know. Pelorat can speak to it as easily as to the child.

No, said Bliss. That would be wrong. The robots first duty is to protect the child. If it is activated and instantly becomes aware of us, aware of strange human beings, it may as instantly attack us. No strange human beings belong here. If I am then forced to inactivate it, it can give us no information, and the child, faced with a second inactivation of the only parent it knows Well, I just wont do it.

But we were told, said Pelorat mildly, that robots cant harm human beings.

So we were, said Bliss, but we were not told what kind of robots these Solarians have designed. And even if this robot were designed to do no harm, it would have to make a choice between its child, or the nearest thing to a child it can have, and three objects whom it might not even recognize as human beings, merely as illegal intruders. Naturally, it would choose the child and attack us.

She turned to the child again. Fallom, she said, Bliss. She pointed, PelTrev.

Pel. Trev, said the child obediently.

She came closer to the child, her hands reaching toward it slowly. It watched her, then took a step backward.

Calm, Fallom, said Bliss. Good, Fallom. Touch, Fallom. Nice, Fallom.

It took a step toward her, and Bliss sighed. Good, Fallom.

She touched Falloms bare arm, for it wore, as its parent had, only a long robe, open in front, and with a loincloth beneath. The touch was gentle. She removed her arm, waited, and made contact again, stroking softly.

The childs eyes half-closed under the strong, calming effect of Blisss mind.

Blisss hands moved up slowly, softly, scarcely touching, to the childs shoulders, its neck, its ears, then under its long brown hair to a point just above and behind its ears.

Her hands dropped away then, and she said, The transducer-lobes are still small. The cranial bone hasnt developed yet. Theres just a tough layer of skin there, which will eventually expand outward and be fenced in with bone after the lobes have fully grown. Which means it cant, at the present time, control the estate or even activate its own personal robot. Ask it how old it is, Pel.

Pelorat said, after an exchange, Its fourteen years old, if I understand it rightly.

Trevize said, It looks more like eleven.

Bliss said, The length of the years used on this world may not correspond closely to Standard Galactic Years. Besides, Spacers are supposed to have extended lifetimes and, if the Solarians are like the other Spacers in this, they may also have extended developmental periods. We cant go by years, after all.

Trevize said, with an impatient click of his tongue, Enough anthropology. We must get to the surface and since we are dealing with a child, we may be wasting our time uselessly. It may not know the route to the surface. It may not ever have been on the surface.

Bliss said, Pel!

Pelorat knew what she meant and there followed the longest conversation he had yet had with Fallom.

Finally, he said, The child knows what the sun is. It says its seen it. I think its seen trees. It didnt act as though it were sure what the word meantor at least what the word I used meant

Yes, Janov, said Trevize, but do get to the point.

I told Fallom that if it could get us out to the surface, that might make it possible for us to activate the robot. Actually, I said we would activate the robot. Do you suppose we might?

Trevize said, Well worry about that later. Did it say it would guide us?

Yes. I thought the child would be more anxious to do it, you see, if I made that promise. I suppose were running the risk of disappointing it

Come, said Trevize, lets get started. All this will be academic if we are caught underground.

Pelorat said something to the child, who began to walk, then stopped and looked back at Bliss.

Bliss held out her hand and the two then walked hand in hand.

Im the new robot, she said, smiling slightly.

It seems reasonably happy over that, said Trevize.

Fallom skipped along and, briefly, Trevize wondered if it were happy simply because Bliss had labored to make it so, or if, added to that, there was the excitement of visiting the surface and of having three new robots, or whether it was excitement at the thought of having its Jemby foster-parent back. Not that it matteredas long as the child led them.

There seemed no hesitation in the childs progress. It turned without pause whenever there was a choice of paths. Did it really know where it was going, or was it all simply a matter of a childs indifference? Was it simply playing a game with no clear end in sight?

But Trevize was aware, from the slight burden on his progress, that he was moving uphill, and the child, bouncing self-importantly forward, was pointing ahead and chattering.

Trevize looked at Pelorat, who cleared his throat and said, I think what its saying is doorway.?

I hope your thought is correct, said Trevize.

The child broke away from Bliss, and was running now. It pointed to a portion of the flooring that seemed darker than the sections immediately neighboring it. The child stepped on it, jumping up and down a few times, and then turned with a clear expression of dismay, and spoke with shrill volubility.

Bliss said, with a grimace, Ill have to supply the power. This is wearing me out.

Her face reddened a bit and the lights dimmed, but a door opened just ahead of Fallom, who laughed in soprano delight.

The child ran out the door and the two men followed. Bliss came last, and looked back as the lights just inside darkened and the door closed. She then paused to catch her breath, looking rather worn out.

Well, said Pelorat, were out. Wheres the ship?

All of them stood bathed in the still luminous twilight.

Trevize muttered, It seems to me that it was in that direction.

It seems so to me, too, said Bliss. Lets walk, and she held out her hand to Fallom.

There was no sound except those produced by the wind and by the motions and calls of living animals. At one point they passed a robot standing motionless near the base of a tree, holding some object of uncertain purpose.

Pelorat took a step toward it out of apparent curiosity, but Trevize said, Not our business, Janov. Move on.

They passed another robot, at a greater distance, who had tumbled.

Trevize said, There are robots littered over many kilometers in all directions, I suppose. And then, triumphantly, Ah, theres the ship.

They hastened their steps now, then stopped suddenly. Fallom raised its voice in an excited squeak.

On the ground near the ship was what appeared to be an air-vessel of primitive design, with a rotor that looked energy-wasteful, and fragile besides. Standing next to the air-vessel, and between the little party of Outworlders and their ship, stood four human figures.

Too late, said Trevize. We wasted too much time. Now what?

Pelorat said wonderingly, Four Solarians? It cant be. Surely they wouldnt come into physical contact like that. Do you suppose those are holo-images?

They are thoroughly material, said Bliss. Im sure of that. Theyre not Solarians either. Theres no mistaking the minds. Theyre robots.

<p>55.</p>

Well, then, said Trevize wearily, onward! He resumed his walk toward the ship at a calm pace and the others followed.

Pelorat said, rather breathlessly, What do you intend to do?

If theyre robots, theyve got to obey orders.

The robots were awaiting them, and Trevize watched them narrowly as they came closer.

Yes, they must be robots. Their faces, which looked as though they were made of skin underlain with flesh, were curiously expressionless. They were dressed in uniforms that exposed no square centimeter of skin outside the face. Even the hands were covered by thin, opaque gloves.

Trevize gestured casually, in a fashion that was unquestionably a brusque request that they step aside.

The robots did not move.

In a low voice, Trevize said to Pelorat, Put it into words, Janov. Be firm.

Pelorat cleared his throat and, putting an unaccustomed baritone into his voice, spoke slowly, gesturing them aside much as Trevize had done. At that, one of the robots, who was perhaps a shade taller than the rest, said something in a cold and incisive voice.

Pelorat turned to Trevize. I think he said we were Outworlders.

Tell him we are human beings and must be obeyed.

The robot spoke then, in peculiar but understandable Galactic. I understand you, Outworlder. I speak Galactic. We are Guardian Robots.

Then you have heard me say that we are human beings and that you must therefore obey us.

We are programmed to obey Rulers only, Outworlder. You are not Rulers and not Solarian. Ruler Bander has not responded to the normal moment of Contact and we have come to investigate at close quarters. It is our duty to do so. We find a spaceship not of Solarian manufacture, several Outworlders present, and all Bander robots inactivated. Where is Ruler Bander?

Trevize shook his head and said slowly and distinctly, We know nothing of what you say. Our ships computer is not working well. We found ourselves near this strange planet against our intentions. We landed to find our location. We found all robots inactivated. We know nothing of what might have happened.

That is not a credible account. If all robots on the estate are inactivated and all power is off, Ruler Bander must be dead. It is not logical to suppose that by coincidence it died just as you landed. There must be some sort of causal connection.

Trevize said, with no set purpose but to confuse the issue and to indicate his own foreigners lack of understanding and, therefore, his innocence, But the power is not off. You and the others are active.

The robot said, We are Guardian Robots. We do not belong to any Ruler. We belong to all the world. We are not Ruler-controlled but are nuclear-powered. I ask again, where is Ruler Bander?

Trevize looked about him. Pelorat appeared anxious; Bliss was tight-lipped but calm. Fallom was trembling, but Blisss hand touched the childs shoulder and it stiffened somewhat and lost facial expression. (Was Bliss sedating it?)

The robot said, Once again, and for the last time, where is Ruler Bander?

I do not know, said Trevize grimly.

The robot nodded and two of his companions left quickly. The robot said, My fellow Guardians will search the mansion. Meanwhile, you will be held for questioning. Hand me those objects you wear at your side.

Trevize took a step backward. They are harmless.

Do not move again. I do not question their nature, whether harmful or harmless. I ask for them.

No.

The robot took a quick step forward, and his arm flashed out too quickly for Trevize to realize what was happening. The robots hand was on his shoulder; the grip tightened and pushed downward. Trevize went to his knees.

The robot said, Those objects. It held out its other hand.

No, gasped Trevize.

Bliss lunged forward, pulled the blaster out of its holster before Trevize, clamped in the robots grip, could do anything to prevent her, and held it out toward the robot. Here, Guardian, she said, and if youll give me a momentheres the other. Now release my companion.

The robot, holding both weapons, stepped back, and Trevize rose slowly to his feet, rubbing his left shoulder vigorously, face wincing with pain.

(Fallom whimpered softly, and Pelorat picked it up in distraction, and held it tightly.)

Bliss said to Trevize, in a furious whisper, Why are you fighting him? He can kill you with two fingers.

Trevize groaned and said, between gritted teeth, Why dont you handle him?

Im trying to. It takes time. His mind is tight, intensely programmed, and leaves no handle. I must study it. You play for time.

Dont study his mind. Just destroy it, said Trevize, almost soundlessly.

Bliss looked quickly toward the robot. It was studying the weapons intently, while the one other robot that still remained with it watched the Outworlders. Neither seemed interested in the whispering that was going on between Trevize and Bliss.

Bliss said, No. No destruction. We killed one dog and hurt another on the first world. You know what happened on this world. (Another quick glance at the Guardian Robots.) Gaia does not needlessly butcher life or intelligence. I need time to work it out peacefully.

She stepped back and stared at the robot fixedly.

The robot said, These are weapons.

No, said Trevize.

Yes, said Bliss, but they are no longer useful. They are drained of energy.

Is that indeed so? Why should you carry weapons that are drained of energy? Perhaps they are not drained. The robot held one of the weapons in its fist and placed its thumb accurately. Is this the way it is activated?

Yes, said Bliss; if you tighten the pressure, it would be activated, if it contained energybut it does not.

Is that certain? The robot pointed the weapon at Trevize. Do you still say that if I activate it now, it will not work?

It will not work, said Bliss.

Trevize was frozen in place and unable to articulate. He had tested the blaster after Bander had drained it and it was totally dead, but the robot was holding the neuronic whip. Trevize had not tested that.

If the whip contained even a small residue of energy, there would be enough for a stimulation of the pain nerves, and what Trevize would feel would make the grip of the robots hand seem to have been a pat of affection.

When he had been at the Naval Academy, Trevize had been forced to take a mild neuronic whipblow, as all cadets had had to. That was just to know what it was like. Trevize felt no need to know anything more.

The robot activated the weapon and, for a moment, Trevize stiffened painfullyand then slowly relaxed. The whip, too, was thoroughly drained.

The robot stared at Trevize and then tossed both weapons to one side. How do these come to be drained of energy? it demanded. If they are of no use, why do you carry them?

Trevize said, I am accustomed to the weight and carry them even when drained.

The robot said, That does not make sense. You are all under custody. You will be held for further questioning, and, if the Rulers so decide, you will then be inactivated. How does one open this ship? We must search it.

It will do you no good, said Trevize. You wont understand it.

If not I, the Rulers will understand.

They will not understand, either.

Then you will explain so that they will understand.

I will not.

Then you will be inactivated.

My inactivation will give you no explanation, and I think I will be inactivated even if I explain.

Bliss muttered, Keep it up. Im beginning to unravel the workings of its brain.

The robot ignored Bliss. (Did she see to that? thought Trevize, and hoped savagely that she had.)

Keeping its attention firmly on Trevize, the robot said, If you make difficulties, then we will partially inactivate you. We will damage you and you will then tell us what we want to know.

Suddenly, Pelorat called out in a half-strangled cry. Wait, you cannot do this. Guardian, you cannot do this.

I am under detailed instructions, said the robot quietly. I can do this. Of course, I shall do as little damage as is consistent with obtaining information.

But you cannot. Not at all. I am an Outworlder, and so are these two companions of mine. But this child, and Pelorat looked at Fallom, whom he was still carrying, is a Solarian. It will tell you what to do and you must obey it.

Fallom looked at Pelorat with eyes that were open, but seemed empty.

Bliss shook her head, sharply, but Pelorat looked at her without any sign of understanding.

The robots eyes rested briefly on Fallom. It said, The child is of no importance. It does not have transducer-lobes.

It does not yet have fully developed transducer-lobes, said Pelorat, panting, but it will have them in time. It is a Solarian child.

It is a child, but without fully developed transducer-lobes it is not a Solarian. I am not compelled to follow its orders or to keep it from harm.

But it is the offspring of Ruler Bander.

Is it? How do you come to know that?

Pelorat stuttered, as he sometimes did when over-earnest. Whwhat other child would be on this estate?

How do you know there arent a dozen?

Have you seen any others?

It is I who will ask the questions.

At this moment, the robots attention shifted as the second robot touched its arm. The two robots who had been sent to the mansion were returning at a rapid run that, nevertheless, had a certain irregularity to it.

There was silence till they arrived and then one of them spoke in the Solarian languageat which all four of the robots seemed to lose their elasticity. For a moment, they appeared to wither, almost to deflate.

Pelorat said, Theyve found Bander, before Trevize could wave him silent.

The robot turned slowly and said, in a voice that slurred the syllables, Ruler Bander is dead. By the remark you have just made, you show us you were aware of the fact. How did that come to be?

How can I know? said Trevize defiantly.

You knew it was dead. You knew it was there to be found. How could you know that, unless you had been thereunless it was you that had ended the life? The robots enunciation was already improving. It had endured and was absorbing the shock.

Then Trevize said, How could we have killed Bander? With its transducer-lobes it could have destroyed us in a moment.

How do you know what, or what not, transducer-lobes could do?

You mentioned the transducer-lobes just now.

I did no more than mention them. I did not describe their properties or abilities.

The knowledge came to us in a dream.

That is not a credible answer.

Trevize said, To suppose that we have caused the death of Bander is not credible, either.

Pelorat added, And in any case, if Ruler Bander is dead, then Ruler Fallom now controls this estate. Here the Ruler is, and it is it whom you must obey.

I have already explained, said the robot, that an offspring with undeveloped transducer-lobes is not a Solarian. It cannot be a Successor, therefore. Another Successor, of the appropriate age, will be flown in as soon as we report this sad news.

What of Ruler Fallom?

There is no Ruler Fallom. There is only a child and we have an excess of children. It will be destroyed.

Bliss said forcefully, You dare not. It is a child!

It is not I, said the robot, who will necessarily do the act and it is certainly not I who will make the decision. That is for the consensus of the Rulers. In times of child-excess, however, I know well what the decision will be.

No. I say no.

It will be painless. But another ship is coming. It is important that we go into what was the Bander mansion and set up a holovision Council that will supply a Successor and decide on what to do with you. Give me the child.

Bliss snatched the semicomatose figure of Fallom from Pelorat. Holding it tightly and trying to balance its weight on her shoulder, she said, Do not touch this child.

Once again, the robots arm shot out swiftly and it stepped forward, reaching for Fallom. Bliss moved quickly to one side, beginning her motion well before the robot had begun its own. The robot continued to move forward, however, as though Bliss were still standing before it. Curving stiffly downward, with the forward tips of its feet as the pivot, it went down on its face. The other three stood motionless, eyes unfocused.

Bliss was sobbing, partly with rage. I almost had the proper method of control, and it wouldnt give me the time. I had no choice but to strike and now all four are inactivated. Lets get on the ship before the other ship lands. I am too ill to face additional robots, now.

<p>PART V</p> <p>MELPOMENIA</p>
<p>13</p> <p>AWAY FROM SOLARIA</p>
<p>56.</p>

The leaving was a blur. Trevize had gathered up his futile weapons, had opened the airlock, and they had tumbled in. Trevize didnt notice until they were off the surface that Fallom had been brought in as well.

They probably would not have made it in time if the Solarian use of air-flight had not been so comparatively unsophisticated. It took the approaching Solarian vessel an unconscionable time to descend and land. On the other hand, it took virtually no time for the computer of the Far Star to take the gravitic ship vertically upward.

And although the cut-off of the gravitational interaction and, therefore, of inertia wiped out the otherwise unbearable effects of acceleration that would have accompanied so speedy a takeoff, it did not wipe out the effects of air resistance. The outer hull temperature rose at a distinctly more rapid rate than navy regulations (or ship specifications, for that matter) would have considered suitable.

As they rose, they could see the second Solarian ship land and several more approaching. Trevize wondered how many robots Bliss could have handled, and decided they would have been overwhelmed if they had remained on the surface fifteen minutes longer.

Once out in space (or space enough, with only tenuous wisps of the planetary exosphere around them), Trevize made for the nightside of the planet. It was a hop away, since they had left the surface as sunset was approaching. In the dark, the Far Star would have a chance to cool more rapidly, and there the ship could continue to recede from the surface in a slow spiral.

Pelorat came out of the room he shared with Bliss. He said, The child is sleeping normally now. Weve showed it how to use the toilet and it had no trouble understanding.

Thats not surprising. It must have had similar facilities in the mansion.

I didnt see any there and I was looking, said Pelorat feelingly. We didnt get back on the ship a moment too soon for me.

Or any of us. But why did we bring that child on board?

Pelorat shrugged apologetically. Bliss wouldnt let go. It was like saving a life in return for the one she took. She cant bear

I know, said Trevize.

Pelorat said, Its a very oddly shaped child.

Being hermaphroditic, it would have to be, said Trevize.

It has testicles, you know.

It could scarcely do without them.

And what I can only describe as a very small vagina.

Trevize made a face. Disgusting.

Not really, Golan, said Pelorat, protesting. Its adapted to its needs. It only delivers a fertilized egg-cell, or a very tiny embryo, which is then developed under laboratory conditions, tended, I dare say, by robots.

And what happens if their robot-system breaks down? If that happens, they would no longer be able to produce viable young.

Any world would be in serious trouble if its social structure broke down completely.

Not that I would weep uncontrollably over the Solarians.

Well, said Pelorat, I admit it doesnt seem a very attractive worldto us, I mean. But thats only the people and the social structure, which are not our type at all, dear chap. But subtract the people and the robots, and you have a world which otherwise

Might fall apart as Aurora is beginning to do, said Trevize. Hows Bliss, Janov?

Worn out, Im afraid. Shes sleeping now. She had a very bad time, Golan.

I didnt exactly enjoy myself either.

Trevize closed his eyes, and decided he could use some sleep himself and would indulge in that relief as soon as he was reasonably certain the Solarians had no space capabilityand so far the computer had reported nothing of artifactitious nature in space.

He thought bitterly of the two Spacer planets they had visitedhostile wild dogs on onehostile hermaphroditic loners on the otherand in neither place the tiniest hint as to the location of Earth. All they had to show for the double visit was Fallom.

He opened his eyes. Pelorat was still sitting in place at the other side of the computer, watching him solemnly.

Trevize said, with sudden conviction, We should have left that Solarian child behind.

Pelorat said, The poor thing. They would have killed it.

Even so, said Trevize, it belonged there. Its part of that society. Being put to death because of being superfluous is the sort of thing its born to.

Oh, my dear fellow, thats a hardhearted way to look at it.

Its a rational way. We dont know how to care for it, and it may suffer more lingeringly with us and die anyway. What does it eat?

Whatever we do, I suppose, old man. Actually, the problem is what do we eat? How much do we have in the way of supplies?

Plenty. Plenty. Even allowing for our new passenger.

Pelorat didnt look overwhelmed with happiness at this remark. He said, Its become a pretty monotonous diet. We should have taken some items on board on Comporellonnot that their cooking was excellent.

We couldnt. We left, if you remember, rather hurriedly, as we left Aurora, and as we left, in particular, Solaria. But whats a little monotony? It spoils ones pleasure, but it keeps one alive.

Would it be possible to pick up fresh supplies if we need to?

Anytime, Janov. With a gravitic ship and hyperspatial engines, the Galaxy is a small place. In days, we can be anywhere. Its just that half the worlds in the Galaxy are alerted to watch for our ship and I would rather stay out of the way for a time.

I suppose thats so. Bander didnt seem interested in the ship.

It probably wasnt even consciously aware of it. I suspect that the Solarians long ago gave up space flight. Their prime desire is to be left completely alone and they can scarcely enjoy the security of isolation if they are forever moving about in space and advertising their presence.

What are we going to do next, Golan?

Trevize said, We have a third world to visit.

Pelorat shook his head. Judging from the first two, I dont expect much from that.

Nor do I at the moment, but just as soon as I get a little sleep, Im going to get the computer to plot our course to that third world.

<p>57.</p>

Trevize slept considerably longer than he had expected to, but that scarcely mattered. There was neither day nor night, in any natural sense, on board ship, and the circadian rhythm never worked absolutely perfectly. The hours were what they were made to be, and it wasnt uncommon for Trevize and Pelorat (and particularly Bliss) to be somewhat out-of-sync as far as the natural rhythms of eating and sleeping were concerned.

Trevize even speculated, in the course of his scrape-down (the importance of conserving water made it advisable to scrape off the suds rather than rinse them off), about sleeping another hour or two, when he turned and found himself staring at Fallom, who was as undressed as he was.

He could not help jumping back, which, in the restricted area of the Personal, was bound to bring part of his body against something hard. He grunted.

Fallom was staring curiously at him and was pointing at Trevizes penis. What it said was incomprehensible but the whole bearing of the child seemed to bespeak a sense of disbelief. For his own peace of mind, Trevize had no choice but to put his hands over his penis.

Then Fallom said, in its high-pitched voice, Greetings.

Trevize started slightly at the childs unexpected use of Galactic, but the word had the sound of having been memorized.

Fallom continued, a painstaking word at a time, Blisssayyouwashme.

Yes? said Trevize. He put his hands on Falloms shoulders. Youstayhere.

He pointed downward at the floor and Fallom, of course, looked instantly at the place to which the finger pointed. It showed no comprehension of the phrase at all.

Dont move, said Trevize, holding the child tightly by both arms, pressing them toward the body as though to symbolize immobility. He hastily dried himself and put on his shorts, and over them his trousers.

He stepped out and roared, Bliss!

It was difficult for anyone to be more than four meters from any one else on the ship and Bliss came to the door of her room at once. She said, smiling, Are you calling me, Trevize, or was that the soft breeze sighing through the waving grass?

Lets not be funny, Bliss. What is that? He jerked his thumb over his shoulder.

Bliss looked past him and said, Well, it looks like the young Solarian we brought on board yesterday.

You brought on board. Why do you want me to wash it?

I should think youd want to. Its a very bright creature. Its picking up Galactic words quickly. It never forgets once I explain something. Of course, Im helping it do so.

Naturally.

Yes. I keep it calm. I kept it in a daze during most of the disturbing events on the planet. I saw to it that it slept on board ship and Im trying to divert its mind just a little bit from its lost robot, Jemby, that, apparently, it loved very much.

So that it ends up liking it here, I suppose.

I hope so. Its adaptable because its young, and I encourage that by as much as I dare influence its mind. Im going to teach it to speak Galactic.

Then you wash it. Understood?

Bliss shrugged. I will, if you insist, but I would want it to feel friendly with each of us. It would be useful to have each of us perform parental functions. Surely you can co-operate in that.

Not to this extent. And when you finish washing it, get rid of it. I want to talk to you.

Bliss said, with a sudden edge of hostility, How do you mean, get rid of it?

I dont mean dump it through the airlock. I mean, put it in your room. Sit it down in a corner. I want to talk at you.

Ill be at your service, she said coldly.

He stared after her, nursing his wrath for the moment, then moved into the pilot-room, and activated the viewscreen.

Solaria was a dark circle with a curving crescent of light at the left. Trevize placed his hands on the desk to make contact with the computer and found his anger cooling at once. One had to be calm to link mind and computer effectively and, eventually, conditioned reflex linked handhold and serenity.

There were no artifactitious objects about the ship in any direction, out as far as the planet itself. The Solarians (or their robots, most likely) could not, or would not, follow.

Good enough. He might as well get out of the night-shadow, then. If he continued to recede, it would, in any case, vanish as Solarias disc grew smaller than that of the more distant, but much larger, sun that it circled.

He set the computer to move the ship out of the planetary plane as well, since that would make it possible to accelerate with greater safety. They would then more quickly reach a region where space curvature would be low enough to make the Jump secure.

And, as often on such occasions, he fell to studying the stars. They were almost hypnotic in their quiet changelessness. All their turbulence and instability were wiped out by the distance that left them only dots of light.

One of those dots might well be the sun about which Earth revolvedthe original sun, under whose radiation life began, and under whose beneficence humanity evolved.

Surely, if the Spacer worlds circled stars that were bright and prominent members of the stellar family, and that were nevertheless unlisted in the computers Galactic map, the same might be true of the sun.

Or was it only the suns of the Spacer worlds that were omitted because of some primeval treaty agreement that left them to themselves? Would Earths sun be included in the Galactic map, but not marked off from the myriads of stars that were sunlike, yet had no habitable planet in orbit about itself?

There were after all, some thirty billion sunlike stars in the Galaxy, and only about one in a thousand had habitable planets in orbits about them. There might be a thousand such habitable planets within a few hundred parsecs of his present position. Should he sift through the sunlike stars one by one, searching for them?

Or was the original sun not even in this region of the Galaxy? How many other regions were convinced the sun was one of their neighbors, that they were primeval Settlers?

He needed information, and so far he had none.

He doubted strongly whether even the closest examination of the millennial ruins on Aurora would give information concerning Earths location. He doubted even more strongly that the Solarians could be made to yield information.

Then, too, if all information about Earth had vanished out of the great Library at Trantor; if no information about Earth remained in the great Collective Memory of Gaia; there seemed little chance that any information that might have existed on the lost worlds of the Spacers would have been overlooked.

And if he found Earths sun and, then, Earth itself, by the sheerest good fortunewould something force him to be unaware of the fact? Was Earths defense absolute? Was its determination to remain in hiding unbreakable?

What was he looking for anyway?

Was it Earth? Or was it the flaw in Seldons Plan that he thought (for no clear reason) he might find on Earth?

Seldons Plan had been working for five centuries now, and would bring the human species (so it was said) to safe harbor at last in the womb of a Second Galactic Empire, greater than the First, a nobler and a freer oneand yet he, Trevize, had voted against it, and for Galaxia.

Galaxia would be one large organism, while the Second Galactic Empire would, however great in size and variety, be a mere union of individual organisms of microscopic size in comparison with itself. The Second Galactic Empire would be another example of the kind of union of individuals that humanity had set up ever since it became humanity. The Second Galactic Empire might be the largest and best of the species, but it would still be but one more member of that species.

For Galaxia, a member of an entirely different species of organization, to be better than the Second Galactic Empire, there must be a flaw in the Plan, something the great Hari Seldon had himself overlooked.

But if it were something Seldon had overlooked, how could Trevize correct the matter? He was not a mathematician; knew nothing, absolutely nothing, about the details of the Plan; would understand nothing, furthermore, even if it were explained to him.

All he knew were the assumptionsthat a great number of human beings be involved and that they not be aware of the conclusions reached. The first assumption was self-evidently true, considering the vast population of the Galaxy, and the second had to be true since only the Second Foundationers knew the details of the Plan, and they kept it to themselves securely enough.

That left an added unacknowledge assumption, a taken-for-granted assumption, one so taken for granted it was never mentioned nor thought ofand yet one that might be false. An assumption that, if it were false, would alter the grand conclusion of the Plan and make Galaxia preferable to Empire.

But if the assumption was so obvious and so taken for granted that it was never even expressed, how could it be false? And if no one ever mentioned it, or thought of it, how could Trevize know it was there, or have any idea of its nature even if he guessed its existence?

Was he truly Trevize, the man with the flawless intuitionas Gaia insisted? Did he know the right thing to do even when he didnt know why he was doing it?

Now he was visiting every Spacer world he knew about. Was that the right thing to do? Did the Spacer worlds hold the answer? Or at least the beginning of the answer?

What was there on Aurora but ruins and wild dogs? (And, presumably, other feral creatures. Raging bulls? Overgrown rats? Stalking green-eyed cats?) Solaria was alive, but what was there on it but robots and energy-transducing human beings? What had either world to do with Seldons Plan unless they contained the secret of the location of the Earth?

And if they did, what had Earth to do with Seldons Plan? Was this all madness? Had he listened too long and too seriously to the fantasy of his own infallibility?

An overwhelming weight of shame came over him and seemed to press upon him to the point where he could barely breathe. He looked at the starsremote, uncaringand thought: I must be the Great Fool of the Galaxy.

<p>58.</p>

Blisss voice broke in on him. Well, Trevize, why do you want to see Is anything wrong? Her voice had twisted into sudden concern.

Trevize looked up and, for a moment, found it momentarily difficult to brush away his mood. He stared at her, then said, No, no. Nothings wrong. II was merely lost in thought. Every once in a while, after all, I find myself thinking.

He was uneasily aware that Bliss could read his emotions. He had only her word that she was voluntarily abstaining from any oversight of his mind.

She seemed to accept his statement, however. She said, Pelorat is with Fallom, teaching it Galactic phrases. The child seems to eat what we do without undue objection. But what do you want to see me about?

Well, not here, said Trevize. The computer doesnt need me at the moment. If you want to come into my room, the beds made and you can sit on it while I sit on the chair. Or vice versa, if you prefer.

It doesnt matter. They walked the short distance to Trevizes room. She eyed him narrowly. You dont seem furious anymore.

Checking my mind?

Not at all. Checking your face.

Im not furious. I may lose my temper momentarily, now and then, but thats not the same as furious. If you dont mind, though, there are questions I must ask you.

Bliss sat down on Trevizes bed, holding herself erect, and with a solemn expression on her wide-cheeked face and in her dark brown eyes. Her shoulder-length black hair was neatly arranged and her slim hands were clasped loosely in her lap. There was a faint trace of perfume about her.

Trevize smiled. Youve dolled yourself up. I suspect you think I wont yell quite so hard at a young and pretty girl.

You can yell and scream all you wish if it will make you feel better. I just dont want you yelling and screaming at Fallom.

I dont intend to. In fact, I dont intend to yell and scream at you. Havent we decided to be friends?

Gaia has never had anything but feelings of friendship toward you, Trevize.

Im not talking about Gaia. I know youre part of Gaia and that you are Gaia. Still theres part of you thats an individual, at least after a fashion. Im talking to the individual. Im talking to someone named Bliss without regardor with as little regard as possibleto Gaia. Havent we decided to be friends, Bliss?

Yes, Trevize.

Then how is it you delayed dealing with the robots on Solaria after we had left the mansion and reached the ship? I was humiliated and physically hurt, yet you did nothing. Even though every moment might bring additional robots to the scene and the number might overwhelm us, you did nothing.

Bliss looked at him seriously, and spoke as though she were intent on explaining her actions rather than defending them. I was not doing nothing, Trevize. I was studying the Guardian Robots minds, and trying to learn how to handle them.

I know thats what you were doing. At least you said you were at the time. I just dont see the sense of it. Why handle the minds when you were perfectly capable of destroying themas you finally did?

Do you think it so easy to destroy an intelligent being?

Trevizes lips twisted into an expression of distaste. Come, Bliss. An intelligent being? It was just a robot.

Just a robot? A little passion entered her voice. Thats the argument always. Just. Just! Why should the Solarian, Bander, have hesitated to kill us? We were just human beings without transducers. Why should there be any hesitation about leaving Fallom to its fate? It was just a Solarian, and an immature specimen at that. If you start dismissing anyone or anything you want to do away with as just a this or just a that, you can destroy anything you wish. There are always categories you can find for them.

Trevize said, Dont carry a perfectly legitimate remark to extremes just to make it seem ridiculous. The robot was just a robot. You cant deny that. It was not human. It was not intelligent in our sense. It was a machine mimicking an appearance of intelligence.

Bliss said, How easily you can talk when you know nothing about it. I am Gaia. Yes, I am Bliss, too, but I am Gaia. I am a world that finds every atom of itself precious and meaningful, and every organization of atoms even more precious and meaningful. I/we/Gaia would not lightly break down an organization, though we would gladly build it into something still more complex, provided always that that would not harm the whole.

The highest form of organization we know produces intelligence, and to be willing to destroy intelligence requires the sorest need. Whether it is machine intelligence or biochemical intelligence scarcely matters. In fact, the Guardian Robot represented a kind of intelligence I/we/Gaia had never encountered. To study it was wonderful. To destroy it, unthinkableexcept in a moment of crowning emergency.

Trevize said dryly, There were three greater intelligences at stake: your own, that of Pelorat, the human being you love, and, if you dont mind my mentioning it, mine.

Four! You still keep forgetting to include Fallom. They were not yet at stake. So I judged. See hereSuppose you were faced with a painting, a great artistic masterpiece, the existence of which meant death to you. All you had to do was to bring a wide brush of paint slam-bang, and at random, across the face of that painting and it would be destroyed forever, and you would be safe. But suppose, instead, that if you studied the painting carefully, and added just a touch of paint here, a speck there, scraped off a minute portion in a third place, and so on, you would alter the painting enough to avoid death, and yet leave it a masterpiece. Naturally, the revision couldnt be done except with the most painstaking care. It would take time, but surely, if that time existed, you would try to save the painting as well as your life.

Trevize said, Perhaps. But in the end you destroyed the painting past redemption. The wide paintbrush came down and wiped out all the wonderful little touches of color and subtleties of form and shape. And you did that instantly when a little hermaphrodite was at risk, where our danger and your own had not moved you.

We Outworlders were still not at immediate risk, while Fallom, it seemed to me, suddenly was. I had to choose between the Guardian Robots and Fallom, and, with no time to lose, I had to choose Fallom.

Is that what it was, Bliss? A quick calculation weighing one mind against another, a quick judging of the greater complexity and the greater worth?

Yes.

Trevize said, Suppose I tell you, it was just a child that was standing before you, a child threatened with death. An instinctive maternalism gripped you then, and you saved it where earlier you were all calculation when only three adult lives were at stake.

Bliss reddened slightly. There might have been something like that in it; but it was not after the fashion of the mocking way in which you say it. It had rational thought behind it, too.

I wonder. If there had been rational thought behind it, you might have considered that the child was meeting the common fate inevitable in its own society. Who knows how many thousands of children had been cut down to maintain the low number these Solarians think suitable to their world?

Theres more to it than that, Trevize. The child would be killed because it was too young to be a Successor, and that was because it had a parent who had died prematurely, and that was because I had killed that parent.

At a time when it was kill or be killed.

Not important. I killed the parent. I could not stand by and allow the child to be killed for my deed. Besides, it offers for study a brain of a kind that has never been studied by Gaia.

A childs brain.

It will not remain a childs brain. It will further develop the two transducer-lobes on either side of the brain. Those lobes give a Solarian abilities that all of Gaia cannot match. Simply to keep a few lights lit, just to activate a device to open a door, wore me out. Bander could have kept all the power going over an estate as great in complexity and greater in size than that city we saw on Comporellonand do it even while sleeping.

Trevize said, Then you see the child as an important bit of fundamental brain research.

In a way, yes.

Thats not the way I feel. To me, it seems we have taken danger aboard. Great danger.

Danger in what way? It will adapt perfectlywith my help. It is highly intelligent, and already shows signs of feeling affection for us. It will eat what we eat, go where we go, and I/we/Gaia will gain invaluable knowledge concerning its brain.

What if it produces young? It doesnt need a mate. It is its own mate.

It wont be of child-bearing age for many years. The Spacers lived for centuries and the Solarians had no desire to increase their numbers. Delayed reproduction is probably bred into the population. Fallom will have no children for a long time.

How do you know this?

I dont know it. Im merely being logical.

And I tell you Fallom will prove dangerous.

You dont know that. And youre not being logical, either.

I feel it, Bliss, without reason. At the moment. And it is you, not I, who insists my intuition is infallible.

And Bliss frowned and looked uneasy.

<p>59.</p>

Pelorat paused at the door to the pilot-room and looked inside in a rather ill-at-ease manner. It was as though he were trying to decide whether Trevize was hard at work or not.

Trevize had his hands on the table, as he always did when he made himself part of the computer, and his eyes were on the viewscreen. Pelorat judged, therefore, he was at work, and he waited patiently, trying not to move or, in any way, disturb the other.

Eventually, Trevize looked up at Pelorat. It was not a matter of total awareness. Trevizes eyes always seemed a bit glazed and unfocused when he was in computer-communion, as though he were looking, thinking, living in some other way than a person usually did.

But he nodded slowly at Pelorat, as though the sight, penetrating with difficulty, did, at last, sluggishly impress itself on the optic lobes. Then, after a while, he lifted his hands and smiled and was himself again.

Pelorat said apologetically, Im afraid Im getting in your way, Golan.

Not seriously, Janov. I was just testing to see if we were ready for the Jump. We are, just about, but I think Ill give it a few more hours, just for luck.

Does luckor random factorshave anything to do with it?

An expression only, said Trevize, smiling, but random factors do have something to do with it, in theory. Whats on your mind?

May I sit down?

Surely, but lets go into my room. Hows Bliss?

Very well. He cleared his throat. Shes sleeping again. She must have her sleep, you understand.

I understand perfectly. Its the hyperspatial separation.

Exactly, old chap.

And Fallom? Trevize reclined on the bed, leaving Pelorat the chair.

Those books out of my library that you had your computer print up for me? The folk tales? Its reading them. Of course, it understands very little Galactic, but it seems to enjoy sounding out the words. HesI keep wanting to use the masculine pronoun for it. Why do you suppose that is, old fellow?

Trevize shrugged. Perhaps because youre masculine yourself.

Perhaps. Its fearfully intelligent, you know.

Im sure.

Pelorat hesitated. I gather youre not very fond of Fallom.

Nothing against it personally, Janov. Ive never had children and Ive never been particularly fond of them generally. Youve had children, I seem to remember.

One son. It was a pleasure, I recall, having my son when he was a little boy. Maybe thats why I want to use the masculine pronoun for Fallom. It takes me back a quarter of a century or so.

Ive no objection to your liking it, Janov.

Youd like him, too, if you gave yourself a chance.

Im sure I would, Janov, and maybe someday I will give myself a chance to do so.

Pelorat hesitated again. I also know that you must get tired of arguing with Bliss.

Actually, I dont think well be arguing much, Janov. She and I are actually getting along quite well. We even had a reasonable discussion just the other dayno shouting, no recriminationabout her delay in inactivating the Guardian Robots. She keeps saving our lives, after all, so I cant very well offer her less than friendship, can I?

Yes, I see that, but I dont mean arguing, in the sense of quarreling. I mean this constant wrangle about Galaxia as opposed to individuality.

Oh, that! I suppose that will continuepolitely.

Would you mind, Golan, if I took up the argument on her behalf?

Perfectly all right. Do you accept the idea of Galaxia on your own, or is it that you simply feel happier when you agree with Bliss?

Honestly, on my own. I think that Galaxia is what should be forthcoming. You yourself chose that course of action and I am constantly becoming more convinced that that is correct.

Because I chose it? Thats no argument. Whatever Gaia says, I may be wrong, you know. So dont let Bliss persuade you into Galaxia on that basis.

I dont think you are wrong. Solaria showed me that, not Bliss.

How?

Well, to begin with, we are Isolates, you and I.

Her term, Janov. I prefer to think of us as individuals.

A matter of semantics, old chap. Call it what you will, we are enclosed in our private skins surrounding our private thoughts, and we think first and foremost of ourselves. Self-defense is our first law of nature, even if that means harming everyone else in existence.

People have been known to give their lives for others.

A rare phenomenon. Many more people have been known to sacrifice the dearest needs of others to some foolish whim of their own.

And what has that to do with Solaria?

Why, on Solaria, we see what Isolatesor individuals, if you prefercan become. The Solarians can hardly bear to divide a whole world among themselves. They consider living a life of complete isolation to be perfect liberty. They have no yearning for even their own offspring, but kill them if there are too many. They surround themselves with robot slaves to which they supply the power, so that if they die, their whole huge estate symbolically dies as well. Is this admirable, Golan? Can you compare it in decency, kindness, and mutual concern with Gaia? Bliss has not discussed this with me at all. It is my own feeling.

Trevize said, And it is like you to have that feeling, Janov. I share it. I think Solarian society is horrible, but it wasnt always like that. They are descended from Earthmen, and, more immediately, from Spacers who lived a much more normal life. The Solarians chose a path, for one reason or another, which led to an extreme, but you cant judge by extremes. In all the Galaxy, with its millions of inhabited worlds, is there one you know that now, or in the past, has had a society like that of Solaria, or even remotely like that of Solaria? And would even Solaria have such a society if it were not riddled with robots? Is it conceivable that a society of individuals could evolve to such a pitch of Solarian horror without robots?

Pelorats face twitched a little. You punch holes in everything, Golanor at least I mean you dont ever seem to be at a loss in defending the type of Galaxy you voted against.

I wont knock down everything. There is a rationale for Galaxia and when I find it, Ill know it, and Ill give in. Or perhaps, more accurately, if I find it.

Do you think you might not?

Trevize shrugged. How can I say? Do you know why Im waiting a few hours to make the Jump, and why Im in danger of talking myself into waiting a few days?

You said it would be safer if we waited.

Yes, thats what I said, but wed be safe enough now. What I really fear is that those Spacer worlds for which we have the co-ordinates will fail us altogether. We have only three, and weve already used up two, narrowly escaping death each time. In doing so, we have still not gained any hint as to Earths location, or even, in actual fact, Earths existence. Now I face the third and last chance, and what if it, too, fails us?

Pelorat sighed. You know there are old folk talesone, in fact, exists among those I gave Fallom to practice uponin which someone is allowed three wishes, but only three. Three seems to be a significant number in these things, perhaps because it is the first odd number so that it is the smallest decisive number. You know, two out of three wins. The point is that in these stories, the wishes are of no use. No one ever wishes correctly, which, I have always supposed, is ancient wisdom to the effect that the satisfaction of your wants must be earned, and not

He fell suddenly silent and abashed. Im sorry, old man, but Im wasting your time. I do tend to rattle on when I get started on my hobby.

I find you always interesting, Janov. I am willing to see the analogy. We have been given three wishes, and we have had two and they have done us no good. Now only one is left. Somehow, I am sure of failure again and so I wish to postpone it. That is why I am putting off the Jump as long as possible.

What will you do if you do fail again? Go back to Gaia? To Terminus?

Oh no, said Trevize in a whisper, shaking his head. The search must continueif I only knew how.

<p>14</p> <p>DEAD PLANET</p>
<p>60.</p>

Trevize felt depressed. What few victories he had had since the search began had never been definitive; they had merely been the temporary staving off of defeat.

Now he had delayed the Jump to the third of the Spacer worlds till he had spread his unease to the others. When he finally decided that he simply must tell the computer to move the ship through hyperspace, Pelorat was standing solemnly in the doorway to the pilot-room, and Bliss was just behind him and to one side. Even Fallom was standing there, gazing at Trevize owlishly, while one hand gripped Blisss hand tightly.

Trevize had looked up from the computer and had said, rather churlishly, Quite the family group! but that was only his own discomfort speaking.

He instructed the computer to Jump in such a way as to reenter space at a further distance from the star in question than was absolutely necessary. He told himself that that was because he was learning caution as a result of events on the first two Spacer worlds, but he didnt believe that. Well underneath, he knew, he was hoping that he would arrive in space at a great enough distance from the star to be uncertain as to whether it did or did not have a habitable planet. That would give him a few more days of in-space travel before he could find out, and (perhaps) have to stare bitter defeat in the face.

So now, with the family group watching, he drew a deep breath, held it, then expelled it in a between-the-lips whistle as he gave the computer its final instruction.

The star-pattern shifted in a silent discontinuity and the viewscreen became barer, for he had been taken into a region in which the stars were somewhat sparser. And there, nearly in the center, was a brightly gleaming star.

Trevize grinned broadly, for this was a victory of sorts. After all, the third set of co-ordinates might have been wrong and there might have been no appropriate G-type star in sight. He glanced toward the other three, and said, Thats it. Star number three.

Are you sure? asked Bliss softly.

Watch! said Trevize. I will switch to the equicentered view in the computers Galactic map, and if that bright star disappears, its not recorded on the map, and its the one we want.

The computer responded to his command, and the star blinked out without any prior dimming. It was as though it had never been, but the rest of the starfield remained as it was, in sublime indifference.

Weve got it, said Trevize.

And yet he sent the Far Star forward at little more than half the speed he might easily have maintained. There was still the question of the presence or absence of a habitable planet, and he was in no hurry to find out. Even after three days of approach, there was still nothing to be said about that, either way.

Or, perhaps, not quite nothing. Circling the star was a large gas giant. It was very far from its star and it gleamed a very pale yellow on its daylight side, which they could see, from their position, as a thick crescent.

Trevize did not like its looks, but he tried not to show it and spoke as matter-of-factly as a guidebook. Theres a big gas giant out there, he said. Its rather spectacular. It has a thin pair of rings and two sizable satellites that can be made out at the moment.

Bliss said, Most systems include gas giants, dont they?

Yes, but this is a rather large one. Judging from the distance of its satellites, and their periods of revolution, that gas giant is almost two thousand times as massive as a habitable planet would be.

Whats the difference? said Bliss. Gas giants are gas giants and it doesnt matter what size they are, does it? Theyre always present at great distances from the star they circle, and none of them are habitable, thanks to their size and distance. We just have to look closer to the star for a habitable planet.

Trevize hesitated, then decided to place the facts on the table. The thing is, he said, that gas giants tend to sweep a volume of planetary space clean. What material they dont absorb into their own structures will coalesce into fairly large bodies that come to make up their satellite system. They prevent other coalescences at even a considerable distance from themselves, so that the larger the gas giant, the more likely it is to be the only sizable planet of a particular star. Therell just be the gas giant and asteroids.

You mean there is no habitable planet here?

The larger the gas giant, the smaller the chance of a habitable planet and that gas giant is so massive it is virtually a dwarf star.

Pelorat said, May we see it?

All three now stared at the screen (Fallom was in Blisss room with the books).

The view was magnified till the crescent filled the screen. Crossing that crescent a distance above center was a thin dark line, the shadow of the ring system which could itself be seen a small distance beyond the planetary surface as a gleaming curve that stretched into the dark side a short distance before it entered the shadow itself.

Trevize said, The planets axis of rotation is inclined about thirty-five degrees to its plane of revolution, and its ring is in the planetary equatorial plane, of course, so that the stars light comes in from below, at this point in its orbit, and casts the rings shadow well above the equator.

Pelorat watched raptly. Those are thin rings.

Rather above average size, actually, said Trevize.

According to legend, the rings that circle a gas giant in Earths planetary system are much wider, brighter, and more elaborate than this one. The rings actually dwarf the gas giant by comparison.

Im not surprised, said Trevize. When a story is handed on from person to person for thousands of years, do you suppose it shrinks in the telling?

Bliss said, Its beautiful. If you watch the crescent, it seems to writhe and wriggle before your eyes.

Atmospheric storms, said Trevize. You can generally see that more clearly if you choose an appropriate wavelength of light. Here, let me try. He placed his hands on the desk and ordered the computer to work its way through the spectrum and stop at the appropriate wavelength.

The mildly lit crescent went into a wilderness of color that shifted so rapidly it almost dazed the eyes that tried to follow. Finally, it settled into a red-orange, and, within the crescent, clear spirals drifted, coiling and uncoiling as they moved.

Unbelievable, muttered Pelorat.

Delightful, said Bliss.

Quite believable, thought Trevize bitterly, and anything but delightful. Neither Pelorat nor Bliss, lost in the beauty, bothered to think that the planet they admired lowered the chances of solving the mystery Trevize was trying to unravel. But, then, why should they? Both were satisfied that Trevizes decision had been correct, and they accompanied him in his search for certainty without an emotional bond to it. It was useless to blame them for that.

He said, The dark side seems dark, but if our eyes were sensitive to the range just a little beyond the usual long-wave limit, we would see it as a dull, deep, angry red. The planet is pouring infrared radiation out into space in great quantities because it is massive enough to be almost red-hot. Its more than a gas giant; its a sub-star.

He waited a little longer and then said, And now lets put that object out of our mind and look for the habitable planet that may exist.

Perhaps it does, said Pelorat, smiling. Dont give up, old fellow.

I havent given up, said Trevize, without true conviction. The formation of planets is too complicated a matter for rules to be hard and fast. We speak only of probabilities. With that monster out in space, the probabilities decrease, but not to zero.

Bliss said, Why dont you think of it this way? Since the first two sets of co-ordinates each gave you a habitable planet of the Spacers, then this third set, which has already given you an appropriate star, should give you a habitable planet as well. Why speak of probabilities?

I certainly hope youre right, said Trevize, who did not feel at all consoled. Now we will shoot out of the planetary plane and in toward the star.

The computer took care of that almost as soon as he had spoken his intention. He sat back in his pilots chair and decided, once again, that the one evil of piloting a gravitic ship with a computer so advanced was that one could neverneverpilot any other type of ship again.

Could he ever again bear to do the calculations himself? Could he bear to have to take acceleration into account, and limit it to a reasonable level? In all likelihood, he would forget and pour on the energy till he and everyone on board were smashed against one interior wall or another.

Well, then, he would continue to pilot this one shipor another exactly like it, if he could even bear to make so much of a changealways.

And because he wanted to keep his mind off the question of the habitable planet, yes or no, he mused on the fact that he had directed the ship to move above the plane, rather than below. Barring any definite reason to go below a plane, pilots almost always chose to go above. Why?

For that matter, why be so intent on considering one direction above and the other below? In the symmetry of space that was pure convention.

Just the same, he was always aware of the direction in which any planet under observation rotated about its axis and revolved about its star. When both were counterclockwise, then the direction of ones raised arm was north, and the direction of ones feet was south. And throughout the Galaxy, north was pictured as above and south as below.

It was pure convention, dating back into the primeval mists, and it was followed slavishly. If one looked at a familiar map with south above, one didnt recognize it. It had to be turned about to make sense. And all things being equal, one turned northand above.

Trevize thought of a battle fought by Bel Riose, the Imperial general of three centuries before, who had veered his squadron below the planetary plane at a crucial moment, and caught a squadron of vessels, waiting and unprepared. There were complaints that it had been an unfair maneuverby the losers, of course.

A convention, so powerful and so primordially old, must have started on Earthand that brought Trevizes mind, with a jerk, back to the question of the habitable planet.

Pelorat and Bliss continued to watch the gas giant as it slowly turned on the viewscreen in a slow, slow back-somersault. The sunlit portion spread and, as Trevize kept its spectrum fixed in the orange-red wavelengths, the storm-writhing of its surface became ever madder and more hypnotic.

Then Fallom came wandering in and Bliss decided it must take a nap and that so must she.

Trevize said to Pelorat, who remained, I have to let go of the gas giant, Janov. I want to have the computer concentrate on the search for a gravitational blip of the right size.

Of course, old fellow, said Pelorat.

But it was more complicated than that. It was not just a blip of the right size that the computer had to search for, it was one of the right size and at the right distance. It would still be several days before he could be sure.

<p>61.</p>

Trevize walked into his room, grave, solemnindeed somberand started perceptibly.

Bliss was waiting for him and immediately next to her was Fallom, with its loincloth and robe bearing the unmistakable fresh odor of steaming and vacupressing. The youngster looked better in that than in one of Blisss foreshortened nightgowns.

Bliss said, I didnt want to disturb you at the computer, but now listen. Go on, Fallom.

Fallom said, in its high-pitched musical voice, I greet you, Protector Trevize. It is with great pleasure that I am apadaccompanying you on this ship through space. I am happy, too, for the kindness of my friends, Bliss and Pel.

Fallom finished and smiled prettily, and once again Trevize thought to himself: Do I think of it as a boy or as a girl or as both or as neither?

He nodded his head. Very well memorized. Almost perfectly pronounced.

Not at all memorized, said Bliss warmly. Fallom composed this itself and asked if it would be possible to recite it to you. I didnt even know what Fallom would say till I heard it said.

Trevize forced a smile, In that case, very good indeed. He noticed Bliss avoided pronouns when she could.

Bliss turned to Fallom and said, I told you Trevize would like it. Now go to Pel and you can have some more reading if you wish.

Fallom ran off, and Bliss said, Its really astonishing how quickly Fallom is picking up Galactic. The Solarians must have a special aptitude for languages. Think how Bander spoke Galactic merely from hearing it on hyperspatial communications. Those brains may be remarkable in ways other than energy transduction.

Trevize grunted.

Bliss said, Dont tell me you still dont like Fallom.

I neither like nor dislike. The creature simply makes me uneasy. For one thing, its a grisly feeling to be dealing with a hermaphrodite.

Bliss said, Come, Trevize, thats ridiculous. Fallom is a perfectly acceptable living creature. To a society of hermaphrodites, think how disgusting you and I must seemmales and females generally. Each is half of a whole and, in order to reproduce, there must be a temporary and clumsy union.

Do you object to that, Bliss?

Dont pretend to misunderstand. I am trying to view us from the hermaphroditic standpoint. To them, it must seem repellent in the extreme; to us, it seems natural. So Fallom seems repellent to you, but thats just a short-sighted parochial reaction.

Frankly, said Trevize, its annoying not to know the pronoun to use in connection with the creature. It impedes thought and conversation to hesitate forever at the pronoun.

But thats the fault of our language, said Bliss, and not of Fallom. No human language has been devised with hermaphroditism in mind. And Im glad you brought it up, because Ive been thinking about it myself. Saying it, as Bander itself insisted on doing, is no solution. That is a pronoun intended for objects to which sex is irrelevant, and there is no pronoun at all for objects that are sexually active in both senses. Why not just pick one of the pronouns arbitrarily, then? I think of Fallom as a girl. She has the high voice of one, for one thing, and she has the capacity of producing young, which is the vital definition of femininity. Pelorat has agreed; why dont you do so, too? Let it be she and her.?

Trevize shrugged. Very well. It will sound peculiar to point out that she has testicles, but very well.

Bliss sighed. You do have this annoying habit of trying to turn everything into a joke, but I know you are under tension and Ill make allowance for that. Just use the feminine pronoun for Fallom, please.

I will. Trevize hesitated, then, unable to resist, said, Fallom seems more your surrogate-child every time I see you together. Is it that you want a child and dont think Janov can give you one?

Blisss eyes opened wide. Hes not there for children! Do you think I use him as a handy device to help me have a child? It is not time for me to have a child, in any case. And when it is time, it will have to be a Gaian child, something for which Pel doesnt qualify.

You mean Janov will have to be discarded?

Not at all. A temporary diversion, only. It might even be brought about by artificial insemination.

I presume you can only have a child when Gaias decision is that one is necessary; when there is a gap produced by the death of an already-existing Gaian human fragment.

That is an unfeeling way of putting it, but it is true enough. Gaia must be well proportioned in all its parts and relationships.

As in the case of the Solarians.

Blisss lips pressed together and her face grew a little white. Not at all. The Solarians produce more than they need and destroy the excess. We produce just what we need and there is never a necessity of destroyingas you replace the dying outer layers of your skin by just enough new growth for renewal and by not one cell more.

I see what you mean, said Trevize. I hope, by the way, that you are considering Janovs feelings.

In connection with a possible child for me? That has never come up for discussion; nor will it.

No, I dont mean that. It strikes me you are becoming more and more interested in Fallom. Janov may feel neglected.

Hes not neglected, and he is as interested in Fallom as I am. She is another point of mutual involvement that draws us even closer together. Can it be that you are the one who feels neglected?

I? He was genuinely surprised.

Yes, you. I dont understand Isolates any more than you understand Gaia, but I have a feeling that you enjoy being the central point of attention on this ship, and you may feel cut out by Fallom.

Thats foolish.

No more foolish than your suggestion that I am neglecting Pel.

Then lets declare a truce and stop. Ill try to view Fallom as a girl, and I shall not worry excessively about you being inconsiderate of Janovs feelings.

Bliss smiled. Thank you. All is well, then.

Trevize turned away, and Bliss then said, Wait!

Trevize turned back and said, just a bit wearily, Yes?

Its quite clear to me, Trevize, that youre sad and depressed. I am not going to probe your mind, but you might be willing to tell me whats wrong. Yesterday, you said there was an appropriate planet in this system and you seemed quite pleased. Its still there, I hope. The finding hasnt turned out to be mistaken, has it?

Theres an appropriate planet in the system, and its still there, said Trevize.

Is it the right size?

Trevize nodded. Since its appropriate, its of the right size. And its at the right distance from the star as well.

Well, then, whats wrong?

Were close enough now to analyze the atmosphere. It turns out that it has none to speak of.

No atmosphere?

None to speak of. Its a nonhabitable planet, and there is no other circling the sun that has even the remotest capacity for habitability. We have come up with zero on this third attempt.

<p>62.</p>

Pelorat, looking grave, was clearly unwilling to intrude on Trevizes unhappy silence. He watched from the door of the pilot-room, apparently hoping that Trevize would initiate a conversation.

Trevize did not. If ever a silence seemed stubborn, his did.

And finally, Pelorat could stand it no longer, and said, in a rather timid way, What are we doing?

Trevize looked up, stared at Pelorat for a moment, turned away, and then said, Were zeroing in on the planet.

But since theres no atmosphere

The computer says theres no atmosphere. Till now, its always told me what Ive wanted to hear and Ive accepted it. Now it has told me something I dont want to hear, and Im going to check it. If the computer is ever going to be wrong, this is the time I want it to be wrong.

Do you think its wrong?

No, I dont.

Can you think of any reason that might make it wrong?

No, I cant.

Then why are you bothering, Golan?

And Trevize finally wheeled in his seat to face Pelorat, his face twisted in near-despair, and said, Dont you see, Janov, that I cant think of anything else to do? We drew blanks on the first two worlds as far as Earths location is concerned, and now this world is a blank. What do I do now? Wander from world to world, and peer about and say, Pardon me. Wheres Earth? Earth has covered its tracks too well. Nowhere has it left any hint. Im beginning to think that it will see to it that were incapable of picking up a hint even if one exists.

Pelorat nodded, and said, Ive been thinking along those lines myself. Do you mind if we discuss it? I know youre unhappy, old chap, and dont want to talk, so if you want me to leave you alone, I will.

Go ahead, discuss it, said Trevize, with something that was remarkably like a groan. What have I got better to do than listen?

Pelorat said, That doesnt sound as though you really want me to talk, but perhaps it will do us good. Please stop me at any time if you decide you can stand it no longer. It seems to me, Golan, that Earth need not take only passive and negative measures to hide itself. It need not merely wipe out references to itself. Might it not plant false evidence and work actively for obscurity in that fashion?

How do you mean?

Well, weve heard of Earths radioactivity in several places, and that sort of thing would be designed to make anyone break off any attempt to locate it. If it were truly radioactive, it would be totally unapproachable. In all likelihood, we would not even be able to set foot on it. Even robot explorers, if we had any, might not survive the radiation. So why look? And if it is not radioactive, it remains inviolate, except for accidental approach, and even then it might have other means of masking itself.

Trevize managed a smile. Oddly enough, Janov, that thought has occurred to me. It has even occurred to me that that improbable giant satellite has been invented and planted in the worlds legends. As for the gas giant with the monstrous ring system, that is equally improbable and may be equally planted. It is all designed, perhaps, to have us look for something that doesnt exist, so that we go right through the correct planetary system, staring at Earth and dismissing it because, in actual fact, it lacks a large satellite or a triple-ringed cousin or a radioactive crust. We dont recognize it, therefore, and dont dream we are looking at it. I imagine worse, too.

Pelorat looked downcast. How can there be worse?

Easilywhen your mind gets sick in the middle of the night and begins searching the vast realm of fantasy for anything that can deepen despair. What if Earths ability to hide is ultimate? What if our minds can be clouded? What if we can move right past Earth, with its giant satellite and with its distant ringed gas giant, and never see any of it? What if we have already done so?

But if you believe that, why are we?

I dont say I believe that. Im talking about mad fancies. Well keep on looking.

Pelorat hesitated, then said, For how long, Trevize? At some point, surely, well have to give up.

Never, said Trevize fiercely. If I have to spend the rest of my life going from planet to planet and peering about and saying, Please, sir, wheres Earth? then thats what Ill do. At any time, I can take you and Bliss and even Fallom, if you wish, back to Gaia and then take off on my own.

Oh no. You know I wont leave you, Golan, and neither will Bliss. Well go planet-hopping with you, if we must. But why?

Because I must find Earth, and because I will. I dont know how, but I will. Now, look, Im trying to reach a position where I can study the sunlit side of the planet without its sun being too close, so just let me be for a while.

Pelorat fell silent, but did not leave. He continued to watch while Trevize studied the planetary image, more than half in daylight, on the screen. To Pelorat, it seemed featureless, but he knew that Trevize, bound to the computer, saw it under enhanced circumstances.

Trevize whispered, Theres a haze.

Then there must be an atmosphere, blurted out Pelorat.

Not necessarily much of one. Not enough to support life, but enough to support a thin wind that will raise dust. Its a well-known characteristic of planets with thin atmospheres. There may even be small polar ice caps. A little water-ice condensed at the poles, you know. This world is too warm for solid carbon dioxide. Ill have to switch to radar-mapping. And if I do that I can work more easily on the nightside.

Really?

Yes. I should have tried it first, but with a virtually airless and, therefore, cloudless planet, the attempt with visible light seems so natural.

Trevize was silent for a long time, while the view-screen grew fuzzy with radar-reflections that produced almost the abstraction of a planet, something that an artist of the Cleonian period might have produced. Then he said, Well emphatically, holding the sound for a while, and was silent again.

Pelorat said, at last, Whats the well about?

Trevize looked at him briefly. No craters that I can see.

No craters? Is that good?

Totally unexpected, said Trevize. His face broke into a grin, And very good. In fact, possibly magnificent.

<p>63.</p>

Fallom remained with her nose pressed against the ships porthole, where a small segment of the Universe was visible in the precise form in which the eye saw it, without computer enlargement or enhancement.

Bliss, who had been trying to explain it all, sighed and said in a low voice to Pelorat, I dont know how much she understands, Pel dear. To her, her fathers mansion and a small section of the estate it stood upon was all the Universe. I dont think she was ever out at night, or ever saw the stars.

Do you really think so?

I really do. I didnt dare show her any part of it until she had enough vocabulary to understand me just a littleand how fortunate it was that you could speak with her in her own language.

The trouble is Im not very good at it, said Pelorat apologetically. And the Universe is rather hard to grasp if you come at it suddenly. She said to me that if those little lights are giant worlds, each one just like Solariatheyre much larger than Solaria, of coursethat they couldnt hang in nothing. They ought to fall, she says.

And shes right, judging by what she knows. She asks sensible questions, and little by little, shell understand. At least shes curious and shes not frightened.

The thing is, Bliss, Im curious, too. Look how Golan changed as soon as he found out there were no craters on the world were heading for. I havent the slightest idea what difference that makes. Do you?

Not a bit. Still he knows much more planetology than we do. We can only assume he knows what hes doing.

I wish I knew.

Well, ask him.

Pelorat grimaced. Im always afraid Ill annoy him. Im sure he thinks I ought to know these things without being told.

Bliss said, Thats silly, Pel. He has no hesitation in asking you about any aspect of the Galaxys legends and myths which he thinks might be useful. Youre always willing to answer and explain, so why shouldnt he be? You go ask him. If it annoys him, then hell have a chance to practice sociability, and that will be good for him.

Will you come with me?

No, of course not. I want to stay with Fallom and continue to try to get the concept of the Universe into her head. You can always explain it to me afterwardonce he explains it to you.

<p>64.</p>

Pelorat entered the pilot-room diffidently. He was delighted to note that Trevize was whistling to himself and was clearly in a good mood.

Golan, he said, as brightly as he could.

Trevize looked up. Janov! Youre always tiptoeing in as though you think its against the law to disturb me. Close the door and sit down. Sit down! Look at that thing.

He pointed to the planet on the viewscreen, and said, I havent found more than two or three craters, each quite small.

Does that make a difference, Golan? Really?

A difference? Certainly. How can you ask?

Pelorat gestured helplessly. Its all a mystery to me. I was a history major at college. I took sociology and psychology in addition to history, also languages and literature, mostly ancient, and specialized in mythology in graduate school. I never came near planetology, or any of the physical sciences.

Thats no crime, Janov. Id rather you know what you know. Your facility in ancient languages and in mythology has been of enormous use to us. You know that. And when it comes to a matter of planetology, Ill take care of that.

He went on, You see, Janov, planets form through the smashing together of smaller objects. The last few objects to collide leave crater marks. Potentially, that is. If the planet is large enough to be a gas giant, it is essentially liquid under a gaseous atmosphere and the final collisions are just splashes and leave no marks.

Smaller planets which are solid, whether icy or rocky, do show crater marks, and these remain indefinitely unless an agency for removal exists. There are three types of removals.

First, a world may have an icy surface overlying a liquid ocean. In that case, any colliding object breaks through the ice and splashes water. Behind it the ice refreezes and heals the puncture, so to speak. Such a planet, or satellite, would have to be cold, and would not be what we would consider a habitable world.

Second, if a planet is intensely active, volcanically, then a perpetual lava flow or ash fallout is forever filling in and obscuring any craters that form. However, such a planet or satellite is not likely to be habitable either.

That brings us to habitable worlds as a third case. Such worlds may have polar ice caps, but most of the ocean must be freely liquid. They may have active volcanoes, but these must be sparsely distributed. Such worlds can neither heal craters, nor fill them in. There are, however, erosion effects. Wind and flowing water will erode craters, and if there is life, the actions of living things are strongly erosive as well. See?

Pelorat considered that, then said, But, Golan, I dont understand you at all. This planet were approaching

Well be landing tomorrow, said Trevize cheerfully.

This planet were approaching doesnt have an ocean.

Only some thin polar ice caps.

Or much of an atmosphere.

Only a hundredth the density of the atmosphere on Terminus.

Or life.

Nothing I can detect.

Then what could have eroded away the craters?

An ocean, an atmosphere, and life, said Trevize. Look, if this planet had been airless and waterless from the start, any craters that had been formed would still exist and the whole surface would be cratered. The absence of craters proves it cant have been airless and waterless from the start, and may even have had a sizable atmosphere and ocean in the near past. Besides, there are huge basins, visible on this world, that must have held seas and oceans once, to say nothing of the marks of rivers that are now dry. So you see there was erosion and that erosion has ceased so short a time ago, that new cratering has not yet had time to accumulate.

Pelorat looked doubtful. I may not be a planetologist, but it seems to me that if a planet is large enough to hang on to a dense atmosphere for perhaps billions of years, it isnt going to suddenly lose it, is it?

I shouldnt think so, said Trevize. But this world undoubtedly held life before its atmosphere vanished, probably human life. My guess is that it was a terraformed world as almost all the human-inhabited worlds of the Galaxy are. The trouble is that we dont really know what its condition was before human life arrived, or what was done to it in order to make it comfortable for human beings, or under what conditions, actually, life vanished. There may have been a catastrophe that sucked off the atmosphere and that brought about the end of human life. Or there may have been some strange imbalance on this planet that human beings controlled as long as they were here and that went into a vicious cycle of atmospheric reduction once they were gone. Maybe well find the answer when we land, or maybe we wont. It doesnt matter.

But surely neither does it matter if there was life here once, if there isnt now. Whats the difference if a planet has always been uninhabitable, or is only uninhabitable now?

If it is only uninhabitable now, there will be ruins of the one-time inhabitants.

There were ruins on Aurora

Exactly, but on Aurora there had been twenty thousand years of rain and snow, freezing and thawing, wind and temperature change. And there was also lifedont forget life. There may not have been human beings there, but there was plenty of life. Ruins can be eroded just as craters can. Faster. And in twenty thousand years, not enough was left to do us any good. Here on this planet, however, there has been a passage of time, perhaps twenty thousand years, perhaps less, without wind, or storm, or life. There has been temperature change, I admit, but thats all. The ruins will be in good shape.

Unless, murmured Pelorat doubtfully, there are no ruins. Is it possible that there was never any life on the planet, or never any human life at any rate, and that the loss of the atmosphere was due to some event that human beings had nothing to do with?

No, no, said Trevize. You cant turn pessimist on me, because it wont work. Even from here, Ive spotted the remains of what Im sure was a city. So we land tomorrow.

<p>65.</p>

Bliss said, in a worried tone, Fallom is convinced were going to take her back to Jemby, her robot.

Umm, said Trevize, studying the surface of the world as it slid back under the drifting ship. Then he looked up as though he had heard the remark only after a delay. Well, it was the only parent she knew, wasnt it?

Yes, of course, but she thinks weve come back to Solaria.

Does it look like Solaria?

How would she know?

Tell her its not Solaria. Look, Ill give you one or two reference book-films with graphic illustrations. Show her close-ups of a number of different inhabited worlds and explain that there are millions of them. Youll have time for it. I dont know how long Janov and I will have to wander around, once we pick a likely target and land.

You and Janov?

Yes. Fallom cant come with us, even if I wanted her to, which I would only want if I were a madman. This world requires space suits, Bliss. Theres no breathable air. And we dont have a space suit that would fit Fallom. So she and you stay on the ship.

Why I?

Trevizes lips stretched into a humorless smile. I admit, he said, I would feel safer if you were along, but we cant leave Fallom on this ship alone. She can do damage even if she doesnt mean to. I must have Janov with me because he might be able to make out whatever archaic writing they have here. That means you will have to stay with Fallom. I should think you would want to.

Bliss looked uncertain.

Trevize said, Look. You wanted Fallom along, when I didnt. Im convinced shell be nothing but trouble. Soher presence introduces constraints, and youll have to adjust yourself to that. Shes here, so youll have to be here, too. Thats the way it is.

Bliss sighed. I suppose so.

Good. Wheres Janov?

Hes with Fallom.

Very well. Go and take over. I want to talk to him.

Trevize was still studying the planetary surface when Pelorat walked in, clearing his throat to announce his presence. He said, Is anything wrong, Golan?

Not exactly wrong, Janov. Im just uncertain. This is a peculiar world and I dont know what happened to it. The seas must have been extensive, judging from the basins left behind, but they were shallow. As nearly as I can tell from the traces left behind, this was a world of desalinization and canalsor perhaps the seas werent very salty. If they werent very salty, that would account for the absence of extensive salt flats in the basins. Or else, when the ocean was lost, the salt content was lost with itwhich certainly makes it look like a human deed.

Pelorat said hesitantly, Excuse my ignorance about such things, Golan, but does any of this matter as far as what we are looking for is concerned?

I suppose not, but I cant help being curious. If I knew just how this planet was terraformed into human habitability and what it was like before terraforming, then perhaps I would understand what has happened to it after it was abandonedor just before, perhaps. And if we did know what happened to it, we might be forewarned against unpleasant surprises.

What kind of surprises? Its a dead world, isnt it?

Dead enough. Very little water; thin, unbreathable atmosphere; and Bliss detects no signs of mental activity.

That should settle it, I should think.

Absence of mental activity doesnt necessarily imply lack of life.

It must surely imply lack of dangerous life.

I dont know. But thats not what I want to consult you about. There are two cities that might do for our first inspection. They seem to be in excellent shape; all the cities do. Whatever destroyed the air and oceans did not seem to touch the cities. Anyway, those two cities are particularly large. The larger, however, seems to be short on empty space. There are spaceports far in the outskirts but nothing in the city itself. The one not so large does have empty space, so it will be easier to come down in its midst, though not in formal spaceportsbut then, who would care about that?

Pelorat grimaced. Do you want me to make the decision, Golan?

No, Ill make the decision. I just want your thoughts.

For what theyre worth, a large sprawling city is likely to be a commercial or manufacturing center. A smaller city with open space is likely to be an administrative center. Its the administrative center wed want. Does it have monumental buildings?

What do you mean by a monumental building?

Pelorat smiled his tight little stretching of the lips. I scarcely know. Fashions change from world to world and from time to time. I suspect, though, that they always look large, useless, and expensive. Like the place where we were on Comporellon.

Trevize smiled in his turn. Its hard to tell looking straight down, and when I get a sideways glance as we approach or leave, its too confusing. Why do you prefer the administrative center?

Thats where were likely to find the planetary museum, library, archives, university, and so on.

Good. Thats where well go, then; the smaller city. And maybe well find something. Weve had two misses, but maybe well find something this time.

Perhaps it will be three times lucky.

Trevize raised his eyebrows. Where did you get that phrase?

Its an old one, said Pelorat. I found it in an ancient legend. It means success on the third try, I should think.

That sounds right, said Trevize. Very well, thenthree times lucky, Janov.

<p>15</p> <p>MOSS</p>
<p>66.</p>

Trevize looked grotesque in his space suit. The only part of him that remained outside were his holstersnot the ones that he strapped around his hips ordinarily, but more substantial ones that were part of his suit. Carefully, he inserted the blaster in the right-hand holster, the neuronic whip in the left. Again, they had been recharged and this time, he thought grimly, nothing would take them away from him.

Bliss smiled. Are you going to carry weapons even on a world without air orNever mind! I wont question your decisions.

Trevize said, Good! and turned to help Pelorat adjust his helmet, before donning his own.

Pelorat, who had never worn a space suit before, said, rather plaintively, Will I really be able to breathe in this thing, Golan?

I promise you, said Trevize.

Bliss watched as the final joints were sealed, her arm about Falloms shoulder. The young Solarian stared at the two space-suited figures in obvious alarm. She was trembling, and Blisss arm squeezed her gently and reassuringly.

The airlock door opened, and the two stepped inside, their bloated arms waving a farewell. It closed. The mainlock door opened and they stepped clumsily onto the soil of a dead world.

It was dawn. The sky was clear, of course, and purplish in color, but the sun had not yet risen. Along the lighter horizon where the sun would come, there was a slight haze.

Pelorat said, Its cold.

Do you feel cold? said Trevize, with surprise. The suits were well insulated and if there was a problem, now and then, it was with the need for getting rid of body heat.

Pelorat said, Not at all, but look His radioed voice sounded clear in Trevizes ear, and his finger pointed.

In the purplish light of dawn, the crumbling stone front of the building they were approaching was sheathed in hoar frost.

Trevize said, With a thin atmosphere, it would get colder at night than you would expect, and warmer in the day. Right now its the coldest part of the day and it should take several hours before it gets too hot for us to remain in the sun.

As though the word had been a cabalistic incantation, the rim of the sun appeared above the horizon.

Dont look at it, said Trevize conversationally. Your face-plate is reflective and ultraviolet-opaque, but it would still be dangerous.

He turned his back to the rising sun and let his long shadow fall on the building. The sunlight was causing the frost to disappear, even as he watched. For a few moments, the wall looked dark with dampness and then that disappeared, too.

Trevize said, The buildings dont look as good down here as they looked from the sky. Theyre cracked and crumbling. Thats the result of the temperature change, I suppose, and of having the water traces freeze and melt each night and day for maybe as much as twenty thousand years.

Pelorat said, There are letters engraved in the stone above the entrance, but crumbling has made them difficult to read.

Can you make it out, Janov?

A financial institution of some sort. At least I make out a word which may be bank.?

Whats that?

A building in which assets were stored, withdrawn, traded, invested, loanedif its what I think it is.

A whole building devoted to it? No computers?

Without computers taking over altogether.

Trevize shrugged. He did not find the details of ancient history inspiring.

They moved about, with increasing haste, spending less time at each building. The silence, the deadness, was completely depressing. The slow millennial-long collapse into which they had intruded made the place seem like the skeleton of a city, with everything gone but the bones.

They were well up in the temperate zone, but Trevize imagined he could feel the heat of the sun on his back.

Pelorat, about a hundred meters to his right, said sharply, Look at that.

Trevizes ears rang. He said, Dont shout, Janov. I can hear your whispers clearly no matter how far away you are. What is it?

Pelorat, his voice moderating at once, said, This building is the Hall of the Worlds. At least, thats what I think the inscription reads.

Trevize joined him. Before them was a three-story structure, the line of its roof irregular and loaded with large fragments of rock, as though some sculptured object that had once stood there had fallen to pieces.

Are you sure? said Trevize.

If we go in, well find out.

They climbed five low, broad steps, and crossed a space-wasting plaza. In the thin air, their metal-shod footsteps made a whispering vibration rather than a sound.

I see what you mean by large, useless, and expensive,? muttered Trevize.

They entered a wide and high hall, with sunlight shining through tall windows and illuminating the interior too harshly where it struck and yet leaving things obscure in the shadow. The thin atmosphere scattered little light.

In the center was a larger than life-size human figure in what seemed to be a synthetic stone. One arm had fallen off. The other arm was cracked at the shoulder and Trevize felt that if he tapped it sharply that arm, too, would break off. He stepped back as though getting too near might tempt him into such unbearable vandalism.

I wonder who that is? said Trevize. No markings anywhere. I suppose those who set it up felt that his fame was so obvious he needed no identification, but now He felt himself in danger of growing philosophical and turned his attention away.

Pelorat was looking up, and Trevizes glance followed the angle of Pelorats head. There were markingscarvingson the wall which Trevize could not read.

Amazing, said Pelorat. Twenty thousand years old, perhaps, and, in here, protected somewhat from sun and damp, theyre still legible.

Not to me, said Trevize.

Its in old script and ornate even for that. Lets see nowsevenonetwo His voice died away in a mumble, and then he spoke up again. There are fifty names listed and there are supposed to have been fifty Spacer worlds and this is The Hall of the Worlds. I assume those are the names of the fifty Spacer worlds, probably in the order of establishment. Aurora is first and Solaria is last. If youll notice, there are seven columns, with seven names in the first six columns and then eight names in the last. It is as though they had planned a seven-by-seven grid and then added Solaria after the fact. My guess, old chap, is that that list dates back to before Solaria was terraformed and populated.

And which one is this planet were standing on? Can you tell?

Pelorat said, Youll notice that the fifth one down in the third column, the nineteenth in order, is inscribed in letters a little larger than the others. The listers seem to have been self-centered enough to give themselves some pride of place. Besides

What does the name read?

As near as I can make out, it says Melpomenia. Its a name Im totally unfamiliar with.

Could it represent Earth?

Pelorat shook his head vigorously, but that went unseen inside his helmet. He said, There are dozens of words used for Earth in the old legends. Gaia is one of them, as you know. So is Terra, and Erda, and so on. Theyre all short. I dont know of any long name used for it, or anything even resembling a short version of Melpomenia.

Then were standing on Melpomenia, and its not Earth.

Yes. And besidesas I started to say earlieran even better indication than the larger lettering is that the co-ordinates of Melpomenia are given as 0, 0, 0, and you would expect co-ordinates to be referred to ones own planet.

Co-ordinates? Trevize sounded dumbfounded. That list gives the co-ordinates, too?

They give three figures for each and I presume those are co-ordinates. What else can they be?

Trevize did not answer. He opened a small compartment in the portion of the space suit that covered his right thigh and took out a compact device with wire connecting it to the compartment. He put it up to his eyes and carefully focused it on the inscription on the wall, his sheathed fingers making a difficult job out of something that would ordinarily have been a moments work.

Camera? asked Pelorat unnecessarily.

It will feed the image directly into the ships computer, said Trevize.

He took several photographs from different angles, then said, Wait! Ive got to get higher. Help me, Janov.

Pelorat clasped his hands together, stirrup-fashion, but Trevize shook his head. That wont support my weight. Get on your hands and knees.

Pelorat did so, laboriously, and, as laboriously, Trevize, having tucked the camera into its compartment again, stepped on Pelorats shoulders and from them on to the pedestal of the statue. He tried to rock the statue carefully to judge its firmness, then placed his foot on one bent knee and used it as a base for pushing himself upward and catching the armless shoulder. Wedging his toes against some unevenness at the chest, he lifted himself and, finally, after several grunts, managed to sit on the shoulder. To those long-dead who had revered the statue and what it represented, what Trevize did would have seemed blasphemy, and Trevize was sufficiently influenced by that thought to try to sit lightly.

Youll fall and hurt yourself, Pelorat called out anxiously.

Im not going to fall and hurt myself, but you might deafen me. Trevize unslung his camera and focused once more. Several more photographs were taken and then he replaced the camera yet again and carefully lowered himself till his feet touched the pedestal. He jumped to the ground and the vibration of his contact was apparently the final push, for the still intact arm crumbled, and produced a small heap of rubble at the foot of the statue. It made virtually no noise as it fell.

Trevize froze, his first impulse being that of finding a place to hide before the watchman came and caught him. Amazing, he thought afterward, how quickly one relives the days of ones childhood in a situation like thatwhen youve accidentally broken something that looks important. It lasted only a moment, but it cut deeply.

Pelorats voice was hollow, as befitted one who had witnessed and even abetted an act of vandalism, but he managed to find words of comfort. Itsits all right, Golan. It was about to come down by itself, anyway.

He walked over to the pieces on the pedestal and floor as though he were going to demonstrate the point, reached out for one of the larger fragments, and then said, Golan, come here.

Trevize approached and Pelorat, pointing at a piece of stone that had clearly been the portion of the arm that had been joined to the shoulder, said, What is this?

Trevize stared. There was a patch of fuzz, bright green in color. Trevize rubbed it gently with his suited finger. It scraped off without trouble.

It looks a lot like moss, he said.

The life-without-mind that you mentioned?

Im not completely sure how far without mind. Bliss, I imagine, would insist that this had consciousness, toobut she would claim this stone also had it.

Pelorat said, Do you suppose that moss stuff is whats crumbling the rock?

Trevize said, I wouldnt be surprised if it helped. The world has plenty of sunlight and it has some water. Half what atmosphere it has is water vapor. The rest is nitrogen and inert gases. Just a trace of carbon dioxide, which would lead one to suppose theres no plant lifebut it could be that the carbon dioxide is low because it is virtually all incorporated into the rocky crust. Now if this rock has some carbonate in it, perhaps this moss breaks it down by secreting acid, and then makes use of the carbon dioxide generated. This may be the dominant remaining form of life on this planet.

Fascinating, said Pelorat.

Undoubtedly, said Trevize, but only in a limited way. The co-ordinates of the Spacer worlds are rather more interesting but what we really want are the coordinates of Earth. If theyre not here, they may be elsewhere in the buildingor in another building. Come, Janov.

But you know began Pelorat.

No, no, said Trevize impatiently. Well talk later. Weve got to see what else, if anything, this building can give us. Its getting warmer. He looked at the small temperature reading on the back of his left glove. Come, Janov.

They tramped through the rooms, walking as gently as possible, not because they were making sounds in the ordinary sense, or because there was anyone to hear them, but because they were a little shy of doing further damage through vibration.

They kicked up some dust, which moved a short way upward and settled quickly through the thin air, and they left footmarks behind them.

Occasionally, in some dim corner, one or the other would silently point out more samples of moss that were growing. There seemed a little comfort in the presence of life, however low in the scale, something that lifted the deadly, suffocating feel of walking through a dead world, especially one in which artifacts all about showed that once, long ago, it had been an elaborately living one.

And then, Pelorat said, I think this must be a library.

Trevize looked about curiously. There were shelves and, as he looked more narrowly, what the corner of his eye had dismissed as mere ornamentation, seemed as though they might well be book-films. Gingerly, he reached for one. They were thick and clumsy and then he realized they were only cases. He fumbled with his thick fingers to open one, and inside he saw several discs. They were thick, too, and seemed brittle, though he did not test that.

He said, Unbelievably primitive.

Thousands of years old, said Pelorat apologetically, as though defending the old Melpomenians against the accusation of retarded technology.

Trevize pointed to the spine of the film where there were dim curlicues of the ornate lettering that the ancients had used. Is that the title? What does it say?

Pelorat studied it. Im not really sure, old man. I think one of the words refers to microscopic life. Its a word for microorganism, perhaps. I suspect these are technical microbiological terms which I wouldnt understand even in Standard Galactic.

Probably, said Trevize morosely. And, equally probably, it wouldnt do us any good even if we could read it. Were not interested in germs. Do me a favor, Janov. Glance through some of these books and see if theres anything there with an interesting title. While youre doing that, Ill look over these book-viewers.

Is that what they are? said Pelorat, wondering. They were squat, cubical structures, topped by a slanted screen and a curved extension at the top that might serve as an elbow rest or a place on which to put an electro-notepadif they had had such on Melpomenia.

Trevize said, If this is a library, they must have book-viewers of one kind or another, and this seems as though it might suit.

He brushed the dust off the screen very gingerly and was relieved that the screen, whatever it might be made of, did not crumble at his touch. He manipulated the controls lightly, one after another. Nothing happened. He tried another book-viewer, then another, with the same negative results.

He wasnt surprised. Even if the device were to remain in working order for twenty millennia in a thin atmosphere and was resistant to water vapor, there was still the question of the power source. Stored energy had a way of leaking, no matter what was done to stop it. That was another aspect of the all-embracing, irresistible second law of thermodynamics.

Pelorat was behind him. Golan?

Yes.

I have a book-film here

What kind?

I think its a history of space flight.

Perfectbut it wont do us any good if I cant make this viewer work. His hands clenched in frustration.

We could take the film back to the ship.

I wouldnt know how to adapt it to our viewer. It wouldnt fit and our scanning system is sure to be incompatible.

But is all that really necessary, Golan? If we

It is really necessary, Janov. Now dont interrupt me. Im trying to decide what to do. I can try adding power to the viewer. Perhaps that is all it needs.

Where would you get the power?

Well Trevize drew his weapons, looked at them briefly, then settled his blaster back into its holster. He cracked open his neuronic whip, and studied the energy-supply level. It was at maximum.

Trevize threw himself prone upon the floor and reached behind the viewer (he kept assuming that was what it was) and tried to push it forward. It moved a small way and he studied what he found in the process.

One of those cables had to carry the power supply and surely it was the one that came out of the wall. There was no obvious plug or joining. (How does one deal with an alien and ancient culture where the simplest taken-for-granted matters are made unrecognizable?)

He pulled gently at the cable, then harder. He turned it one way, then the other. He pressed the wall in the vicinity of the cable, and the cable in the vicinity of the wall. He turned his attention, as best he could, to the half-hidden back of the viewer and nothing he could do there worked, either.

He pressed one hand against the floor to raise himself and, as he stood up, the cable came with him. What he had done that had loosened it, he hadnt the slightest idea.

It didnt look broken or torn away. The end seemed quite smooth and it had left a smooth spot in the wall where it had been attached.

Pelorat said softly, Golan, may I

Trevize waved a peremptory arm at the other. Not now, Janov. Please!

He was suddenly aware of the green material caking the creases on his left glove. He must have picked up some of the moss behind the viewer and crushed it. His glove had a faint dampness to it, but it dried as he watched, and the greenish stain grew brown.

He turned his attention toward the cable, staring at the detached end carefully. Surely there were two small holes there. Wires could enter.

He sat on the floor again and opened the power unit of his neuronic whip. Carefully, he depolarized one of the wires and clicked it loose. He then, slowly and delicately, inserted it into the hole, pushing it in until it stopped. When he tried gently to withdraw it again, it remained put, as though it had been seized. He suppressed his first impulse to yank it out again by force. He depolarized the other wire and pushed it into the other opening. It was conceivable that that would close the circuit and supply the viewer with power.

Janov, he said, youve played about with book-films of all kinds. See if you can work out a way of inserting that book into the viewer.

Is it really nece

Please, Janov, you keep trying to ask unnecessary questions. We only have so much time. I dont want to have to wait far into the night for the building to cool off to the point where we can return.

It must go in this way, said Janov, but

Good, said Trevize. If its a history of space flight, then it will have to begin with Earth, since it was on Earth that space flight was invented. Lets see if this thing works now.

Pelorat, a little fussily, placed the book-film into the obvious receptacle and then began studying the markings on the various controls for any hint as to direction.

Trevize spoke in a low voice, while waiting, partly to ease his own tension. I suppose there must be robots on this world, toohere and therein reasonable order to all appearancesglistening in the near-vacuum. The trouble is their power supply would long since have been drained, too, and, even if repowered, what about their brains? Levers and gears might withstand the millennia, but what about whatever microswitches or subatomic gizmos they had in their brains? They would have to have deteriorated, and even if they had not, what would they know about Earth. What would they

Pelorat said, The viewer is working, old chap. See here.

In the dim light, the book-viewer screen began to flicker. It was only faint, but Trevize turned up the power slightly on his neuronic whip and it grew brighter. The thin air about them kept the area outside the shafts of sunlight comparatively dim, so that the room was faded and shadowy, and the screen seemed the brighter by contrast.

It continued to flicker, with occasional shadows drifting across the screen.

It needs to be focused, said Trevize.

I know, said Pelorat, but this seems the best I can do. The film itself must have deteriorated.

The shadows came and went rapidly now, and periodically there seemed something like a faint caricature of print. Then, for a moment, there was sharpness and it faded again.

Get that back and hold it, Janov, said Trevize.

Pelorat was already trying. He passed it going backward, then again forward, and then got it and held it.

Eagerly, Trevize tried to read it, then said, in frustration, Can you make it out, Janov?

Not entirely, said Pelorat, squinting at the screen. Its about Aurora. I can tell that much. I think its dealing with the first hyperspatial expeditionthe prime outpouring, it says.

He went forward, and it blurred and shadowed again. He said finally, All the pieces I can get seem to deal with the Spacer worlds, Golan. Theres nothing I can find about Earth.

Trevize said bitterly, No, there wouldnt be. Its all been wiped out on this world as it has on Trantor. Turn the thing off.

But it doesnt matter began Pelorat, turning it off.

Because we can try other libraries? It will be wiped out there, too. Everywhere. Do you know He had looked at Pelorat as he spoke, and now he stared at him with a mixture of horror and revulsion. Whats wrong with your face-plate? he asked.

<p>67.</p>

Pelorat automatically lifted his gloved hand to his face-plate and then took it away and looked at it.

What is it? he said, puzzled. Then, he looked at Trevize and went on, rather squeakily, Theres something peculiar about your face-plate, Golan.

Trevize looked about automatically for a mirror. There was none and he would need a light if there were. He muttered, Come into the sunlight, will you?

He half-led, half-pulled Pelorat into the shaft of sunlight from the nearest window. He could feel its warmth upon his back despite the insulating effect of the space suit.

He said, Look toward the sun, Janov, and close your eyes.

It was at once clear what was wrong with the face-plate. There was moss growing luxuriantly where the glass of the face-plate met the metallized fabric of the suit itself. The face-plate was rimmed with green fuzziness and Trevize knew his own was, too.

He brushed a finger of his glove across the moss on Pelorats face-plate. Some of it came off, the crushed green staining the glove. Even as he watched it glisten in the sunlight, however, it seemed to grow stiffer and drier. He tried again, and this time, the moss crackled off. It was turning brown. He brushed the edges of Pelorats face-plate again, rubbing hard.

Do mine, Janov, he said. Then, later, Do I look clean? Good, so do you. Lets go. I dont think theres more to do here.

The sun was uncomfortably hot in the deserted airless city. The stone buildings gleamed brightly, almost achingly. Trevize squinted as he looked at them and, as far as possible, walked on the shady side of the thoroughfares. He stopped at a crack in one of the building fronts, one wide enough to stick his little finger into, gloved as it was. He did just that, looked at it, muttered, Moss, and deliberately walked to the end of the shadow and held that finger out in the sunlight for a while.

He said, Carbon dioxide is the bottleneck. Anywhere they can get carbon dioxidedecaying rockanywhereit will grow. Were a good source of carbon dioxide, you know, probably richer than anything else on this nearly dead planet, and I suppose traces of the gas leak out at the boundary of the face-plate.

So the moss grows there.

Yes.

It seemed a long walk back to the ship, much longer and, of course, hotter than the one they had taken at dawn. The ship was still in the shade when they got there, however; that much Trevize had calculated correctly, at least.

Pelorat said, Look!

Trevize saw. The boundaries of the mainlock were outlined in green moss.

More leakage? said Pelorat.

Of course. Insignificant amounts, Im sure, but this moss seems to be a better indicator of trace amounts of carbon dioxide than anything I ever heard of. Its spores must be everywhere and wherever a few molecules of carbon dioxide are to be found, they sprout. He adjusted his radio for ships wavelength and said, Bliss, can you hear me?

Blisss voice sounded in both sets of ears. Yes. Are you ready to come in? Any luck?

Were just outside, said Trevize, but dont open the lock. Well open it from out here. Repeat, dont open the lock.

Why not?

Bliss, just do as I ask, will you? We can have a long discussion afterward.

Trevize brought out his blaster and carefully lowered its intensity to minimum, then gazed at it uncertainly. He had never used it at minimum. He looked about him. There was nothing suitably fragile to test it on.

In sheer desperation, he turned it on the rocky hillside in whose shadow the Far Star lay. The target didnt turn red-hot. Automatically, he felt the spot he had hit. Did it feel warm? He couldnt tell with any degree of certainty through the insultated fabric of his suit.

He hesitated again, then thought that the hull of the ship would be as resistant, within an order of magnitude at any rate, as the hillside. He turned the blaster on the rim of the lock and flicked the contact briefly, holding his breath.

Several centimeters of the moss-like growth browned at once. He waved his hand in the vicinity of the browning and even the mild breeze set up in the thin air in this way sufficed to set the light skeletal remnants that made up the brown material to scattering.

Does it work? said Pelorat anxiously.

Yes, it does, said Trevize. I turned the blaster into a mild heat ray.

He sprayed the heat all around the edge of the lock and the green vanished at the touch. All of it. He struck the mainlock to create a vibration that would knock off what remained and a brown dust fell to the grounda dust so fine that it even lingered in the thin atmosphere, buoyed up by wisps of gas.

I think we can open it now, said Trevize, and, using his wrist controls, he tapped out the emission of the radio-wave combination that activated the opening mechanism from inside. The lock gaped and had not opened more than halfway when Trevize said, Dont dawdle, Janov, get inside. Dont wait for the steps. Climb in.

Trevize followed, sprayed the rim of the lock with his toned-down blaster. He sprayed the steps, too, once they had lowered. He then signaled the close of the lock and kept on spraying till they were totally enclosed.

Trevize said, Were in the lock, Bliss. Well stay here a few minutes. Continue to do nothing!

Blisss voice said, Give me a hint. Are you all right? How is Pel?

Pel said, Im here, Bliss, and perfectly well. Theres nothing to worry about.

If you say so, Pel, but therell have to be explanations later. I hope you know that.

Its a promise, said Trevize, and activated the lock light.

The two space-suited figures faced each other.

Trevize said, Were pumping out all the planetary air we can, so lets just wait till thats done.

What about the ship air? Are we going to let that in?

Not for a while. Im as anxious to get out of the space suit as you are, Janov. I just want to make sure that we get rid of any spores that have entered with usor upon us.

By the not entirely satisfactory illumination of the lock light, Trevize turned his blaster on the inner meeting of lock and hull, spraying the heat methodically along the floor, up and around, and back to the floor.

Now you, Janov.

Pelorat stirred uneasily, and Trevize said, You may feel warm. It shouldnt be any worse than that. If it grows uncomfortable, just say so.

He played the invisible beam over the face-plate, the edges particularly, then, little by little, over the rest of the space suit.

He muttered, Lift your arms, Janov. Then, Rest your arms on my shoulder, and lift one footIve got to do the solesnow the other. Are you getting too warm?

Pelorat said, Im not exactly bathed in cool breezes, Golan.

Well, then, give me a taste of my own medicine. Go over me.

Ive never held a blaster.

You must hold it. Grip it so, and, with your thumb, push that little knoband squeeze the holster tightly. Right. Now play it over my face-plate. Move it steadily, Janov, dont let it linger in one place too long. Over the rest of the helmet, then down the cheek and neck.

He kept up the directions, and when he had been heated everywhere and was in an uncomfortable perspiration as a result, he took back the blaster and studied the energy level.

More than half gone, he said, and sprayed the interior of the lock methodically, back and forth over the wall, till the blaster was emptied of its charge, having itself heated markedly through its rapid and sustained discharge. He then restored it to its holster.

Only then did he signal for entry into the ship. He welcomed the hiss and feel of air coming into the lock as the inner door opened. Its coolness and its convective powers would carry off the warmth of the space suit far more quickly than radiation alone would do. It might have been imagination, but he felt the cooling effect at once. Imagination or not, he welcomed that, too.

Off with your suit, Janov, and leave it out here in the lock, said Trevize.

If you dont mind, said Pelorat, a shower is what I would like to have before anything else.

Not before anything else. In fact, before that, and before you can empty your bladder, even, I suspect you will have to talk to Bliss.

Bliss was waiting for them, of course, and with a look of concern on her face. Behind her, peeping out, was Fallom, with her hands clutching firmly at Blisss left arm.

What happened? Bliss asked severely. Whats been going on?

Guarding against infection, said Trevize dryly, so Ill be turning on the ultraviolet radiation. Break out the dark glasses. Please dont delay.

With ultraviolet added to the wall illumination, Trevize took off his moist garments one by one and shook them out, turning them in one direction and another.

Just a precaution, he said. You do it, too, Janov. And, Bliss, Ill have to peel altogether. If that will make you uncomfortable, step into the next room.

Bliss said, It will neither make me uncomfortable, nor embarrass me. I have a good notion of what you look like, and it will surely present me with nothing new. What infection?

Just a little something that, given its own way, said Trevize, with a deliberate air of indifference, could do great damage to humanity, I think.

<p>68.</p>

It was all done. The ultraviolet light had done its part. Officially, according to the complex films of information and instructions that had come with the Far Star when Trevize had first gone aboard back on Terminus, the light was there precisely for purposes of disinfection. Trevize suspected, however, that the temptation was always there, and sometimes yielded to, to use it for developing a fashionable tan for those who were from worlds where tans were fashionable. The light was, however, disinfecting, however used.

They took the ship up into space and Trevize maneuvered it as close to Melpomenias sun as he might without making them all unpleasantly uncomfortable, turning and twisting the vessel so as to make sure that its entire surface was drenched in ultraviolet.

Finally, they rescued the two space suits that had been left in the lock and examined them until even Trevize was satisfied.

All that, said Bliss, at last, for moss. Isnt that what you said it was, Trevize? Moss?

I call it moss, said Trevize, because thats what it reminded me of. Im not a botanist, however. All I can say is that its intensely green and can probably make do on very little light-energy.

Why very little?

The moss is sensitive to ultraviolet and cant grow, or even survive, in direct illumination. Its spores are everywhere and it grows in hidden corners, in cracks in statuary, on the bottom surface of structures, feeding on the energy of scattered photons of light wherever there is a source of carbon dioxide.

Bliss said, I take it you think theyre dangerous.

They might well be. If some of the spores were clinging to us when we entered, or swirled in with us, they would find illumination in plenty without the harmful ultraviolet. They would find ample water and an unending supply of carbon dioxide.

Only 0.03 percent of our atmosphere, said Bliss.

A great deal to themand 4 percent in our exhaled breath. What if spores grew in our nostrils, and on our skin? What if they decomposed and destroyed our food? What if they produced toxins that killed us? Even if we labored to kill them but left some spores alive, they would be enough, when carried to another world by us, to infest it, and from there be carried to other worlds. Who knows what damage they might do?

Bliss shook her head. Life is not necessarily dangerous because it is different. You are so ready to kill.

Thats Gaia speaking, said Trevize.

Of course it is, but I hope I make sense, nevertheless. The moss is adapted to the conditions of this world. Just as it makes use of light in small quantities but is killed by large; it makes use of occasional tiny whiffs of carbon dioxide and may be killed by large amounts. It may not be capable of surviving on any world but Melpomenia.

Would you want me to take a chance on that? demanded Trevize.

Bliss shrugged. Very well. Dont be defensive. I see your point. Being an Isolate, you probably had no choice but to do what you did.

Trevize would have answered, but Falloms clear high-pitched voice broke in, in her own language.

Trevize said to Pelorat, Whats she saying?

Pelorat began, What Fallom is saying

Fallom, however, as though remembering a moment too late that her own language was not easily understood, began again. Was there Jemby there where you were?

The words were pronounced meticulously, and Bliss beamed. Doesnt she speak Galactic well? And in almost no time.

Trevize said, in a low voice, Ill mess it up if I try, but you explain to her, Bliss, that we found no robots on the planet.

Ill explain it, said Pelorat. Come, Fallom. He placed a gentle arm about the youngesters shoulders. Come to our room and Ill get you another book to read.

A book? About Jemby?

Not exactly And the door closed behind them.

You know, said Trevize, looking after them impatiently, we waste our time playing nursemaid to that child.

Waste? In what way does it interfere with your search for Earth, Trevize? In no way. Playing nursemaid establishes communication, however, allays fear, supplies love. Are these achievements nothing?

Thats Gaia speaking again.

Yes, said Bliss. Let us be practical, then. We have visited three of the old Spacer worlds and we have gained nothing.

Trevize nodded. True enough.

In fact, we have found each one dangerous, havent we? On Aurora, there were feral dogs; on Solaria, strange and dangerous human beings; on Melpomenia, a threatening moss. Apparently, then, when a world is left to itself, whether it contains human beings or not, it becomes dangerous to the interstellar community.

You cant consider that a general rule.

Three out of three certainly seems impressive.

And how does it impress you, Bliss?

Ill tell you. Please listen to me with an open mind. If you have millions of interacting worlds in the Galaxy, as is, of course, the actual case, and if each is made up entirely of Isolates, as they are, then on each world, human beings are dominant and can force their will on nonhuman life-forms, on the inanimate geological background, and even on each other. The Galaxy is, then, a very primitive and fumbling and misfunctioning Galaxia. The beginnings of a unit. Do you see what I mean?

I see what youre trying to saybut that doesnt mean Im going to agree with you when youre done saying it.

Just listen to me. Agree or not, as you please, but listen. The only way the Galaxy will work is as a proto-Galaxia, and the less proto and the more Galaxia, the better. The Galactic Empire was an attempt at a strong proto-Galaxia, and when it fell apart, times grew rapidly worse and there was the constant drive to strengthen the proto-Galaxia concept. The Foundation Confederation is such an attempt. So was the Mules Empire. So is the Empire the Second Foundation is planning. But even if there were no such Empires or Confederations; even if the entire Galaxy were in turmoil, it would be a connected turmoil, with each world interacting, even if only hostilely, with every other. That would, in itself, be a kind of union and it would not yet be the worst case.

What would be the worst, then?

You know the answer to that, Trevize. Youve seen it. If a human-inhabited world breaks up completely, is truly Isolate, and if it loses all interaction with other human worlds, it developsmalignantly.

A cancer, then?

Yes. Isnt Solaria just that? Its hand is against all worlds. And on it, the hand of each individual is against those of all others. Youve seen it. And if human beings disappear altogether, the last trace of discipline goes. The each-against-each becomes unreasoning, as with the dogs, or is merely an elemental force as with the moss. You see, I suppose, that the closer we are to Galaxia, the better the society. Why, then, stop at anything short of Galaxia?

For a while, Trevize stared silently at Bliss. Im thinking about it. But why this assumption that dosage is a one-way thing; that if a little is good, a lot is better, and all there is is best of all? Didnt you yourself point out that its possible the moss is adapted to very little carbon dioxide so that a plentiful supply might kill it? A human being two meters tall is better off than one who is one meter tall; but is also better off than one who is three meters tall. A mouse isnt better off, if it is expanded to the size of an elephant. He wouldnt live. Nor would an elephant be better off reduced to the size of a mouse.

Theres natural size, a natural complexity, some optimum quality for everything, whether star or atom, and its certainly true of living things and living societies. I dont say the old Galactic Empire was ideal, and I can certainly see flaws in the Foundation Confederation, but Im not prepared to say that because total Isolation is bad, total Unification is good. The extremes may both be equally horrible, and an old-fashioned Galactic Empire, however imperfect, may be the best we can do.

Bliss shook her head. I wonder if you believe yourself, Trevize. Are you going to argue that a virus and a human being are equally unsatisfactory, and wish to settle for something in-betweenlike a slime mold?

No. But I might argue that a virus and a superhuman being are equally unsatisfactory, and wish to settle for something in-betweenlike an ordinary person. There is, however, no point in arguing. I will have my solution when I find Earth. On Melpomenia, we found the co-ordinates of forty-seven other Spacer worlds.

And youll visit them all?

Every one, if I have to.

Risking the dangers on each.

Yes, if thats what it takes to find Earth.

Pelorat had emerged from the room within which he had left Fallom, and seemed about to say something when he was caught up in the rapid-fire exchange between Bliss and Trevize. He stared from one to the other as they spoke in turn.

How long would it take? asked Bliss.

However long it takes, said Trevize, and we might find what we need on the next one we visit.

Or on none of them.

That we cannot know till we search.

And now, at last, Pelorat managed to insert a word. But why look, Golan? We have the answer.

Trevize waved an impatient hand in the direction of Pelorat, checked the motion, turned his head, and said blankly, What?

I said we have the answer. I tried to tell you this on Melpomenia at least five times, but you were so wrapped up in what you were doing

What answer do we have? What are you talking about?

About Earth. I think we know where Earth is.

<p>PART VI</p> <p>ALPHA</p>
<p>16</p> <p>THE CENTER OFTHEWORLDS</p>
<p>69.</p>

Trevize stared at Pelorat for a long moment, and with an expression of clear displeasure. Then he said, Is there something you saw that I did not, and that you did not tell me about?

No, answered Pelorat mildly. You saw it and, as I just said, I tried to explain, but you were in no mood to listen to me.

Well, try again.

Bliss said, Dont bully him, Trevize.

Im not bullying him. Im asking for information. And dont you baby him.

Please, said Pelorat, listen to me, will you, and not to each other. Do you remember, Golan, that we discussed early attempts to discover the origin of the human species? Yariffs project? You know, trying to plot the times of settlement of various planets on the assumption that planets would be settled outward from the world of origin in all directions alike. Then, as we moved from newer to older planets, we would approach the world of origin from all directions.

Trevize nodded impatiently. What I remember is that it didnt work because the dates of settlement were not reliable.

Thats right, old fellow. But the worlds that Yariff was working with were part of the second expansion of the human race. By then, hyperspatial travel was far advanced, and settlement must have grown quite ragged. Leapfrogging very long distances was very simple and settlement didnt necessarily proceed outward in radial symmetry. That surely added to the problem of unreliable dates of settlement.

But just think for a moment, Golan, of the Spacer worlds. They were in the first wave of settlement. Hyperspatial travel was less advanced then, and there was probably little or no leapfrogging. Whereas millions of worlds were settled, perhaps chaotically, during the second expansion, only fifty were settled, probably in an orderly manner, in the first. Whereas the millions of worlds of the second expansion were settled over a period of twenty thousand years; the fifty of the first expansion were settled over a period of a few centuriesalmost instantaneously, in comparison. Those fifty, taken together, should exist in roughly spherical symmetry about the world of origin.

We have the co-ordinates of the fifty worlds. You photographed them, remember, from the statue. Whatever or whoever it is that is destroying information that concerns Earth, either overlooked those co-ordinates, or didnt stop to think that they would give us the information we need. All you have to do, Golan, is to adjust the co-ordinates to allow for the last twenty thousand years of stellar motions, then find the center of the sphere. Youll end up fairly close to Earths sun, or at least to where it was twenty thousand years ago.

Trevizes mouth had fallen slightly open during the recital and it took a few moments for him to close it after Pelorat was done. He said, Now why didnt I think of that?

I tried to tell you while we were still on Melpomenia.

Im sure you did. I apologize, Janov, for refusing to listen. The fact is it didnt occur to me that He paused in embarrassment.

Pelorat chuckled quietly, That I could have anything of importance to say. I suppose that ordinarily I wouldnt, but this was something in my own field, you see. I am sure that, as a general rule, youd be perfectly justified in not listening to me.

Never, said Trevize. Thats not so, Janov. I feel like a fool, and I well deserve the feeling. My apologies againand I must now get to the computer.

He and Pelorat walked into the pilot-room, and Pelorat, as always, watched with a combination of marveling and incredulity as Trevizes hands settled down upon the desk, and he became what was almost a single man/computer organism.

Ill have to make certain assumptions, Janov, said Trevize, rather blank-faced from computer-absorption. I have to assume that the first number is a distance in parsecs, and that the other two numbers are angles in radians, the first being up and down, so to speak, and the other, right and left. I have to assume that the use of plus and minus in the case of the angles is Galactic Standard and that the zero-zero-zero mark is Melpomenias sun.

That sounds fair enough, said Pelorat.

Does it? There are six possible ways of arranging the numbers, four possible ways of arranging the signs, distances may be in light-years rather than parsecs, the angles in degrees, rather than radians. Thats ninety-six different variations right there. Add to that, the point that if the distances are light-years, Im uncertain as to the length of the year used. Add also the fact that I dont know the actual conventions used to measure the anglesfrom the Melpomenian equator in one case, I suppose, but whats their prime meridian?

Pelorat frowned. Now you make it sound hopeless.

Not hopeless. Aurora and Solaria are included in the list, and I know where they are in space. Ill use the co-ordinates, and see if I can locate them. If I end up in the wrong place, I will adjust the co-ordinates until they give me the right place, and that will tell me what mistaken assumptions I am making as far as the standards governing the co-ordinates are concerned. Once my assumptions are corrected, I can look for the center of the sphere.

With all the possibilities for change, wont it make it difficult to decide what to do?

What? said Trevize. He was increasingly absorbed. Then, when Pelorat repeated the question, he said, Oh well, chances are that the co-ordinates follow the Galactic Standard and adjusting for an unknown prime meridian isnt difficult. These systems for locating points in space were worked out long ago, and most astronomers are pretty confident they even antedate interstellar travel. Human beings are very conservative in some ways and virtually never change numerical conventions once they grow used to them. They even come to mistake them for laws of nature, I think. Which is just as well, for if every world had its own conventions of measurement that changed every century, I honestly think scientific endeavor would stall and come to a permanent stop.

He was obviously working while he was talking, for his words came haltingly. And now he muttered, But quiet now.

After that, his face grew furrowed and concentrated until, after several minutes, he leaned back and drew a long breath. He said quietly, The conventions hold. Ive located Aurora. Theres no question about it. See?

Pelorat stared at the field of stars, and at the bright one near the center and said, Are you sure?

Trevize said, My own opinion doesnt matter. The computer is sure. Weve visited Aurora, after all. We have its characteristicsits diameter, mass, luminosity, temperature, spectral details, to say nothing of the pattern of neighboring stars. The computer says its Aurora.

Then I suppose we must take its word for it.

Believe me, we must. Let me adjust the view-screen and the computer can get to work. It has the fifty sets of co-ordinates and it will use them one at a time.

Trevize was working on the screen as he spoke. The computer worked in the four dimensions of space-time routinely, but, for human inspection, the viewscreen was rarely needed in more than two dimensions. Now the screen seemed to unfold into a dark volume as deep as it was tall and broad. Trevize dimmed the room lights almost totally to make the view of star-shine easier to observe.

It will begin now, he whispered.

A moment later, a star appearedthen anotherthen another. The view on the screen shifted with every addition so that all might be included. It was as though space was moving backward from the eye so that a more and more panoramic view could be taken. Combine that with shifts up or down, right or left

Eventually, fifty dots of light appeared, hovering in three-dimensional space.

Trevize said, I would have appreciated a beautiful spherical arrangement, but this looks like the skeleton of a snowball that had been patted into shape in a big hurry, out of snow that was too hard and gritty.

Does that ruin everything?

It introduces some difficulties, but that cant be helped, I suppose. The stars themselves arent uniformly distributed, and certainly habitable planets arent, so there are bound to be unevennesses in the establishment of new worlds. The computer will adjust each of those dots to its present position, allowing for its likely motion in the last twenty thousand yearseven in that time it wont mean much of an adjustmentand then fit them all into a best-sphere. It will find a spherical surface, in other words, from which the distance of all the dots is a minimum. Then we find the center of the sphere, and Earth should be fairly close to that center. Or so we hope. It wont take long.

<p>70.</p>

It didnt. Trevize, who was used to accepting miracles from the computer, found himself astonished at how little time it took.

Trevize had instructed the computer to sound a soft, reverberating note upon deciding upon the coordinates of the best-center. There was no reason for that, except for the satisfaction of hearing it and knowing that perhaps the search had been ended.

The sound came in a matter of minutes, and was like the gentle stroking of a mellow gong. It swelled till they could feel the vibration physically, and then slowly faded.

Bliss appeared at the door almost at once. Whats that? she asked, her eyes big. An emergency?

Trevize said, Not at all.

Pelorat added eagerly, We may have located Earth, Bliss. That sound was the computers way of saying so.

She walked into the room. I might have been warned.

Trevize said, Im sorry, Bliss. I didnt mean it to be quite that loud.

Fallom had followed Bliss into the room and said, Why was there that sound, Bliss?

I see shes curious, too, said Trevize. He sat back, feeling drained. The next step was to try the finding on the real Galaxy, to focus on the coordinates of the center of the Spacer worlds and see if a G-type star was actually present. Once again, he was reluctant to take the obvious step, unable to make himself put the possible solution to the actual test.

Yes, said Bliss. Why shouldnt she be? Shes as human as we are.

Her parent wouldnt have thought so, said Trevize abstractedly. I worry about the kid. Shes bad news.

In what way has she proven so? demanded Bliss.

Trevize spread his arms. Just a feeling.

Bliss gave him a disdainful look, and turned to Fallom. We are trying to locate Earth, Fallom.

Whats Earth?

Another world, but a special one. Its the world our ancestors came from. Do you know what the word ancestors means from your reading, Fallom?

Does it mean? But the last word was not in Galactic.

Pelorat said, Thats an archaic word for ancestors, Bliss. Our word forebears is closer to it.

Very well, said Bliss, with a sudden brilliant smile. Earth is the world where our forebears came from, Fallom. Yours and mine and Pels and Trevizes.

Yours, Blissand mine also. Fallom sounded puzzled. Both of them?

Theres just one set of forebears, said Bliss. We had the same forebears, all of us.

Trevize said, It sounds to me as though the child knows very well that shes different from us.

Bliss said to Trevize in a low voice, Dont say that. She must be made to see she isnt. Not in essentials.

Hermaphrodism is essential, I should think.

Im talking about the mind.

Transducer-lobes are essential, too.

Now, Trevize, dont be difficult. Shes intelligent and human regardless of details.

She turned to Fallom, her voice rising to its normal level. Think quietly about this, Fallom, and see what it means to you. Your forebears and mine were the same. All the people on all the worldsmany, many worldsall had the same forebears, and those forebears lived originally on the world named Earth. That means were all relatives, doesnt it? Now go back to our room and think of that.

Fallom, after bestowing a thoughtful look on Trevize, turned and ran off, hastened on by Blisss affectionate slap on her backside.

Bliss turned to Trevize, and said, Please, Trevize, promise me you wont make any comments in her hearing that will lead her to think shes different from us.

Trevize said, I promise. I have no wish to impede or subvert the educational procedure, but, you know, she is different from us.

In ways. As Im different from you, and as Pel is.

Dont be naive, Bliss. The differences in Falloms case are much greater.

A little greater. The similarities are vastly more important. She, and her people, will be part of Galaxia some day, and a very useful part, Im sure.

All right. We wont argue. He turned to the computer with clear reluctance. And meanwhile, Im afraid I have to check the supposed position of Earth in real space.

Afraid?

Well, Trevize lifted his shoulders in what he hoped was a half-humorous way, what if theres no suitable star near the place?

Then there isnt, said Bliss.

Im wondering if theres any point in checking it out now. We wont be able to make a Jump for several days.

And youll be spending them agonizing over the possibilities. Find out now. Waiting wont change matters.

Trevize sat there with his lips compressed for a moment, then said, Youre right. Very well, thenhere goes.

He turned to the computer, placed his hands on the handmarks on the desk, and the viewscreen went dark.

Bliss said, Ill leave you, then. Ill make you nervous if I stay. She left, with a wave of her hand.

The thing is, he muttered, that were going to be checking the computers Galactic map first and even if Earths sun is in the calculated position, the map should not include it. But well then

His voice trailed off in astonishment as the view-screen flashed with a background of stars. These were fairly numerous and dim, with an occasional brighter one sparkling here and there, well scattered over the face of the screen. But quite close to the center was a star that was brighter than all the rest.

Weve got it, said Pelorat jubilantly. Weve got it, old chap. Look how bright it is.

Any star at centered co-ordinates would look bright, said Trevize, clearly trying to fight off any initial jubilation that might prove unfounded. The view, after all, is presented from a distance of a parsec from the centered co-ordinates. Still, that centered star certainly isnt a red dwarf, or a red giant, or a hot blue-white. Wait for information; the computer is checking its data banks.

There was silence for a few seconds and then Trevize said, Spectral class G-2. Another pause, then, Diameter, 1.4 million kilometersmass, 1.02 times that of Terminuss sunsurface temperature, 6,000 absoluterotation slow, just under thirty daysno unusual activity or irregularity.

Pelorat said, Isnt all that typical of the kind of star about which habitable planets are to be found?

Typical, said Trevize, nodding in the dimness. And, therefore, what wed expect Earths sun to be like. If that is where life developed, the sun of Earth would have set the original standard.

So there is a reasonable chance that there would be a habitable planet circling it.

We dont have to speculate about that, said Trevize, who sounded puzzled indeed over the matter. The Galactic map lists it as possessing a planet with human lifebut with a question mark.

Pelorats enthusiasm grew. Thats exactly what we would expect, Golan. The life-bearing planet is there, but the attempt to hide the fact obscures data concerning it and leaves the makers of the map the computer uses uncertain.

No, thats what bothers me, said Trevize. Thats not what we should expect. We should expect far more than that. Considering the efficiency with which data concerning Earth has been wiped out, the makers of the map should not have known that life exists in the system, let alone human life. They should not even have known Earths sun exists. The Spacer worlds arent on the map. Why should Earths sun be?

Well, its there, just the same. Whats the use of arguing the fact? What other information about the star is given?

A name.

Ah! What is it?

Alpha.

There was a short pause, then Pelorat said eagerly, Thats it, old man. Thats the final bit of evidence. Consider the meaning.

Does it have a meaning? said Trevize. Its just a name to me, and an odd one. It doesnt sound Galactic.

It isnt Galactic. Its in a prehistoric language of Earth, the same one that gave us Gaia as the name of Blisss planet.

What does Alpha mean, then?

Alpha is the first letter of the alphabet of that ancient language. That is one of the most firmly attested scraps of knowledge we have about it. In ancient times, alpha was sometimes used to mean the first of anything. To call a sun Alpha, implies that its the first sun. And wouldnt the first sun be the one around which a planet revolved that was the first planet to bear human lifeEarth?

Are you sure of that?

Absolutely, said Pelorat.

Is there anything in early legendsyoure the mythologist, after allthat gives Earths sun some very unusual attribute?

No, how can there be? It has to be standard by definition, and the characteristics the computer has given us are as standard as possible, I imagine. Arent they?

Earths sun is a single star, I suppose?

Pelorat said, Well, of course! As far as I know, all inhabited worlds orbit single stars.

So I would have thought myself, said Trevize. The trouble is that that star in the center of the view-screen is not a single star; it is a binary. The brighter of the two stars making up the binary is indeed standard and it is that one for which the computer supplied us with data. Circling that star with a period of roughly eighty years, however, is another star with a mass four fifths that of the brighter one. We cant see the two as separate stars with the unaided eye, but if I were to enlarge the view, Im sure we would.

Are you certain of that, Golan? said Pelorat, taken aback.

Its what the computer is telling me. And if we are looking at a binary star, then its not Earths sun. It cant be.

<p>71.</p>

Trevize broke contact with the computer, and the lights brightened.

That was the signal, apparently, for Bliss to return, with Fallom tagging after her. Well, then, what are the results? she asked.

Trevize said tonelessly, Somewhat disappointing. Where I expected to find Earths sun, I found a binary star, instead. Earths sun is a single star, so the one centered is not it.

Pelorat said, Now what, Golan?

Trevize shrugged. I didnt really expect to see Earths sun centered. Even the Spacers wouldnt settle worlds in such a way as to set up an exact sphere. Aurora, the oldest of the Spacer worlds, might have sent out settlers of its own and that may have distorted the sphere, too. Then, too, Earths sun may not have moved at precisely the average velocity of the Spacer worlds.

Pelorat said, So the Earth can be anywhere. Is that what youre saying?

No. Not quite anywhere. All these possible sources of error cant amount to much. Earths sun must be in the vicinity of the co-ordinates. The star weve spotted almost exactly at the co-ordinates must be a neighbor of Earths sun. Its startling that there should be a neighbor that so closely resembles Earths sunexcept for being a binarybut that must be the case.

But we would see Earths sun on the map, then, wouldnt we? I mean, near Alpha?

No, for Im certain Earths sun isnt on the map at all. It was that which shook my confidence when we first spied Alpha. Regardless of how much it might resemble Earths sun, the mere fact that it was on the map made me suspect it was not the real thing.

Well, then, said Bliss. Why not concentrate on the same co-ordinates in real space? Then, if there is any bright star close to the center, a star that does not exist in the computers map, and if it is very much like Alpha in its properties, but is single, might it not be Earths sun?

Trevize sighed. If all that were so, Id be willing to wager half my fortune, such as it is, that circling that star you speak of would be the planet Earth. Again, I hesitate to try.

Because you might fail?

Trevize nodded. However, he said, just give me a moment or two to catch my breath, and Ill force myself to do so.

And while the three adults looked at each other, Fallom approached the computer-desk and stared curiously at the handmarks upon it. She reached out her own hand tentatively toward the markings, and Trevize blocked the motion with a swift outthrusting of his own arm and a sharp, Mustnt touch, Fallom.

The young Solarian seemed startled, and retreated to the comfort of Blisss encircling arm.

Pelorat said, We must face it, Golan. What if you find nothing in real space?

Then we will be forced to go back to the earlier plan, said Trevize, and visit each of the forty-seven Spacer worlds in turn.

And if that yields nothing, Golan?

Trevize shook his head in annoyance, as though to prevent that thought from taking too deep a root. Staring down at his knees, he said abruptly, Then I will think of something else.

But what if there is no world of forebears at all?

Trevize looked up sharply at the treble voice. Who said that? he asked.

It was a useless question. The moment of disbelief faded, and he knew very well who the questioner was.

I did, said Fallom.

Trevize looked at her with a slight frown. Did you understand the conversation?

Fallom said, You are looking for the world of forebears, but you havent found it yet. Maybe there isnt no such world.

Any such world, said Bliss softly.

No, Fallom, said Trevize seriously. There has been a very big effort to hide it. To try so hard to hide something means there is something there to hide. Do you understand what I am saying?

Yes, said Fallom. You do not let me touch the hands on the desk. Because you do not let me do that means it would be interesting to touch them.

Ah, but not for you, Fallom. Bliss, you are creating a monster that will destroy us all. Dont ever let her in here unless Im at the desk. And even then, think twice, will you?

The small byplay, however, seemed to have shaken him out of his irresolution. He said, Obviously, I had better get to work. If I just sit here, uncertain as to what to do, that little fright will take over the ship.

The lights dimmed, and Bliss said in a low voice, You promised, Trevize. Do not call her a monster or a fright in her hearing.

Then keep an eye on her, and teach her some manners. Tell her children should be never heard and seldom seen.

Bliss frowned. Your attitude toward children is simply appalling, Trevize.

Maybe, but this is not the time to discuss the matter.

Then he said, in tones in which satisfaction and relief were equally represented, Theres Alpha again in real space. And to its left, and slightly upward, is almost as bright a star and one that isnt in the computers Galactic map. That is Earths sun. Ill wager all my fortune on it.

<p>72.</p>

Well, now, said Bliss, We wont take any part of your fortune if you lose, so why not settle the matter in a forthright manner? Lets visit the star as soon as you can make the Jump.

Trevize shook his head. No. This time its not a matter of irresolution or fear. Its a matter of being careful. Three times weve visited an unknown world and three times weve come up against something unexpectedly dangerous. And three times, moreover, weve had to leave that world in a hurry. This time the matter is ultimately crucial and I will not play my cards in ignorance again, or at least in any more ignorance than I can help. So far, all we have are vague stories about radioactivity, and that is not enough. By an odd chance that no one could have anticipated, there is a planet with human life about a parsec from Earth

Do we really know that Alpha has a planet with human life on it? put in Pelorat. You said the computer placed a question mark after that.

Even so, said Trevize, its worth trying. Why not take a look at it? If it does indeed have human beings on it, let us find out what they know about Earth. For them, after all, Earth is not a distant thing of legend; it is a neighbor world, bright and prominent in their sky.

Bliss said thoughtfully, Its not a bad idea. It occurs to me that if Alpha is inhabited and if the inhabitants are not your thoroughly typical Isolates, they may be friendly, and we might be able to get some decent food for a change.

And meet some pleasant people, said Trevize. Dont forget that. Will it be all right with you, Janov?

Pelorat said, You make the decision, old chap. Wherever you go, I will go, too.

Fallom said suddenly, Will we find Jemby?

Bliss said hastily, before Trevize could answer, We will look for it, Fallom.

And then Trevize said, Its settled then. On to Alpha.

<p>73.</p>

Two big stars, said Fallom, pointing to the viewscreen.

Thats right, said Trevize. Two of them. Bliss, do keep an eye on her. I dont want her fiddling with anything.

Shes fascinated by machinery, said Bliss.

Yes, I know she is, said Trevize, but Im not fascinated by her fascination. Though to tell you the truth, Im as fascinated as she is at seeing two stars that bright in the viewscreen at the same time.

The two stars were bright enough to seem to be on the point of showing a disceach of them. The screen had automatically increased filtration density in order to remove the hard radiation and dim the light of the bright stars so as to avoid retinal damage. As a result, few other stars were bright enough to be noticeable, and the two that were reigned in haughty near-isolation.

The thing is, said Trevize, Ive never been this close to a binary system before.

You havent? said Pelorat, open astonishment in his voice. How is that possible?

Trevize laughed. Ive been around, Janov, but Im not the Galactic rover you think I am.

Pelorat said, I was never in space at all till I met you, Golan, but I always thought that anyone who did manage to get into space

Would go everywhere. I know. Thats natural enough. The trouble with planet-bound people is that no matter how much their mind may tell them otherwise, their imaginations just cant take in the true size of the Galaxy. We could travel all our lives and leave most of the Galaxy unpenetrated and untouched. Besides, no one ever goes to binaries.

Why not? said Bliss, frowning. We on Gaia know little astronomy compared to the traveling Isolates of the Galaxy, but Im under the impression that binaries arent rare.

Theyre not, said Trevize. There are substantially more binaries than there are single stars. However, the formation of two stars in close association upsets the ordinary processes of planetary formation. Binaries have less planetary material than single stars do. Such planets as do form about them often have relatively unstable orbits and are very rarely of a type that is reasonably habitable.

Early explorers, I imagine, studied many binaries at close range but, after a while, for settlement purposes, they sought out only singles. And, of course, once you have a densely settled Galaxy, virtually all travel involves trade and communications and is carried on between inhabited worlds circling single stars. In periods of military activity, I suppose bases were sometimes set up on small, otherwise-uninhabited worlds circling one of the stars of a binary that happened to be strategically placed, but as hyperspatial travel came to be perfected, such bases were no longer necessary.

Pelorat said humbly, Its amazing how much I dont know.

Trevize merely grinned. Dont let that impress you, Janov. When I was in the Navy, we listened to an incredible number of lectures on outmoded military tactics that no one ever planned, or intended to use, and were just talked about out of inertia. I was just rattling off a bit of one of them. Consider all you know about mythology, folklore, and archaic languages that I dont know, and that only you and a very few others do know.

Bliss said, Yes, but those two stars make up a binary system and one of them has an inhabited planet circling it.

We hope it does, Bliss, said Trevize. Everything has its exceptions. And with an official question mark in this case, which makes it more puzzling. No, Fallom, those knobs are not toys. Bliss, either keep her in handcuffs, or take her out.

She wont hurt anything, said Bliss defensively, but pulled the Solarian youngster to herself just the same. If youre so interested in that habitable planet, why arent we there already?

For one thing, said Trevize, Im just human enough to want to see this sight of a binary system at close quarters. Then, too, Im just human enough to be cautious. As Ive already explained, nothing has happened since we left Gaia that would encourage me to be anything but cautious.

Pelorat said, Which one of those stars is Alpha, Golan?

We wont get lost, Janov. The computer knows exactly which one is Alpha, and, for that matter, so do we. Its the hotter and yellower of the two because its the larger. Now the one on the right has a distinct orange tinge to its light, rather like Auroras sun, if you recall. Do you notice?

Yes, now that you call it to my attention.

Very well. Thats the smaller one. Whats the second letter of that ancient language you speak of?

Pelorat thought a moment, and said, Beta.

Then lets call the orange one Beta and the yellow-white one Alpha, and its Alpha were heading for right now.

<p>17</p> <p>NEW EARTH</p>
<p>74.</p>

Four planets, muttered Trevize. All are small, plus a trailing off of asteroids. No gas giants.

Pelorat said, Do you find that disappointing?

Not really. Its expected. Binaries that circle each other at small distances can have no planets circling one of the stars. Planets can circle the center of gravity of both, but its very unlikely that they would be habitabletoo far away.

On the other hand if the binaries are reasonably separate, there can be planets in stable orbits about each, if they are close enough to one or the other of the stars. These two stars, according to the computers data bank, have an average separation of 3.5 billion kilometers and even at periastron, when they are closest together, are about 1.7 billion kilometers apart. A planet in an orbit of less than 200 million kilometers from either star would be stably situated, but there can be no planet with a larger orbit. That means no gas giants since they would have to be farther away from a star, but whats the difference? Gas giants arent habitable, anyway.

But one of those four planets might be habitable.

Actually the second planet is the only real possibility. For one thing, its the only one of them large enough to have an atmosphere.

They approached the second planet rapidly and over a period of two days its image expanded; at first with a majestic and measured swelling. And then, when there was no sign of any ship emerging to intercept them, with increasing and almost frightening speed.

The Far Star was moving swiftly along a temporary orbit a thousand kilometers above the cloud cover, when Trevize said grimly, I see why the computers memory banks put a question mark after the notation that it was inhabited. Theres no clear sign of radiation, either light in the night-hemisphere, or radio anywhere.

The cloud cover seems pretty thick, said Pelorat.

That should not blank out radio radiation.

They watched the planet wheeling below them, a symphony in swirling white clouds, through occasional gaps of which a bluish wash indicated ocean.

Trevize said, The cloud level is fairly heavy for an inhabited world. It might be a rather gloomy one. What bothers me most, he added, as they plunged once more into the night-shadow, is that no space stations have hailed us.

The way they did back at Comporellon, you mean? said Pelorat.

The way they would in any inhabited world. We would have to stop for the usual checkup on papers, freight, length of stay, and so on.

Bliss said, Perhaps we missed the hail for some reason.

Our computer would have received it at any wavelength they might have cared to use. And weve been sending out our own signals, but have roused no one and nothing as a result. Dipping under the cloud layer without communicating with station officials violates space courtesy, but I dont see that we have a choice.

The Far Star slowed, and strengthened its anti-gravity accordingly, so as to maintain its height. It came out into the sunlight again, and slowed further. Trevize, in co-ordination with the computer, found a sizable break in the clouds. The ship sank and passed through it. Beneath them heaved the ocean in what must have been a fresh breeze. It lay, wrinkled, several kilometers below them, faintly striped in lines of froth.

They flew out of the sunlit patch and under the cloud cover. The expanse of water immediately beneath them turned a slate-gray, and the temperature dropped noticeably.

Fallom, staring at the viewscreen, spoke in her own consonant-rich language for a few moments, then shifted to Galactic. Her voice trembled. What is that which I see beneath?

That is an ocean, said Bliss soothingly. It is a very large mass of water.

Why does it not dry up?

Bliss looked at Trevize, who said, Theres too much water for it to dry up.

Fallom said in a half-choked manner, I dont want all that water. Let us go away. And then she shrieked, thinly, as the Far Star moved through a patch of storm clouds so that the viewscreen turned milky and was streaked with the mark of raindrops.

The lights in the pilot-room dimmed and the ships motion became slightly jerky.

Trevize looked up in surprise and cried out. Bliss, your Fallom is old enough to transduce. Shes using electric power to try to manipulate the controls. Stop her!

Bliss put her arms about Fallom, and hugged her tightly, Its all right, Fallom, its all right. Theres nothing to be afraid of. Its just another world, thats all. There are many like this.

Fallom relaxed somewhat but continued to tremble.

Bliss said to Trevize, The child has never seen an ocean, and perhaps, for all I know, never experienced fog or rain. Cant you be sympathetic?

Not if she tampers with the ship. Shes a danger to all of us, then. Take her into your room and calm her down.

Bliss nodded curtly.

Pelorat said, Ill come with you, Bliss.

No, no, Pel, she responded. You stay here. Ill soothe Fallom and you soothe Trevize. And she left.

I dont need soothing, growled Trevize to Pelorat. Im sorry if I flew off the handle, but we cant have a child playing with the controls, can we?

Of course we cant, said Pelorat, but Bliss was caught by surprise. She can control Fallom, who is really remarkably well behaved for a child taken from her home and herher robot, and thrown, willy-nilly, into a life she doesnt understand.

I know. It wasnt I who wanted to take her along, remember. It was Blisss idea.

Yes, but the child would have been killed, if we hadnt taken her.

Well, Ill apologize to Bliss later on. To the child, too.

But he was still frowning, and Pelorat said gently, Golan, old chap, is there anything else bothering you?

The ocean, said Trevize. They had long emerged from the rain storm, but the clouds persisted.

Whats wrong with it? asked Pelorat.

Theres too much of it, thats all.

Pelorat looked blank, and Trevize said, with a snap, No land. We havent seen any land. The atmosphere is perfectly normal, oxygen and nitrogen in decent proportions, so the planet has to be engineered, and there has to be plant life to maintain the oxygen level. In the natural state, such atmospheres do not occurexcept, presumably, on Earth, where it developed, who knows how. But, then, on engineered planets there are always reasonable amounts of dry land, up to one third of the whole, and never less than a fifth. So how can this planet be engineered, and lack land?

Pelorat said, Perhaps, since this planet is part of a binary system, it is completely atypical. Maybe it wasnt engineered, but evolved an atmosphere in ways that never prevail on planets about single stars. Perhaps life developed independently here, as it once did on Earth, but only sea life.

Even if we were to admit that, said Trevize, it would do us no good. Theres no way life in the sea can develop a technology. Technology is always based on fire, and fire is impossible in the sea. A life-bearing planet without technology is not what were looking for.

I realize that, but Im only considering ideas. After all, as far as we know, technology only developed onceon Earth. Everywhere else, the Settlers brought it with them. You cant say technology is always anything, if you only have one case to study.

Travel through the sea requires streamlining. Sea life cannot have irregular outlines and appendages such as hands.

Squids have tentacles.

Trevize said, I admit we are allowed to speculate, but if youre thinking of intelligent squid-like creatures evolving independently somewhere in the Galaxy, and developing a technology not based on fire, youre supposing something not at all likely, in my opinion.

In your opinion, said Pelorat gently.

Suddenly, Trevize laughed. Very well, Janov. I see youre logic-chopping in order to get even with me for speaking harshly to Bliss, and youre doing a good job. I promise you that if we find no land, we will examine the sea as best we can to see if we can find your civilized squids.

As he spoke, the ship plunged into the night-shadow again, and the view-screen turned black.

Pelorat winced. I keep wondering, he said. Is this safe?

Is what safe, Janov?

Racing through the dark like this. We might dip, and dive into the ocean, and be destroyed instantly.

Quite impossible, Janov. Really! The computer keeps us traveling along a gravitational line of force. In other words, it remains always at a constant intensity of the planetary gravitational force which means it keeps us at a nearly constant height above sea level.

But how high?

Nearly five kilometers.

That doesnt really console me, Golan. Might we not reach land and smash into a mountain we dont see?

We dont see, but ships radar will see it, and the computer will guide the ship around or over the mountain.

What if theres level land, then? Well miss it in the dark.

No, Janov, we wont. Radar reflected from water is not at all like radar reflected from land. Water is essentially flat; land is rough. For that reason, reflection from land is substantially more chaotic than reflection from water. The computer will know the difference and it will let me know if theres land in view. Even if it were day and the planet were sun-lit, the computer might well detect land before I would.

They fell silent and, in a couple of hours, they were back in daylight, with an empty ocean again rolling beneath them monotonously, but occasionally invisible when they passed through one of the numerous storms. In one storm, the wind drove the Far Star out of its path. The computer gave way, Trevize explained, in order to prevent an unnecessary waste of energy and to minimize the chance of physical damage. Then, when the turbulence had passed, the computer eased the ship back into its path.

Probably the edge of a hurricane, said Trevize.

Pelorat said, See here, old chap, were just traveling west to eastor east to west. All were examining is the equator.

Trevize said, That would be foolish, wouldnt it? Were following a great-circle route northwest-southeast. That takes us through the tropics and both temperate zones and each time we repeat the circle, the path moves westward, as the planet rotates on its axis beneath us. Were methodically criss-crossing the world. By now, since we havent hit land, the chances of a sizable continent are less than one in ten, according to the computer, and of a sizable island less than one in four, with the chances going down each circle we make.

You know what I would have done, said Pelorat slowly, as the night hemisphere engulfed them again. Id have stayed well away from the planet and swept the entire hemisphere facing me with radar. The clouds wouldnt have mattered, would they?

Trevize said, And then zoom to the other side and do the same there. Or just let the planet turn once. Thats hindsight, Janov. Who would expect to approach a habitable planet without stopping at a station and being given a pathor being excluded? And if one went under the cloud layer without stopping at a station, who would expect not to find land almost at once? Habitable planets areland!

Surely not all land, said Pelorat.

Im not talking about that, said Trevize, in sudden excitement. Im saying weve found land! Quiet!

Then, with a restraint that did not succeed in hiding his excitement, Trevize placed his hands on the desk and became part of the computer. He said, Its an island about two hundred and fifty kilometers long and sixty-five kilometers wide, more or less. Perhaps fifteen thousand square kilometers in area or thereabout. Not large, but respectable. More than a dot on the map. Wait

The lights in the pilot-room dimmed and went out.

What are we doing? said Pelorat, automatically whispering as though darkness were something fragile that must not be shattered.

Waiting for our eyes to undergo dark-adaptation. The ship is hovering over the island. Just watch. Do you see anything?

No Little specks of light, maybe. Im not sure.

I see them, too. Now Ill throw in the telescopic lens.

And there was light! Clearly visible. Irregular patches of it.

Its inhabited, said Trevize. It may be the only inhabited portion of the planet.

What do we do?

We wait for daytime. That gives us a few hours in which we can rest.

Might they not attack us?

With what? I detect almost no radiation except visible light and infrared. Its inhabited and the inhabitants are clearly intelligent. They have a technology, but obviously a preelectronic one, so I dont think theres anything to worry about up here. If I should be wrong, the computer will warn me in plenty of time.

And once daylight comes?

Well land, of course.

<p>75.</p>

They came down when the first rays of the morning sun shone through a break in the clouds to reveal part of the islandfreshly green, with its interior marked by a line of low, rolling hills stretching into the purplish distance.

As they dropped closer, they could see isolated copses of trees and occasional orchards, but for the most part there were well-kept farms. Immediately below them, on the southeastern shore of the island was a silvery beach backed by a broken line of boulders, and beyond it was a stretch of lawn. They caught a glimpse of an occasional house, but these did not cluster into anything like a town.

Eventually, they made out a dim network of roads, sparsely lined by dwelling places, and then, in the cool morning air, they spied an air-car in the far distance. They could only tell it was an air-car, and not a bird, by the manner of its maneuvering. It was the first indubitable sign of intelligent life in action they had yet seen on the planet.

It could be an automated vehicle, if they could manage that without electronics, said Trevize.

Bliss said, It might well be. It seems to me that if there were a human being at the controls, it would be heading for us. We must be quite a sighta vehicle sinking downward without the use of braking jets of rocket fire.

A strange sight on any planet, said Trevize thoughtfully. There cant be many worlds that have ever witnessed the descent of a gravitic space-vessel. The beach would make a fine landing place, but if the winds blow I dont want the ship inundated. Ill make for the stretch of grass on the other side of the boulders.

At least, said Pelorat, a gravitic ship wont scorch private property in descending.

Down they came gently on the four broad pads that had moved slowly outward during the last stage. These pressed down into the soil under the weight of the ship.

Pelorat said, Im afraid well leave marks, though.

At least, said Bliss, and there was that in her voice that was not entirely approving, the climate is evidently equable. I would even say, warm.

A human being was on the grass, watching the ship descend and showing no evidence of fear or surprise. The look on her face showed only rapt interest.

She wore very little, which accounted for Blisss estimate of the climate. Her sandals seemed to be of canvas, and about her hips was a wraparound skirt with a flowered pattern. There were no leg-coverings and there was nothing above her waist.

Her hair was black, long, and very glossy, descending almost to her waist. Her skin color was a pale brown and her eyes were narrow.

Trevize scanned the surroundings and there was no other human being in sight. He shrugged and said, Well, its early morning and the inhabitants may be mostly indoors, or even asleep. Still, I wouldnt say it was a well-populated area.

He turned to the others and said, Ill go out and talk to the woman, if she speaks anything comprehensible. The rest of you

I should think, said Bliss firmly, that we might as well all step out. That woman looks completely harmless and, in any case, I want to stretch my legs and breathe planetary air, and perhaps arrange for planetary food. I want Fallom to get the feel of a world again, too, and I think Pel would like to examine the woman at closer range.

Who? I? said Pelorat, turning faintly pink. Not at all, Bliss, but I am the linguist of our little party.

Trevize shrugged. Come one, come all. Still, though she may look harmless, I intend to take my weapons with me.

I doubt, said Bliss, that you will be much tempted to use them on that young woman.

Trevize grinned. She is attractive, isnt she?

Trevize left the ship first, then Bliss, with one hand swung backward to enclose Falloms, who carefully made her way down the ramp after Bliss. Pelorat was last.

The black-haired young woman continued to watch with interest. She did not back away an inch.

Trevize muttered, Well, lets try.

He held his arms away from his weapons and said, I greet you.

The young woman considered that for a moment, and said, I greet thee and I greet thy companions.

Pelorat said joyfully, How wonderful! She speaks Classical Galactic and with a correct accent.

I understand her, too, said Trevize, oscillating one hand to indicate his understanding wasnt perfect. I hope she understands me.

He said, smiling, and assuming a friendly expression, We come from across space. We come from another world.

That is well, said the young woman, in her clear soprano. Comes thy ship from the Empire?

It comes from a far star, and the ship is named Far Star.

The young woman looked up at the lettering on the ship. Is that what that sayeth? If that be so, and if the first letter is an F, then, behold, it is imprinted backward.

Trevize was about to object, but Pelorat, in an ecstasy of joy, said, Shes right. The letter F did reverse itself about two thousand years ago. What a marvelous chance to study Classical Galactic in detail and as a living language.

Trevize studied the young woman carefully. She was not much more than 1.5 meters in height, and her breasts, though shapely, were small. Yet she did not seem unripe. The nipples were large and the areolae dark, though that might be the result of her brownish skin color.

He said, My name is Golan Trevize; my friend is Janov Pelorat; the woman is Bliss; and the child is Fallom.

Is it the custom, then, on the far star from which you come, that the men be given a double name? I am Hiroko, daughter of Hiroko.

And your father? interposed Pelorat suddenly.

To which Hiroko replied with an indifferent shrug of her shoulder. His name, so sayeth my mother, is Smool, but it is of no importance. I know him not.

And where are the others? asked Trevize. You seem to be the only one to be here to greet us.

Hiroko said, Many men are aboard the fishboats; many women are in the fields. I take holiday these last two days and so am fortunate enough to see this great thing. Yet people are curious and the ship will have been seen as it descended, even from a distance. Others will be here soon.

Are there many others on this island?

There are more than a score and five thousand, said Hiroko with obvious pride.

And are there other islands in the ocean?

Other islands, good sir? She seemed puzzled.

Trevize took that as answer enough. This was the one spot on the entire planet that was inhabited by human beings.

He said, What do you call your world?

It is Alpha, good sir. We are taught that the whole name is Alpha Centauri, if that has more meaning to thee, but we call it Alpha only and, see, it is a fair-visaged world.

A what world? said Trevize, turning blankly to Pelorat.

A beautiful world, she means, said Pelorat.

That it is, said Trevize, at least here, and at this moment. He looked up at the mild blue morning sky, with its occasional drift of clouds. You have a nice sunny day, Hiroko, but I imagine there arent many of those on Alpha.

Hiroko stiffened. As many as we wish, sir. The clouds may come when we need rain, but on most days it seemeth good to us that the sky is fair above. Surely a goodly sky and a quiet wind are much to be desired on those days when the fishboats are at sea.

Do you people control the weather, then, Hiroko?

Did we not, Sir Golan Trevize, we would be soggy with rain.

But how do you do that?

Not being a trained engineer, sir, I cannot tell thee.

And what might be the name of this island on which you and your people live? said Trevize, finding himself trapped in the ornate sound of Classical Galactic (and wondering desperately if he had the conjugations right).

Hiroko said, We call our heavenly island in the midst of the vast sea of waters New Earth.

At which Trevize and Pelorat stared at each other with surprise and delight.

<p>76.</p>

There was no time to follow up on the statement. Others were arriving. Dozens. They must consist of those, Trevize thought, who were not on the ships or in the fields, and who were not from too far away. They came on foot for the most part, though two ground-cars were in evidencerather old and clumsy.

Clearly, this was a low-technology society, and yet they controlled the weather.

It was well known that technology was not necessarily all of a piece; that lack of advance in some directions did not necessarily exclude considerable advance in othersbut surely this example of uneven development was unusual.

Of those who were now watching the ship, at least half were elderly men and women; there were also three or four children. Of the rest, more were women than men. None showed any fear or uncertainty whatever.

Trevize said in a low voice to Bliss, Are you manipulating them? They seemserene.

Im not in the least manipulating them, said Bliss. I never touch minds unless I must. Its Fallom Im concerned with.

Few as the newcomers were to anyone who had experienced the crowds of curiosity-seekers on any normal world in the Galaxy, they were a mob to Fallom, to whom the three adults on the Far Star had been something to grow accustomed to. Fallom was breathing rapidly and shallowly, and her eyes were half-closed. Almost, she seemed in shock.

Bliss was stroking her, softly and rhythmically, and making soothing sounds. Trevize was certain that she was delicately accompanying it all by an infinitely gentle rearrangement of mental fibrils.

Fallom took in a sudden deep breath, almost a gasp, and shook herself, in what was perhaps an involuntary shudder. She raised her head and looked at those present with something approaching normality and then buried her head in the space between Blisss arm and body.

Bliss let her remain so, while her arm, encircling Falloms shoulder, tightened periodically as though to indicate her own protective presence over and over.

Pelorat seemed rather awestruck, as his eyes went from one Alphan to another. He said, Golan, they differ so among themselves.

Trevize had noticed that, too. There were various shades of skin and hair color, including one brilliant redhead with blue eyes and freckled skin. At least three apparent adults were as short as Hiroko, and one or two were taller than Trevize. A number of both sexes had eyes resembling those of Hiroko, and Trevize remembered that on the teeming commercial planets of the Fili sector, such eyes were characteristic of the population, but he had never visited that sector.

All the Alphans wore nothing above the waist and among the women the breasts all seemed to be small. That was the most nearly uniform of all the bodily characteristics that he could see.

Bliss said suddenly, Miss Hiroko, my youngster is not accustomed to travel through space and she is absorbing more novelty than she can easily manage. Would it be possible for her to sit down and, perhaps, have something to eat and drink?

Hiroko looked puzzled, and Pelorat repeated what Bliss had said in the more ornate Galactic of the mid-Imperial period.

Hirokos hand then flew to her mouth and she sank to her knees gracefully. I crave your pardon, respected madam, she said. I have not thought of this childs needs, nor of thine. The strangeness of this event has too occupied me. Wouldst thouwould you allas visitors and guests, enter the refectory for morning meal? May we join you and serve as hosts?

Bliss said, That is kind of you. She spoke slowly and pronounced the words carefully, hoping to make them easier to understand. It would be better, though, if you alone served as hostess, for the sake of the comfort of the child who is unaccustomed to being with many people at once.

Hiroko rose to her feet. It shall be as thou hast said.

She led them, in leisurely manner, across the grass. Other Alphans edged closer. They seemed particularly interested in the clothing of the newcomers. Trevize removed his light jacket, and handed it to a man who had sidled toward him and had laid a questing finger upon it.

Here, he said, look it over, but return it. Then he said to Hiroko. See that I get it back, Miss Hiroko.

Of a surety, it will be backhanded, respected sir. She nodded her head gravely.

Trevize smiled and walked on. He was more comfortable without the jacket in the light, mild breeze.

He had detected no visible weapons on the persons of any of those about him, and he found it interesting that no one seemed to show any fear or discomfort over Trevizes. They did not even show curiosity concerning them. It might well be that they were not aware of the objects as weapons at all. From what Trevize had so far seen, Alpha might well be a world utterly without violence.

A woman, having moved rapidly forward, so as to be a little ahead of Bliss, turned to examine her blouse minutely, then said, Hast thou breasts, respected madam?

And, as though unable to wait for an answer, she placed her hand lightly on Blisss chest.

Bliss smiled and said, As thou hast discovered, I have. They are perhaps not as shapely as thine, but I hide them not for that reason. On my world, it is not fitting that they be uncovered.

She whispered in an aside to Pelorat, How do you like the way Im getting the hang of Classical Galactic?

You did that very well, Bliss, said Pelorat.

The dining room was a large one with long tables to which were attached long benches on either side. Clearly, the Alphans ate community-fashion.

Trevize felt a pang of conscience. Blisss request for privacy had reserved this space for five people and forced the Alphans generally to remain in exile outside. A number, however, placed themselves at a respectful distance from the windows (which were no more than gaps in the wall, unfilled even by screens), presumably so that they might watch the strangers eat.

Involuntarily, he wondered what would happen if it were to rain. Surely, the rain would come only when it was needed, light and mild, continuing without significant wind till enough had fallen. Moreover, it would always come at known times so that the Alphans would be ready for it, Trevize imagined.

The window he was facing looked out to sea, and far out at the horizon it seemed to Trevize that he could make out a bank of clouds similar to those that so nearly filled the skies everywhere but over this little spot of Eden.

There were advantages to weather control.

Eventually, they were served by a young woman on tiptoeing feet. They were not asked for their choice, but were merely served. There was a small glass of milk, a larger of grape juice, a still larger of water. Each diner received two large poached eggs, with slivers of white cheese on the side. Each also had a large platter of broiled fish and small roasted potatoes, resting on cool, green lettuce leaves.

Bliss looked with dismay at the quantity of food before her and was clearly at a loss where to begin. Fallom had no such trouble. She drank the grape juice thirstily and with clear evidence of approval, then chewed away at the fish and potatoes. She was about to use her fingers for the purpose, but Bliss held up a large spoon with tined ends that could serve as a fork as well, and Fallom accepted it.

Pelorat smiled his satisfaction and cut into the eggs at once.

Trevize, saying, Now to be reminded what real eggs taste like, followed suit.

Hiroko, forgetting to eat her own breakfast in her delight at the manner in which the others ate (for even Bliss finally began, with obvious relish), said, at last, Is it well?

It is well, said Trevize, his voice somewhat muffled. This island has no shortage of food, apparently. Or do you serve us more than you should, out of politeness?

Hiroko listened with intent eyes, and seemed to grasp the meaning, for she said, No, no, respected sir. Our land is bountiful, our sea even more so. Our ducks give eggs, our goats both cheese and milk. And there are our grains. Above all, our sea is filled with countless varieties of fish in numberless quantity. The whole Empire could eat at our tables and consume not the fish of our sea.

Trevize smiled discreetly. Clearly, the young Alphan had not the smallest idea of the true size of the Galaxy.

He said, You call this island New Earth, Hiroko. Where, then, might Old Earth be?

She looked at him in bewilderment. Old Earth, say you? I crave pardon, respected sir. I take not thy meaning.

Trevize said, Before there was a New Earth, your people must have lived elsewhere. Where was this elsewhere from which they came?

I know naught of that, respected sir, she said, with troubled gravity. This land has been mine all my life, and my mothers and grandmothers before me; and, I doubt not, their grandmothers and great-grandmothers before them. Of any other land, I know naught.

But, said Trevize, descending to gentle argumentation, you speak of this land as New Earth. Why do you call it that?

Because, respected sir, she replied, equally gentle, that is what it is called by all since the mind of woman goeth not to the contrary.

But it is New Earth, and therefore, a later Earth. There must be an Old Earth, a former one, for which it was named. Each morning there is a new day, and that implies that earlier there had existed an old day. Dont you see that this must be so?

Nay, respected sir. I know only what this land is called. I know of naught else, nor do I follow this reasoning of thine which sounds very much like what we call here chop-logic. I mean no offense.

And Trevize shook his head and felt defeated.

<p>77.</p>

Trevize leaned toward Pelorat, and whispered, Wherever we go, whatever we do, we get no information.

We know where Earth is, so what does it matter? said Pelorat, doing little more than move his lips.

I want to know something about it.

Shes very young. Scarcely a repository of information.

Trevize thought about that, then nodded. Right, Janov.

He turned to Hiroko and said, Miss Hiroko, you havent asked us why we are here in your land?

Hirokos eyes fell, and she said, That would be but scant courtesy until you have all eaten and rested, respected sir.

But we have eaten, or almost so, and we have recently rested, so I shall tell you why we are here. My friend, Dr.Pelorat, is a scholar on our world, a learned man. He is a mythologist. Do you know what that means?

Nay, respected sir, I do not.

He studies old tales as they are told on different worlds. Old tales are known as myths or legends and they interest Dr.Pelorat. Are there learned ones on New Earth who know the old tales of this world?

Hirokos forehead creased slightly into a frown of thought. She said, This is not a matter in which I am myself skilled. We have an old man in these parts who loves to talk of ancient days. Where he may have learned these things, I know not, and methinks he may have spun his notions out of air, or heard them from others who did so spin. This is perhaps the material which thy learned companion would hear, yet I would not mislead thee. It is in my mind, she looked to right and left as though unwilling to be overheard, that the old man is but a prater, though many listen willingly to him.

Trevize nodded. Such prating is what we wish. Would it be possible for you to take my friend to this old man

Monolee he calls himself.

to Monolee, then. And do you think Monolee would be willing to speak to my friend?

He? Willing to speak? said Hiroko scornfully. Thou must ask, rather, if he be ever ready to cease from speaking. He is but a man, and will therefore speak, if allowed, till a fortnight hence, with no pause. I mean no offense, respected sir.

No offense taken. Would you lead my friend to Monolee now?

That may anyone do at any time. The ancient is ever home and ever ready to greet an ear.

Trevize said, And perhaps an older woman would be willing to come and sit with Madam Bliss. She has the child to care for and cannot move about too much. It would please her to have company, for women, as you know, are fond of

Prating? said Hiroko, clearly amused. Why, so men say, although I have observed that men are always the greater babblers. Let the men return from their fishing, and one will vie with another in telling greater flights of fancy concerning their catches. None will mark them nor believe, but this will not stop them, either. But enough of my prating, too. I will have a friend of my mothers, one whom I can see through the window, stay with Madam Bliss and the child, and before that she will guide your friend, the respected doctor, to the aged Monolee. If your friend will hear as avidly as Monolee will prate, thou wilt scarcely part them in this life. Wilt thou pardon my absence a moment?

When she had left, Trevize turned to Pelorat and said, Listen, get what you can out of the old man, and Bliss, you find out what you can from whoever stays with you. What you want is anything about Earth.

And you? said Bliss. What will you do?

I will remain with Hiroko, and try to find a third source.

Bliss smiled. Ah yes. Pel will be with this old man; I with an old woman. You will force yourself to remain with this fetchingly unclad young woman. It seems a reasonable division of labor.

As it happens, Bliss, it is reasonable.

But you dont find it depressing that the reasonable division of labor should work out so, I suppose.

No, I dont. Why should I?

Why should you, indeed?

Hiroko was back, and sat down again. It is all arranged. The respected Dr.Pelorat will be taken to Monolee; and the respected Madam Bliss, together with her child, will have company. May I be granted, then, respected Sir Trevize, the boon of further conversation with thee, mayhap of this Old Earth of which thou

Pratest? asked Trevize.

Nay, said Hiroko, laughing. But thou dost well to mock me. I showed thee but discourtesy ere now in answering thy question on this matter. I would fain make amends.

Trevize turned to Pelorat. Fain?

Be eager, said Pelorat softly.

Trevize said, Miss Hiroko, I felt no discourtesy, but if it will make you feel better, I will gladly speak with you.

Kindly spoken. I thank thee, said Hiroko, rising.

Trevize rose, too. Bliss, he said, make sure Janov remains safe.

Leave that to me. As for you, you have your She nodded toward his holsters.

I dont think Ill need them, said Trevize uncomfortably.

He followed Hiroko out of the dining room. The sun was higher in the sky now and the temperature was still warmer. There was an otherworldly smell as always. Trevize remembered it had been faint on Comporellon, a little musty on Aurora, and rather delightful on Solaria. (On Melpomenia, they were in space suits where one is only aware of the smell of ones own body.) In every case, it disappeared in a matter of hours as the osmic centers of the nose grew saturated.

Here, on Alpha, the odor was a pleasant grassy fragrance under the warming effect of the sun, and Trevize felt a bit annoyed, knowing that this, too, would soon disappear.

They were approaching a small structure that seemed to be built of a pale pink plaster.

This, said Hiroko, is my home. It used to belong to my mothers younger sister.

She walked in and motioned Trevize to follow. The door was open or, Trevize noticed as he passed through, it would be more accurate to say there was no door.

Trevize said, What do you do when it rains?

We are ready. It will rain two days hence, for three hours ere dawn, when it is coolest, and when it will moisten the soil most powerfully. Then I have but to draw this curtain, both heavy and water-repellent, across the door.

She did so as she spoke. It seemed made of a strong canvas-like material.

I will leave it in place now, she went on. All will then know I am within but not available, for I sleep or am occupied in matters of importance.

It doesnt seem much of a guardian of privacy.

Why should it not be? See, the entrance is covered.

But anyone could shove it aside.

With disregard of the wishes of the occupant? Hiroko looked shocked. Are such things done on thy world? It would be barbarous.

Trevize grinned. I only asked.

She led him into the second of two rooms, and, at her invitation, he seated himself in a padded chair. There was something claustrophobic about the blockish smallness and emptiness of the rooms, but the house seemed designed for little more than seclusion and rest. The window openings were small and near the ceiling, but there were dull mirror strips in a careful pattern along the walls, which reflected light diffusely. There were slits in the floor from which a gentle, cool breeze uplifted. Trevize saw no signs of artificial lighting and wondered if Alphans had to wake at sunrise and go to bed at sunset.

He was about to ask, but Hiroko spoke first, saying, Is Madam Bliss thy woman companion?

Trevize said cautiously, Do you mean by that, is she my sexual partner?

Hiroko colored. I pray thee, have regard for the decencies of polite conversation, but I do mean private pleasantry.

No, she is the woman companion of my learned friend.

But thou art the younger, and the more goodly.

Well, thank you for your opinion, but it is not Blisss opinion. She likes Dr.Pelorat much more than she does me.

That much surprises me. Will he not share?

I have not asked him whether he would, but Im sure he wouldnt. Nor would I want him to.

Hiroko nodded her head wisely. I know. It is her fundament.

Her fundament?

Thou knowest. This. And she slapped her own dainty rear end.

Oh, that! I understand you. Yes, Bliss is generously proportioned in her pelvic anatomy. He made a curving gesture with his hands and winked. (And Hiroko laughed.)

Trevize said, Nevertheless, a great many men enjoy that kind of generosity of figure.

I cannot believe so. Surely it would be a sort of gluttony to wish excess of that which is pleasant in moderation. Wouldst thou think more of me if my breasts were massive and dangling, with nipples pointing to toes? I have, in good sooth, seen such, yet have I not seen men flock to them. The poor women so afflicted must needs cover their monstrositiesas Madam Bliss does.

Such oversize wouldnt attract me, either, though I am sure that Bliss doesnt cover her breasts for any imperfection they may have.

Thou dost not, then, disapprove of my visage or form?

I would be a madman to do so. You are beautiful.

And what dost thou for pleasantries on this ship of thine, as thou flittest from one world to the next Madam Bliss being denied thee?

Nothing, Hiroko. Theres nothing to do. I think of pleasantries on occasion and that has its discomforts, but we who travel through space know well that there are times when we must do without. We make up for it at other times.

If it be a discomfort, how may that be removed?

I experience considerably more discomfort since youve brought up the subject. I dont think it would be polite to suggest how I might be comforted.

Would it be discourtesy, were I to suggest a way?

It would depend entirely on the nature of the suggestion.

I would suggest that we be pleasant with each other.

Did you bring me here, Hiroko, that it might come to this?

Hiroko said, with a pleased smile, Yes. It would be both my hostess-duty of courtesy, and it would be my wish, too.

If thats the case, I will admit it is my wish, too. In fact, I would like very much to oblige you in this. I would beuhfain to do thee pleasure.

<p>18</p> <p>THE MUSIC FESTIVAL</p>
<p>78.</p>

Lunch was in the same dining room in which they had had breakfast. It was full of Alphans, and with them were Trevize and Pelorat, made thoroughly welcome. Bliss and Fallom ate separately, and more or less privately, in a small annex.

There were several varieties of fish, together with soup in which there were strips of what might well have been boiled kid. Loaves of bread were there for the slicing, butter and jam for the spreading. A salad, large and diffuse, came afterward, and there was a notable absence of any dessert, although fruit juices were passed about in apparently inexhaustible pitchers. Both Foundationers were forced to be abstemious after their heavy breakfast, but everyone else seemed to eat freely.

How do they keep from getting fat? wondered Pelorat in a low voice.

Trevize shrugged. Lots of physical labor, perhaps.

It was clearly a society in which decorum at meals was not greatly valued. There was a miscellaneous hubbub of shouting, laughing, and thumping on the table with thick, obviously unbreakable, cups. Women were as loud and raucous as men, albeit in higher pitch.

Pelorat winced, but Trevize, who now (temporarily, at least) felt no trace of the discomfort he had spoken of to Hiroko, felt both relaxed and good-natured.

He said, Actually, it has its pleasant side. These are people who appear to enjoy life and who have few, if any, cares. Weather is what they make it and food is unimaginably plentiful. This is a golden age for them that simply continues and continues.

He had to shout to make himself heard, and Pelorat shouted back, But its so noisy.

Theyre used to it.

I dont see how they can understand each other in this riot.

Certainly, it was all lost on the two Foundationers. The queer pronunciation and the archaic grammar and word order of the Alphan language made it impossible to understand at the intense sound levels. To the Foundationers, it was like listening to the sounds of a zoo in fright.

It was not till after lunch that they rejoined Bliss in a small structure, which Trevize found to be rather inconsiderably different from Hirokos quarters, and which had been assigned them as their own temporary living quarters. Fallom was in the second room, enormously relieved to be alone, according to Bliss, and attempting to nap.

Pelorat looked at the door-gap in the wall and said uncertainly, Theres very little privacy here. How can we speak freely?

I assure you, said Trevize, that once we pull the canvas barrier across the door, we wont be disturbed. The canvas makes it impenetrable by all the force of social custom.

Pelorat glanced at the high, open windows. We can be overheard.

We need not shout. The Alphans wont eavesdrop. Even when they stood outside the windows of the dining room at breakfast, they remained at a respectful distance.

Bliss smiled. Youve learned so much about Alphan customs in the time you spent alone with gentle little Hiroko, and youve gained such confidence in their respect for privacy. What happened?

Trevize said, If youre aware that the tendrils of my mind have undergone a change for the better and can guess the reason, I can only ask you to leave my mind alone.

You know very well that Gaia will not touch your mind under any circumstances short of life-crisis, and you know why. Still, Im not mentally blind. I could sense what happened a kilometer away. Is this your invariable custom on space voyages, my erotomaniac friend?

Erotomaniac? Come, Bliss. Twice on this entire trip. Twice!

We were only on two worlds that had functioning human females on them. Two out of two, and we had only been a few hours on each.

You are well aware I had no choice on Comporellon.

That makes sense. I remember what she looked like. For a few moments, Bliss dissolved in laughter. Then she said, Yet I dont think Hiroko held you helpless in her mighty grip, or inflicted her irresistible will on your cringing body.

Of course not. I was perfectly willing. But it was her suggestion, just the same.

Pelorat said, with just a tinge of envy in his voice, Does this happen to you all the time, Golan?

Of course it must, Pel, said Bliss. Women are helplessly drawn to him.

I wish that were so, said Trevize, but it isnt. And Im glad it isntI do have other things I want to do in life. Just the same, in this case I was irresistible. After all, we were the first people from another world that Hiroko had ever seen or, apparently, that anyone now alive on Alpha had ever seen. I gathered from things she let slip, casual remarks, that she had the rather exciting notion that I might be different from Alphans, either anatomically or in my technique. Poor thing. Im afraid she was disappointed.

Oh? said Bliss. Were you?

No, said Trevize. I have been on a number of worlds and I have had my experiences. And what I had discovered is that people are people and sex is sex, wherever one goes. If there are noticeable differences, they are usually both trivial and unpleasant. The perfumes Ive encountered in my time! I remember when a young woman simply couldnt manage unless there was music loudly played, music that consisted of a desperate screeching sound. So she played the music and then I couldnt manage. I assure youif its the same old thing, then Im satisfied.

Speaking of music, said Bliss, we are invited to a musicale after dinner. A very formal thing, apparently, that is being held in our honor. I gather the Alphans are very proud of their music.

Trevize grimaced. Their pride will in no way make the music sound better to our ears.

Hear me out, said Bliss. I gather that their pride is that they play expertly on very archaic instruments. Very archaic. We may get some information about Earth by way of them.

Trevizes eyebrows shot up. An interesting thought. And that reminds me that both of you may already have information. Janov, did you see this Monolee that Hiroko told us about?

Indeed I did, said Pelorat. I was with him for three hours and Hiroko did not exaggerate. It was a virtual monologue on his part and when I left to come to lunch, he clung to me and would not let me go until I promised to return whenever I could in order that I might listen to him some more.

And did he say anything of interest?

Well, he, toolike everybody elseinsisted that Earth was thoroughly and murderously radioactive; that the ancestors of the Alphans were the last to leave and that if they hadnt, they would have died. And, Golan, he was so emphatic that I couldnt help believing him. Im convinced that Earth is dead, and that our entire search is, after all, useless.

<p>79.</p>

Trevize sat back in his chair, staring at Pelorat, who was sitting on a narrow cot. Bliss, having risen from where she had been sitting next to Pelorat, looked from one to the other.

Finally, Trevize said, Let me be the judge as to whether our search is useless or not, Janov. Tell me what the garrulous old man had to say to youin brief, of course.

Pelorat said, I took notes as Monolee spoke. It helped reinforce my role as scholar, but I dont have to refer to them. He was quite stream-of-consciousness in his speaking. Each thing he said would remind him of something else, but, of course, I have spent my life trying to organize information in the search of the relevant and significant, so that its second nature for me now to be able to condense a long and incoherent discourse

Trevize said gently, Into something just as long and incoherent? To the point, dear Janov.

Pelorat cleared his throat uneasily. Yes, certainly, old chap. Ill try to make a connected and chronological tale out of it. Earth was the original home of humanity and of millions of species of plants and animals. It continued so for countless years until hyperspatial travel was invented. Then the Spacer worlds were founded. They broke away from Earth, developed their own cultures, and came to despise and oppress the mother planet.

After a couple of centuries of this, Earth managed to regain its freedom, though Monolee did not explain the exact manner in which this was done, and I dared not ask questions, even if he had given me a chance to interrupt, which he did not, for that might merely have sent him into new byways. He did mention a culture-hero named Elijah Baley, but the references were so characteristic of the habit of attributing to one figure the accomplishments of generations that there was little value in attempting to

Bliss said, Yes, Pel dear, we understand that part.

Again, Pelorat paused in midstream and reconsidered. Of course. My apologies. Earth initiated a second wave of settlements, founding many new worlds in a new fashion. The new group of Settlers proved more vigorous than the Spacers, outpaced them, defeated them, outlasted them, and, eventually, established the Galactic Empire. During the course of the wars between the Settlers and the Spacersno, not wars, for he used the word conflict, being very careful about thatthe Earth became radioactive.

Trevize said, with clear annoyance, Thats ridiculous, Janov. How can a world become radioactive? Every world is very slightly radioactive to one degree or another from the moment of formation, and that radioactivity slowly decays. It doesnt become radioactive.

Pelorat shrugged. Im only telling you what he said. And he was only telling me what he had heardfrom someone who only told him what he had heardand so on. Its folk-history, told and retold over the generations, with who knows what distortions creeping in at each retelling.

I understand that, but are there no books, documents, ancient histories which have frozen the story at an early time and which could give us something more accurate than the present tale?

Actually, I managed to ask that question, and the answer is no. He said vaguely that there were books about it in ancient times and that they had long ago been lost, but that what he was telling us was what had been in those books.

Yes, well distorted. Its the same story. In every world we go to, the records of Earth have, in one way or another, disappeared. Well, how did he say the radioactivity began on Earth?

He didnt, in any detail. The closest he came to saying so was that the Spacers were responsible, but then I gathered that the Spacers were the demons on whom the people of Earth blamed all misfortune. The radioactivity

A clear voice overrode him here. Bliss, am I a Spacer?

Fallom was standing in the narrow doorway between the two rooms, hair tousled and the nightgown she was wearing (designed to fit Blisss more ample proportions) having slid off one shoulder to reveal an undeveloped breast.

Bliss said, We worry about eavesdroppers outside and we forget the one inside. Now, Fallom, why do you say that? She rose and walked toward the youngster.

Fallom said, I dont have what they have, she pointed at the two men, or what you have, Bliss. Im different. Is that because Im a Spacer?

You are, Fallom, said Bliss soothingly, but little differences dont matter. Come back to bed.

Fallom became submissive as she always did when Bliss willed her to be so. She turned and said, Am I a demon? What is a demon?

Bliss said over her shoulder, Wait one moment for me. Ill be right back.

She was, within five minutes. She was shaking her head. Shell be sleeping now till I wake her. I should have done that before, I suppose, but any modification of the mind must be the result of necessity. She added defensively, I cant have her brood on the differences between her genital equipment and ours.

Pelorat said, Someday shell have to know shes hermaphroditic.

Someday, said Bliss, but not now. Go on with the story, Pel.

Yes, said Trevize, before something else interrupts us.

Well, Earth became radioactive, or at least its crust did. At that time, Earth had had an enormous population that was centered in huge cities that existed for the most part underground

Now, that, put in Trevize, is surely not so. It must be local patriotism glorifying the golden age of a planet, and the details were simply a distortion of Trantor in its golden age, when it was the Imperial capital of a Galaxy-wide system of worlds.

Pelorat paused, then said, Really, Golan, you mustnt teach me my business. We mythologists know very well that myths and legends contain borrowings, moral lessons, nature cycles, and a hundred other distorting influences, and we labor to cut them away and get to what might be a kernel of truth. In fact, these same techniques must be applied to the most sober histories, for no one writes the clear and apparent truthif such a thing can even be said to exist. For now, Im telling you more or less what Monolee told me, though I suppose I am adding distortions of my own, try as I might not to do so.

Well, well, said Trevize. Go on, Janov. I meant no offense.

And Ive taken none. The huge cities, assuming they existed, crumbled and shrank as the radioactivity slowly grew more intense until the population was but a remnant of what it had been, clinging precariously to regions that were relatively radiation-free. The population was kept down by rigid birth control and by the euthanasia of people over sixty.

Horrible, said Bliss indignantly.

Undoubtedly, said Pelorat, but that is what they did, according to Monolee, and that might be true, for it is certainly not complimentary to the Earthpeople and it is not likely that an uncomplimentary lie would be made up. The Earthpeople, having been despised and oppressed by the Spacers, were now despised and oppressed by the Empire, though here we may have exaggeration there out of self-pity, which is a very seductive emotion. There is the case

Yes, yes, Pelorat, another time. Please go on with Earth.

I beg your pardon. The Empire, in a fit of benevolence, agreed to substitute imported radiation-free soil and to cart away the contaminated soil. Needless to say, that was an enormous task which the Empire soon tired of, especially as this period (if my guess is right) coincided with the fall of Kandar V, after which the Empire had many more things to worry about than Earth.

The radioactivity continued to grow more intense, the population continued to fall, and finally the Empire, in another fit of benevolence, offered to transplant the remnant of the population to a new world of their ownto this world, in short.

At an earlier period, it seems an expedition had stocked the ocean so that by the time the plans for the transplantation of Earthpeople were being developed, there was a full oxygen atmosphere and an ample supply of food on Alpha. Nor did any of the worlds of the Galactic Empire covet this world because there is a certain natural antipathy to planets that circle stars of a binary system. There are so few suitable planets in such a system, I suppose, that even suitable ones are rejected because of the assumption that there must be something wrong with them. This is a common thought-fashion. There is the well-known case, for instance, of

Later with the well-known case, Janov, said Trevize. On with the transplantation.

What remained, said Pelorat, hurrying his words a little, was to prepare a land-base. The shallowest part of the ocean was found and sediment was raised from deeper parts to add to the shallow sea-bottom and, finally, to produce the island of New Earth. Boulders and coral were dredged up and added to the island. Land plants were seeded so that root systems might help make the new land firm. Again, the Empire had set itself an enormous task. Perhaps continents were planned at first, but by the time this one island was produced, the Empires moment of benevolence had passed.

What was left of Earths population was brought here. The Empires fleets carried off its men and machinery, and they never returned. The Earthpeople, living on New Earth, found themselves in complete isolation.

Trevize said, Complete? Did Monolee say that no one from elsewhere in the Galaxy has ever come here till we did?

Almost complete, said Pelorat. There is nothing to come here for, I suppose, even if we set aside the superstitious distaste for binary systems. Occasionally, at long intervals, a ship would come, as ours did, but it would eventually leave and there has never been a follow-up. And thats it.

Trevize said, Did you ask Monolee where Earth was located?

Of course I asked that. He didnt know.

How can he know so much about Earths history without knowing where it is located?

I asked him specifically, Golan, if the star that was only a parsec or so distant from Alpha might be the sun about which Earth revolved. He didnt know what a parsec was, and I said it was a short distance, astronomically speaking. He said, short or long, he did not know where Earth was located and he didnt know anyone who knew, and, in his opinion, it was wrong to try to find it. It should be allowed, he said, to move endlessly through space in peace.

Trevize said, Do you agree with him?

Pelorat shook his head sorrowfully. Not really. But he said that at the rate the radioactivity continued to increase, the planet must have become totally uninhabitable not long after the transplantation took place and that by now it must be burning intensely so that no one can approach.

Nonsense, said Trevize firmly. A planet cannot become radioactive and, having done so, continuously increase in radioactivity. Radioactivity can only decrease.

But Monolee is so sure of it. So many people weve talked to on various worlds unite in thisthat Earth is radioactive. Surely, it is useless to go on.

<p>80.</p>

Trevize drew a deep breath, then said, in a carefully controlled voice, Nonsense, Janov. Thats not true.

Pelorat said, Well, now, old chap, you mustnt believe something just because you want to believe it.

My wants have nothing to do with it. In world after world we find all records of Earth wiped out. Why should they be wiped out if there is nothing to hide; if Earth is a dead, radioactive world that cannot be approached?

I dont know, Golan.

Yes, you do. When we were approaching Melpomenia, you said that the radioactivity might be the other side of the coin. Destroy records to remove accurate information; supply the tale of radioactivity to insert inaccurate information. Both would discourage any attempt to find Earth, and we mustnt be deluded into discouragement.

Bliss said, Actually, you seem to think the nearby star is Earths sun. Why, then, continue to argue the question of radioactivity? What does it matter? Why not simply go to the nearby star and see if it is Earth, and, if so, what it is like?

Trevize said, Because those on Earth must be, in their way, extraordinarily powerful, and I would prefer to approach with some knowledge of the world and its inhabitants. As it is, since I continue to remain ignorant of Earth, approaching it is dangerous. It is my notion that I leave the rest of you here on Alpha and that I proceed to Earth by myself. One life is quite enough to risk.

No, Golan, said Pelorat earnestly. Bliss and the child might wait here, but I must go with you. I have been searching for Earth since before you were born and I cannot stay behind when the goal is so close, whatever dangers might threaten.

Bliss and the child will not wait here, said Bliss. I am Gaia, and Gaia can protect us even against Earth.

I hope youre right, said Trevize gloomily, but Gaia could not prevent the elimination of all early memories of Earths role in its founding.

That was done in Gaias early history when it was not yet well organized, not yet advanced. Matters are different now.

I hope that is so. Or is it that you have gained information about Earth this morning that we dont have? I did ask that you speak to some of the older women that might be available here.

And so I did.

Trevize said, And what did you find out?

Nothing about Earth. There is a total blank there.

Ah.

But they are advanced biotechnologists.

Oh?

On this small island, they have grown and tested innumerable strains of plants and animals and designed a suitable ecological balance, stable and self-supporting, despite the few species with which they began. They have improved on the ocean life that they found when they arrived here a few thousand years ago, increasing their nutritive value and improving their taste. It is their biotechnology that has made this world such a cornucopia of plenty. They have plans for themselves, too.

What kind of plans?

Bliss said, They know perfectly well they cannot reasonably expect to expand their range under present circumstances, confined as they are to the one small patch of land that exists on their world, but they dream of becoming amphibious.

Of becoming what?

Amphibious. They plan to develop gills in addition to lungs. They dream of being able to spend substantial periods of time underwater; of finding shallow regions and building structures on the ocean bottom. My informant was quite glowing about it but she admitted that this had been a goal of the Alphans for some centuries now and that little, if any, progress has been made.

Trevize said, Thats two fields in which they might be more advanced than we are; weather control and biotechnology. I wonder what their techniques are.

Wed have to find specialists, said Bliss, and they might not be willing to talk about it.

Trevize said, Its not our primary concern here, but it would clearly pay the Foundation to attempt to learn from this miniature world.

Pelorat said, We manage to control the weather fairly well on Terminus, as it is.

Control is good on many worlds, said Trevize, but always its a matter of the world as a whole. Here the Alphans control the weather of a small portion of the world and they must have techniques we dont have. Anything else, Bliss?

Social invitations. These appear to be a holidaymaking people, in whatever time they can take from farming and fishing. After dinner, tonight therell be a music festival. I told you about that already. Tomorrow, during the day, there will be a beach festival. Apparently, all around the rim of the island there will be a congregation of everyone who can get away from the fields in order that they might enjoy the water and celebrate the sun, since it will be raining the next day. In the morning, the fishing fleet will come back, beating the rain, and by evening there will be a food festival, sampling the catch.

Pelorat groaned. The meals are ample enough as it is. What would a food festival be like?

I gather that it will feature not quantity, but variety. In any case, all four of us are invited to participate in all the festivals, especially the music festival tonight.

On the antique instruments? asked Trevize.

Thats right.

What makes them antique, by the way? Primitive computers?

No, no. Thats the point. It isnt electronic music at all, but mechanical. They described it to me. They scrape strings, blow in tubes, and bang on surfaces.

I hope youre making that up, said Trevize, appalled.

No, Im not. And I understand that your Hiroko will be blowing on one of the tubesI forget its nameand you ought to be able to endure that.

As for myself, said Pelorat, I would love to go. I know very little about primitive music and I would like to hear it.

She is not my Hiroko,? said Trevize coldly. But are the instruments of the type once used on Earth, do you suppose?

So I gathered, said Bliss. At least the Alphan women said they were designed long before their ancestors came here.

In that case, said Trevize, it may be worth listening to all that scraping, tootling, and banging, for whatever information it might conceivably yield concerning Earth.

<p>81.</p>

Oddly enough, it was Fallom who was most excited at the prospect of a musical evening. She and Bliss had bathed in the small outhouse behind their quarters. It had a bath with running water, hot and cold (or, rather, warm and cool), a washbowl, and a commode. It was totally clean and usable and, in the late afternoon sun, it was even well lit and cheerful.

As always, Fallom was fascinated with Blisss breasts and Bliss was reduced to saying (now that Fallom understood Galactic) that on her world that was the way people were. To which Fallom said, inevitably, Why? and Bliss, after some thought, deciding there was no sensible way of answering, returned the universal reply, Because!

When they were done, Bliss helped Fallom put on the undergarment supplied them by the Alphans and worked out the system whereby the skirt went on over it. Leaving Fallom unclothed from the waist up seemed reasonable enough. She herself, while making use of Alphan garments below the waist (rather tight about the hips), put on her own blouse. It seemed silly to be too inhibited to expose breasts in a society where all women did, especially since her own were not large and were as shapely as any she had seen butthere it was.

The two men took their turn at the outhouse next, Trevize muttering the usual male complaint concerning the time the women had taken.

Bliss turned Fallom about to make sure the skirt would hold in place over her boyish hips and buttocks. She said, Its a very pretty skirt, Fallom. Do you like it?

Fallom stared at it in a mirror and said, Yes, I do. Wont I be cold with nothing on, though? and she ran her hands down her bare chest.

I dont think so, Fallom. Its quite warm on this world.

You have something on.

Yes, I do. Thats how it is on my world. Now, Fallom, were going to be with a great many Alphans during dinner and afterward. Do you think you can bear that?

Fallom looked distressed, and Bliss went on, I will sit on your right side and I will hold you. Pel will sit on the other side, and Trevize will sit across the table from you. We wont let anyone talk to you, and you wont have to talk to anyone.

Ill try, Bliss, Fallom piped in her highest tones.

Then afterward, said Bliss, some Alphans will make music for us in their own special way. Do you know what music is? She hummed in the best imitation of electronic harmony that she could.

Falloms face lit up. You mean The last word was in her own language, and she burst into song.

Blisss eyes widened. It was a beautiful tune, even though it was wild, and rich in trills. Thats right. Music, she said.

Fallom said excitedly, Jemby madeshe hesitated, then decided to use the Galactic wordmusic all the time. It made music on a Again a word in her own language.

Bliss repeated the word doubtfully, On a feeful?

Fallom laughed. Not feeful,

With both words juxtaposed like that, Bliss could hear the difference, but she despaired of reproducing the second. She said, What does it look like?

Falloms as yet limited vocabulary in Galactic did not suffice for an accurate description, and her gestures did not produce any shape clearly in Blisss mind.

He showed me how to use the Fallom said proudly. I used my fingers just the way Jemby did, but it said that soon I wouldnt have to.

Thats wonderful, dear, said Bliss. After dinner, well see if the Alphans are as good as your Jemby was.

Falloms eyes sparkled and pleasant thoughts of what was to follow carried her through a lavish dinner despite the crowds and laughter and noise all about her. Only once, when a dish was accidentally upset, setting off shrieks of excitement fairly close to them, did Fallom look frightened, and Bliss promptly held her close in a warm and protective hug.

I wonder if we can arrange to eat by ourselves, she muttered to Pelorat. Otherwise, well have to get off this world. Its bad enough eating all this Isolate animal protein, but I must be able to do it in peace.

Its only high spirits, said Pelorat, who would have endured anything within reason that he felt came under the heading of primitive behavior and beliefs.

And then the dinner was over, and the announcement came that the music festival would soon begin.

<p>82.</p>

The hall in which the music festival was to be held was about as large as the dining room, and there were folding seats (rather uncomfortable, Trevize found out) for about a hundred fifty people. As honored guests, the visitors were led to the front row, and various Alphans commented politely and favorably on their clothes.

Both men were bare above the waist and Trevize tightened his abdominal muscles whenever he thought of it and stared down, on occasion, with complacent self-admiration at his dark-haired chest. Pelorat, in his ardent observation of everything about him, was indifferent to his own appearance. Blisss blouse drew covert stares of puzzlement but nothing was said concerning it.

Trevize noted that the hall was only about half-full and that the large majority of the audience were women, since, presumably, so many men were out to sea.

Pelorat nudged Trevize and whispered, They have electricity.

Trevize looked at the vertical tubes on the walls, and at others on the ceiling. They were softly luminous.

Fluorescence, he said. Quite primitive.

Yes, but they do the job, and weve got those things in our rooms and in the outhouse. I thought they were just decorative. If we can find out how to work them, we wont have to stay in the dark.

Bliss said irritably, They might have told us.

Pelorat said, They thought wed know; that anyone would know.

Four women now emerged from behind screens and seated themselves in a group in the space at the front. Each held an instrument of varnished wood of a similar shape, but one that was not easily describable. The instruments were chiefly different in size. One was quite small, two somewhat larger, and the fourth considerably larger. Each woman also held a long rod in the other hand.

The audience whistled softly as they came in, in response to which the four women bowed. Each had a strip of gauze bound fairly tightly across the breasts as though to keep them from interfering with the instrument.

Trevize, interpreting the whistles as signs of approval, or of pleased anticipation, felt it only polite to add his own. At that, Fallom added a trill that was far more than a whistle and that was beginning to attract attention when pressure from Blisss hand stopped her.

Three of the women, without preparation, put their instruments under their chins, while the largest of the instruments remained between the legs of the fourth woman and rested on the floor. The long rod in the right hand of each was sawed across the strings stretching nearly the length of the instrument, while the fingers of the left hand shifted rapidly along the upper ends of those strings.

This, thought Trevize, was the scraping he had expected, but it didnt sound like scraping at all. There was a soft and melodious succession of notes; each instrument doing something of its own and the whole fusing pleasantly.

It lacked the infinite complexity of electronic music (real music, as Trevize could not help but think of it) and there was a distinct sameness to it. Still, as time passed, and his ear grew accustomed to this odd system of sound, he began to pick out subtleties. It was wearisome to have to do so, and he thought, longingly, of the clamor and mathematical precision and purity of the real thing, but it occurred to him that if he listened to the music of these simple wooden devices long enough he might well grow to like it.

It was not till the concert was some forty-five minutes old that Hiroko stepped out. She noticed Trevize in the front row at once and smiled at him. He joined the audience in the soft whistle of approval with a whole heart. She looked beautiful in a long and most elaborate skirt, a large flower in her hair, and nothing at all over her breasts since (apparently) there was no danger of their interference with the instrument.

Her instrument proved to be a dark wooden tube about two thirds of a meter long and nearly two centimenters thick. She lifted the instrument to her lips and blew across an opening near one end, producing a thin, sweet note that wavered in pitch as her fingers manipulated metal objects along the length of the tube.

At the first sound, Fallom clutched at Blisss arm and said, Bliss, thats a and the word sounded like feeful to Bliss.

Bliss shook her head firmly at Fallom, who said, in a lower voice, But it is!

Others were looking in Falloms direction. Bliss put her hand firmly over Falloms mouth, and leaned down to mutter an almost subliminally forceful Quiet! into her ear.

Fallom listened to Hirokos playing quietly thereafter, but her fingers moved spasmodically, as though they were operating the objects along the length of the instrument.

The final player in the concert was an elderly man who had an instrument with fluted sides suspended over his shoulders. He pulled it in and out while one hand flashed across a succession of white and dark objects at one end, pressing them down in groups.

Trevize found this sound particularly wearing, rather barbaric, and unpleasantly like the memory of the barking of the dogs on Auroranot that the sound was like barking, but the emotions it gave rise to were similar. Bliss looked as though she would like to place her hands over her ears, and Pelorat had a frown on his face. Only Fallom seemed to enjoy it, for she was tapping her foot lightly, and Trevize, when he noticed that, realized, to his own surprise, that there was a beat to the music that matched Falloms footfall.

It came to an end at last and there was a perfect storm of whistling, with Falloms trill clearly heard above it all.

Then the audience broke up into small conversational groups and became as loud and raucous as Alphans seemed to be on all public occasions. The various individuals who had played in the concert stood about in front of the room and spoke to those people who came up to congratulate them.

Fallom evaded Blisss grasp and ran up to Hiroko.

Hiroko, she cried out, gaspingly. Let me see the

The what, dear one? said Hiroko.

The thing you made the music with.

Oh. Hiroko laughed. Thats a flute, little one.

May I see it?

Well. Hiroko opened a case and took out the instrument. It was in three parts, but she put it together quickly, held it toward Fallom with the mouthpiece near her lips, and said, There, blow thou thy breath across this.

I know. I know, said Fallom eagerly, and reached for the flute.

Automatically, Hiroko snatched it away and held it high. Blow, child, but touch not.

Fallom seemed disappointed. May I just look at it, then? I wont touch it.

Certainly, dear one.

She held out the flute again and Fallom stared at it earnestly.

And then, the fluorescent lighting in the room dimmed very slightly, and the sound of a flutes note, a little uncertain and wavering, made itself heard.

Hiroko, in surprise, nearly dropped the flute, and Fallom cried out, I did it. I did it. Jemby said someday I could do it.

Hiroko said, Was it thou that made the sound?

Yes, I did. I did.

But how didst thou do so, child?

Bliss said, red with embarrassment, Im sorry, Hiroko. Ill take her away.

No, said Hiroko. I wish her to do it again.

A few of the nearest Alphans had gathered to watch. Fallom furrowed her brow as though trying hard. The fluorescents dimmed rather more than before, and again there was the note of the flute, this time pure and steady. Then it became erratic as the metal objects along the length of the flute moved of their own accord.

Its a little different from the Fallom said, a little breathlessly, as though the breath that had been activating the flute had been her own instead of power-driven air.

Pelorat said to Trevize, She must be getting the energy from the electric current that feeds the fluorescents.

Try again, said Hiroko in a choked voice.

Fallom closed her eyes. The note was softer now and under firmer control. The flute played by itself, maneuvered by no fingers, but moved by distant energy, transduced through the still immature lobes of Falloms brain. The notes which began as almost random settled into a musical succession and now everyone in the hall had gathered around Hiroko and Fallom, as Hiroko held the flute gently with thumb and forefinger at either end, and Fallom, eyes closed, directed the current of air and the movement of the keys.

Its the piece I played, whispered Hiroko.

I remember it, said Fallom, nodding her head slightly, trying not to break her concentration.

Thou didst not miss a note, said Hiroko, when it was done.

But its not right, Hiroko. You didnt do it right.

Bliss said, Fallom! Thats not polite. You mustnt

Please, said Hiroko peremptorily, do not interfere. Why is it not right, child?

Because I would play it differently.

Show me, then.

Again the flute played, but in more complicated fashion, for the forces that pushed the keys did so more quickly, in more rapid succession and in more elaborate combinations than before. The music was more complex, and infinitely more emotional and moving. Hiroko stood rigid and there was not a sound to be heard anywhere in the room.

Even after Fallom had finished playing, there was not a sound until Hiroko drew a deep breath and said, Little one, hast thou ever played that before?

No, said Fallom, before this I could only use my fingers, and I cant do my fingers like that. Then, simply and with no trace of vaunting, No one can.

Canst thou play anything else?

I can make something up.

Dost thou meanimprovise?

Fallom frowned at the word and looked toward Bliss. Bliss nodded and Fallom said, Yes.

Please do so, then, said Hiroko.

Fallom paused and thought for a minute or two, then began slowly, in a very simple succession of notes, the whole being rather dreamy. The fluorescent lights dimmed and brightened as the amount of power exerted intensified and faded. No one seemed to notice, for it seemed to be the effect of the music rather than the cause, as though a ghostly electrical spirit were obeying the dictates of the sound waves.

The combination of notes then repeated itself a bit more loudly, then a bit more complexly, then in variations that, without ever losing the clearly heard basic combination, became more stirring and more exciting until it was almost impossible to breathe. And finally, it descended much more rapidly than it had ascended and did so with the effect of a swooping dive that brought the listeners to ground level even while they still retained the feeling that they were high in the air.

There followed sheer pandemonium that split the air, and even Trevize, who was used to a totally different kind of music, thought sadly, And now Ill never hear that again.

When a most reluctant quiet had returned, Hiroko held out her flute. Here, Fallom, this is thine!

Fallom reached for it eagerly, but Bliss caught hold of the childs outstretched arm and said, We cant take it, Hiroko. Its a valuable instrument.

I have another, Bliss. Not quite as good, but that is how it should be. This instrument belongeth to the person who playeth it best. Never have I heard such music and it would be wrong for me to own an instrument I cannot use to full potential. Would that I knew how the instrument could be made to play without being touched.

Fallom took the flute and, with an expression of deep content, held it tightly to her chest.

<p>83.</p>

Each of the two rooms of their quarters were lit by one flourescent light. The outhouse had a third. The lights were dim, and were uncomfortable to read by, but at least the rooms were no longer dark.

Yet they now lingered outside. The sky was full of stars, something that was always fascinating to a native of Terminus, where the night sky was all but starless and in which only the faint foreshortened cloud of the Galaxy was prominent.

Hiroko had accompanied them back to their chambers for fear they would get lost in the dark, or that they would stumble. All the way back, she held Falloms hand, and then, after lighting the flourescents for them, remained outside with them, still clutching at the youngster.

Bliss tried again, for it was clear to her that Hiroko was in a state of a difficult conflict of emotions. Really, Hiroko, we cannot take your flute.

No, Fallom must have it. But she seemed on edge just the same.

Trevize continued to look at the sky. The night was truly dark, a darkness that was scarcely affected by the trickle of light from their own chambers; and much less so by the tiny sparks of other houses farther off.

He said, Hiroko, do you see that star that is so bright? What is it called?

Hiroko looked up casually and said, with no great appearance of interest, Thats the Companion.

Why is it called that?

It circleth our sun every eighty Standard Years. It is an evening star at this time of year. Thou canst see it in daytime, too, when it lieth above the horizon.

Good, thought Trevize. Shes not totally ignorant of astronomy. He said, Do you know that Alpha has another companion, a very small, dim one thats much much farther away than that bright star. You cant see it without a telescope. (He hadnt seen it himself, hadnt bothered to search for it, but the ships computer had the information in its memory banks.)

She said indifferently, We were told that in school.

But now what about that one? You see those six stars in a zigzag line?

Hiroko said, That is Cassiopeia.

Really? said Trevize, startled. Which star?

All of them. The whole zigzag. It is Cassiopeia.

Why is it called that?

I lack the knowledge. I know nothing of astronomy, respected Trevize.

Do you see the lowermost star in the zigzag, the one thats brighter than the other stars? What is that?

It is a star. I know not its name.

But except for the two companion stars, its the closest of all the stars to Alpha. It is only a parsec away.

Hiroko said, Sayest thou so? I know that not.

Might it not be the star about which Earth revolves?

Hiroko looked at the star with a faint flash of interest. I know not. I have never heard any person say so.

Dont you think it might be?

How can I say? None knoweth where Earth might be. II must leave thee, now. I will be taking my shift in the fields tomorrow morning before the beach festival. Ill see you all there, right after lunch. Yes? Yes?

Certainly, Hiroko.

She left suddenly, half-running in the dark. Trevize looked after her, then followed the others into the dimly lit cottage.

He said, Can you tell whether she was lying about Earth, Bliss?

Bliss shook her head. I dont think she was. She is under enormous tension, something I was not aware of until after the concert. It existed before you asked her about the stars.

Because she gave away her flute, then?

Perhaps. I cant tell. She turned to Fallom. Now, Fallom, I want you to go into your room. When youre ready for bed, go to the outhouse, use the potty, then wash your hands, your face, and your teeth.

I would like to play the flute, Bliss.

Just for a little while, and very quietly. Do you understand, Fallom? And you must stop when I tell you to.

Yes, Bliss.

The three were now alone; Bliss in the one chair and the men sitting each on his cot.

Bliss said, Is there any point in staying on this planet any longer?

Trevize shrugged. We never did get to discuss Earth in connection with the ancient instruments, and we might find something there. It might also pay to wait for the fishing fleet to return. The men might know something the stay-at-homes dont.

Very unlikely, I think, said Bliss. Are you sure its not Hirokos dark eyes that hold you?

Trevize said impatiently, I dont understand, Bliss. What have you to do with what I choose to do? Why do you seem to arrogate to yourself the right of sitting in moral judgment on me?

Im not concerned with your morals. The matter affects our expedition. You want to find Earth so that you can finally decide whether you are right in choosing Galaxia over Isolate worlds. I want you to so decide. You say you need to visit Earth to make the decision and you seem to be convinced that Earth revolves about that bright star in the sky. Let us go there, then. I admit it would be useful to have some information about it before we go, but it is clear to me that the information is not forthcoming here. I do not wish to remain simply because you enjoy Hiroko.

Perhaps well leave, said Trevize. Let me think about it, and Hiroko will play no part in my decision, I assure you.

Pelorat said, I feel we ought to move on to Earth, if only to see whether it is radioactive or not. I see no point in waiting longer.

Are you sure its not Blisss dark eyes that drive you? said Trevize, a bit spitefully. Then, almost at once, No, I take that back, Janov. I was just being childish. Stillthis is a charming world, quite apart from Hiroko, and I must say that under other circumstances, I would be tempted to remain indefinitely. Dont you think, Bliss, that Alpha destroys your theory about Isolates?

In what way? asked Bliss.

Youve been maintaining that every truly isolated world turns dangerous and hostile.

Even Comporellon, said Bliss evenly, which is rather out of the main current of Galactic activity for all that it is, in theory, an Associated Power of the Foundation Federation.

But not Alpha. This world is totally isolated, but can you complain of their friendliness and hospitality? They feed us, clothe us, shelter us, put on festivals in our honor, urge us to stay on. What fault is there to find with them?

None, apparently. Hiroko even gives you her body.

Trevize said angrily, Bliss, what bothers you about that? She didnt give me her body. We gave each other our bodies. It was entirely mutual, entirely pleasurable. Nor can you say that you hesitate to give your body as it suits you.

Please, Bliss, said Pelorat. Golan is entirely right. There is no reason to object to his private pleasures.

As long as they dont affect us, said Bliss obdurately.

They do not affect us, said Trevize. We will leave, I assure you. A delay to search further for information will not be long.

Yet I dont trust Isolates, said Bliss, even when they come bearing gifts.

Trevize flung up his arms. Reach a conclusion, then twist the evidence to fit. How like a

Dont say it, said Bliss dangerously. I am not a woman. I am Gaia. It is Gaia, not I, who is uneasy.

There is no reason to And at that point there was a scratching at the door.

Trevize froze. Whats that? he said, in a low voice.

Bliss shrugged lightly. Open the door and see. You tell us this is a kindly world that offers no danger.

Nevertheless, Trevize hesitated, until a soft voice from the other side of the door called out softly, Please. It is I!

It was Hirokos voice. Trevize threw the door open.

Hiroko entered quickly. Her cheeks were wet.

Close the door, she gasped.

What is it? asked Bliss.

Hiroko clutched at Trevize. I could not stay away. I tried, but I endured it not. Go thou, and all of you. Take the youngster with you quickly. Take the ship awayaway from Alphawhile it is yet dark.

But why? asked Trevize.

Because else wilt thou die; and all of you.

<p>84.</p>

The three Outworlders stared frozenly at Hiroko for a long moment. Then Trevize said, Are you saying your people will kill us?

Hiroko said, as the tears rolled down her cheeks, Thou art already on the road to death, respected Trevize. And the others with you. Long ago, those of learning devised a virus, harmless to us, but deadly to Outworlders. We have been made immune. She shook Trevizes arm in distraction. Thou art infected.

How?

When we had our pleasure. It is one way.

Trevize said, But I feel entirely well.

The virus is as yet inactive. It will be made active when the fishing fleet returns. By our laws, all must decide on such a thingeven the men. All will surely decide it must be done, and we keep you here till that time, two mornings hence. Leave now while it is yet dark and none suspects.

Bliss said sharply, Why do your people do this?

For our safety. We are few and have much. We do not wish Outworlders to intrude. If one cometh and then reporteth our lot, others will come, and so when, once in a long while, a ship arriveth, we must make certain it leaveth not.

But then, said Trevize, why do you warn us away?

Ask not the reason. Nay, but I will tell you, since I hear it again. Listen

From the next room, they could hear Fallom playing softlyand infinitely sweetly.

Hiroko said, I cannot bear the destruction of that music, for the young one will also die.

Trevize said sternly, Is that why you gave the flute to Fallom? Because you knew you would have it once again when she was dead?

Hiroko looked horrified. Nay, that was not in my mind. And when it came to mind at length, I knew it must not be done. Leave with the child, and with her, take the flute that I may never see it more. Thou wilt be safe back in space and, left inactive, the virus now in thy body will die after a time. In return, I ask that none of you ever speak of this world, that none else may know of it.

We will not speak of it, said Trevize.

Hiroko looked up. In a lower voice, she said, May I not kiss thee once ere thou leavest?

Trevize said, No. I have been infected once and surely that is enough. And then, a little less roughly, he added, Dont cry. People will ask why you are crying and youll be unable to reply. Ill forgive what you did to me in view of your present effort to save us.

Hiroko straightened, carefully wiped her cheeks with the back of her hands, took a deep breath, and said, I thank thee for that, and left quickly.

Trevize said, We will put out the light, and we will wait awhile, and then we will leave. Bliss, tell Fallom to stop playing her instrument. Remember to take the flute, of course. Then we will make our way to the ship, if we can find it in the dark.

I will find it, said Bliss. Clothing of mine is on board and, however dimly, that, too, is Gaia. Gaia will have no trouble finding Gaia. And she vanished into her room to collect Fallom.

Pelorat said, Do you suppose that theyve managed to damage our ship in order to keep us on the planet?

They lack the technology to do it, said Trevize grimly. When Bliss emerged, holding Fallom by the hand, Trevize put out the lights.

They sat quietly in the dark for what seemed half the night, and might have been half an hour. Then Trevize slowly and silently opened the door. The sky seemed a bit more cloudy, but stars shone. High in the sky now was Cassiopeia, with what might be Earths sun burning brightly at its lower tip. The air was still and there was no sound.

Carefully, Trevize stepped out, motioning the others to follow. One of his hands dropped, almost automatically, to the butt of his neuronic whip. He was sure he would not have to use it, but

Bliss took the lead, holding Pelorats hand, who held Trevizes. Blisss other hand held Fallom, and Falloms other hand held the flute. Feeling gently with her feet in the nearly total darkness, Bliss guided the others toward where she felt, very weakly, the Gaianess of her clothing on board the Far Star.

<p>PART VII</p> <p>EARTH</p>
<p>19</p> <p>RADIOACTIVE?</p>
<p>85.</p>

The Far Star took off quietly, rising slowly through the atmosphere, leaving the dark island below. The few faint dots of light beneath them dimmed and vanished, and as the atmosphere grew thinner with height, the ships speed grew greater, and the dots of light in the sky above them grew more numerous and brighter.

Eventually, they looked down upon the planet, Alpha, with only a crescent illuminated and that crescent largely wreathed in clouds.

Pelorat said, I suppose they dont have an active space technology. They cant follow us.

Im not sure that that cheers me up much, said Trevize, his face dour, his voice disheartened. Im infected.

But with an inactive strain, said Bliss.

Still, it can be made active. They had a method. What is the method?

Bliss shrugged. Hiroko said the virus, left inactive, would eventually die in a body unadapted to itas yours is.

Yes? said Trevize angrily. How does she know that? For that matter, how do I know that Hirokos statement wasnt a self-consoling lie? And isnt it possible that the method of activation, whatever it is, might not be duplicated naturally? A particular chemical, a type of radiation, aawho knows what? I may sicken suddenly, and then the three of you would die, too. Or if it happens after we have reached a populated world, there may be a vicious pandemic which fleeing refugees would carry to other worlds.

He looked at Bliss. Is there something you can do about it?

Slowly, Bliss shook her head. Not easily. There are parasites making up Gaiamicroorganisms, worms. They are a benign part of the ecological balance. They live and contribute to the world consciousness, but never over-grow. They live without doing noticeable harm. The trouble is, Trevize, the virus that affects you is not part of Gaia.

You say not easily,? said Trevize, frowning. Under the circumstances, can you take the trouble to do it even though it might be difficult? Can you locate the virus in me and destroy it? Can you, failing that, at least strengthen my defenses?

Do you realize what you ask, Trevize? I am not acquainted with the microscopic flora of your body. I might not easily tell a virus in the cells of your body from the normal genes inhabiting them. It would be even more difficult to distinguish between viruses your body is accustomed to and those with which Hiroko infected you. I will try to do it, Trevize, but it will take time and I may not succeed.

Take time, said Trevize. Try.

Certainly, said Bliss.

Pelorat said, If Hiroko told the truth, Bliss, you might be able to find viruses that seem to be already diminishing in vitality, and you could accelerate their decline.

I could do that, said Bliss. It is a good thought.

You wont weaken? said Trevize. You will have to destroy precious bits of life when you kill those viruses, you know.

You are being sardonic, Trevize, said Bliss coolly, but, sardonic or not, you are pointing out a true difficulty. Still, I can scarcely fail to put you ahead of the virus. I will kill them if I have the chance, never fear. After all, even if I fail to consider youand her mouth twitched as though she were repressing a smilethen certainly Pelorat and Fallom are also at risk, and you might feel more confidence in my feeling for them than in my feeling for you. You might even remember that I myself am at risk.

I have no faith in your self-love, muttered Trevize. Youre perfectly ready to give up your life for some high motive. Ill accept your concern for Pelorat, however. Then, he said, I dont hear Falloms flute. Is anything wrong with her?

No, said Bliss. Shes asleep. A perfectly natural sleep that I had nothing to do with. And I would suggest that, after you work out the Jump to the star we think is Earths sun, we all do likewise. I need it badly and I suspect you do, too, Trevize.

Yes, if I can manage. You were right, you know, Bliss.

About what, Trevize?

About Isolates. New Earth was not a paradise, however much it might have seemed like one. That hospitalityall that outgoing friendliness at firstwas to put us off our guard, so that one of us might be easily infected. And all the hospitality afterward, the festivals of this and that, were designed to keep us there till the fishing fleet returned and the activation could be carried through. And it would have worked but for Fallom and her music. It might be you were right there, too.

About Fallom?

Yes. I didnt want to take her along, and Ive never been happy with her being on the ship. It was your doing, Bliss, that we have her here and it was she who, unwittingly, saved us. And yet

And yet what?

Despite that, Im still uneasy at Falloms presence. I dont know why.

If it will make you feel better, Trevize, I dont know that we can lay all the credit at Falloms feet. Hiroko advanced Falloms music as her excuse for committing what the other Alphans would surely consider to be an act of treason. She may even have believed this, but there was something in her mind in addition, something that I vaguely detected but could not surely identify, something that perhaps she was ashamed to let emerge into her conscious mind. I am under the impression that she felt a warmth for you, and would not willingly see you die, regardless of Fallom and her music.

Do you really think so? said Trevize, smiling slightly for the first time since they had left Alpha.

I think so. You must have a certain proficiency at dealing with women. You persuaded Minister Lizalor to allow us to take our ship and leave Comporellon, and you helped influence Hiroko to save our lives. Credit where its due.

Trevize smiled more broadly. Well, if you say so. On to Earth, then. He disappeared into the pilot-room with a step that was almost jaunty.

Pelorat, lingering behind, said, You soothed him after all, didnt you, Bliss?

No, Pelorat, I never touched his mind.

You certainly did when you pampered his male vanity so outrageously.

Entirely indirect, said Bliss, smiling.

Even so, thank you, Bliss.

<p>86.</p>

After the jump, the star that might well be Earths sun was still a tenth of a parsec away. It was the brightest object in the sky by far, but it was still no more than a star.

Trevize kept its light filtered for ease of viewing, and studied it somberly.

He said, There seems no doubt that it is the virtual twin of Alpha, the star that New Earth circles. Yet Alpha is in the computer map and this star is not. We dont have a name for this star, we arent given its statistics, we lack any information concerning its planetary system, if it has one.

Pelorat said, Isnt that what we would expect if Earth circles this sun? Such a blackout of information would fit with the fact that all information about Earth seems to have been eliminated.

Yes, but it could also mean that its a Spacer world that just happened not to be on the list on the wall of the Melpomenian building. We cant be altogether sure that that list was complete. Or this star could be without planets and therefore perhaps not worth listing on a computer map which is primarily used for military and commercial purposes. Janov, is there any legend that tells of Earths sun being a mere parsec or so from a twin of itself.

Pelorat shook his head. Im sorry, Golan, but no such legend occurs to me. There may be one, though. My memory isnt perfect. Ill search for it.

Its not important. Is there any name given to Earths sun?

Some different names are given. I imagine there must be a name in each of the different languages.

I keep forgetting that Earth had many languages.

It must have had. Its the only way of making sense out of many of the legends.

Trevize said peevishly, Well, then, what do we do? We cant tell anything about the planetary system from this distance, and we have to move closer. I would like to be cautious, but theres such a thing as excessive and unreasoning caution, and I see no evidence of possible danger. Presumably anything powerful enough to wipe the Galaxy clean of information about Earth may be powerful enough to wipe us out even at this distance if they seriously did not wish to be located, but nothings happened. It isnt rational to stay here forever on the mere possibility that something might happen if we move closer, is it?

Bliss said, I take it the computer detects nothing that might be interpreted as dangerous.

When I say I see no evidence of possible danger, its the computer Im relying on. I certainly cant see anything with the unaided eye. I wouldnt expect to.

Then I take it youre just looking for support in making what you consider a risky decision. All right, then. Im with you. We havent come this far in order to turn back for no reason, have we?

No, said Trevize. What do you say, Pelorat?

Pelorat said, Im willing to move on, if only out of curiosity. It would be unbearable to go back without knowing if we have found Earth.

Well, then, said Trevize, were all agreed.

Not all, said Pelorat. Theres Fallom.

Trevize looked astonished. Are you suggesting we consult the child? Of what value would her opinion be even if she had one? Besides, all she would want would be to get back to her own world.

Can you blame her for that? asked Bliss warmly.

And because the matter of Fallom had arisen, Trevize became aware of her flute, which was sounding in a rather stirring march rhythm.

Listen to her, he said. Where has she ever heard anything in march rhythm?

Perhaps Jemby played marches on the flute for her.

Trevize shook his head. I doubt it. Dance rhythms, I should think, lullabies. Listen, Fallom makes me uneasy. She learns too quickly.

I help her, said Bliss. Remember that. And shes very intelligent and she has been extraordinarily stimulated in the time shes been with us. New sensations have flooded her mind. Shes seen space, different worlds, many people, all for the first time.

Falloms march music grew wilder and more richly barbaric.

Trevize sighed and said, Well, shes here, and shes producing music that seems to breathe optimism, and delight in adventure. Ill take that as her vote in favor of moving in more closely. Let us do so cautiously, then, and check this suns planetary system.

If any, said Bliss.

Trevize smiled thinly. Theres a planetary system. Its a bet. Choose your sum.

<p>87.</p>

You lose, said Trevize abstractedly. How much money did you decide to bet?

None. I never accepted the wager, said Bliss.

Just as well. I wouldnt like to accept the money, anyway.

They were some 10 billion kilometers from the sun. It was still star-like, but it was nearly 1/4,000 as bright as the average sun would have been when viewed from the surface of a habitable planet.

We can see two planets under magnification, right now, said Trevize. From their measured diameters and from the spectrum of the reflected light, they are clearly gas giants.

The ship was well outside the planetary plane, and Bliss and Pelorat, staring over Trevizes shoulder at the viewscreen, found themselves looking at two tiny crescents of greenish light. The smaller was in the somewhat thicker phase of the two.

Trevize said, Janov! It is correct, isnt it, that Earths sun is suppose to have four gas giants.

According to the legends. Yes, said Pelorat.

The nearest of the four to the sun is the largest, and the second nearest has rings. Right?

Large prominent rings, Golan. Yes. Just the same, old chap, you have to allow for exaggeration in the telling and retelling of a legend. If we should not find a planet with an extraordinary ring system, I dont think we ought to let that count seriously against this being Earths star.

Nevertheless, the two we see may be the farthest, and the two nearer ones may well be on the other side of the sun and too far to be easily located against the background of stars. Well have to move still closerand beyond the sun to the other side.

Can that be done in the presence of the stars nearby mass?

With reasonable caution, the computer can do it, Im sure. If it judges the danger to be too great, however, it will refuse to budge us, and we can then move in cautious, smaller steps.

His mind directed the computerand the starfield on the viewscreen changed. The star brightened sharply and then moved off the viewscreen as the computer, following directions, scanned the sky for another gas giant. It did so successfully.

All three onlookers stiffened and stared, while Trevizes mind, almost helpless with astonishment, fumbled at the computer to direct further magnification.

Incredible, gasped Bliss.

<p>88.</p>

A gas giant was in view, seen at an angle that allowed most of it to be sunlit. About it, there curved a broad and brilliant ring of material, tipped so as to catch the sunlight on the side being viewed. It was brighter than the planet itself and along it, one third of the way in toward the planet, was a narrow, dividing line.

Trevize threw in a request for maximum enhancement and the ring became ringlets, narrow and concentric, glittering in the sunlight. Only a portion of the ring system was visible on the viewscreen and the planet itself had moved off. A further direction from Trevize and one corner of the screen marked itself off and showed, within itself, a miniature of the planet and rings under lesser magnification.

Is that sort of thing common? asked Bliss, awed.

No, said Trevize. Almost every gas giant has rings of debris, but they tend to be faint and narrow. I once saw one in which the rings were narrow, but quite bright. But I never saw anything like this; or heard of it, either.

Pelorat said, Thats clearly the ringed giant the legends speak of. If this is really unique

Really unique, as far as I know, or as far as the computer knows, said Trevize.

Then this must be the planetary system containing Earth. Surely, no one could invent such a planet. It would have had to have been seen to be described.

Trevize said, Im prepared to believe just about anything your legends say now. This is the sixth planet and Earth would be the third?

Right, Golan.

Then I would say we were less than 1.5 billion kilometers from Earth, and we havent been stopped. Gaia stopped us when we approached.

Bliss said, You were closer to Gaia when you were stopped.

Ah, said Trevize, but its my opinion Earth is more powerful than Gaia, and I take this to be a good sign. If we are not stopped, it may be that Earth does not object to our approach.

Or that there is no Earth, said Bliss.

Do you care to bet this time? asked Trevize grimly.

What I think Bliss means, put in Pelorat, is that Earth may be radioactive as everyone seems to think, and that no one stops us because there is no life on the Earth.

No, said Trevize violently. Ill believe everything thats said about Earth, but that. Well just close in on Earth and see for ourselves. And I have the feeling we wont be stopped.

<p>89.</p>

The gas giants were well behind. An asteroid belt lay just inside the gas giant nearest the sun. (That gas giant was the largest and most massive, just as the legends said.)

Inside the asteroid belt were four planets.

Trevize studied them carefully. The third is the largest. The size is appropriate and the distance from the sun is appropriate. It could be habitable.

Pelorat caught what seemed to be a note of uncertainty in Trevizes words.

He said, Does it have an atmosphere?

Oh yes, said Trevize. The second, third, and fourth planets all have atmospheres. And, as in the old childrens tale, the seconds is too dense, the fourths is not dense enough, but the thirds is just right.

Do you think it might be Earth, then?

Think? said Trevize almost explosively. I dont have to think. It is Earth. It has the giant satellite you told me of.

It has? And Pelorats face broke into a wider smile than any that Trevize had ever seen upon it.

Absolutely! Here, look at it under maximum magnification.

Pelorat saw two crescents, one distinctly larger and brighter than the other.

Is that smaller one the satellite? he asked.

Yes. Its rather farther from the planet than one might expect but its definitely revolving about it. Its only the size of a small planet; in fact, its smaller than any of the four inner planets circling the sun. Still, its large for a satellite. Its at least two thousand kilometers in diameter, which makes it in the size range of the large satellites that revolve about gas giants.

No larger? Pelorat seemed disappointed. Then its not a giant satellite?

Yes, it is. A satellite with a diameter of two to three thousand kilometers that is circling an enormous gas giant is one thing. That same satellite circling a small, rocky habitable planet is quite another. That satellite has a diameter over a quarter that of Earth. Where have you heard of such near-parity involving a habitable planet?

Pelorat said timidly, I know very little of such things.

Trevize said, Then take my word for it, Janov. Its unique. Were looking at something that is practically a double planet, and there are few habitable planets that have anything more than pebbles orbiting them. Janov, if you consider that gas giant with its enormous ring system in sixth place, and this planet with its enormous satellite in thirdboth of which your legends told you about, against all credibility, before you ever saw themthen that world youre looking at must be Earth. It cannot conceivably be anything else. Weve found it, Janov; weve found it.

<p>90.</p>

They were on the second day of their coasting progress toward Earth, and Bliss yawned over the dinner meal. She said, It seems to me weve spent more time coasting toward and away from planets than anything else. Weve spent weeks at it, literally.

Partly, said Trevize, thats because Jumps are dangerous too close to a star. And in this case, were moving very slowly because I do not wish to advance into possible danger too quickly.

I thought you said you had the feeling we would not be stopped.

So I do, but I dont want to stake everything on a feeling. Trevize looked at the contents of the spoon before putting it into his mouth and said, You know, I miss the fish we had on Alpha. We only had three meals there.

A pity, agreed Pelorat.

Well, said Bliss, we visited five worlds and had to leave each one of them so hurriedly that we never had time to add to our food supplies and introduce variety. Even when the world had food to offer, as did Comporellon and Alpha, and, presumably

She did not complete the sentence, for Fallom, looking up quickly, finished it for her. Solaria? Could you get no food there? There is plenty of food there. As much as on Alpha. And better, too.

I know that, Fallom, said Bliss. There was just no time.

Fallom stared at her solemnly. Will I ever see Jemby again, Bliss? Tell me the truth.

Bliss said, You may, if we return to Solaria.

Will we ever return to Solaria?

Bliss hesitated. I cannot say.

Now we go to Earth, is that right? Isnt that the planet where you say we all originate?

Where our forebears originated, said Bliss.

I can say ancestors,? said Fallom.

Yes, we are going to Earth.

Why?

Bliss said lightly, Wouldnt anyone wish to see the world of their ancestors?

I think theres more to it. You all seem so concerned.

But weve never been there before. We dont know what to expect.

I think it is more than that.

Bliss smiled. Youve finished eating, Fallom dear, so why not go to the room and let us have a little serenade on your flute. Youre playing it more beautifully all the time. Come, come. She gave Fallom an accelerating pat on the rear end, and off Fallom went, turning only once to give Trevize a thoughtful look.

Trevize looked after her with clear distaste. Does that thing read minds?

Dont call her a thing, Trevize, said Bliss sharply.

Does she read minds? You ought to be able to tell.

No, she doesnt. Nor can Gaia. Nor can the Second Foundationers. Reading minds in the sense of overhearing a conversation, or making out precise ideas is not something that can be done now, or in the foreseeable future. We can detect, interpret, and, to some extent, manipulate emotions, but that is not the same thing at all.

How do you know she cant do this thing that supposedly cant be done?

Because as you have just said, I ought to be able to tell.

Perhaps she is manipulating you so that you remain ignorant of the fact that she can.

Bliss rolled her eyes upward. Be reasonable, Trevize. Even if she had unusual abilities, she could do nothing with me for I am not Bliss, I am Gaia. You keep forgetting. Do you know the mental inertia represented by an entire planet? Do you think one Isolate, however talented, can overcome that?

You dont know everything, Bliss, so dont be overconfident, said Trevize sullenly. That th She has been with us not very long. I couldnt learn anything but the rudiments of a language in that time, yet she already speaks Galactic perfectly and with virtually a full vocabulary. Yes, I know youve been helping her, but I wish you would stop.

I told you I was helping her, but I also told you shes fearfully intelligent. Intelligent enough so that I would like to have her part of Gaia. If we can gather her in; if shes still young enough; we might learn enough about the Solarians to absorb that entire world eventually. It might well be useful to us.

Does it occur to you that the Solarians are pathological Isolates even by my standards?

They wouldnt stay so as part of Gaia.

I think youre wrong, Bliss. I think that Solarian child is dangerous and that we should get rid of her.

How? Dump her through the airlock? Kill her, chop her up, and add her to our food supply?

Pelorat said, Oh, Bliss.

And Trevize said, Thats disgusting, and completely uncalled for. He listened for a moment. The flute was sounding without flaw or waver, and they had been talking in half-whispers. When this is all over, weve got to return her to Solaria, and make sure that Solaria is forever cut off from the Galaxy. My own feeling is that it should be destroyed. I distrust and fear it.

Bliss thought awhile and said, Trevize, I know that you have the knack of coming to a right decision, but I also know you have been antipathetic to Fallom from the start. I suspect that may just be because you were humiliated on Solaria and have taken a violent hatred to the planet and its inhabitants as a result. Since I must not tamper with your mind, I cant tell that for sure. Please remember that if we had not taken Fallom with us, we would be on Alpha right nowdead and, I presume, buried.

I know that, Bliss, but even so

And her intelligence is to be admired, not envied.

I do not envy her. I fear her.

Her intelligence?

Trevize licked his lips thoughtfully. No, not quite.

What, then?

I dont know. Bliss, if I knew what I feared, I might not have to fear it. Its something I dont quite understand. His voice lowered, as though he were speaking to himself. The Galaxy seems to be crowded with things I dont understand. Why did I choose Gaia? Why must I find Earth? Is there a missing assumption in psychohistory? If there is, what is it? And on top of all that, why does Fallom make me uneasy?

Bliss said, Unfortunately, I cant answer those questions. She rose, and left the room.

Pelorat looked after her, then said, Surely things arent totally black, Golan. Were getting closer and closer to Earth and once we reach it all mysteries may be solved. And so far nothing seems to be making any effort to stop us from reaching it.

Trevizes eyes flickered toward Pelorat and he said in a low voice, I wish something would.

Pelorat said, You do? Why should you want that?

Frankly, Id welcome a sign of life.

Pelorats eyes opened wide. Have you found that Earth is radioactive after all?

Not quite. But it is warm. A bit warmer than I would have expected.

Is that bad?

Not necessarily. It may be rather warm but that wouldnt make it necessarily uninhabitable. The cloud cover is thick and it is definitely water vapor, so that those clouds, together with a copious water ocean, could tend to keep things livable despite the temperature we calculated from microwave emission. I cant be sure, yet. Its just that

Yes, Golan?

Well, if Earth were radioactive, that might well account for its being warmer than expected.

But that doesnt argue the reverse, does it? If its warmer than expected, that doesnt mean it must be radioactive.

No. No, it doesnt. Trevize managed to force a smile. No use brooding, Janov. In a day or two, Ill be able to tell more about it and well know for sure.

<p>91.</p>

Fallom was sitting on the cot in deep thought when Bliss came into the room. Fallom looked up briefly, then down again.

Bliss said quietly, Whats the matter, Fallom?

Fallom said, Why does Trevize dislike me so much, Bliss?

What makes you think he dislikes you?

He looks at me impatiently Is that the word?

It might be the word.

He looks at me impatiently when I am near him. His face always twists a little.

Trevize is having a hard time, Fallom.

Because hes looking for Earth?

Yes.

Fallom thought awhile, then said, He is particularly impatient when I think something into moving.

Blisss lips tightened. Now, Fallom, didnt I tell you you must not do that, especially when Trevize is present?

Well, it was yesterday, right here in this room, and he was in the doorway and I didnt notice. I didnt know he was watching. It was just one of Pels book-films, anyway, and I was trying to make it stand on one tip. I wasnt doing any harm.

It makes him nervous, Fallom, and I want you not to do it, whether hes watching or not.

Does it make him nervous because he cant do it?

Perhaps.

Can you do it?

Bliss shook her head slowly. No, I cant.

It doesnt make you nervous when I do it. It doesnt make Pel nervous, either.

People are different.

I know, said Fallom, with a sudden hardness that surprised Bliss and caused her to frown.

What do you know, Fallom?

Im different.

Of course, I just said so. People are different.

My shape is different. I can move things.

Thats true.

Fallom said, with a shade of rebelliousness, I must move things. Trevize should not be angry with me for that, and you should not stop me.

But why must you move things?

It is practice. Exerceez. Is that the right word?

Not quite. Exercise.

Yes. Jemby always said I must train mymy

Transducer-lobes?

Yes. And make them strong. Then, when I was grown up, I could power all the robots. Even Jemby.

Fallom, who did power all the robots if you did not?

Bander. Fallom said it very matter-of-factly.

Did you know Bander?

Of course. I viewed him many times. I was to be the next estate-head. The Bander estate would become the Fallom estate. Jemby told me so.

You mean Bander came to your

Falloms mouth made a perfect O of shock. She said in a choked voice, Bander would never come to The youngster ran out of breath and panted a bit, then said, I viewed Banders image.

Bliss asked hesitantly, How did Bander treat you?

Fallom looked at Bliss with a faintly puzzled eye. Bander would ask me if I needed anything; if I was comfortable. But Jemby was always near me so I never needed anything and I was always comfortable.

Her head bent and she stared at the floor. Then she placed her hands over her eyes and said, But Jemby stopped. I think it was because Banderstopped, too.

Bliss said, Why do you say that?

Ive been thinking about it. Bander powered all the robots, and if Jemby stopped, and all the other robots, too, it must be that Bander stopped. Isnt that so?

Bliss was silent.

Fallom said, But when you take me back to Solaria I will power Jemby and all the rest of the robots, and I will be happy again.

She was sobbing.

Bliss said, Arent you happy with us, Fallom? Just a little? Sometimes?

Fallom lifted her tear-stained face to Bliss and her voice trembled as she shook her head and said, I want Jemby.

In an agony of sympathy, Bliss threw her arms about the youngster. Oh, Fallom, how I wish I could bring you and Jemby together again, and was suddenly aware that she was weeping, too.

<p>92.</p>

Pelorat entered and found them so. He halted in mid-step and said, Whats the matter?

Bliss detached herself and fumbled for a small tissue so that she might wipe her eyes. She shook her head, and Pelorat at once said, with heightened concern, But whats the matter?

Bliss said, Fallom, just rest a little. Ill think of something to make things a little better for you. Remember I love you just the same way that Jemby did.

She seized Pelorats elbow and rushed him out into the living room, saying, Its nothing, Pel. Nothing.

Its Fallom, though, isnt it? She still misses Jemby.

Terribly. And theres nothing we can do about it. I can tell her that I love herand, truthfully, I do. How can you help loving a child so intelligent and gentle? Fearfully intelligent. Trevize thinks too intelligent. Shes seen Bander in her time, you knowor viewed it, rather, as a holographic image. Shes not moved by that memory, however; shes very cold and matter-of-fact about it, and I can understand why. There was only the fact that Bander was owner of the estate and that Fallom would be the next owner that bound them. No other relationship at all.

Does Fallom understand that Bander is her father?

Her mother. If we agree that Fallom is to be regarded as feminine, so is Bander.

Either way, Bliss dear. Is Fallom aware of the parental relationship?

I dont know that she would understand what that is. She may, of course, but she gave no hint. However, Pel, she has reasoned out that Bander is dead, for its dawned on her that Jembys inactivation must be the result of power loss and since Bander supplied the power That frightens me.

Pelorat said thoughtfully, Why should it, Bliss? Its only a logical inference, after all.

Another logical inference can be drawn from that death. Deaths must be few and far distant on Solaria with its long-lived and isolated Spacers. Experience of natural death must be a limited one for any of them, and probably absent altogether for a Solarian child of Falloms age. If Fallom continues to think of Banders death, shes going to begin to wonder why Bander died, and the fact that it happened when we strangers were on the planet will surely lead her to the obvious cause and effect.

That we killed Bander?

It wasnt we who killed Bander, Pel. It was I.

She couldnt guess that.

But I would have to tell her that. She is annoyed with Trevize as it is, and he is clearly the leader of the expedition. She would take it for granted that it would be he who would have brought about the death of Bander, and how could I allow Trevize to bear the blame unjustly?

What would it matter, Bliss? The child feels nothing for her fathmother. Only for her robot, Jemby.

But the death of the mother meant the death of her robot, too. I almost did own up to my responsibility. I was strongly tempted.

Why?

So I could explain it my way. So I could soothe her, forestall her own discovery of the fact in a reasoning process that would work it out in a way that would offer no justification for it.

But there was justification. It was self-defense. In a moment, we all would have been dead, if you had not acted.

Its what I would have said, but I could not bring myself to explain. I was afraid she wouldnt believe me.

Pelorat shook his head. He said, sighing, Do you suppose it might have been better if we had not brought her? The situation makes you so unhappy.

No, said Bliss angrily, dont say that. It would have made me infinitely more unhappy to have to sit here right now and remember that we had left an innocent child behind to be slaughtered mercilessly because of what we had done.

Its the way of Falloms world.

Now, Pel, dont fall into Trevizes way of thinking. Isolates find it possible to accept such things and think no more about it. The way of Gaia is to save life, however, not destroy itor to sit idly by while it is destroyed. Life of all kinds must, we all know, constantly be coming to an end in order that other life might endure, but never uselessly, never to no end. Banders death, though unavoidable, is hard enough to bear; Falloms would have been past all bounds.

Ah well, said Pelorat, I suppose youre right. And in any case, it is not the problem of Fallom concerning which Ive come to see you. Its Trevize.

What about Trevize?

Bliss, Im worried about him. Hes waiting to determine the facts about Earth, and Im not sure he can withstand the strain.

I dont fear for him. I suspect he has a sturdy and stable mind.

We all have our limits. Listen, the planet Earth is warmer than he expected it to be; he told me so. I suspect that he thinks it may be too warm for life, though hes clearly trying to talk himself into believing thats not so.

Maybe hes right. Maybe its not too warm for life.

Also, he admits its possible that the warmth might possibly arise from a radioactive crust, but he is refusing to believe that also. In a day or two, well be close enough so that the truth of the matter will be unmistakable. What if Earth is radioactive?

Then hell have to accept the fact.

ButI dont know how to say this, or how to put it in mental terms. What if his mind

Bliss waited, then said wryly, Blows a fuse?

Yes. Blows a fuse. Shouldnt you do something now to strengthen him? Keep him level and under control, so to speak?

No, Pel. I cant believe hes that fragile, and there is a firm Gaian decision that his mind must not be tampered with.

But thats the very point. He has this unusual rightness, or whatever you want to call it. The shock of his entire project falling to nothingness at the moment when it seems successfully concluded may not destroy his brain, but it may destroy his rightness. Its a very unusual property he has. Might it not be unusually fragile, too?

Bliss remained for a moment in thought. Then she shrugged. Well, perhaps Ill keep an eye on him.

<p>93.</p>

For the next thirty-six hours, Trevize was vaguely aware that Bliss and, to a lesser degree, Pelorat, tended to dog his footsteps. Still, that was not utterly unusual in a ship as compact as theirs, and he had other things on his mind.

Now, as he sat at the computer, he was aware of them standing just inside the doorway. He looked up at them, his face blank.

Well? he said, in a very quiet voice.

Pelorat said, rather awkwardly, How are you, Golan?

Trevize said, Ask Bliss. Shes been staring at me intently for hours. She must be poking through my mind. Arent you, Bliss?

No, I am not, said Bliss evenly, but if you feel the need for my help, I can try. Do you want my help?

No, why should I? Leave me alone. Both of you.

Pelorat said, Please tell us whats going on.

Guess!

Is Earth

Yes, it is. What everyone insisted on telling us is perfectly true. Trevize gestured at the viewscreen, where Earth presented its nightside and was eclipsing the sun. It was a solid circle of black against the starry sky, its circumference outlined by a broken orange curve.

Pelorat said, Is that orange the radioactivity?

No. Just refracted sunlight through the atmosphere. It would be a solid orange circle if the atmosphere werent so cloudy. We cant see the radioactivity. The various radiations, even the gamma rays, are absorbed by the atmosphere. However, they do set up secondary radiations, comparatively feeble ones, but the computer can detect them. Theyre still invisible to the eye, but the computer can produce a photon of visible light for each particle or wave of radiation it receives and put Earth into false color. Look.

And the black circle glowed with a faint, blotchy blue.

How much radioactivity is there? asked Bliss, in a low voice. Enough to signify that no human life can exist there?

No life of any kind, said Trevize. The planet is uninhabitable. The last becterium, the last virus, is long gone.

Can we explore it? said Pelorat. I mean, in space suits.

For a few hoursbefore we come down with irreversible radiation sickness.

Then what do we do, Golan?

Do? Trevize looked at Pelorat with that same expressionless face. Do you know what I would like to do? I would like to take you and Blissand the childback to Gaia and leave you all there forever. Then I would like to go back to Terminus and hand back the ship. Then I would like to resign from the Council, which ought to make Mayor Branno very happy. Then I would like to live on my pension and let the Galaxy go as it will. I wont care about the Seldon Plan, or about the Foundation, or about the Second Foundation, or about Gaia. The Galaxy can choose its own path. It will last my time and why should I care a snap as to what happens afterward?

Surely, you dont mean it, Golan, said Pelorat urgently.

Trevize stared at him for a while, and then he drew a long breath. No, I dont, but, oh, how I wish I could do exactly what I have just outlined to you.

Never mind that. What will you do?

Keep the ship in orbit about the Earth, rest, get over the shock of all this, and think of what to do next. Except that

Yes?

And Trevize blurted out, What can I do next? What is there further to look for? What is there further to find?

<p>20</p> <p>THE NEARBY WORLD</p>
<p>94.</p>

For four successive meals, Pelorat and Bliss had seen Trevize only at meals. During the rest of the time, he was either in the pilot-room or in his bedroom. At mealtimes, he was silent. His lips remained pressed together and he ate little.

At the fourth meal, however, it seemed to Pelorat that some of the unusual gravity had lifted from Trevizes countenance. Pelorat cleared his throat twice, as though preparing to say something and then retreating.

Finally, Trevize looked up at him and said, Well?

Have youhave you thought it out, Golan?

Why do you ask?

You seem less gloomy.

Im not less gloomy, but I have been thinking. Heavily.

May we know what? asked Pelorat.

Trevize glanced briefly in Blisss direction. She was looking firmly at her plate, maintaining a careful silence, as though certain that Pelorat would get further than she at this sensitive moment.

Trevize said, Are you also curious, Bliss?

She raised her eyes for a moment. Yes. Certainly.

Fallom kicked a leg of the table moodily, and said, Have we found Earth?

Bliss squeezed the youngsters shoulder. Trevize paid no attention.

He said, What we must start with is a basic fact. All information concerning Earth has been removed on various worlds. That is bound to bring us to an inescapable conclusion. Something on Earth is being hidden. And yet, by observation, we see that Earth is radioactively deadly, so that anything on it is automatically hidden. No one can land on it, and from this distance, when we are quite near the outer edge of the magnetosphere and would not care to approach Earth any more closely, there is nothing for us to find.

Can you be sure of that? asked Bliss softly.

I have spent my time at the computer, analyzing Earth in every way it and I can. There is nothing. Whats more, I feel there is nothing. Why, then, has data concerning the Earth been wiped out? Surely, whatever must be hidden is more effectively hidden now than anyone can easily imagine, and there need be no human gilding of this particular piece of gold.

It may be, said Pelorat, that there was indeed something hidden on Earth at a time when it had not yet grown so severely radioactive as to preclude visitors. People on Earth may then have feared that someone might land and find this whatever-it-is. It was then that Earth tried to remove information concerning itself. What we have now is a vestigial remnant of that insecure time.

No, I dont think so, said Trevize. The removal of information from the Imperial Library at Trantor seems to have taken place very recently. He turned suddenly to Bliss, Am I right?

Bliss said evenly, I/we/Gaia gathered that much from the troubled mind of the Second Foundationer Gendibal, when he, you, and I had the meeting with the Mayor of Terminus.

Trevize said, So whatever must have had to be hidden because there existed the chance of finding it must still be in hiding now, and there must be danger of finding it now despite the fact that Earth is radioactive.

How is that possible? asked Pelorat anxiously.

Consider, said Trevize. What if what was on Earth is no longer on Earth, but was removed when the radioactive danger grew greater? Yet though the secret is no longer on Earth, it may be that if we can find Earth, we would be able to reason out the place where the secret has been taken. If that were so, Earths whereabouts would still have to be hidden.

Falloms voice piped up again. Because if we cant find Earth, Bliss says youll take me back to Jemby.

Trevize turned toward Fallom and glaredand Bliss said, in a low voice, I told you we might, Fallom. Well talk about it later. Right now, go to your room and read, or play the flute, or anything else you want to do. Gogo.

Fallom, frowning sulkily, left the table.

Pelorat said, But how can you say that, Golan? Here we are. Weve located Earth. Can we now deduce where whatever it is might be if it isnt on Earth?

It took a moment for Trevize to get over the moment of ill humor Fallom had induced. Then, he said, Why not? Imagine the radioactivity of Earths crust growing steadily worse. The population would be decreasing steadily through death and emigration, and the secret, whatever it is, would be in increasing danger. Who would remain to protect it? Eventually, it would have to be shifted to another world, or the use ofwhatever it waswould be lost to Earth. I suspect there would be reluctance to move it and it is likely that it would be done more or less at the last minute. Now, then, Janov, remember the old man on New Earth who filled your ears with his version of Earths history?

Monolee?

Yes. He. Did he not say in reference to the establishment of New Earth that what was left of Earths population was brought to the planet?

Pelorat said, Do you mean, old chap, that what were searching for is now on New Earth? Brought there by the last of Earths population to leave?

Trevize said, Might that not be so? New Earth is scarcely better known to the Galaxy in general than Earth is, and the inhabitants are suspiciously eager to keep all Outworlders away.

We were there, put in Bliss. We didnt find anything.

We werent looking for anything but the whereabouts of Earth.

Pelorat said, in a puzzled way, But were looking for something with a high technology; something that can remove information from under the nose of the Second Foundation itself, and even from under the noseexcuse me, Blissof Gaia. Those people on New Earth may be able to control their patch of weather and may have some techniques of biotechnology at their disposal, but I think youll admit that their level of technology is, on the whole, quite low.

Bliss nodded. I agree with Pel.

Trevize said, Were judging from very little. We never did see the men of the fishing fleet. We never saw any part of the island but the small patch we landed on. What might we have found if we had explored more thoroughly? After all, we didnt recognize the fluorescent lights till we saw them in action, and if it appeared that the technology was low, appeared, I say

Yes? said Bliss, clearly unconvinced.

That could be part of the veil intended to obscure the truth.

Impossible, said Bliss.

Impossible? It was you who told me, back on Gaia, that at Trantor, the larger civilization was deliberately held at a level of low technology in order to hide the small kernel of Second Foundationers. Why might not the same strategy be used on New Earth?

Do you suggest, then, that we return to New Earth and face infection againthis time to have it activated? Sexual intercourse is undoubtedly a particularly pleasant mode of infection, but it may not be the only one.

Trevize shrugged. I am not eager to return to New Earth, but we may have to.

May?

May! After all, there is another possibility.

What is that?

New Earth circles the star the people call Alpha. But Alpha is part of a binary system. Might there not be a habitable planet circling Alphas companion as well?

Too dim, I should think, said Bliss, shaking her head. The companion is only a quarter as bright as Alpha is.

Dim, but not too dim. If there is a planet fairly close to the star, it might do.

Pelorat said, Does the computer say anything about any planets for the companion?

Trevize smiled grimly. I checked that. There are five planets of moderate size. No gas giants.

And are any of the five planets habitable?

The computer gives no information at all about the planets, other than their number, and the fact that they arent large.

Oh, said Pelorat deflated.

Trevize said, Thats nothing to be disappointed about. None of the Spacer worlds are to be found in the computer at all. The information on Alpha itself is minimal. These things are hidden deliberately and if almost nothing is known about Alphas companion, that might almost be regarded as a good sign.

Then, said Bliss, in a business-like manner, What you are planning to do is thisvisit the companion and, if that draws a blank, return to Alpha itself.

Yes. And this time when we reach the island of New Earth, we will be prepared. We will examine the entire island meticulously before landing and, Bliss, I expect you to use your mental abilities to shield

And at that moment, the Far Star lurched slightly, as though it had undergone a ship-sized hiccup, and Trevize cried out, halfway between anger and perplexity, Whos at the controls?

And even as he asked, he knew very well who was.

<p>95.</p>

Fallom, at the computer console, was completely absorbed. Her small, longfingered hands were stretched wide in order to fit the faintly gleaming handmarks on the desk. Falloms hands seemed to sink into the material of the desk, even though it was clearly felt to be hard and slippery.

She had seen Trevize hold his hands so on a number of occasions, and she hadnt seen him do more than that, though it was quite plain to her that in so doing he controlled the ship.

On occasion, Fallom had seen Trevize close his eyes, and she closed hers now. After a moment or two, it was almost as though she heard a faint, far-off voicefar off, but sounding in her own head, through (she dimly realized) her transducer-lobes. They were even more important than her hands. She strained to make out the words.

Instructions, it said, almost pleadingly. What are your instructions?

Fallom didnt say anything. She had never witnessed Trevize saying anything to the computerbut she knew what it was that she wanted with all her heart. She wanted to go back to Solaria, to the comforting endlessness of the mansion, to JembyJemby Jemby

She wanted to go there and, as she thought of the world she loved, she imagined it visible on the view-screen as she had seen other worlds she didnt want. She opened her eyes and stared at the viewscreen willing some other world there than this hateful Earth, then staring at what she saw, imagining it to be Solaria. She hated the empty Galaxy to which she had been introduced against her will. Tears came to her eyes, and the ship trembled.

She could feel that tremble, and she swayed a little in response.

And then she heard loud steps in the corridor outside and, when she opened her eyes, Trevizes face, distorted, filled her vision, blocking out the view-screen, which held all she wanted. He was shouting something, but she paid no attention. It was he who had taken her from Solaria by killing Bander, and it was he who was preventing her from returning by thinking only of Earth, and she was not going to listen to him.

She was going to take the ship to Solaria, and, with the intensity of her resolve, it trembled again.

<p>96.</p>

Bliss clutched wildly at Trevizes arm. Dont! Dont!

She clung strongly, holding him back, while Pelorat stood, confused and frozen, in the background.

Trevize was shouting, Take your hands off the computer! Bliss, dont get in my way. I dont want to hurt you.

Bliss said, in a tone that seemed almost exhausted, Dont offer violence to the child. Id have to hurt youagainst all instructions.

Trevizes eyes darted wildly from Fallom to Bliss. He said, Then you get her off, Bliss, Now!

Bliss pushed him away with surprising strength (drawing it, Trevize thought afterward, from Gaia, perhaps).

Fallom, she said, lift your hands.

No, shrieked Fallom. I want the ship to go to Solaria. I want it to go there. There. She nodded toward the viewscreen with her head, unwilling to let even one hand release its pressure on the desk for the purpose.

But Bliss reached for the childs shoulders and, as her hands touched Fallom, the youngster began to tremble.

Blisss voice grew soft. Now, Fallom, tell the computer to be as it was and come with me. Come with me. Her hands stroked the child, who collapsed in an agony of weeping.

Falloms hands left the desk, and Bliss, catching her under the armpits, lifted her into a standing position. She turned her, held her firmly against her breast, and allowed the child to smother her wrenching sobs there.

Bliss said to Trevize, who was now standing dumbly in the doorway, Step out of the way, Trevize, and dont touch either of us as we pass.

Trevize stepped quickly to one side.

Bliss paused a moment, saying in a low voice to Trevize, I had to get into her mind for a moment. If Ive caused any damage, I wont forgive you easily.

It was Trevizes impulse to tell her he didnt care a cubic millimeter of vacuum for Falloms mind; that it was the computer for which he feared. Against the concentrated glare of Gaia, however (surely it wasnt only Bliss whose sole expression could inspire the moment of cold terror he felt), he kept silent.

He remained silent for a perceptible period, and motionless as well, after Bliss and Fallom had disappeared into their room. He remained so, in fact, until Pelorat said softly, Golan, are you all right? She didnt hurt you, did she?

Trevize shook his head vigorously, as though to shake off the touch of paralysis that had afflicted him. Im all right. The real question is whether thats all right. He sat down at the computer console, his hands resting on the two handmarks which Falloms hands had so recently covered.

Well? said Pelorat anxiously.

Trevize shrugged. It seems to respond normally. I might conceivably find something wrong later on, but theres nothing that seems off now. Then, more angrily, The computer should not combine effectively with any hands other than mine, but in that hermaphrodites case, it wasnt the hands alone. It was the transducer-lobes, Im sure

But what made the ship shake? It shouldnt do that, should it?

No. Its a gravitic ship and we shouldnt have these inertial effects. But that she-monster He paused, looking angry again.

Yes?

I suspect she faced the computer with two self-contradictory demands, and each with such force that the computer had no choice but to attempt to do both things at once. In the attempt to do the impossible, the computer must have released the inertia-free condition of the ship momentarily. At least thats what I think happened.

And then, somehow, his face smoothed out. And that might be a good thing, too, for it occurs to me now that all my talk about Alpha Centauri and its companion was flapdoodle. I know now where Earth must have transferred its secret.

<p>97.</p>

Pelorat stared, then ignored the final remark and went back to an earlier puzzle. In what way did Fallom ask for two self-contradictory things?

Well, she said she wanted the ship to go to Solaria.

Yes. Of course, she would.

But what did she mean by Solaria? She cant recognize Solaria from space. Shes never really seen it from space. She was asleep when we left that world in a hurry. And despite her readings in your library, together with whatever Bliss has told her, I imagine she cant really grasp the truth of a Galaxy of hundreds of billions of stars and millions of populated planets. Brought up, as she was, underground and alone, it is all she can do to grasp the bare concept that there are different worldsbut how many? Two? Three? Four? To her any world she sees is likely to be Solaria, and given the strength of her wishful thinking, is Solaria. And since I presume Bliss has tried to quiet her by hinting that if we dont find Earth, well take her back to Solaria, she may even have worked up the notion that Solaria is close to Earth.

But how can you tell this, Golan? What makes you think its so?

She as much as told us so, Janov, when we burst in upon her. She cried out that she wanted to go to Solaria and then added therethere, nodding her head at the viewscreen. And what is on the view-screen? Earths satellite. It wasnt there when I left the machine before dinner; Earth was. But Fallom must have pictured the satellite in her mind when she asked for Solaria, and the computer, in response, must therefore have focused on the satellite. Believe me, Janov, I know how this computer works. Who would know better?

Pelorat looked at the thick crescent of light on the viewscreen and said thoughtfully, It was called moon in at least one of Earths languages; Luna, in another language. Probably many other names, too. Imagine the confusion, old chap, on a world with numerous languagesthe misunderstandings, the complications, the

Moon? said Trevize. Well, thats simple enough. Then, too, come to think of it, it may be that the child tried, instinctively, to move the ship by means of its transducer-lobes, using the ships own energy-source, and that may have helped produce the momentary inertial confusion. But none of that matters, Janov. What does matter is that all this has brought this moonyes, I like the nameto the screen and magnified it, and there it still is. Im looking at it now, and wondering.

Wondering what, Golan?

At the size of it. We tend to ignore satellites, Janov. Theyre such little things, when they exist at all. This one is different, though. Its a world. It has a diameter of about thirty-five hundred kilometers.

A world? Surely you wouldnt call it a world. It cant be habitable. Even a thirty-five-hundred-kilometer diameter is too small. It has no atmosphere. I can tell that just looking at it. No clouds. The circular curve against space is sharp, so is the inner curve that bounds the light and dark hemisphere.

Trevize nodded, Youre getting to be a seasoned space traveler, Janov. Youre right. No air. No water. But that only means the moons not habitable on its unprotected surface. What about underground?

Underground? said Pelorat doubtfully.

Yes. Underground. Why not? Earths cities were underground, you tell me. We know that Trantor was underground. Comporellon has much of its capital city underground. The Solarian mansions were almost entirely underground. Its a very common state of affairs.

But, Golan, in every one of these cases, people were living on a habitable planet. The surface was habitable, too, with an atmosphere and with an ocean. Is it possible to live underground when the surface is uninhabitable?

Come, Janov, think! Where are we living right now? The Far Star is a tiny world that has an uninhabitable surface. Theres no air or water on the outside. Yet we live inside in perfect comfort. The Galaxy is full of space stations and space settlements of infinite variety, to say nothing of spaceships, and theyre all uninhabitable except for the interior. Consider the moon a gigantic spaceship.

With a crew inside?

Yes. Millions of people, for all we know; and plants and animals; and an advanced technology. Look, Janov, doesnt it make sense? If Earth, in its last days, could send out a party of Settlers to a planet orbiting Alpha Centauri; and if, possibly with Imperial help, they could attempt to terraform it, seed its oceans, build dry land where there was none; could Earth not also send a party to its satellite and terraform its interior?

Pelorat said reluctantly, I suppose so.

It would be done. If Earth has something to hide, why send it over a parsec away, when it could be hidden on a world less than a hundred millionth the distance to Alpha. And the moon would be a more efficient hiding place from the psychological standpoint. No one would think of satellites in connection with life. For that matter I didnt. With the moon an inch before my nose, my thoughts went haring off to Alpha. If it hadnt been for Fallom His lips tightened, and he shook his head. I suppose Ill have to credit her for that. Bliss surely will if I dont.

Pelorat said, But see here, old man, if theres something hiding under the surface of the moon, how do we find it? There must be millions of square kilometers of surface

Roughly forty million.

And we would have to inspect all of that, looking for what? An opening? Some sort of airlock?

Trevize said, Put that way, it would seem rather a task, but were not just looking for objects, were looking for life; and for intelligent life at that. And weve got Bliss, and detecting intelligence is her talent, isnt it?

<p>98.</p>

Bliss looked at Trevize accusingly. Ive finally got her to sleep. I had the hardest time. She was wild. Fortunately, I dont think Ive damaged her.

Trevize said coldly, You might try removing her fixation on Jemby, you know, since I certainly have no intention of ever going back to Solaria.

Just remove her fixation, is that it? What do you know about such things, Trevize? Youve never sensed a mind. You havent the faintest idea of its complexity. If you knew anything at all about it, you wouldnt talk about removing a fixation as though it were just a matter of scooping jam out of a jar.

Well, weaken it at least.

I might weaken it a bit, after a month of careful dethreading.

What do you mean, dethreading?

To someone who doesnt know, it cant be explained.

What are you going to do with the child, then?

I dont know yet; it will take a lot of consideration.

In that case, said Trevize, let me tell you what were going to do with the ship.

I know what youre going to do. Its back to New Earth and another try at the lovely Hiroko, if shell promise not to infect you this time.

Trevize kept his face expressionless. He said, No, as a matter of fact. Ive changed my mind. Were going to the moonwhich is the name of the satellite, according to Janov.

The satellite? Because its the nearest world at hand? I hadnt thought of that.

Nor I. Nor would anyone have thought of it. Nowhere in the Galaxy is there a satellite worth thinking aboutbut this satellite, in being large, is unique. Whats more, Earths anonymity covers it as well. Anyone who cant find the Earth cant find the moon, either.

Is it habitable?

Not on the surface, but it is not radioactive, not at all, so it isnt absolutely uninhabitable. It may have lifeit may be teeming with life, in factunder the surface. And, of course, youll be able to tell if thats so, once we get close enough.

Bliss shrugged. Ill try. But, then, what made you suddenly think of trying the satellite?

Trevize said quietly, Something Fallom did when she was at the controls.

Bliss waited, as though expecting more, then shrugged again. Whatever it was, I suspect you wouldnt have gotten the inspiration if you had followed your own impulse and killed her.

I had no intention of killing her, Bliss.

Bliss waved her hand. All right. Let it be. Are we moving toward the moon now?

Yes. As a matter of caution, Im not going too fast, but if all goes well, well be in its vicinity in thirty hours.

<p>99.</p>

The moon was a wasteland. Trevize watched the bright daylit portion drifting past them below. It was a monotonous panorama of crater rings and mountainous areas, and of shadows black against the sunlight. There were subtle color changes in the soil and occasional sizable stretches of flatness, broken by small craters.

As they approached the nightside, the shadows grew longer and finally fused together. For a while, behind them, peaks glittered in the sun, like fat stars, far outshining their brethren in the sky. Then they disappeared and below was only the fainter light of the Earth in the sky, a large bluish-white sphere, a little more than half full. The ship finally outran the Earth, too, which sank beneath the horizon so that under them was unrelieved blackness, and above only the faint powdering of stars, which, to Trevize, who had been brought up on the starless world of Terminus, was always miracle enough.

Then, new bright stars appeared ahead, first just one or two, then others, expanding and thickening and finally coalescing. And at once they passed the terminator into the daylit side. The sun rose with infernal splendor, while the viewscreen shifted away from it at once and polarized the glare of the ground beneath.

Trevize could see quite well that it was useless to hope to find any way into the inhabited interior (if that existed) by mere eye inspection of this perfectly enormous world.

He turned to look at Bliss, who sat beside him. She did not look at the viewscreen; indeed, she kept her eyes closed. She seemed to have collapsed into the chair rather than to be sitting in it.

Trevize, wondering if she were asleep, said softly, Do you detect anything else?

Bliss shook her head very slightly. No, she whispered. There was just that faint whiff. Youd better take me back there. Do you know where that region was?

The computer knows.

It was like zeroing in on a target, shifting this way and that and then finding it. The area in question was still deep in the nightside and, except that the Earth shone fairly low in the sky and gave the surface a ghostly ashen glow between the shadows, there was nothing to make out, even though the light in the pilot-room had been blacked out for better viewing.

Pelorat had approached and was standing anxiously in the doorway. Have we found anything? he asked, in a husky whisper.

Trevize held up his hand for silence. He was watching Bliss. He knew it would be days before sunlight would return to this spot on the moon, but he also knew that for what Bliss was trying to sense, light of any kind was irrelevant.

She said, Its there.

Are you sure?

Yes.

And its the only spot?

Its the only spot Ive detected. Have you been over every part of the moons surface?

Weve been over a respectable fraction of it.

Well, then, in that respectable fraction, this is all I have detected. Its stronger now, as though it has detected us and it doesnt seem dangerous. The feeling I get is a welcoming one.

Are you sure?

Its the feeling I get.

Pelorat said, Could it be faking the feeling?

Bliss said, with a trace of hauteur, I would detect a fake, I assure you.

Trevize muttered something about overconfidence, then said, What you detect is intelligence, I hope.

I detect strong intelligence. Except And an odd note entered her voice.

Except what?

Ssh. Dont disturb me. Let me concentrate. The last word was a mere motion of her lips.

Then she said, in faint elated surprise, Its not human.

Not human, said Trevize, in much stronger surprise. Are we dealing with robots again? As on Solaria?

No. Bliss was smiling. Its not quite robotic, either.

It has to be one or the other.

Neither. She actually chuckled. Its not human, and yet its not like any robot Ive detected before.

Pelorat said, I would like to see that. He nodded his head vigorously, his eyes wide with pleasure. It would be exciting. Something new.

Something new, muttered Trevize with a sudden lift of his own spiritsand a flash of unexpected insight seemed to illuminate the interior of his skull.

<p>100.</p>

Down they sank to the moons surface, in what was almost jubilation. Even Fallom had joined them now and, with the abandonment of a youngster, was hugging herself with unbearable joy as though she were truly returning to Solaria.

As for Trevize, he felt within himself a touch of sanity telling him that it was strange that Earthor whatever of Earth was on the moonwhich had taken such measures to keep off all others, should now be taking measures to draw them in. Could the purpose be the same in either way? Was it a case of If you cant make them avoid you, draw them in and destroy them? Either way, would not Earths secret remain untouched?

But that thought faded and drowned in the flood of joy that deepened steadily as they came closer to the moons surface. Yet over and beyond that, he managed to cling to the moment of illumination that had reached him just before they had begun their gliding dive to the surface of the Earths satellite.

He seemed to have no doubt as to where the ship was going. They were just above the tops of the rolling hills now, and Trevize, at the computer, felt no need to do anything. It was as though he and the computer, both, were being guided, and he felt only an enormous euphoria at having the weight of responsibility taken away from him.

They were sliding parallel to the ground, toward a cliff that raised its menacing height as a barrier against them; a barrier glistening faintly in Earth-shine and in the light-beam of the Far Star. The approach of certain collision seemed to mean nothing to Trevize, and it was with no surprise whatever that he became aware that the section of cliff directly ahead had fallen away and that a corridor, gleaming in artificial light, had opened before them.

The ship slowed to a crawl, apparently of its own accord, and fitted neatly into the openingenteringsliding along The opening closed behind it, and another then opened before it. Through the second opening went the ship, into a gigantic hall that seemed the hollowed interior of a mountain.

The ship halted and all aboard rushed to the airlock eagerly. It occurred to none of them, not even to Trevize, to check whether there might be a breathable atmosphere outsideor any atmosphere at all.

There was air, however. It was breathable and it was comfortable. They looked about themselves with the pleased air of people who had somehow come home and it was only after a while that they became aware of a man who was waiting politely for them to approach.

He was tall, and his expression was grave. His hair was bronze in color, and cut short. His cheekbones were broad, his eyes were bright, and his clothing was rather after the fashion one saw in ancient history books. Although he seemed sturdy and vigorous there was, just the same, an air of weariness about himnot in anything that one could see, but rather in something appealing to no recognizable sense.

It was Fallom who reacted first. With a loud, whistling scream, she ran toward the man, waving her arms and crying, Jemby! Jemby! in a breathless fashion.

She never slackened her pace, and when she was close enough, the man stooped and lifted her high in the air. She threw her arms about his neck, sobbing, and still gasping, Jemby!

The others approached more soberly and Trevize said, slowly and distinctly (could this man understand Galactic?), We ask pardon, sir. This child has lost her protector and is searching for it desperately. How it came to fasten on you is a puzzle to us, since it is seeking a robot; a mechanical

The man spoke for the first time. His voice was utilitarian rather than musical, and there was a faint air of archaism clinging to it, but he spoke Galactic with perfect ease.

I greet you all in friendship, he saidand he seemed unmistakably friendly, even though his face continued to remain fixed in its expression of gravity. As for this child, he went on, she shows perhaps a greater perceptivity than you think, for I am a robot. My name is Daneel Olivaw.

<p>21</p> <p>THE SEARCH ENDS</p>
<p>101.</p>

Trevize found himself in a complete state of disbelief. He had recovered from the odd euphoria he had felt just before and after the landing on the moona euphoria, he now suspected, that had been imposed on him by this self-styled robot who now stood before him.

Trevize was still staring, and in his now perfectly sane and untouched mind, he remained lost in astonishment. He had talked in astonishment, made conversation in astonishment, scarcely understood what he said or heard as he searched for something in the appearance of this apparent man, in his behavior, in his manner of speaking, that bespoke the robot.

No wonder, thought Trevize, that Bliss had detected something that was neither human nor robot, but, that was, in Pelorats words, something new. Just as well, of course, for it had turned Trevizes thoughts into another and more enlightening channelbut even that was now crowded into the back of his mind.

Bliss and Fallom had wandered off to explore the grounds. It had been Blisss suggestion, but it seemed to Trevize that it came after a lightning-quick glance had been exchanged between herself and Daneel. When Fallom refused and asked to stay with the being she persisted in calling Jemby, a grave word from Daneel and a lift of the finger was enough to cause her to trot off at once. Trevize and Pelorat remained.

They are not Foundationers, sirs, said the robot, as though that explained it all. One is Gaia and one is a Spacer.

Trevize remained silent while they were led to simply designed chairs under a tree. They seated themselves, at a gesture from the robot, and when he sat down, too, in a perfectly human movement, Trevize said, Are you truly a robot?

Truly, sir, said Daneel.

Pelorats face seemed to shine with joy. He said, There are references to a robot named Daneel in the old legends. Are you named in his honor?

I am that robot, said Daneel. It is not a legend.

Oh no, said Pelorat. If you are that robot, you would have to be thousands of years old.

Twenty thousand, said Daneel quietly.

Pelorat seemed abashed at that, and glanced at Trevize, who said, with a touch of anger, If you are a robot, I order you to speak truthfully.

I do not need to be told to speak truthfully, sir. I must do so. You are faced then, sir, with three alternatives. Either I am a man who is lying to you; or I am a robot who has been programmed to believe that it is twenty thousand years old but, in fact, is not; or I am a robot who is twenty thousand years old. You must decide which alternative to accept.

The matter may decide itself with continued conversation, said Trevize dryly. For that matter, it is hard to believe that this is the interior of the moon. Neither the lighthe looked up as he said that, for the light was precisely that of soft, diffuse sunlight, though no sun was in the sky, and, for that matter, no sky was clearly visiblenor the gravity seems credible. This world should have a surface gravity of less than 0.2g.

The normal surface gravity would be 0.16g actually, sir. It is built up, however, by the same forces that give you, on your ship, the sensation of normal gravity, even when you are in free fall, or under acceleration. Other energy needs, including the light, are also met gravitically, though we use solar energy where that is convenient. Our material needs are all supplied by the moons soil, except for the light elementshydrogen, carbon, and nitrogenwhich the moon does not possess. We obtain those by capturing an occasional comet. One such capture a century is more than enough to supply our needs.

I take it Earth is useless as a source of supply.

Unfortunately, that is so, sir. Our positronic brains are as sensitive to radioactivity as human proteins are.

You use the plural, and this mansion before us seems, large, beautiful, and elaborateat least as seen from the outside. There are then other beings on the moon. Humans? Robots?

Yes, sir. We have a complete ecology on the moon and a vast and complex hollow within which that ecology exists. The intelligent beings are all robots, however, more or less like myself. You will see none of them, however. As for this mansion, it is used by myself only and it is an establishment that is modeled exactly on one I used to live in twenty thousand years ago.

Which you remember in detail, do you?

Perfectly, sir. I was manufactured, and existed for a timehow brief a time it seems to me, nowon the Spacer world of Aurora.

The one with the Trevize paused.

Yes, sir. The one with the dogs.

You know about that?

Yes, sir.

How do you come to be here, then, if you lived at first on Aurora?

Sir, it was to prevent the creation of a radioactive Earth that I came here in the very beginnings of the settlement of the Galaxy. There was another robot with me, named Giskard, who could sense and adjust minds.

As Bliss can?

Yes, sir. We failed, in a way, and Giskard ceased to operate. Before the cessation, however, he made it possible for me to have his talent and left it to me to care for the Galaxy; for Earth, particularly.

Why Earth, particularly?

In part because of a man named Elijah Baley, an Earthman.

Pelorat put in excitedly, He is the culture-hero I mentioned some time ago, Golan.

A culture-hero, sir?

What Dr.Pelorat means, said Trevize, is that he is a person to whom much was attributed, and who may have been an amalgamation of many men in actual history, or who may be an invented person altogether.

Daneel considered for a moment, and then said, quite calmly, That is not so, sirs. Elijah Baley was a real man and he was one man. I do not know what your legends say of him, but in actual history, the Galaxy might never have been settled without him. In his honor, I did my best to salvage what I could of Earth after it began to turn radioactive. My fellow-robots were distributed over the Galaxy in an effort to influence a person herea person there. At one time I maneuvered a beginning to the recycling of Earths soil. At another much later time, I maneuvered a beginning to the terraforming of a world circling the nearby star, now called Alpha. In neither case was I truly successful. I could never adjust human minds entirely as I wished, for there was always the chance that I might do harm to the various humans who were adjusted. I was bound, you seeand am bound to this dayby the Laws of Robotics.

Yes?

It did not necessarily take a being with Daneels mental power to detect uncertainty in that monosyllable.

The First Law, he said, is this, sir: A robot may not injure a human being or, through inaction, allow a human being to come to harm. The Second Law: A robot must obey the orders given it by human beings except where such orders would conflict with the First Law. The Third Law: A robot must protect its own existence, as long as such protection does not conflict with the First or Second Law. Naturally, I give you these laws in the approximation of language. In actual fact they represent complicated mathematical configurations of our positronic brain-paths.

Do you find it difficult to deal with those Laws?

I must, sir. The First Law is an absolute that almost forbids the use of my mental talents altogether. When dealing with the Galaxy it is not likely that any course of action will prevent harm altogether. Always, some people, perhaps many people, will suffer, so that a robot must choose minimum harm. Yet, the complexity of possibilities is such that it takes time to make that choice and one is, even then, never certain.

I see that, said Trevize.

All through Galactic history, said Daneel, I tried to ameliorate the worst aspects of the strife and disaster that perpetually made itself felt in the Galaxy. I may have succeeded, on occasion, and to some extent, but if you know your Galactic history, you will know that I did not succeed often, or by much.

That much I know, said Trevize, with a wry smile.

Just before Giskards end, he conceived of a robotic law that superseded even the first. We called it the Zeroth Law out of an inability to think of any other name that made sense. The Zeroth Law is: A robot may not injure humanity or, through inaction, allow humanity to come to harm. This automatically means that the First Law must be modified to be: A robot may not injure a human being, or, through inaction, allow a human being to come to harm, except where that would conflict with the Zeroth Law. And similar modifications must be made in the Second and Third Laws.

Trevize frowned. How do you decide what is injurious, or not injurious, to humanity as a whole?

Precisely, sir, said Daneel. In theory, the Zeroth Law was the answer to our problems. In practice, we could never decide. A human being is a concrete object. Injury to a person can be estimated and judged. Humanity is an abstraction. How do we deal with it?

I dont know, said Trevize.

Wait, said Pelorat. You could convert humanity into a single organism. Gaia.

That is what I tried to do, sir. I engineered the founding of Gaia. If humanity could be made a single organism, it would become a concrete object, and it could be dealt with. It was, however, not as easy to create a superorganism as I had hoped. In the first place, it could not be done unless human beings valued the superorganism more than their individuality, and I had to find a mind-cast that would allow that. It was a long time before I thought of the Laws of Robotics.

Ah, then, the Gaians are robots. I had suspected that from the start.

In that case, you suspected incorrectly, sir. They are human beings, but they have brains firmly inculcated with the equivalent of the Laws of Robotics. They have to value life, really value it. And even after that was done, there remained a serious flaw. A superorganism consisting of human beings only is unstable. It cannot be set up. Other animals must be addedthen plantsthen the inorganic world. The smallest superorganism that is truly stable is an entire world, and a world large enough and complex enough to have a stable ecology. It took a long time to understand this, and it is only in this last century that Gaia was fully established and that it became ready to move on toward Galaxiaand, even so, that will take a long time, too. Perhaps not as long as the road already traveled, however, since we now know the rules.

But you needed me to make the decision for you. Is that it, Daneel?

Yes, sir. The Laws of Robotics would not allow me, nor Gaia, to make the decision and chance harm to humanity. And meanwhile, five centuries ago, when it seemed that I would never work out methods for getting round all the difficulties that stood in the way of establishing Gaia, I turned to the second-best and helped bring about the development of the science of psychohistory.

I might have guessed that, mumbled Trevize. You know, Daneel, Im beginning to believe you are twenty thousand years old.

Thank you, sir.

Pelorat said, Wait a while. I think I see something. Are you part of Gaia yourself, Daneel? Would that be how you knew about the dogs on Aurora? Through Bliss?

Daneel said, In a way, sir, you are correct. I am associated with Gaia, though I am not part of it.

Trevizes eyebrows went up. That sounds like Comporellon, the world we visited immediately after leaving Gaia. It insists it is not part of the Foundation Confederation, but is only associated with it.

Slowly, Daneel nodded. I suppose that analogy is apt, sir. I can, as an associate of Gaia, make myself aware of what Gaia is aware ofin the person of the woman, Bliss, for instance. Gaia, however, cannot make itself aware of what I am aware of, so that I maintain my freedom of action. That freedom of action is necessary until Galaxia is well established.

Trevize looked steadily at the robot for a moment, then said, And did you use your awareness through Bliss in order to interfere with events on our journey to mold them to your better liking?

Daneel sighed in a curiously human fashion. I could not do much, sir. The Laws of Robotics always hold me back. And yet, I lightened the load on Blisss mind, taking a small amount of added responsibility on myself, so that she might deal with the wolves of Aurora and the Spacer on Solaria with greater dispatch and with less harm to herself. In addition, I influenced the woman on Comporellon and the one on New Earth, through Bliss, in order to have them look with favor on you, so that you might continue on your journey.

Trevize smiled, half-sadly. I ought to have known it wasnt I.

Daneel accepted the statement without its rueful self-deprecation. On the contrary, sir, he said, it was you in considerable part. Each of the two women looked with favor upon you from the start. I merely strengthened the impulse already presentabout all one can safely do under the strictures of the Laws of Robotics. Because of those stricturesand for other reasons as wellit was only with great difficulty that I brought you here, and only indirectly. I was in great danger at several points of losing you.

And now I am here, said Trevize. What is it you want of me? To confirm my decision in favor of Galaxia?

Daneels face, always expressionless, somehow managed to seem despairing. No, sir. The mere decision is no longer enough. I brought you here, as best I could in my present condition, for something far more desperate. I am dying.

<p>102.</p>

Perhaps it was because of the matter-of-fact way in which Daneel said it; or perhaps because a lifetime of twenty thousand years made death seem no tragedy to one doomed to live less than half a percent of that period; but, in any case, Trevize felt no stir of sympathy.

Die? Can a machine die?

I can cease to exist, sir. Call it by whatever word you wish. I am old. Not one sentient being in the Galaxy that was alive when I was first given consciousness is still alive today; nothing organic; nothing robotic. Even I myself lack continuity.

In what way?

There is no physical part of my body, sir, that has escaped replacement, not only once but many times. Even my positronic brain has been replaced on five different occasions. Each time the contents of my earlier brain were etched into the newer one to the last positron. Each time, the new brain had a greater capacity and complexity than the old, so that there was room for more memories, and for faster decision and action. But

But?

The more advanced and complex the brain, the more unstable it is, and the more quickly it deteriorates. My present brain is a hundred thousand times as sensitive as my first, and has ten million times the capacity; but whereas my first brain endured for over ten thousand years, the present one is but six hundred years old and is unmistakably senescent. With every memory of twenty thousand years perfectly recorded and with a perfect recall mechanism in place, the brain is filled. There is a rapidly declining ability to reach decisions; an even more rapidly declining ability to test and influence minds at hyperspatial distances. Nor can I design a sixth brain. Further miniaturization will run against the blank wall of the uncertainty principle, and further complexity will but assure decay almost at once.

Pelorat seemed desperately troubled. But surely, Daneel, Gaia can carry on without you. Now that Trevize has judged and selected Galaxia

The process simply took too long, sir, said Daneel, as always betraying no emotion. I had to wait for Gaia to be fully established, despite the unanticipated difficulties that arose. By the time a human beingMr.Trevizewas located who was capable of making the key decision, it was too late. Do not think, however, that I took no measure to lengthen my life span. Little by little I have reduced my activities, in order to conserve what I could for emergencies. When I could no longer rely on active measures to preserve the isolation of the Earth/moon system, I adopted passive ones. Over a period of years, the humaniform robots that have been working with me have been, one by one, called home. Their last tasks have been to remove all references to Earth in the planetary archives. And without myself and my fellow-robots in full play, Gaia will lack the essential tools to carry through the development of Galaxia in less than an inordinate period of time.

And you knew all this, said Trevize, when I made my decision?

A substantial time before, sir, said Daneel. Gaia, of course, did not know.

But then, said Trevize angrily, what was the use of carrying through the charade? What good has it been? Ever since my decision, I have scoured the Galaxy, searching for Earth and what I thought of as its secretnot knowing the secret was youin order that I might confirm the decision. Well, I have confirmed it. I know now that Galaxia is absolutely essentialand it appears to be all for nothing. Why could you not have left the Galaxy to itselfand me to myself?

Daneel said, Because, sir, I have been searching for a way out, and I have been carrying on in the hope that I might find one. I think I have. Instead of replacing my brain with yet another positronic one, which is impractical, I might merge it with a human brain instead; a human brain that is not affected by the Three Laws, and will not only add capacity to my brain, but add a whole new level of abilities as well. That is why I have brought you here.

Trevize looked appalled. You mean you plan to merge a human brain into yours? Have the human brain lose its individuality so that you can achieve a two-brain Gaia?

Yes, sir. It would not make me immortal, but it might enable me to live long enough to establish Galaxia.

And you brought me here for that? You want my independence of the Three Laws and my sense of judgment made part of you at the price of my individuality? No!

Daneel said, Yet you said a moment ago that Galaxia is essential for the welfare of the human

Even if it is, it would take a long time to establish, and I would remain an individual in my lifetime. On the other hand, if it were established rapidly, there would be a Galactic loss of individuality and my own loss would be part of an unimaginably greater whole. I would, however, certainly never consent to lose my individuality while the rest of the Galaxy retains theirs.

Daneel said, It is, then, as I thought. Your brain would not merge well and, in any case, it would serve a better purpose if you retained an independent judgmental ability.

When did you change your mind? You said that it was for merging that you brought me here.

Yes, and only by using the fullest extent of my greatly diminished powers. Still, when I said, That is why I have brought you here, please remember that in Galactic Standard, the word you represents the plural as well as the singular. I was referring to all of you.

Pelorat stiffened in his seat. Indeed? Tell me then, Daneel, would a human brain that was merged with your brain share in all your memoriesall twenty thousand years of it, back to legendary times?

Certainly, sir.

Pelorat drew a long breath. That would fulfill a lifetime search, and it is something I would gladly give up my individuality for. Please let me have the privilege of sharing your brain.

Trevize asked softly, And Bliss? What about her?

Pelorat hesitated for no more than a moment. Bliss will understand, he said. She will, in any case, be better off without meafter a while.

Daneel shook his head. Your offer, Dr.Pelorat, is a generous one, but I cannot accept it. Your brain is an old one and it cannot survive for more than two or three decades at best, even in a merger with my own. I need something else. See! He pointed and said, Ive called her back.

Bliss was returning, walking happily, with a bounce to her steps.

Pelorat rose convulsively to his feet. Bliss! Oh no!

Do not be alarmed, Dr.Pelorat, said Daneel. I cannot use Bliss. That would merge me with Gaia, and I must remain independent of Gaia, as I have already explained.

But in that case, said Pelorat, who

And Trevize, looking at the slim figure running after Bliss, said, The robot has wanted Fallom all along, Janov.

<p>103.</p>

Bliss returned, smiling, clearly in a state of great pleasure.

We couldnt pass beyond the bounds of the estate, she said, but it all reminded me very much of Solaria. Fallom, of course, is convinced it is Solaria. I asked her if she didnt think that Daneel had an appearance different from that of Jembyafter all, Jemby was metallicand Fallom said, No, not really. I dont know what she meant by not really.?

She looked across to the middle distance where Fallom was now playing her flute for a grave Daneel, whose head nodded in time. The sound reached them, thin, clear, and lovely.

Did you know she took the flute with her when we left the ship? asked Bliss. I suspect we wont be able to get her away from Daneel for quite a while.

The remark was met with a heavy silence, and Bliss looked at the two men in quick alarm. Whats the matter?

Trevize gestured gently in Pelorats direction. It was up to him, the gesture seemed to say.

Pelorat cleared his throat and said, Actually, Bliss, I think that Fallom will be staying with Daneel permanently.

Indeed? Bliss, frowning, made as though to walk in Daneels direction, but Pelorat caught her arm. Bliss dear, you cant. Hes more powerful than Gaia even now, and Fallom must stay with him if Galaxia is to come into existence. Let me explainand, Golan, please correct me if I get anything wrong.

Bliss listened to the account, her expression sinking into something close to despair.

Trevize said, in an attempt at cool reason, You see how it is, Bliss. The child is a Spacer and Daneel was designed and put together by Spacers. The child was brought up by a robot and knew nothing else on an estate as empty as this one. The child has transductive powers which Daneel will need, and she will live for three or four centuries, which may be what is required for the construction of Galaxia.

Bliss said, her cheeks flushed and her eyes moist, I suppose that the robot maneuvered our trip to Earth in such a way as to make us pass through Solaria in order to pick up a child for his use.

Trevize shrugged. He may simply have taken advantage of the opportunity. I dont think his powers are strong enough at the moment to make complete puppets of us at hyperspatial distances.

No. It was purposeful. He made certain that I would feel strongly attracted to the child so that I would take her with me, rather than leave her to be killed; that I would protect her even against you when you showed nothing but resentment and annoyance at her being with us.

Trevize said, That might just as easily have been your Gaian ethics, which Daneel could have strengthened a bit, I suppose. Come, Bliss, theres nothing to be gained. Suppose you could take Fallom away. Where could you then take her that would make her as happy as she is here? Would you take her back to Solaria where she would be killed quite pitilessly; to some crowded world where she would sicken and die; to Gaia, where she would wear her heart out longing for Jemby; on an endless voyage through the Galaxy, where she would think that every world we came across was her Solaria? And would you find a substitute for Daneels use so that Galaxia could be constructed?

Bliss was sadly silent.

Pelorat held out his hand to her, a bit timidly. Bliss, he said, I volunteered to have my brain fused with Daneels. He wouldnt take it because he said I was too old. I wish he had, if that would have saved Fallom for you.

Bliss took his hand and kissed it. Thank you, Pel, but the price would be too high, even for Fallom. She took a deep breath, and tried to smile. Perhaps, when we get back to Gaia, room will be found in the global organism for a child for meand I will place Fallom in the syllables of its name.

And now Daneel, as though aware that the matter was settled, was walking toward them, with Fallom skipping along at his side.

The youngster broke into a run and reached them first. She said to Bliss, Thank you, Bliss, for taking me home to Jemby again and for taking care of me while we were on the ship. I shall always remember you. Then she flung herself at Bliss and the two held each other tightly.

I hope you will always be happy, said Bliss. I will remember you, too, Fallom dear, and released her with reluctance.

Fallom turned to Pelorat, and said, Thank you, too, Pel, for letting me read your book-films. Then, without an additional word, and after a trace of hesitation, the thin, girlish hand was extended to Trevize. He took it for a moment, then let it go.

Good luck, Fallom, he muttered.

Daneel said, I thank you all, sirs and madam, for what you have done, each in your own way. You are free to go now, for your search is ended. As for my own work, it will be ended, too, soon enough, and successfully now.

But Bliss said, Wait, we are not quite through. We dont know yet whether Trevize is still of the mind that the proper future for humanity is Galaxia, as opposed to a vast conglomeration of Isolates.

Daneel said, He has already made that clear a while ago, madam. He has decided in favor of Galaxia.

Blisss lips tightened. Id rather hear that from him. Which is it to be, Trevize?

Trevize said calmly, Which do you want it to be, Bliss? If I decide against Galaxia, you may get Fallom back.

Bliss said, I am Gaia. I must know your decision, and its reason, for the sake of the truth and nothing else.

Daneel said, Tell her, sir. Your mind, as Gaia is aware, is untouched.

And Trevize said, The decision is for Galaxia. There is no further doubt in my mind on that point.

<p>104.</p>

Bliss remained motionless for the time one might take to count to fifty at a moderate rate, as though she were allowing the information to reach all parts of Gaia, and then she said, Why?

Trevize said, Listen to me. I knew from the start that there were two possible futures for humanity Galaxia, or else the Second Empire of Seldons Plan. And it seemed to me that those two possible futures were mutually exclusive. We couldnt have Galaxia unless, for some reason, Seldons Plan had some fundamental flaw in it.

Unfortunately, I knew nothing about Seldons Plan except for the two axioms on which it is based: one, that there be involved a large enough number of human beings to allow humanity to be treated statistically as a group of individuals interacting randomly; and second, that humanity not know the results of psychohistorical conclusions before the results are achieved.

Since I had already decided in favor of Galaxia, I felt I must be subliminally aware of flaws in Seldons Plan, and those flaws could only be in the axioms, which were all I knew of the plan. Yet I could see nothing wrong with the axioms. I strove, then, to find Earth, feeling that Earth could not be so thoroughly hidden for no purpose. I had to find out what that purpose was.

I had no real reason to expect to find a solution once I found Earth, but I was desperate and could think of nothing else to do. And perhaps Daneels desire for a Solarian child helped drive me.

In any case, we finally reached Earth, and then the moon, and Bliss detected Daneels mind, which he, of course, was deliberately reaching out to her. She described that mind as neither quite human nor quite robotic. In hindsight, that proved to make sense, for Daneels brain is far advanced beyond any robot that ever existed, and would not be sensed as simply robotic. Neither would it be sensed as human, however. Pelorat referred to it as something new and that served as a trigger for something new of my own; a new thought.

Just as, long ago, Daneel and his colleague worked out a fourth law of robotics that was more fundamental than the other three, so I could suddenly see a third basic axiom of psychohistory that was more fundamental than the other two; a third axiom so fundamental that no one ever bothered to mention it.

Here it is. The two known axioms deal with human beings, and they are based on the unspoken axiom that human beings are the only intelligent species in the Galaxy, and therefore the only organisms whose actions are significant in the development of society and history. That is the unstated axiom: that there is only one species of intelligence in the Galaxy and that it is Homo sapiens. If there were something new, if there were other species of intelligence widely different in nature, then their behavior would not be described accurately by the mathematics of psychohistory and Seldons Plan would have no meaning. Do you see?

Trevize was almost shaking with the earnest desire to make himself understood. Do you see? he repeated.

Pelorat said, Yes, I see, but as devils advocate, old chap

Yes? Go on.

Human beings are the only intelligences in the Galaxy.

Robots? said Bliss. Gaia?

Pelorat thought awhile, then said hesitantly, Robots have played no significant role in human history since the disappearance of the Spacers. Gaia has played no significant role until very recently. Robots are the creation of human beings, and Gaia is the creation of robotsand both robots and Gaia, insofar as they must be bound by the Three Laws, have no choice but to yield to human will. Despite the twenty thousand years Daneel has labored, and the long development of Gaia, a single word from Golan Trevize, a human being, would put an end to both those labors and that development. It follows, then, that humanity is the only significant species of intelligence in the Galaxy, and psychohistory remains valid.

The only form of intelligence in the Galaxy, repeated Trevize slowly. I agree. Yet we speak so much and so often of the Galaxy that it is all but impossible for us to see that this is not enough. The Galaxy is not the Universe. There are other galaxies.

Pelorat and Bliss stirred uneasily. Daneel listened with benign gravity, his hand slowly stroking Falloms hair.

Trevize said, Listen to me again. Just outside the Galaxy are the Magellanic Clouds, where no human ship has ever penetrated. Beyond that are other small galaxies, and not very far away is the giant Andromeda Galaxy, larger than our own. Beyond that are galaxies by the billions.

Our own Galaxy has developed only one species of an intelligence great enough to develop a technological society, but what do we know of the other galaxies? Ours may be atypical. In some of the othersperhaps even in allthere may be many competing intelligent species, struggling with each other, and each incomprehensible to us. Perhaps it is their mutual struggle that preoccupies them, but what if, in some galaxy, one species gains domination over the rest and then has time to consider the possibility of penetrating other galaxies.

Hyperspatially, the Galaxy is a pointand so is all the Universe. We have not visited any other galaxy, and, as far as we know, no intelligent species from another galaxy has ever visited usbut that state of affairs may end someday. And if the invaders come, they are bound to find ways of turning some human beings against other human beings. We have so long had only ourselves to fight that we are used to such internecine quarrels. An invader that finds us divided against ourselves will dominate us all, or destroy us all. The only true defense is to produce Galaxia, which cannot be turned against itself and which can meet invaders with maximum power.

Bliss said, The picture you paint is a frightening one. Will we have time to form Galaxia?

Trevize looked up, as though to penetrate the thick layer of moonrock that separated him from the surface and from space; as though to force himself to see those far distant galaxies, moving slowly through unimaginable vistas of space.

He said, In all human history, no other intelligence has impinged on us, to our knowledge. This need only continue a few more centuries, perhaps little more than one ten thousandth of the time civilization has already existed, and we will be safe. After all, and here Trevize felt a sudden twinge of trouble, which he forced himself to disregard, it is not as though we had the enemy already here and among us.

And he did not look down to meet the brooding eyes of Fallomhermaphroditic, transductive, differentas they rested, unfathomably, on him.

<p>ABOUT THE AUTHOR</p>

Isaac Asimov began his Foundation series at the age of twenty-one, not realizing that it would one day be considered a cornerstone of science fiction. During his legendary career, Asimov penned over 470 books on subjects ranging from science to Shakespeare to history, though he was most loved for his award-winning science fiction sagas, which include the Robot, Empire, and Foundation series. Named a Grand Master of Science Fiction by the Science Fiction Writers of America, Asimov entertained and educated readers of all ages for close to five decades. He died, at the age of seventy-two, in April 1992.

sphinx-2.2.11-release/test/test_129/0000755000175000017500000000000012743402012016410 5ustar alexeyalexeysphinx-2.2.11-release/test/test_129/test.xml0000644000175000017500000000335012743402012020112 0ustar alexeyalexey MVA updates indexer { mem_limit = 16M } searchd { } source src { type = mysql sql_query = SELECT id, text, mva, tag FROM test_table sql_attr_multi = uint mva from field sql_attr_multi = bigint mva from field sql_attr_uint = tag } index idx { source = src path = /main docinfo = extern } Query ( "" ); if ( !$results[0] ) { $results = false; // maybe its temporary; lets retry return; } for ( $i=0; $i<2; $i++ ) { $updata = null; if ( $i==0 ) $updata = array(1=>array(1001), 3=>array(3001), 2=>array(2001)); else $updata = array(1=>array(array(101)), 3=>array(array(301, 302, 303)),2=>array(array(201, 202))); $up = $client->UpdateAttributes ( "idx", array("mva"), $updata, $i==1 ); $results[] = sprintf("up.count=%d", $up); $results[] = $client->Query ( "" ); } // final fixup; we don't want to compare times for ( $i=0; $i CREATE TABLE `test_table` ( `id` int(11), `text` varchar(255) NOT NULL, `mva` varchar(255) NOT NULL, `tag` int(11) ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'test1', '1', 11 ), ( 2, 'test2', '2,3', 22 ), ( 3, 'test3', '4,5,6', 33 ), ( 4, 'test4', '7,8,9,10', 44 ), ( 5, 'test5', '', 55 ) sphinx-2.2.11-release/test/test_129/model.bin0000644000175000017500000001033012743402012020177 0ustar alexeyalexeya:2:{i:0;a:1:{i:0;a:5:{i:0;a:5:{s:5:"error";s:0:"";s:5:"attrs";a:2:{s:3:"mva";i:1073741825;s:3:"tag";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:1:{i:0;s:1:"1";}s:3:"tag";s:2:"11";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:2:{i:0;s:1:"2";i:1;s:1:"3";}s:3:"tag";s:2:"22";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:3:{i:0;s:1:"4";i:1;s:1:"5";i:2;s:1:"6";}s:3:"tag";s:2:"33";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:4:{i:0;s:1:"7";i:1;s:1:"8";i:2;s:1:"9";i:3;s:2:"10";}s:3:"tag";s:2:"44";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:0:{}s:3:"tag";s:2:"55";}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";}i:1;s:11:"up.count=-1";i:2;a:5:{s:5:"error";s:0:"";s:5:"attrs";a:2:{s:3:"mva";i:1073741825;s:3:"tag";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:1:{i:0;s:1:"1";}s:3:"tag";s:2:"11";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:2:{i:0;s:1:"2";i:1;s:1:"3";}s:3:"tag";s:2:"22";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:3:{i:0;s:1:"4";i:1;s:1:"5";i:2;s:1:"6";}s:3:"tag";s:2:"33";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:4:{i:0;s:1:"7";i:1;s:1:"8";i:2;s:1:"9";i:3;s:2:"10";}s:3:"tag";s:2:"44";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:0:{}s:3:"tag";s:2:"55";}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";}i:3;s:10:"up.count=3";i:4;a:5:{s:5:"error";s:0:"";s:5:"attrs";a:2:{s:3:"mva";i:1073741825;s:3:"tag";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:1:{i:0;s:3:"101";}s:3:"tag";s:2:"11";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:2:{i:0;s:3:"201";i:1;s:3:"202";}s:3:"tag";s:2:"22";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:3:{i:0;s:3:"301";i:1;s:3:"302";i:2;s:3:"303";}s:3:"tag";s:2:"33";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:4:{i:0;s:1:"7";i:1;s:1:"8";i:2;s:1:"9";i:3;s:2:"10";}s:3:"tag";s:2:"44";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:0:{}s:3:"tag";s:2:"55";}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";}}}i:1;a:1:{i:0;a:5:{i:0;a:5:{s:5:"error";s:0:"";s:5:"attrs";a:2:{s:3:"mva";i:1073741825;s:3:"tag";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:1:{i:0;s:1:"1";}s:3:"tag";s:2:"11";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:2:{i:0;s:1:"2";i:1;s:1:"3";}s:3:"tag";s:2:"22";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:3:{i:0;s:1:"4";i:1;s:1:"5";i:2;s:1:"6";}s:3:"tag";s:2:"33";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:4:{i:0;s:1:"7";i:1;s:1:"8";i:2;s:1:"9";i:3;s:2:"10";}s:3:"tag";s:2:"44";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:0:{}s:3:"tag";s:2:"55";}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";}i:1;s:11:"up.count=-1";i:2;a:5:{s:5:"error";s:0:"";s:5:"attrs";a:2:{s:3:"mva";i:1073741825;s:3:"tag";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:1:{i:0;s:1:"1";}s:3:"tag";s:2:"11";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:2:{i:0;s:1:"2";i:1;s:1:"3";}s:3:"tag";s:2:"22";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:3:{i:0;s:1:"4";i:1;s:1:"5";i:2;s:1:"6";}s:3:"tag";s:2:"33";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:4:{i:0;s:1:"7";i:1;s:1:"8";i:2;s:1:"9";i:3;s:2:"10";}s:3:"tag";s:2:"44";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:0:{}s:3:"tag";s:2:"55";}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";}i:3;s:10:"up.count=3";i:4;a:5:{s:5:"error";s:0:"";s:5:"attrs";a:2:{s:3:"mva";i:1073741825;s:3:"tag";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:1:{i:0;s:3:"101";}s:3:"tag";s:2:"11";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:2:{i:0;s:3:"201";i:1;s:3:"202";}s:3:"tag";s:2:"22";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:3:{i:0;s:3:"301";i:1;s:3:"302";i:2;s:3:"303";}s:3:"tag";s:2:"33";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:4:{i:0;s:1:"7";i:1;s:1:"8";i:2;s:1:"9";i:3;s:2:"10";}s:3:"tag";s:2:"44";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:0:{}s:3:"tag";s:2:"55";}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";}}}}sphinx-2.2.11-release/test/test_128/0000755000175000017500000000000012743402012016407 5ustar alexeyalexeysphinx-2.2.11-release/test/test_128/test.xml0000644000175000017500000000220412743402012020106 0ustar alexeyalexey indexing ranged stored procedures indexer { mem_limit = 16M } searchd { } source test { type = mysql sql_query_range = SELECT 1, 3 sql_range_step = 1 sql_query = CALL test_proc($start+$end-$end-1) sql_attr_uint = gid } index test { source = test path = /test } create procedure test_proc (in base int) begin select * from test_table where id=2*base or id=2*base+1; end create table test_table ( id int not null, gid int not null, title varchar(255) not null ); drop procedure if exists test_proc; drop table if exists test_table; insert into test_table values ( 1, 100, 'hello one' ); insert into test_table values ( 2, 200, 'hello two' ); insert into test_table values ( 3, 300, 'hello three' ); insert into test_table values ( 4, 400, 'hello four' ); hello sphinx-2.2.11-release/test/test_128/model.bin0000644000175000017500000000123112743402012020176 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:1:{s:3:"gid";s:3:"100";}}i:2;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:1:{s:3:"gid";s:3:"200";}}i:3;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:1:{s:3:"gid";s:3:"300";}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:1:{s:3:"gid";s:3:"400";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.012";s:5:"words";a:1:{s:5:"hello";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"hello";}}}sphinx-2.2.11-release/test/test_127/0000755000175000017500000000000012743402012016406 5ustar alexeyalexeysphinx-2.2.11-release/test/test_127/test.xml0000644000175000017500000001410112743402012020104 0ustar alexeyalexey RT: repeated delete indexer { mem_limit = 16M } searchd { workers = threads binlog_path = } index rt { type = rt path = data/rt rt_attr_uint = id1 rt_field = title } insert into rt (id, id1, title) values (1, 1, 'test text') delete from rt where id=1 delete from rt where id=1 insert into rt (id, id1, title) values (2, 2, 'test text') delete from rt where id=2 delete from rt where id=2 set autocommit=0 insert into rt (id, id1, title) values (10, 10, 'test text all') insert into rt (id, id1, title) values (110, 110, 'test text all') commit insert into rt (id, id1, title) values (11, 11, 'test text all') insert into rt (id, id1, title) values (111, 111, 'test text all') commit insert into rt (id, id1, title) values (12, 12, 'test text all') insert into rt (id, id1, title) values (112, 112, 'test text all') commit insert into rt (id, id1, title) values (13, 13, 'test text all') insert into rt (id, id1, title) values (113, 113, 'test text all') commit insert into rt (id, id1, title) values (14, 14, 'test text all') insert into rt (id, id1, title) values (114, 114, 'test text all') commit insert into rt (id, id1, title) values (15, 15, 'test text all') insert into rt (id, id1, title) values (115, 115, 'test text all') commit insert into rt (id, id1, title) values (16, 16, 'test text all') insert into rt (id, id1, title) values (116, 116, 'test text all') commit insert into rt (id, id1, title) values (17, 17, 'test text all') insert into rt (id, id1, title) values (117, 117, 'test text all') commit insert into rt (id, id1, title) values (18, 18, 'test text all') insert into rt (id, id1, title) values (118, 118, 'test text all') commit insert into rt (id, id1, title) values (19, 19, 'test text all') insert into rt (id, id1, title) values (119, 119, 'test text all') commit insert into rt (id, id1, title) values (20, 20, 'test text all') insert into rt (id, id1, title) values (120, 120, 'test text all') commit insert into rt (id, id1, title) values (21, 21, 'test text all') insert into rt (id, id1, title) values (121, 121, 'test text all') commit insert into rt (id, id1, title) values (22, 22, 'test text all') insert into rt (id, id1, title) values (122, 122, 'test text all') commit insert into rt (id, id1, title) values (23, 23, 'test text all') insert into rt (id, id1, title) values (123, 123, 'test text all') commit insert into rt (id, id1, title) values (24, 24, 'test text all') insert into rt (id, id1, title) values (124, 124, 'test text all') commit insert into rt (id, id1, title) values (25, 25, 'test text all') insert into rt (id, id1, title) values (125, 125, 'test text all') commit insert into rt (id, id1, title) values (26, 26, 'test text all') insert into rt (id, id1, title) values (126, 126, 'test text all') commit insert into rt (id, id1, title) values (27, 27, 'test text all') insert into rt (id, id1, title) values (127, 127, 'test text all') commit insert into rt (id, id1, title) values (28, 28, 'test text all') insert into rt (id, id1, title) values (128, 128, 'test text all') commit insert into rt (id, id1, title) values (29, 29, 'test text all') insert into rt (id, id1, title) values (129, 129, 'test text all') commit insert into rt (id, id1, title) values (30, 30, 'test text all') insert into rt (id, id1, title) values (130, 130, 'test text all') commit insert into rt (id, id1, title) values (31, 31, 'test text all') insert into rt (id, id1, title) values (131, 131, 'test text all') commit insert into rt (id, id1, title) values (32, 32, 'test text all') insert into rt (id, id1, title) values (132, 132, 'test text all') commit insert into rt (id, id1, title) values (33, 33, 'test text all') insert into rt (id, id1, title) values (133, 133, 'test text all') commit insert into rt (id, id1, title) values (34, 34, 'test text all') insert into rt (id, id1, title) values (134, 134, 'test text all') commit insert into rt (id, id1, title) values (35, 35, 'test text all') insert into rt (id, id1, title) values (135, 135, 'test text all') commit insert into rt (id, id1, title) values (36, 36, 'test text all') insert into rt (id, id1, title) values (136, 136, 'test text all') commit select * from rt sphinx-2.2.11-release/test/test_127/model.bin0000644000175000017500000002373512743402012020212 0ustar alexeyalexeya:1:{i:0;a:89:{i:0;a:2:{s:8:"sphinxql";s:58:"insert into rt (id, id1, title) values (1, 1, 'test text')";s:14:"total_affected";i:1;}i:1;a:2:{s:8:"sphinxql";s:25:"delete from rt where id=1";s:14:"total_affected";i:1;}i:2;a:2:{s:8:"sphinxql";s:25:"delete from rt where id=1";s:14:"total_affected";i:0;}i:3;a:2:{s:8:"sphinxql";s:58:"insert into rt (id, id1, title) values (2, 2, 'test text')";s:14:"total_affected";i:1;}i:4;a:2:{s:8:"sphinxql";s:25:"delete from rt where id=2";s:14:"total_affected";i:1;}i:5;a:2:{s:8:"sphinxql";s:25:"delete from rt where id=2";s:14:"total_affected";i:0;}i:6;a:2:{s:8:"sphinxql";s:16:"set autocommit=0";s:14:"total_affected";i:0;}i:7;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (10, 10, 'test text all')";s:14:"total_affected";i:1;}i:8;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (110, 110, 'test text all')";s:14:"total_affected";i:1;}i:9;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:10;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (11, 11, 'test text all')";s:14:"total_affected";i:1;}i:11;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (111, 111, 'test text all')";s:14:"total_affected";i:1;}i:12;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:13;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (12, 12, 'test text all')";s:14:"total_affected";i:1;}i:14;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (112, 112, 'test text all')";s:14:"total_affected";i:1;}i:15;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:16;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (13, 13, 'test text all')";s:14:"total_affected";i:1;}i:17;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (113, 113, 'test text all')";s:14:"total_affected";i:1;}i:18;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:19;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (14, 14, 'test text all')";s:14:"total_affected";i:1;}i:20;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (114, 114, 'test text all')";s:14:"total_affected";i:1;}i:21;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:22;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (15, 15, 'test text all')";s:14:"total_affected";i:1;}i:23;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (115, 115, 'test text all')";s:14:"total_affected";i:1;}i:24;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:25;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (16, 16, 'test text all')";s:14:"total_affected";i:1;}i:26;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (116, 116, 'test text all')";s:14:"total_affected";i:1;}i:27;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:28;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (17, 17, 'test text all')";s:14:"total_affected";i:1;}i:29;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (117, 117, 'test text all')";s:14:"total_affected";i:1;}i:30;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:31;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (18, 18, 'test text all')";s:14:"total_affected";i:1;}i:32;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (118, 118, 'test text all')";s:14:"total_affected";i:1;}i:33;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:34;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (19, 19, 'test text all')";s:14:"total_affected";i:1;}i:35;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (119, 119, 'test text all')";s:14:"total_affected";i:1;}i:36;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:37;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (20, 20, 'test text all')";s:14:"total_affected";i:1;}i:38;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (120, 120, 'test text all')";s:14:"total_affected";i:1;}i:39;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:40;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (21, 21, 'test text all')";s:14:"total_affected";i:1;}i:41;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (121, 121, 'test text all')";s:14:"total_affected";i:1;}i:42;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:43;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (22, 22, 'test text all')";s:14:"total_affected";i:1;}i:44;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (122, 122, 'test text all')";s:14:"total_affected";i:1;}i:45;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:46;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (23, 23, 'test text all')";s:14:"total_affected";i:1;}i:47;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (123, 123, 'test text all')";s:14:"total_affected";i:1;}i:48;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:49;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (24, 24, 'test text all')";s:14:"total_affected";i:1;}i:50;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (124, 124, 'test text all')";s:14:"total_affected";i:1;}i:51;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:52;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (25, 25, 'test text all')";s:14:"total_affected";i:1;}i:53;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (125, 125, 'test text all')";s:14:"total_affected";i:1;}i:54;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:55;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (26, 26, 'test text all')";s:14:"total_affected";i:1;}i:56;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (126, 126, 'test text all')";s:14:"total_affected";i:1;}i:57;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:58;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (27, 27, 'test text all')";s:14:"total_affected";i:1;}i:59;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (127, 127, 'test text all')";s:14:"total_affected";i:1;}i:60;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:61;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (28, 28, 'test text all')";s:14:"total_affected";i:1;}i:62;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (128, 128, 'test text all')";s:14:"total_affected";i:1;}i:63;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:64;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (29, 29, 'test text all')";s:14:"total_affected";i:1;}i:65;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (129, 129, 'test text all')";s:14:"total_affected";i:1;}i:66;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:67;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (30, 30, 'test text all')";s:14:"total_affected";i:1;}i:68;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (130, 130, 'test text all')";s:14:"total_affected";i:1;}i:69;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:70;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (31, 31, 'test text all')";s:14:"total_affected";i:1;}i:71;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (131, 131, 'test text all')";s:14:"total_affected";i:1;}i:72;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:73;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (32, 32, 'test text all')";s:14:"total_affected";i:1;}i:74;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (132, 132, 'test text all')";s:14:"total_affected";i:1;}i:75;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:76;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (33, 33, 'test text all')";s:14:"total_affected";i:1;}i:77;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (133, 133, 'test text all')";s:14:"total_affected";i:1;}i:78;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:79;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (34, 34, 'test text all')";s:14:"total_affected";i:1;}i:80;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (134, 134, 'test text all')";s:14:"total_affected";i:1;}i:81;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:82;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (35, 35, 'test text all')";s:14:"total_affected";i:1;}i:83;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (135, 135, 'test text all')";s:14:"total_affected";i:1;}i:84;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:85;a:2:{s:8:"sphinxql";s:64:"insert into rt (id, id1, title) values (36, 36, 'test text all')";s:14:"total_affected";i:1;}i:86;a:2:{s:8:"sphinxql";s:66:"insert into rt (id, id1, title) values (136, 136, 'test text all')";s:14:"total_affected";i:1;}i:87;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:88;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:2:{s:2:"id";s:2:"10";s:3:"id1";s:2:"10";}i:1;a:2:{s:2:"id";s:2:"11";s:3:"id1";s:2:"11";}i:2;a:2:{s:2:"id";s:2:"12";s:3:"id1";s:2:"12";}i:3;a:2:{s:2:"id";s:2:"13";s:3:"id1";s:2:"13";}i:4;a:2:{s:2:"id";s:2:"14";s:3:"id1";s:2:"14";}i:5;a:2:{s:2:"id";s:2:"15";s:3:"id1";s:2:"15";}i:6;a:2:{s:2:"id";s:2:"16";s:3:"id1";s:2:"16";}i:7;a:2:{s:2:"id";s:2:"17";s:3:"id1";s:2:"17";}i:8;a:2:{s:2:"id";s:2:"18";s:3:"id1";s:2:"18";}i:9;a:2:{s:2:"id";s:2:"19";s:3:"id1";s:2:"19";}i:10;a:2:{s:2:"id";s:2:"20";s:3:"id1";s:2:"20";}i:11;a:2:{s:2:"id";s:2:"21";s:3:"id1";s:2:"21";}i:12;a:2:{s:2:"id";s:2:"22";s:3:"id1";s:2:"22";}i:13;a:2:{s:2:"id";s:2:"23";s:3:"id1";s:2:"23";}i:14;a:2:{s:2:"id";s:2:"24";s:3:"id1";s:2:"24";}i:15;a:2:{s:2:"id";s:2:"25";s:3:"id1";s:2:"25";}i:16;a:2:{s:2:"id";s:2:"26";s:3:"id1";s:2:"26";}i:17;a:2:{s:2:"id";s:2:"27";s:3:"id1";s:2:"27";}i:18;a:2:{s:2:"id";s:2:"28";s:3:"id1";s:2:"28";}i:19;a:2:{s:2:"id";s:2:"29";s:3:"id1";s:2:"29";}}}}}sphinx-2.2.11-release/test/test_126/0000755000175000017500000000000012743402012016405 5ustar alexeyalexeysphinx-2.2.11-release/test/test_126/test.xml0000644000175000017500000000761112743402012020113 0ustar alexeyalexey expand keywords indexer { mem_limit = 16M } searchd { workers = threads } source srctest { type = mysql sql_query = SELECT * FROM test_table } index test { source = srctest path = /test morphology = stem_en index_exact_words = 1 expand_keywords = 1 } source src_prefix { type = mysql sql_query = SELECT 1, 'force all' UNION SELECT 2, 'forcing me' UNION SELECT 3, 'foam stuff' } index prefix { source = src_prefix path = /prefix expand_keywords = 1 min_prefix_len = 2 } index expanded_plain { source = srctest path = /expanded-plain docinfo = extern dict = keywords expand_keywords = 1 min_infix_len = 3 } index expanded_rt { type = rt path = /expanded-rt dict = keywords expand_keywords = 1 min_infix_len = 3 rt_field = title rt_attr_uint = idd } source src_empty { type = mysql sql_query = SELECT * FROM empty_table sql_attr_uint = uid } index empty { type = plain path = /empty_kw source = src_empty min_infix_len = 3 dict = keywords } source src_inline { type = mysql sql_query = SELECT *, document_id+100 as idd FROM test_table sql_attr_uint = idd } index plain_inline { source = src_inline path = /plain-inline docinfo = inline dict = keywords min_prefix_len = 1 } dog run =dog =run dog run =dog =run dog* run for fo dog run =dog =run dog run =dog =run dog* run run *dog* run* insert into expanded_rt values ( 1, 'dog runs', 11 ), ( 2, 'dogs run', 22 ), ( 3, 'dogs running', 33 ), ( 4, 'dog run', 44 ) select * from expanded_rt where match ( 'run' ) show meta select * from expanded_plain where match ( 'run' ) show meta CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) CREATE TABLE `empty_table` ( `document_id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` DROP TABLE IF EXISTS `empty_table` INSERT INTO `test_table` VALUES ( 1, 'dog runs' ), ( 2, 'dogs run' ), ( 3, 'dogs running' ), ( 4, 'dog run' ) sphinx-2.2.11-release/test/test_126/model.bin0000644000175000017500000002525512743402012020210 0ustar alexeyalexeya:1:{i:0;a:20:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:4:{i:4;a:2:{s:6:"weight";s:4:"2430";s:5:"attrs";a:0:{}}i:1;a:2:{s:6:"weight";s:4:"2416";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"2416";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2402";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.003";s:5:"words";a:4:{s:4:"=dog";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"dog";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:4:"=run";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"run";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"dog run";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"2557";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:4:"=dog";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:4:"=run";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"=dog =run";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.013";s:5:"words";a:4:{s:4:"=dog";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"dog";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:4:"=run";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"run";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"dog run";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:4:{s:5:"==dog";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:4:"=dog";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:5:"==run";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:4:"=run";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"=dog =run";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.002";s:5:"words";a:4:{s:4:"=dog";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"dog";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:4:"=run";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"run";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"dog* run";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:9:"force all";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:4:"for*";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"for";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"for";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:9:"force all";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1409";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1409";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1409";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"fo*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:2:"fo";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"fo";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:4:{i:4;a:2:{s:6:"weight";s:4:"2430";s:5:"attrs";a:0:{}}i:1;a:2:{s:6:"weight";s:4:"2416";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"2416";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2402";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.002";s:5:"words";a:4:{s:4:"=dog";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"dog";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:4:"=run";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"run";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"dog run";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"2557";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:4:"=dog";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:4:"=run";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"=dog =run";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.002";s:5:"words";a:4:{s:4:"=dog";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"dog";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:4:"=run";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"run";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"dog run";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:4:{s:5:"==dog";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:4:"=dog";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:5:"==run";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:4:"=run";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"=dog =run";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.002";s:5:"words";a:4:{s:4:"=dog";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"dog";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:4:"=run";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"run";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"dog* run";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:4:{i:2;a:2:{s:6:"weight";s:4:"1430";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1430";s:5:"attrs";a:0:{}}i:1;a:2:{s:6:"weight";s:4:"1402";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1402";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"*run*";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:3:"run";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"run";}i:13;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*dog*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*dog*";}i:14;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1565";s:5:"attrs";a:1:{s:3:"idd";s:3:"101";}}i:3;a:2:{s:6:"weight";s:4:"1565";s:5:"attrs";a:1:{s:3:"idd";s:3:"103";}}i:2;a:2:{s:6:"weight";s:4:"1519";s:5:"attrs";a:1:{s:3:"idd";s:3:"102";}}i:4;a:2:{s:6:"weight";s:4:"1519";s:5:"attrs";a:1:{s:3:"idd";s:3:"104";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"run*";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"run*";}i:15;a:2:{s:8:"sphinxql";s:128:"insert into expanded_rt values ( 1, 'dog runs', 11 ), ( 2, 'dogs run', 22 ), ( 3, 'dogs running', 33 ), ( 4, 'dog run', 44 )";s:14:"total_affected";i:4;}i:16;a:3:{s:8:"sphinxql";s:47:"select * from expanded_rt where match ( 'run' )";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"22";}i:1;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"44";}i:2;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:3;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"33";}}}i:17;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"4";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"4";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"*run*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"4";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"4";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"run";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:18;a:3:{s:8:"sphinxql";s:50:"select * from expanded_plain where match ( 'run' )";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:1:{s:2:"id";s:1:"2";}i:1;a:1:{s:2:"id";s:1:"4";}i:2;a:1:{s:2:"id";s:1:"1";}i:3;a:1:{s:2:"id";s:1:"3";}}}i:19;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"4";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"4";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"*run*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"4";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"4";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"run";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}}}sphinx-2.2.11-release/test/test_125/0000755000175000017500000000000012743402012016404 5ustar alexeyalexeysphinx-2.2.11-release/test/test_125/test.xml0000644000175000017500000003353512743402012020116 0ustar alexeyalexey select expressions, functions, operators indexer { mem_limit = 16M } searchd { workers = threads thread_stack = 256K } source test { type = mysql sql_query = SELECT *, '1,2,3,4,5,6.0' AS poly2d_attr FROM test_table sql_attr_uint = aa sql_attr_multi = uint mm from field sql_attr_string = kk sql_attr_float = f1 sql_attr_float = f2 sql_attr_string = poly2d_attr } index test { source = test path = /test } source cmp { type = mysql sql_query = SELECT * FROM cmp_table sql_attr_multi = uint mva32 from field sql_attr_multi = bigint mva64 from field sql_attr_float = f1 sql_attr_uint = gid } index cmp { source = cmp path = /cmp } source cmp2 { type = mysql sql_query = SELECT * FROM cmp_table sql_attr_uint = f1 sql_attr_uint = gid } index cmp2 { source = cmp2 path = /cmp2 } source strings { type = mysql sql_query = SELECT *, 'dummy' FROM string_table sql_attr_string = string_value } index strings { source = strings path = /strings } index dist { type = distributed agent = :test agent_connect_timeout = 1000 agent_query_timeout = 3000 } index strings_dist { type = distributed agent = :strings } source test1 { type = mysql sql_query = SELECT id, 11 as idd, string_value FROM string_table1 sql_attr_uint = idd sql_field_string = string_value } index test1 { source = test1 path = /test1 } index test1_loc { type = distributed local = test1 } index test1_dist { type = distributed agent = :test1 } CREATE TABLE test_table ( id INT NOT NULL, aa INT NOT NULL, title VARCHAR(255) NOT NULL, mm VARCHAR(255) NOT NULL, kk VARCHAR(255) NOT NULL, f1 FLOAT NOT NULL, f2 FLOAT NOT NULL ); CREATE TABLE cmp_table ( id INT NOT NULL, title VARCHAR(255) NOT NULL, mva32 VARCHAR(255) NOT NULL, mva64 VARCHAR(255) NOT NULL, f1 FLOAT NOT NULL, gid INT NOT NULL ); CREATE TABLE string_table ( id INT NOT NULL, string_value VARCHAR(255) NOT NULL ); CREATE TABLE string_table1 ( id INT NOT NULL, string_value VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test_table; DROP TABLE IF EXISTS cmp_table; DROP TABLE IF EXISTS string_table; DROP TABLE IF EXISTS string_table1; INSERT INTO test_table ( id, aa, title, mm, kk, f1, f2 ) VALUES ( 1, 2, 'dummy', '', 'one', 0, 0 ), ( 10, 3, 'ohai', '7 40', 'ten', 0, 0 ), ( 11, 4, 'ohai2', '', 'eleventy', 0.123123, 0.456789 ) INSERT INTO cmp_table VALUES ( 1, 'dummy', '101, 107, 102', '-100, -50, 20, 70', 1.2, 10 ), ( 2, 'dummy', '201, 220, 210', '-200, -350 ', 21.2, 20 ), ( 3, 'dummy', '310, 330, 301', '-300, -350, 320', 31.3, 33 ), ( 4, 'dummy', '900, 400, 601', '1000, 500, 401', 101.2, 110 ) INSERT INTO string_table VALUES (1, 'asdf'), (2, 'ASDF'), (3, 'qwer'), (4, '') INSERT INTO string_table1 VALUES (1, 'as\'df'), (2, 'ASDF'), (3, 'as df'), (4, '') aa sel SELECT 0 AND 0 OR 1 AS a, 0 AND 1 OR 1 AS b, 1 OR 0 AND 0 AS c, 1 OR 1 AND 0 AS d FROM test WHERE id=1 SELECT id, aa div 2 as sel from test SELECT id, aa / 2 as sel from test SELECT id, aa mod 2 as sel from test SELECT id, aa % 2 as sel from test SELECT id, CRC32('test') FROM test WHERE id=10 SELECT id, ABS(CRC32('test')) FROM test WHERE id=10 SELECT id, IF(IN(mm,7),111,222) FROM test SELECT IN(aa-(aa-15), 15) FROM test WHERE id=10 SELECT SINT(1-2) FROM test WHERE id=10 SELECT FIBONACCI(5) FROM test WHERE id=10 SELECT INTERVAL(1, -1,3,5.0) FROM test WHERE id=10 SELECT INTERVAL(id, id-1, id+2) FROM test WHERE id=10 SELECT BITDOT(5, 11,33,55) FROM test WHERE id=10 SELECT GEODIST(0,0,1,1) FROM test WHERE id=10 SELECT CONTAINS(POLY2D(1,2,3,4,5,6.0),2,3), CONTAINS(POLY2D(1.0,1+1,aa,4,5,6),22,3) FROM test WHERE id=10 SELECT CONTAINS(GEOPOLY2D(55.7522222, 37.6155556, 40.7141667, -74.0063889, 37.9833333, 23.7333333), 51.5, -0.116667) FROM test WHERE id=10 SELECT CONTAINS(GEOPOLY2D(55.7522222, 37.6155556, 40.7141667, -74.0063889, 37.9833333, 23.7333333), 43.25, -2.9666667) FROM test WHERE id=10 SELECT CRC32(TO_STRING(123 + 877)) FROM test WHERE id=10 SELECT ABS(-1), ABS(-1.1), CEIL(1.3), FLOOR(1.3), COS(3.14/2), LN(2.7), LOG10(100), EXP(1) FROM test WHERE id=10 SELECT SINT(aa), NOT SINT(aa), CRC32(kk) FROM test WHERE id=10 SELECT IN(id, 10.1) FROM test WHERE id=10; SELECT (1=1 AND 1=0), (1=1 AND 1=1), (1=0 AND 1=0), (1=0 AND 1=1) FROM test WHERE id=10 SELECT (1=1 OR 1=0), (1=1 OR 1=1), (1=0 OR 1=0), (1=0 OR 1=1) FROM test WHERE id=10 SELECT NOT 1=1, NOT 1=0 FROM test WHERE id=10 SELECT 1<=1, 1<=2, 1<>1, 1<>0 FROM test WHERE id=10 SELECT 3/2, id*2-2.1, 1.0-(1.0+id), 2*(3*id), 2.0/(3.0*id), 3 div 2, 3.1 div 2.2 FROM test WHERE id=10 SELECT (1-id)+id, (1.0/id)*id, id/2.5 FROM test WHERE id=10 SELECT 1&3, 1&2, 1|3, 1|2, 13%10, 3%10 FROM test WHERE id=10 SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+11 FROM test WHERE id=10 SET GLOBAL @happyvar = (432) SELECT IN(mm, @happyvar) FROM test WHERE id=10 SELECT FLOOR(f1*1000)*100000 + FLOOR(f2*1000) FROM test WHERE id=11 SELECT FLOOR(f1*1000)*10000000 + FLOOR(f2*1000) FROM test WHERE id=11 SELECT id FROM cmp, cmp2 WHERE f1>22 SELECT id FROM cmp, cmp2 WHERE f1 between 21 and 32 SELECT id FROM cmp WHERE f1<31.3 SELECT id FROM cmp WHERE f1>=31.3 SELECT id, mva32 FROM cmp WHERE mva32<=310 SELECT id, mva32 FROM cmp WHERE mva32>220 SELECT id, mva32 FROM cmp WHERE mva32<301 SELECT id, mva32 FROM cmp WHERE mva32>=330 SELECT id, mva64 FROM cmp WHERE mva64<=-350 SELECT id, mva64 FROM cmp WHERE mva64>-200 SELECT id, mva64 FROM cmp WHERE mva64 between -100 and 400 SELECT id, mva32 FROM cmp WHERE mva32 between 105 and 205 SELECT id, WEIGHT()*10 FROM test WHERE MATCH('ohai') SELECT crc32('one two'), crc32('one\ttwo'), crc32('one\ntwo') FROM test WHERE id=1 SELECT @@session.auto_increment_increment SHOW COLLATION SHOW CHARACTER SET SELECT id, IN(mva32,220,230) from cmp WHERE id=2 SELECT id, IN(mva64,-350,230) from cmp WHERE id=2 SELECT id, IN(mva64,320) from cmp WHERE id=3 SELECT id, to_string(mva32) from cmp WHERE id=3 SELECT id, to_string(mva64) from cmp WHERE id=3 SELECT id, length(mva32) from cmp WHERE id=3 SELECT id, length(mva64) from cmp WHERE id=3 SELECT id, least(mva64) from cmp WHERE id=3 SELECT id, greatest(mva32) from cmp WHERE id=3 SELECT id, greatest(mva64) from cmp WHERE id=3 SELECT id, min(mva32) from cmp WHERE id=3 SELECT id, max(mva32) from cmp WHERE id=3 SELECT id, min(mva64) from cmp WHERE id=3 SELECT id, max(mva64) from cmp WHERE id=3 SELECT id, log10(mva32) from cmp WHERE id=3 SELECT id, log10(mva64) from cmp WHERE id=3 SELECT bigint(timediff(curtime(),utc_time())) % 15 SHOW SESSION VARIABLES LIKE 'lower_case_table_names' SELECT current_user() SELECT connection_id() SET CHARACTER SET utf8 SET SQL_SAFE_UPDATES=1 SHOW SESSION VARIABLES LIKE 'sql_mode' SHOW DATABASES SELECT CONTAINS(POLY2D(poly2d_attr),2,3) FROM test LIMIT 1 SELECT 0 zero, 1/0, 1/zero FROM cmp LIMIT 1 SELECT 0 zero, SINT(-1) negative, ln(0), ln(zero), ln(-1), ln(negative) FROM cmp LIMIT 1 SELECT 0 zero, SINT(-1) negative, log2(0), log2(zero), log2(-1), log2(negative) FROM cmp LIMIT 1 SELECT 0 zero, SINT(-1) negative, log10(0), log10(zero), log10(-1), ln(negative) FROM cmp LIMIT 1 SELECT 0 zero, SINT(-1) negative, sqrt(0), sqrt(zero), sqrt(-1), sqrt(negative) FROM cmp LIMIT 1 SELECT IN(kk,'one','ten','eleventy') FROM test SELECT IN(kk,'is','not','there') FROM test SELECT ATAN2(0,1) FROM test WHERE id=10 SELECT ATAN2(1,0) FROM test WHERE id=10 SELECT ATAN2(0.75,0.25) FROM test WHERE id=10 SELECT ATAN2(0.25,0.75) FROM test WHERE id=10 SELECT GEODIST(0,0,1,1,{in=radians,out=kilometers}) FROM test WHERE id=10 SELECT bigint(timediff(now(),utc_timestamp())) % 15 select * from strings where string_value!='' select * from strings where string_value='' select id, string_value, in(string_value,'asdf','qwer') as in_string, string_value='asdf' AS is_string from strings select id, string_value from strings where string_value='asdf' select id, string_value, (string_value='asdf' or string_value='ASDF') as in_string from strings select id, string_value, (string_value='asdf' or string_value='qwer') as in_string from strings select id, string_value from strings where string_value in ('asdf','qwer','') select id, string_value from strings where string_value in ('asdf','qwer') select id, string_value from strings where string_value not in ('') select id, to_string(id) as p from strings where p in('1','3') select id, string_value from strings_dist where string_value in ('asdf','qwer') select id, string_value from strings_dist where string_value not in ('') select CRC32('4759') AS test_crc FROM strings LIMIT 1 select BIGINT(CRC32('4759')) AS test_crc FROM strings LIMIT 1 select CRC32('4759') AS test_crc, CRC32('4759')=2182940993 AS is_crc FROM strings LIMIT 1 SELECT CONTAINS(GEOPOLY2D(44.0,-88.0, 44.3,-88.6, 44.6,-88.0), 44.3, -88.5 ) from strings limit 1 SELECT CONTAINS(GEOPOLY2D(44.0,-88.0, 44.3,-88.6, 44.6,-88.0), 44.6, -88.5 ) from strings limit 1 SELECT CONTAINS(GEOPOLY2D(44.0,-88.0, 44.0, -88.0, 44.3,-88.6, 44.6,-88.0), 44.3, -88.5 ) from strings limit 1 SELECT CONTAINS(GEOPOLY2D(44.0,-88.0, 44.0, -88.0, 44.3,-88.6, 44.6,-88.0), 44.6, -88.5 ) from strings limit 1 select GEODIST(0,0,1,1, {in=radians, out=m} ) FROM dist select GEODIST(0,0,1,1, {out=m, in=radians} ) FROM dist select GEODIST(0,0,1,1, {out=m} ) FROM dist select GEODIST(0,0,1,1, {in=radians} ) FROM dist select @@session.auto_increment_increment AS v1, @@character_set_client as v2 SELECT id, IN(string_value,'as\'df') FROM test1_loc order by id asc SELECT id, IN(string_value,'as\'df') FROM test1_dist order by id asc sphinx-2.2.11-release/test/test_125/model.bin0000644000175000017500000007523112743402012020206 0ustar alexeyalexeya:1:{i:0;a:119:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:7:{s:3:"sel";i:1;s:2:"aa";i:1;s:2:"mm";i:1073741825;s:2:"kk";i:7;s:2:"f1";i:5;s:2:"f2";i:5;s:11:"poly2d_attr";i:7;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:7:{s:3:"sel";s:1:"1";s:2:"aa";s:1:"2";s:2:"mm";a:0:{}s:2:"kk";s:3:"one";s:2:"f1";d:0;s:2:"f2";d:0;s:11:"poly2d_attr";s:13:"1,2,3,4,5,6.0";}}i:10;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:7:{s:3:"sel";s:1:"1";s:2:"aa";s:1:"3";s:2:"mm";a:2:{i:0;s:1:"7";i:1;s:2:"40";}s:2:"kk";s:3:"ten";s:2:"f1";d:0;s:2:"f2";d:0;s:11:"poly2d_attr";s:13:"1,2,3,4,5,6.0";}}i:11;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:7:{s:3:"sel";s:1:"2";s:2:"aa";s:1:"4";s:2:"mm";a:0:{}s:2:"kk";s:8:"eleventy";s:2:"f1";d:0.123122997581958770751953125;s:2:"f2";d:0.4567889869213104248046875;s:11:"poly2d_attr";s:13:"1,2,3,4,5,6.0";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:7:{s:3:"sel";i:5;s:2:"aa";i:1;s:2:"mm";i:1073741825;s:2:"kk";i:7;s:2:"f1";i:5;s:2:"f2";i:5;s:11:"poly2d_attr";i:7;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:7:{s:3:"sel";d:1;s:2:"aa";s:1:"2";s:2:"mm";a:0:{}s:2:"kk";s:3:"one";s:2:"f1";d:0;s:2:"f2";d:0;s:11:"poly2d_attr";s:13:"1,2,3,4,5,6.0";}}i:10;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:7:{s:3:"sel";d:1.5;s:2:"aa";s:1:"3";s:2:"mm";a:2:{i:0;s:1:"7";i:1;s:2:"40";}s:2:"kk";s:3:"ten";s:2:"f1";d:0;s:2:"f2";d:0;s:11:"poly2d_attr";s:13:"1,2,3,4,5,6.0";}}i:11;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:7:{s:3:"sel";d:2;s:2:"aa";s:1:"4";s:2:"mm";a:0:{}s:2:"kk";s:8:"eleventy";s:2:"f1";d:0.123122997581958770751953125;s:2:"f2";d:0.4567889869213104248046875;s:11:"poly2d_attr";s:13:"1,2,3,4,5,6.0";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:7:{s:3:"sel";i:1;s:2:"aa";i:1;s:2:"mm";i:1073741825;s:2:"kk";i:7;s:2:"f1";i:5;s:2:"f2";i:5;s:11:"poly2d_attr";i:7;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:7:{s:3:"sel";s:1:"0";s:2:"aa";s:1:"2";s:2:"mm";a:0:{}s:2:"kk";s:3:"one";s:2:"f1";d:0;s:2:"f2";d:0;s:11:"poly2d_attr";s:13:"1,2,3,4,5,6.0";}}i:10;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:7:{s:3:"sel";s:1:"1";s:2:"aa";s:1:"3";s:2:"mm";a:2:{i:0;s:1:"7";i:1;s:2:"40";}s:2:"kk";s:3:"ten";s:2:"f1";d:0;s:2:"f2";d:0;s:11:"poly2d_attr";s:13:"1,2,3,4,5,6.0";}}i:11;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:7:{s:3:"sel";s:1:"0";s:2:"aa";s:1:"4";s:2:"mm";a:0:{}s:2:"kk";s:8:"eleventy";s:2:"f1";d:0.123122997581958770751953125;s:2:"f2";d:0.4567889869213104248046875;s:11:"poly2d_attr";s:13:"1,2,3,4,5,6.0";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:7:{s:3:"sel";i:1;s:2:"aa";i:1;s:2:"mm";i:1073741825;s:2:"kk";i:7;s:2:"f1";i:5;s:2:"f2";i:5;s:11:"poly2d_attr";i:7;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:7:{s:3:"sel";s:1:"0";s:2:"aa";s:1:"2";s:2:"mm";a:0:{}s:2:"kk";s:3:"one";s:2:"f1";d:0;s:2:"f2";d:0;s:11:"poly2d_attr";s:13:"1,2,3,4,5,6.0";}}i:10;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:7:{s:3:"sel";s:1:"1";s:2:"aa";s:1:"3";s:2:"mm";a:2:{i:0;s:1:"7";i:1;s:2:"40";}s:2:"kk";s:3:"ten";s:2:"f1";d:0;s:2:"f2";d:0;s:11:"poly2d_attr";s:13:"1,2,3,4,5,6.0";}}i:11;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:7:{s:3:"sel";s:1:"0";s:2:"aa";s:1:"4";s:2:"mm";a:0:{}s:2:"kk";s:8:"eleventy";s:2:"f1";d:0.123122997581958770751953125;s:2:"f2";d:0.4567889869213104248046875;s:11:"poly2d_attr";s:13:"1,2,3,4,5,6.0";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:4;a:3:{s:8:"sphinxql";s:102:"SELECT 0 AND 0 OR 1 AS a, 0 AND 1 OR 1 AS b, 1 OR 0 AND 0 AS c, 1 OR 1 AND 0 AS d FROM test WHERE id=1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:1:"a";s:1:"1";s:1:"b";s:1:"1";s:1:"c";s:1:"1";s:1:"d";s:1:"1";}}}i:5;a:3:{s:8:"sphinxql";s:36:"SELECT id, aa div 2 as sel from test";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"sel";s:1:"1";}i:1;a:2:{s:2:"id";s:2:"10";s:3:"sel";s:1:"1";}i:2;a:2:{s:2:"id";s:2:"11";s:3:"sel";s:1:"2";}}}i:6;a:3:{s:8:"sphinxql";s:34:"SELECT id, aa / 2 as sel from test";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"sel";s:8:"1.000000";}i:1;a:2:{s:2:"id";s:2:"10";s:3:"sel";s:8:"1.500000";}i:2;a:2:{s:2:"id";s:2:"11";s:3:"sel";s:8:"2.000000";}}}i:7;a:3:{s:8:"sphinxql";s:36:"SELECT id, aa mod 2 as sel from test";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"sel";s:1:"0";}i:1;a:2:{s:2:"id";s:2:"10";s:3:"sel";s:1:"1";}i:2;a:2:{s:2:"id";s:2:"11";s:3:"sel";s:1:"0";}}}i:8;a:3:{s:8:"sphinxql";s:34:"SELECT id, aa % 2 as sel from test";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"sel";s:1:"0";}i:1;a:2:{s:2:"id";s:2:"10";s:3:"sel";s:1:"1";}i:2;a:2:{s:2:"id";s:2:"11";s:3:"sel";s:1:"0";}}}i:9;a:3:{s:8:"sphinxql";s:46:"SELECT id, CRC32('test') FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"10";s:13:"crc32('test')";s:10:"3632233996";}}}i:10;a:3:{s:8:"sphinxql";s:51:"SELECT id, ABS(CRC32('test')) FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"10";s:18:"abs(crc32('test'))";s:9:"662733300";}}}i:11;a:3:{s:8:"sphinxql";s:41:"SELECT id, IF(IN(mm,7),111,222) FROM test";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:20:"if(in(mm,7),111,222)";s:3:"222";}i:1;a:2:{s:2:"id";s:2:"10";s:20:"if(in(mm,7),111,222)";s:3:"111";}i:2;a:2:{s:2:"id";s:2:"11";s:20:"if(in(mm,7),111,222)";s:3:"222";}}}i:12;a:3:{s:8:"sphinxql";s:47:"SELECT IN(aa-(aa-15), 15) FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:18:"in(aa-(aa-15), 15)";s:1:"1";}}}i:13;a:3:{s:8:"sphinxql";s:38:"SELECT SINT(1-2) FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:9:"sint(1-2)";s:2:"-1";}}}i:14;a:3:{s:8:"sphinxql";s:41:"SELECT FIBONACCI(5) FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:12:"fibonacci(5)";s:1:"5";}}}i:15;a:3:{s:8:"sphinxql";s:50:"SELECT INTERVAL(1, -1,3,5.0) FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:21:"interval(1, -1,3,5.0)";s:1:"1";}}}i:16;a:3:{s:8:"sphinxql";s:53:"SELECT INTERVAL(id, id-1, id+2) FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:24:"interval(id, id-1, id+2)";s:1:"1";}}}i:17;a:3:{s:8:"sphinxql";s:48:"SELECT BITDOT(5, 11,33,55) FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:19:"bitdot(5, 11,33,55)";s:2:"66";}}}i:18;a:3:{s:8:"sphinxql";s:45:"SELECT GEODIST(0,0,1,1) FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:16:"geodist(0,0,1,1)";s:14:"8120146.500000";}}}i:19;a:3:{s:8:"sphinxql";s:105:"SELECT CONTAINS(POLY2D(1,2,3,4,5,6.0),2,3), CONTAINS(POLY2D(1.0,1+1,aa,4,5,6),22,3) FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:35:"contains(poly2d(1,2,3,4,5,6.0),2,3)";s:1:"1";s:39:"contains(poly2d(1.0,1+1,aa,4,5,6),22,3)";s:1:"0";}}}i:20;a:3:{s:8:"sphinxql";s:138:"SELECT CONTAINS(GEOPOLY2D(55.7522222, 37.6155556, 40.7141667, -74.0063889, 37.9833333, 23.7333333), 51.5, -0.116667) FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:109:"contains(geopoly2d(55.7522222, 37.6155556, 40.7141667, -74.0063889, 37.9833333, 23.7333333), 51.5, -0.116667)";s:1:"1";}}}i:21;a:3:{s:8:"sphinxql";s:140:"SELECT CONTAINS(GEOPOLY2D(55.7522222, 37.6155556, 40.7141667, -74.0063889, 37.9833333, 23.7333333), 43.25, -2.9666667) FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:111:"contains(geopoly2d(55.7522222, 37.6155556, 40.7141667, -74.0063889, 37.9833333, 23.7333333), 43.25, -2.9666667)";s:1:"0";}}}i:22;a:3:{s:8:"sphinxql";s:56:"SELECT CRC32(TO_STRING(123 + 877)) FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:27:"crc32(to_string(123 + 877))";s:10:"3022496535";}}}i:23;a:3:{s:8:"sphinxql";s:112:"SELECT ABS(-1), ABS(-1.1), CEIL(1.3), FLOOR(1.3), COS(3.14/2), LN(2.7), LOG10(100), EXP(1) FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:8:{s:7:"abs(-1)";s:1:"1";s:9:"abs(-1.1)";s:8:"1.100000";s:9:"ceil(1.3)";s:1:"2";s:10:"floor(1.3)";s:1:"1";s:11:"cos(3.14/2)";s:8:"0.000796";s:7:"ln(2.7)";s:8:"0.993252";s:10:"log10(100)";s:8:"2.000000";s:6:"exp(1)";s:8:"2.718282";}}}i:24;a:3:{s:8:"sphinxql";s:62:"SELECT SINT(aa), NOT SINT(aa), CRC32(kk) FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:8:"sint(aa)";s:1:"3";s:12:"not sint(aa)";s:1:"0";s:9:"crc32(kk)";s:9:"507103779";}}}i:25;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:12:"in(id, 10.1)";s:1:"0";}}s:8:"sphinxql";s:42:"SELECT IN(id, 10.1) FROM test WHERE id=10;";}i:26;a:3:{s:8:"sphinxql";s:87:"SELECT (1=1 AND 1=0), (1=1 AND 1=1), (1=0 AND 1=0), (1=0 AND 1=1) FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:13:"(1=1 and 1=0)";s:1:"0";s:13:"(1=1 and 1=1)";s:1:"1";s:13:"(1=0 and 1=0)";s:1:"0";s:13:"(1=0 and 1=1)";s:1:"0";}}}i:27;a:3:{s:8:"sphinxql";s:83:"SELECT (1=1 OR 1=0), (1=1 OR 1=1), (1=0 OR 1=0), (1=0 OR 1=1) FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:12:"(1=1 or 1=0)";s:1:"1";s:12:"(1=1 or 1=1)";s:1:"1";s:12:"(1=0 or 1=0)";s:1:"0";s:12:"(1=0 or 1=1)";s:1:"1";}}}i:28;a:3:{s:8:"sphinxql";s:45:"SELECT NOT 1=1, NOT 1=0 FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:7:"not 1=1";s:1:"0";s:7:"not 1=0";s:1:"1";}}}i:29;a:3:{s:8:"sphinxql";s:51:"SELECT 1<=1, 1<=2, 1<>1, 1<>0 FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:4:"1<=1";s:1:"1";s:4:"1<=2";s:1:"1";s:4:"1<>1";s:1:"0";s:4:"1<>0";s:1:"1";}}}i:30;a:3:{s:8:"sphinxql";s:102:"SELECT 3/2, id*2-2.1, 1.0-(1.0+id), 2*(3*id), 2.0/(3.0*id), 3 div 2, 3.1 div 2.2 FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:7:{s:3:"3/2";s:8:"1.500000";s:8:"id*2-2.1";s:9:"17.900000";s:12:"1.0-(1.0+id)";s:10:"-10.000000";s:8:"2*(3*id)";s:2:"60";s:12:"2.0/(3.0*id)";s:8:"0.066667";s:7:"3 div 2";s:1:"1";s:11:"3.1 div 2.2";s:8:"1.000000";}}}i:31;a:3:{s:8:"sphinxql";s:59:"SELECT (1-id)+id, (1.0/id)*id, id/2.5 FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:9:"(1-id)+id";s:1:"1";s:11:"(1.0/id)*id";s:8:"1.000000";s:6:"id/2.5";s:8:"4.000000";}}}i:32;a:3:{s:8:"sphinxql";s:60:"SELECT 1&3, 1&2, 1|3, 1|2, 13%10, 3%10 FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:6:{s:3:"1&3";s:1:"1";s:3:"1&2";s:1:"0";s:3:"1|3";s:1:"3";s:3:"1|2";s:1:"3";s:5:"13%10";s:1:"3";s:4:"3%10";s:1:"3";}}}i:33;a:3:{s:8:"sphinxql";s:231:"SELECT 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+11 FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:202:"1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+11";s:3:"111";}}}i:34;a:2:{s:8:"sphinxql";s:28:"SET GLOBAL @happyvar = (432)";s:14:"total_affected";i:0;}i:35;a:3:{s:8:"sphinxql";s:46:"SELECT IN(mm, @happyvar) FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:17:"in(mm, @happyvar)";s:1:"0";}}}i:36;a:3:{s:8:"sphinxql";s:67:"SELECT FLOOR(f1*1000)*100000 + FLOOR(f2*1000) FROM test WHERE id=11";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:38:"floor(f1*1000)*100000 + floor(f2*1000)";s:8:"12300456";}}}i:37;a:3:{s:8:"sphinxql";s:69:"SELECT FLOOR(f1*1000)*10000000 + FLOOR(f2*1000) FROM test WHERE id=11";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:40:"floor(f1*1000)*10000000 + floor(f2*1000)";s:10:"1230000456";}}}i:38;a:3:{s:8:"sphinxql";s:36:"SELECT id FROM cmp, cmp2 WHERE f1>22";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"3";}i:1;a:1:{s:2:"id";s:1:"4";}}}i:39;a:3:{s:8:"sphinxql";s:51:"SELECT id FROM cmp, cmp2 WHERE f1 between 21 and 32";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"2";}i:1;a:1:{s:2:"id";s:1:"3";}}}i:40;a:3:{s:8:"sphinxql";s:32:"SELECT id FROM cmp WHERE f1<31.3";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}}}i:41;a:3:{s:8:"sphinxql";s:33:"SELECT id FROM cmp WHERE f1>=31.3";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"3";}i:1;a:1:{s:2:"id";s:1:"4";}}}i:42;a:3:{s:8:"sphinxql";s:42:"SELECT id, mva32 FROM cmp WHERE mva32<=310";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:5:"mva32";s:11:"101,102,107";}i:1;a:2:{s:2:"id";s:1:"2";s:5:"mva32";s:11:"201,210,220";}i:2;a:2:{s:2:"id";s:1:"3";s:5:"mva32";s:11:"301,310,330";}}}i:43;a:3:{s:8:"sphinxql";s:41:"SELECT id, mva32 FROM cmp WHERE mva32>220";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:5:"mva32";s:11:"301,310,330";}i:1;a:2:{s:2:"id";s:1:"4";s:5:"mva32";s:11:"400,601,900";}}}i:44;a:3:{s:8:"sphinxql";s:41:"SELECT id, mva32 FROM cmp WHERE mva32<301";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:5:"mva32";s:11:"101,102,107";}i:1;a:2:{s:2:"id";s:1:"2";s:5:"mva32";s:11:"201,210,220";}}}i:45;a:3:{s:8:"sphinxql";s:42:"SELECT id, mva32 FROM cmp WHERE mva32>=330";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"3";s:5:"mva32";s:11:"301,310,330";}i:1;a:2:{s:2:"id";s:1:"4";s:5:"mva32";s:11:"400,601,900";}}}i:46;a:3:{s:8:"sphinxql";s:43:"SELECT id, mva64 FROM cmp WHERE mva64<=-350";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"2";s:5:"mva64";s:9:"-350,-200";}i:1;a:2:{s:2:"id";s:1:"3";s:5:"mva64";s:13:"-350,-300,320";}}}i:47;a:3:{s:8:"sphinxql";s:42:"SELECT id, mva64 FROM cmp WHERE mva64>-200";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:5:"mva64";s:14:"-100,-50,20,70";}i:1;a:2:{s:2:"id";s:1:"3";s:5:"mva64";s:13:"-350,-300,320";}i:2;a:2:{s:2:"id";s:1:"4";s:5:"mva64";s:12:"401,500,1000";}}}i:48;a:3:{s:8:"sphinxql";s:58:"SELECT id, mva64 FROM cmp WHERE mva64 between -100 and 400";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:5:"mva64";s:14:"-100,-50,20,70";}i:1;a:2:{s:2:"id";s:1:"3";s:5:"mva64";s:13:"-350,-300,320";}}}i:49;a:3:{s:8:"sphinxql";s:57:"SELECT id, mva32 FROM cmp WHERE mva32 between 105 and 205";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:5:"mva32";s:11:"101,102,107";}i:1;a:2:{s:2:"id";s:1:"2";s:5:"mva32";s:11:"201,210,220";}}}i:50;a:3:{s:8:"sphinxql";s:52:"SELECT id, WEIGHT()*10 FROM test WHERE MATCH('ohai')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"10";s:11:"weight()*10";s:5:"16800";}}}i:51;a:3:{s:8:"sphinxql";s:82:"SELECT crc32('one two'), crc32('one\ttwo'), crc32('one\ntwo') FROM test WHERE id=1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:16:"crc32('one two')";s:10:"3439823151";s:17:"crc32('one\ttwo')";s:9:"272460187";s:17:"crc32('one\ntwo')";s:8:"42518133";}}}i:52;a:3:{s:8:"sphinxql";s:41:"SELECT @@session.auto_increment_increment";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:34:"@@session.auto_increment_increment";s:1:"1";}}}i:53;a:3:{s:8:"sphinxql";s:14:"SHOW COLLATION";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:6:{s:9:"Collation";s:15:"utf8_general_ci";s:7:"Charset";s:4:"utf8";s:2:"Id";s:2:"33";s:7:"Default";s:3:"Yes";s:8:"Compiled";s:3:"Yes";s:7:"Sortlen";s:1:"1";}}}i:54;a:3:{s:8:"sphinxql";s:18:"SHOW CHARACTER SET";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:7:"Charset";s:4:"utf8";s:11:"Description";s:13:"UTF-8 Unicode";s:17:"Default collation";s:15:"utf8_general_ci";s:6:"Maxlen";s:1:"3";}}}i:55;a:3:{s:8:"sphinxql";s:48:"SELECT id, IN(mva32,220,230) from cmp WHERE id=2";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:17:"in(mva32,220,230)";s:1:"1";}}}i:56;a:3:{s:8:"sphinxql";s:49:"SELECT id, IN(mva64,-350,230) from cmp WHERE id=2";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:18:"in(mva64,-350,230)";s:1:"1";}}}i:57;a:3:{s:8:"sphinxql";s:44:"SELECT id, IN(mva64,320) from cmp WHERE id=3";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:13:"in(mva64,320)";s:1:"1";}}}i:58;a:3:{s:8:"sphinxql";s:47:"SELECT id, to_string(mva32) from cmp WHERE id=3";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:16:"to_string(mva32)";s:11:"301,310,330";}}}i:59;a:3:{s:8:"sphinxql";s:47:"SELECT id, to_string(mva64) from cmp WHERE id=3";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:16:"to_string(mva64)";s:13:"-350,-300,320";}}}i:60;a:3:{s:8:"sphinxql";s:44:"SELECT id, length(mva32) from cmp WHERE id=3";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:13:"length(mva32)";s:1:"3";}}}i:61;a:3:{s:8:"sphinxql";s:44:"SELECT id, length(mva64) from cmp WHERE id=3";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:13:"length(mva64)";s:1:"3";}}}i:62;a:3:{s:8:"sphinxql";s:43:"SELECT id, least(mva64) from cmp WHERE id=3";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:12:"least(mva64)";s:4:"-350";}}}i:63;a:3:{s:8:"sphinxql";s:46:"SELECT id, greatest(mva32) from cmp WHERE id=3";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:15:"greatest(mva32)";s:3:"330";}}}i:64;a:3:{s:8:"sphinxql";s:46:"SELECT id, greatest(mva64) from cmp WHERE id=3";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:15:"greatest(mva64)";s:3:"320";}}}i:65;a:3:{s:8:"sphinxql";s:41:"SELECT id, min(mva32) from cmp WHERE id=3";s:5:"error";s:57:"index cmp: can not aggregate non-scalar attribute 'mva32'";s:5:"errno";i:1064;}i:66;a:3:{s:8:"sphinxql";s:41:"SELECT id, max(mva32) from cmp WHERE id=3";s:5:"error";s:57:"index cmp: can not aggregate non-scalar attribute 'mva32'";s:5:"errno";i:1064;}i:67;a:3:{s:8:"sphinxql";s:41:"SELECT id, min(mva64) from cmp WHERE id=3";s:5:"error";s:57:"index cmp: can not aggregate non-scalar attribute 'mva64'";s:5:"errno";i:1064;}i:68;a:3:{s:8:"sphinxql";s:41:"SELECT id, max(mva64) from cmp WHERE id=3";s:5:"error";s:57:"index cmp: can not aggregate non-scalar attribute 'mva64'";s:5:"errno";i:1064;}i:69;a:3:{s:8:"sphinxql";s:43:"SELECT id, log10(mva32) from cmp WHERE id=3";s:5:"error";s:56:"index cmp: parse error: log10() arguments can not be MVA";s:5:"errno";i:1064;}i:70;a:3:{s:8:"sphinxql";s:43:"SELECT id, log10(mva64) from cmp WHERE id=3";s:5:"error";s:56:"index cmp: parse error: log10() arguments can not be MVA";s:5:"errno";i:1064;}i:71;a:3:{s:8:"sphinxql";s:50:"SELECT bigint(timediff(curtime(),utc_time())) % 15";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:43:"bigint(timediff(curtime(),utc_time())) % 15";s:1:"0";}}}i:72;a:2:{s:8:"sphinxql";s:52:"SHOW SESSION VARIABLES LIKE 'lower_case_table_names'";s:10:"total_rows";i:0;}i:73;a:3:{s:8:"sphinxql";s:21:"SELECT current_user()";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:14:"current_user()";s:1:"0";}}}i:74;a:3:{s:8:"sphinxql";s:22:"SELECT connection_id()";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:15:"connection_id()";s:1:"0";}}}i:75;a:2:{s:8:"sphinxql";s:22:"SET CHARACTER SET utf8";s:14:"total_affected";i:0;}i:76;a:2:{s:8:"sphinxql";s:22:"SET SQL_SAFE_UPDATES=1";s:14:"total_affected";i:0;}i:77;a:2:{s:8:"sphinxql";s:38:"SHOW SESSION VARIABLES LIKE 'sql_mode'";s:10:"total_rows";i:0;}i:78;a:2:{s:8:"sphinxql";s:14:"SHOW DATABASES";s:10:"total_rows";i:0;}i:79;a:3:{s:8:"sphinxql";s:58:"SELECT CONTAINS(POLY2D(poly2d_attr),2,3) FROM test LIMIT 1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:33:"contains(poly2d(poly2d_attr),2,3)";s:1:"1";}}}i:80;a:3:{s:8:"sphinxql";s:43:"SELECT 0 zero, 1/0, 1/zero FROM cmp LIMIT 1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:4:"zero";s:1:"0";s:3:"1/0";s:8:"0.000000";s:6:"1/zero";s:8:"0.000000";}}}i:81;a:3:{s:8:"sphinxql";s:88:"SELECT 0 zero, SINT(-1) negative, ln(0), ln(zero), ln(-1), ln(negative) FROM cmp LIMIT 1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:6:{s:4:"zero";s:1:"0";s:8:"negative";s:2:"-1";s:5:"ln(0)";s:8:"0.000000";s:8:"ln(zero)";s:8:"0.000000";s:6:"ln(-1)";s:8:"0.000000";s:12:"ln(negative)";s:8:"0.000000";}}}i:82;a:3:{s:8:"sphinxql";s:96:"SELECT 0 zero, SINT(-1) negative, log2(0), log2(zero), log2(-1), log2(negative) FROM cmp LIMIT 1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:6:{s:4:"zero";s:1:"0";s:8:"negative";s:2:"-1";s:7:"log2(0)";s:8:"0.000000";s:10:"log2(zero)";s:8:"0.000000";s:8:"log2(-1)";s:8:"0.000000";s:14:"log2(negative)";s:8:"0.000000";}}}i:83;a:3:{s:8:"sphinxql";s:97:"SELECT 0 zero, SINT(-1) negative, log10(0), log10(zero), log10(-1), ln(negative) FROM cmp LIMIT 1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:6:{s:4:"zero";s:1:"0";s:8:"negative";s:2:"-1";s:8:"log10(0)";s:8:"0.000000";s:11:"log10(zero)";s:8:"0.000000";s:9:"log10(-1)";s:8:"0.000000";s:12:"ln(negative)";s:8:"0.000000";}}}i:84;a:3:{s:8:"sphinxql";s:96:"SELECT 0 zero, SINT(-1) negative, sqrt(0), sqrt(zero), sqrt(-1), sqrt(negative) FROM cmp LIMIT 1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:6:{s:4:"zero";s:1:"0";s:8:"negative";s:2:"-1";s:7:"sqrt(0)";s:8:"0.000000";s:10:"sqrt(zero)";s:8:"0.000000";s:8:"sqrt(-1)";s:8:"0.000000";s:14:"sqrt(negative)";s:8:"0.000000";}}}i:85;a:3:{s:8:"sphinxql";s:46:"SELECT IN(kk,'one','ten','eleventy') FROM test";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:29:"in(kk,'one','ten','eleventy')";s:1:"1";}i:1;a:1:{s:29:"in(kk,'one','ten','eleventy')";s:1:"1";}i:2;a:1:{s:29:"in(kk,'one','ten','eleventy')";s:1:"1";}}}i:86;a:3:{s:8:"sphinxql";s:42:"SELECT IN(kk,'is','not','there') FROM test";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:25:"in(kk,'is','not','there')";s:1:"0";}i:1;a:1:{s:25:"in(kk,'is','not','there')";s:1:"0";}i:2;a:1:{s:25:"in(kk,'is','not','there')";s:1:"0";}}}i:87;a:3:{s:8:"sphinxql";s:39:"SELECT ATAN2(0,1) FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:10:"atan2(0,1)";s:8:"0.000000";}}}i:88;a:3:{s:8:"sphinxql";s:39:"SELECT ATAN2(1,0) FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:10:"atan2(1,0)";s:8:"1.570796";}}}i:89;a:3:{s:8:"sphinxql";s:45:"SELECT ATAN2(0.75,0.25) FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:16:"atan2(0.75,0.25)";s:8:"1.249046";}}}i:90;a:3:{s:8:"sphinxql";s:45:"SELECT ATAN2(0.25,0.75) FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:16:"atan2(0.25,0.75)";s:8:"0.321751";}}}i:91;a:3:{s:8:"sphinxql";s:73:"SELECT GEODIST(0,0,1,1,{in=radians,out=kilometers}) FROM test WHERE id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:44:"geodist(0,0,1,1,{in=radians,out=kilometers})";s:11:"8120.146973";}}}i:92;a:3:{s:8:"sphinxql";s:51:"SELECT bigint(timediff(now(),utc_timestamp())) % 15";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:44:"bigint(timediff(now(),utc_timestamp())) % 15";s:1:"0";}}}i:93;a:3:{s:8:"sphinxql";s:44:"select * from strings where string_value!=''";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:12:"string_value";s:4:"asdf";}i:1;a:2:{s:2:"id";s:1:"2";s:12:"string_value";s:4:"ASDF";}i:2;a:2:{s:2:"id";s:1:"3";s:12:"string_value";s:4:"qwer";}}}i:94;a:3:{s:8:"sphinxql";s:43:"select * from strings where string_value=''";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:12:"string_value";s:0:"";}}}i:95;a:3:{s:8:"sphinxql";s:115:"select id, string_value, in(string_value,'asdf','qwer') as in_string, string_value='asdf' AS is_string from strings";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"1";s:12:"string_value";s:4:"asdf";s:9:"in_string";s:1:"1";s:9:"is_string";s:1:"1";}i:1;a:4:{s:2:"id";s:1:"2";s:12:"string_value";s:4:"ASDF";s:9:"in_string";s:1:"1";s:9:"is_string";s:1:"1";}i:2;a:4:{s:2:"id";s:1:"3";s:12:"string_value";s:4:"qwer";s:9:"in_string";s:1:"1";s:9:"is_string";s:1:"0";}i:3;a:4:{s:2:"id";s:1:"4";s:12:"string_value";s:0:"";s:9:"in_string";s:1:"0";s:9:"is_string";s:1:"0";}}}i:96;a:3:{s:8:"sphinxql";s:62:"select id, string_value from strings where string_value='asdf'";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:12:"string_value";s:4:"asdf";}i:1;a:2:{s:2:"id";s:1:"2";s:12:"string_value";s:4:"ASDF";}}}i:97;a:3:{s:8:"sphinxql";s:95:"select id, string_value, (string_value='asdf' or string_value='ASDF') as in_string from strings";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:12:"string_value";s:4:"asdf";s:9:"in_string";s:1:"1";}i:1;a:3:{s:2:"id";s:1:"2";s:12:"string_value";s:4:"ASDF";s:9:"in_string";s:1:"1";}i:2;a:3:{s:2:"id";s:1:"3";s:12:"string_value";s:4:"qwer";s:9:"in_string";s:1:"0";}i:3;a:3:{s:2:"id";s:1:"4";s:12:"string_value";s:0:"";s:9:"in_string";s:1:"0";}}}i:98;a:3:{s:8:"sphinxql";s:95:"select id, string_value, (string_value='asdf' or string_value='qwer') as in_string from strings";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:12:"string_value";s:4:"asdf";s:9:"in_string";s:1:"1";}i:1;a:3:{s:2:"id";s:1:"2";s:12:"string_value";s:4:"ASDF";s:9:"in_string";s:1:"1";}i:2;a:3:{s:2:"id";s:1:"3";s:12:"string_value";s:4:"qwer";s:9:"in_string";s:1:"1";}i:3;a:3:{s:2:"id";s:1:"4";s:12:"string_value";s:0:"";s:9:"in_string";s:1:"0";}}}i:99;a:3:{s:8:"sphinxql";s:77:"select id, string_value from strings where string_value in ('asdf','qwer','')";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:2:"id";s:1:"1";s:12:"string_value";s:4:"asdf";}i:1;a:2:{s:2:"id";s:1:"2";s:12:"string_value";s:4:"ASDF";}i:2;a:2:{s:2:"id";s:1:"3";s:12:"string_value";s:4:"qwer";}i:3;a:2:{s:2:"id";s:1:"4";s:12:"string_value";s:0:"";}}}i:100;a:3:{s:8:"sphinxql";s:74:"select id, string_value from strings where string_value in ('asdf','qwer')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:12:"string_value";s:4:"asdf";}i:1;a:2:{s:2:"id";s:1:"2";s:12:"string_value";s:4:"ASDF";}i:2;a:2:{s:2:"id";s:1:"3";s:12:"string_value";s:4:"qwer";}}}i:101;a:3:{s:8:"sphinxql";s:67:"select id, string_value from strings where string_value not in ('')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:12:"string_value";s:4:"asdf";}i:1;a:2:{s:2:"id";s:1:"2";s:12:"string_value";s:4:"ASDF";}i:2;a:2:{s:2:"id";s:1:"3";s:12:"string_value";s:4:"qwer";}}}i:102;a:3:{s:8:"sphinxql";s:62:"select id, to_string(id) as p from strings where p in('1','3')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:1:"p";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:1:"p";s:1:"3";}}}i:103;a:3:{s:8:"sphinxql";s:79:"select id, string_value from strings_dist where string_value in ('asdf','qwer')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:12:"string_value";s:4:"asdf";}i:1;a:2:{s:2:"id";s:1:"2";s:12:"string_value";s:4:"ASDF";}i:2;a:2:{s:2:"id";s:1:"3";s:12:"string_value";s:4:"qwer";}}}i:104;a:3:{s:8:"sphinxql";s:72:"select id, string_value from strings_dist where string_value not in ('')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:12:"string_value";s:4:"asdf";}i:1;a:2:{s:2:"id";s:1:"2";s:12:"string_value";s:4:"ASDF";}i:2;a:2:{s:2:"id";s:1:"3";s:12:"string_value";s:4:"qwer";}}}i:105;a:3:{s:8:"sphinxql";s:53:"select CRC32('4759') AS test_crc FROM strings LIMIT 1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:8:"test_crc";s:10:"2182940993";}}}i:106;a:3:{s:8:"sphinxql";s:61:"select BIGINT(CRC32('4759')) AS test_crc FROM strings LIMIT 1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:8:"test_crc";s:10:"2182940993";}}}i:107;a:3:{s:8:"sphinxql";s:89:"select CRC32('4759') AS test_crc, CRC32('4759')=2182940993 AS is_crc FROM strings LIMIT 1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:8:"test_crc";s:10:"2182940993";s:6:"is_crc";s:1:"1";}}}i:108;a:3:{s:8:"sphinxql";s:97:"SELECT CONTAINS(GEOPOLY2D(44.0,-88.0, 44.3,-88.6, 44.6,-88.0), 44.3, -88.5 ) from strings limit 1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:69:"contains(geopoly2d(44.0,-88.0, 44.3,-88.6, 44.6,-88.0), 44.3, -88.5 )";s:1:"1";}}}i:109;a:3:{s:8:"sphinxql";s:97:"SELECT CONTAINS(GEOPOLY2D(44.0,-88.0, 44.3,-88.6, 44.6,-88.0), 44.6, -88.5 ) from strings limit 1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:69:"contains(geopoly2d(44.0,-88.0, 44.3,-88.6, 44.6,-88.0), 44.6, -88.5 )";s:1:"0";}}}i:110;a:3:{s:8:"sphinxql";s:110:"SELECT CONTAINS(GEOPOLY2D(44.0,-88.0, 44.0, -88.0, 44.3,-88.6, 44.6,-88.0), 44.3, -88.5 ) from strings limit 1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:82:"contains(geopoly2d(44.0,-88.0, 44.0, -88.0, 44.3,-88.6, 44.6,-88.0), 44.3, -88.5 )";s:1:"1";}}}i:111;a:3:{s:8:"sphinxql";s:110:"SELECT CONTAINS(GEOPOLY2D(44.0,-88.0, 44.0, -88.0, 44.3,-88.6, 44.6,-88.0), 44.6, -88.5 ) from strings limit 1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:82:"contains(geopoly2d(44.0,-88.0, 44.0, -88.0, 44.3,-88.6, 44.6,-88.0), 44.6, -88.5 )";s:1:"0";}}}i:112;a:3:{s:8:"sphinxql";s:55:"select GEODIST(0,0,1,1, {in=radians, out=m} ) FROM dist";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:38:"geodist(0,0,1,1, {in=radians, out=m} )";s:14:"8120146.500000";}i:1;a:1:{s:38:"geodist(0,0,1,1, {in=radians, out=m} )";s:14:"8120146.500000";}i:2;a:1:{s:38:"geodist(0,0,1,1, {in=radians, out=m} )";s:14:"8120146.500000";}}}i:113;a:3:{s:8:"sphinxql";s:55:"select GEODIST(0,0,1,1, {out=m, in=radians} ) FROM dist";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:38:"geodist(0,0,1,1, {out=m, in=radians} )";s:14:"8120146.500000";}i:1;a:1:{s:38:"geodist(0,0,1,1, {out=m, in=radians} )";s:14:"8120146.500000";}i:2;a:1:{s:38:"geodist(0,0,1,1, {out=m, in=radians} )";s:14:"8120146.500000";}}}i:114;a:3:{s:8:"sphinxql";s:43:"select GEODIST(0,0,1,1, {out=m} ) FROM dist";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:26:"geodist(0,0,1,1, {out=m} )";s:14:"8120146.500000";}i:1;a:1:{s:26:"geodist(0,0,1,1, {out=m} )";s:14:"8120146.500000";}i:2;a:1:{s:26:"geodist(0,0,1,1, {out=m} )";s:14:"8120146.500000";}}}i:115;a:3:{s:8:"sphinxql";s:48:"select GEODIST(0,0,1,1, {in=radians} ) FROM dist";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:31:"geodist(0,0,1,1, {in=radians} )";s:14:"8120146.500000";}i:1;a:1:{s:31:"geodist(0,0,1,1, {in=radians} )";s:14:"8120146.500000";}i:2;a:1:{s:31:"geodist(0,0,1,1, {in=radians} )";s:14:"8120146.500000";}}}i:116;a:3:{s:8:"sphinxql";s:77:"select @@session.auto_increment_increment AS v1, @@character_set_client as v2";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"v1";s:1:"1";s:2:"v2";s:4:"utf8";}}}i:117;a:3:{s:8:"sphinxql";s:67:"SELECT id, IN(string_value,'as\'df') FROM test1_loc order by id asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:2:"id";s:1:"1";s:25:"in(string_value,'as\'df')";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:25:"in(string_value,'as\'df')";s:1:"0";}i:2;a:2:{s:2:"id";s:1:"3";s:25:"in(string_value,'as\'df')";s:1:"0";}i:3;a:2:{s:2:"id";s:1:"4";s:25:"in(string_value,'as\'df')";s:1:"0";}}}i:118;a:3:{s:8:"sphinxql";s:68:"SELECT id, IN(string_value,'as\'df') FROM test1_dist order by id asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:2:"id";s:1:"1";s:25:"in(string_value,'as\'df')";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:25:"in(string_value,'as\'df')";s:1:"0";}i:2;a:2:{s:2:"id";s:1:"3";s:25:"in(string_value,'as\'df')";s:1:"0";}i:3;a:2:{s:2:"id";s:1:"4";s:25:"in(string_value,'as\'df')";s:1:"0";}}}}}sphinx-2.2.11-release/test/test_124/0000755000175000017500000000000012743402012016403 5ustar alexeyalexeysphinx-2.2.11-release/test/test_124/test.xml0000644000175000017500000000226012743402012020104 0ustar alexeyalexey indexing vs sql_file_field failed processing indexer { mem_limit = 16M on_file_field_error = ignore_field on_file_field_error = skip_document on_file_field_error = fail_index } searchd { } source srctest { type = mysql sql_query = SELECT * FROM test_table sql_attr_uint = idd sql_file_field = title } index test_idx { source = srctest path = /test } CREATE TABLE test_table ( id INTEGER NOT NULL, idd INTEGER NOT NULL, title VARCHAR(255) NOT NULL, text VARCHAR(255) NOT NULL ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 1, './test_124/field_124_match.txt', 'on all' ), ( 2, 2, './test_124/field_124_match.txt', 'on none' ), ( 3, 3, './test_124/field_124_matching.txt', 'on empty' ), ( 4, 4, './test_124/field_124_match.txt', 'on empty' ) all none match on sphinx-2.2.11-release/test/test_124/model.bin0000644000175000017500000001211212743402012020172 0ustar alexeyalexeya:3:{i:0;a:5:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"idd";i:1;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"idd";i:2;}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"idd";i:3;}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"idd";i:4;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:1:{s:3:"idd";i:1;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"all";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"all";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:1:{s:3:"idd";i:2;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"none";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"none";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:1:{s:3:"idd";i:1;}}i:2;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:1:{s:3:"idd";i:2;}}i:4;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:1:{s:3:"idd";i:4;}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"match";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"match";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:1:{s:3:"idd";i:1;}}i:2;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:1:{s:3:"idd";i:2;}}i:3;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:1:{s:3:"idd";i:3;}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:1:{s:3:"idd";i:4;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"on";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"on";}}i:1;a:5:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"idd";i:1;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"idd";i:2;}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"idd";i:4;}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:1:{s:3:"idd";i:1;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"all";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"all";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:1:{s:3:"idd";i:2;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"none";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"none";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:1:{s:3:"idd";i:1;}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:1:{s:3:"idd";i:2;}}i:4;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:1:{s:3:"idd";i:4;}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"match";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"match";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:1:{s:3:"idd";i:1;}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:1:{s:3:"idd";i:2;}}i:4;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:1:{s:3:"idd";i:4;}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"on";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"on";}}i:2;a:1:{i:0;s:6:"failed";}}sphinx-2.2.11-release/test/test_124/field_124_match.txt0000644000175000017500000000000512743402012021764 0ustar alexeyalexeymatchsphinx-2.2.11-release/test/test_123/0000755000175000017500000000000012743402012016402 5ustar alexeyalexeysphinx-2.2.11-release/test/test_123/test.xml0000644000175000017500000000114112743402012020100 0ustar alexeyalexey snippets vs blend_chars searchd { } source test { type = mysql sql_query = SELECT 1, 'text'; } index test { source = test path = /test blend_chars = +, -, ., U+23,U+40 } select 1; BuildExcerpts($docs, 'test', $query ); ]]> sphinx-2.2.11-release/test/test_123/model.bin0000644000175000017500000000023512743402012020174 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:1:{i:0;a:2:{i:0;s:25:"+ben is bad";i:1;s:72:"who is ben. green-nice is... as no-body bad.";}}}}sphinx-2.2.11-release/test/test_122/0000755000175000017500000000000012743402012016401 5ustar alexeyalexeysphinx-2.2.11-release/test/test_122/test.xml0000644000175000017500000000255212743402012020106 0ustar alexeyalexey RT: string attrs indexer { mem_limit = 16M } searchd { workers = threads binlog_path = } index rt { type = rt path = data/rt rt_attr_uint = gid rt_attr_string = author rt_field = title } index rt_multy_str { type = rt path = data/rt_multy_str rt_field = title rt_attr_uint = gid rt_attr_string = place rt_attr_string = some rt_attr_string = time } insert into rt (id, gid, author, title) values (2, 123, 'Lewis Carrol', 'Through the looking glass') insert into rt (id, gid, author, title) values (3, 234, 'O.Henry', 'Cabbages and Kings') select * from rt select * from rt where author='Lewis Carrol' insert into rt_multy_str values (1, 'lewis carrol', 1001, 'rabit hole', 'looking glass', 'at 1890') insert into rt_multy_str values (10, 'mad max', 1010, 'post future', 'fuel less world', 'at 2100') insert into rt_multy_str values (11, 'n. perumov', 1011, 'realm of meln', 'war of magican', 'at 650') select * from rt_multy_str sphinx-2.2.11-release/test/test_122/model.bin0000644000175000017500000000332412743402012020175 0ustar alexeyalexeya:1:{i:0;a:8:{i:0;a:2:{s:8:"sphinxql";s:100:"insert into rt (id, gid, author, title) values (2, 123, 'Lewis Carrol', 'Through the looking glass')";s:14:"total_affected";i:1;}i:1;a:2:{s:8:"sphinxql";s:88:"insert into rt (id, gid, author, title) values (3, 234, 'O.Henry', 'Cabbages and Kings')";s:14:"total_affected";i:1;}i:2;a:3:{s:8:"sphinxql";s:16:"select * from rt";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:3:"123";s:6:"author";s:12:"Lewis Carrol";}i:1;a:3:{s:2:"id";s:1:"3";s:3:"gid";s:3:"234";s:6:"author";s:7:"O.Henry";}}}i:3;a:3:{s:8:"sphinxql";s:44:"select * from rt where author='Lewis Carrol'";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"2";s:3:"gid";s:3:"123";s:6:"author";s:12:"Lewis Carrol";}}}i:4;a:2:{s:8:"sphinxql";s:99:"insert into rt_multy_str values (1, 'lewis carrol', 1001, 'rabit hole', 'looking glass', 'at 1890')";s:14:"total_affected";i:1;}i:5;a:2:{s:8:"sphinxql";s:98:"insert into rt_multy_str values (10, 'mad max', 1010, 'post future', 'fuel less world', 'at 2100')";s:14:"total_affected";i:1;}i:6;a:2:{s:8:"sphinxql";s:101:"insert into rt_multy_str values (11, 'n. perumov', 1011, 'realm of meln', 'war of magican', 'at 650')";s:14:"total_affected";i:1;}i:7;a:3:{s:8:"sphinxql";s:26:"select * from rt_multy_str";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:5:{s:2:"id";s:1:"1";s:3:"gid";s:4:"1001";s:5:"place";s:10:"rabit hole";s:4:"some";s:13:"looking glass";s:4:"time";s:7:"at 1890";}i:1;a:5:{s:2:"id";s:2:"10";s:3:"gid";s:4:"1010";s:5:"place";s:11:"post future";s:4:"some";s:15:"fuel less world";s:4:"time";s:7:"at 2100";}i:2;a:5:{s:2:"id";s:2:"11";s:3:"gid";s:4:"1011";s:5:"place";s:13:"realm of meln";s:4:"some";s:14:"war of magican";s:4:"time";s:6:"at 650";}}}}}sphinx-2.2.11-release/test/test_121/0000755000175000017500000000000012743402012016400 5ustar alexeyalexeysphinx-2.2.11-release/test/test_121/test.xml0000644000175000017500000000215012743402012020077 0ustar alexeyalexey multiply stopwords source indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query = SELECT * FROM test_table } index test { source = srctest path = /test stopwords = stopwords.txt stopwords_121.txt stopword_step = 0 } the very add adds "look and add books" "look add books" "look books" CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'the add' ), ( 2, 'add' ), ( 3, 'add is very plus' ), ( 4, 'the adds is very good' ), ( 5, 'look books together' ), ( 6, 'look add books together' ) sphinx-2.2.11-release/test/test_121/model.bin0000644000175000017500000000553712743402012020204 0ustar alexeyalexeya:1:{i:0;a:7:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"the";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:3;a:2:{s:6:"weight";s:4:"1607";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1607";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"very";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"very";}i:2;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"add";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1709";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"adds";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"adds";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:5;a:2:{s:6:"weight";s:4:"2607";s:5:"attrs";a:0:{}}i:6;a:2:{s:6:"weight";s:4:"2607";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:4:"look";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:5:"books";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:20:""look and add books"";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:5;a:2:{s:6:"weight";s:4:"2607";s:5:"attrs";a:0:{}}i:6;a:2:{s:6:"weight";s:4:"2607";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:4:"look";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:5:"books";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:""look add books"";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:5;a:2:{s:6:"weight";s:4:"2607";s:5:"attrs";a:0:{}}i:6;a:2:{s:6:"weight";s:4:"2607";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:4:"look";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:5:"books";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:""look books"";}}}sphinx-2.2.11-release/test/test_120/0000755000175000017500000000000012743402012016377 5ustar alexeyalexeysphinx-2.2.11-release/test/test_120/test.xml0000644000175000017500000000166212743402012020105 0ustar alexeyalexey html_stripper vs sql_file_field indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query = SELECT * FROM test_table sql_attr_uint = idd sql_file_field = title } index test_idx { source = srctest path = /test html_strip = 1 } CREATE TABLE test_table ( id INTEGER NOT NULL, idd INTEGER NOT NULL, title VARCHAR(255) NOT NULL ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 1, 'html_120.txt' ), ( 2, 2, '' ) select * from test_idx where match( 'div' ) select * from test_idx where match( 'span' ) select * from test_idx where match( 'end' ) sphinx-2.2.11-release/test/test_120/model.bin0000644000175000017500000000056512743402012020177 0ustar alexeyalexeya:1:{i:0;a:3:{i:0;a:2:{s:8:"sphinxql";s:43:"select * from test_idx where match( 'div' )";s:10:"total_rows";i:0;}i:1;a:2:{s:8:"sphinxql";s:44:"select * from test_idx where match( 'span' )";s:10:"total_rows";i:0;}i:2;a:3:{s:8:"sphinxql";s:43:"select * from test_idx where match( 'end' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";}}}}}sphinx-2.2.11-release/test/test_119/0000755000175000017500000000000012743402012016407 5ustar alexeyalexeysphinx-2.2.11-release/test/test_119/test.xml0000644000175000017500000001116212743402012020111 0ustar alexeyalexey select expressions vs eval stages indexer { mem_limit = 16M } searchd { workers = threads binlog_path = } source srctest { type = mysql sql_query = SELECT * FROM test_table WHERE id IN (1,2, 3, 4 ) sql_attr_uint = ival sql_attr_float = fval } index test { source = srctest path = /test } index test_lengths { source = srctest path = /test_lengths index_field_lengths = 1 } source src_mva { type = mysql sql_query = SELECT id, 1 as idd, title as mva, 'test' FROM test_table WHERE id=10 sql_attr_uint = idd sql_attr_multi = uint mva from field sql_attr_multi = bigint mva from field } index mva { source = src_mva path = /mva } source src_final { type = mysql sql_query = SELECT id, ival as idd1, id*1000 as idd2, 'test' FROM test_table sql_attr_uint = idd1 sql_attr_uint = idd2 } index final { source = src_final path = /final docinfo = extern } CREATE TABLE test_table ( id INTEGER NOT NULL, ival INTEGER NOT NULL, fval INTEGER NOT NULL, title VARCHAR(255) NOT NULL ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 11, 10, 'test one' ), ( 2, 11, 20, 'test two' ), ( 3, 11, -30, 'test three' ), ( 4, 22, -40, 'test four' ), ( 10, 1, 1, '10,11,12,13' ), ( 20, 200, 1, '1' ), ( 21, 201, 1, '1' ), ( 22, 202, 1, '1' ), ( 23, 203, 1, '1' ), ( 24, 204, 1, '1' ), ( 25, 205, 1, '1' ), ( 30, 300, 1, '1' ), ( 31, 301, 1, '1' ), ( 32, 302, 1, '1' ), ( 33, 303, 1, '1' ), ( 34, 304, 1, '1' ), ( 35, 305, 1, '1' ) select * from test where match('test') order by fval asc select *, fval+1 as f1 from test where match('test') order by f1 desc select * from test group by fval select *, ival-1 as i1 from test group by i1 select *, weight()+ival as i1 from test where match('test') select *, weight()+ival as i1 from test where match('test') and i1>1315 select *, weight() as w, w+ival as i1, i1+10 as i2 from test where match('test') and i2>1325 select *, 10+ival as i1, 50+i1 as i2 from test where match('test') select *, 10+ival as i1, 50+i1 as i2 from test select *, 10+ival as i1, 50+i1 as i2, i2*10 as i3 from test select *, 10+ival as i1, 50+i1 as i2, i2*10-i1 as i3 from test select *, 10+ival as i1, 50+i1 as i2, i2*fval as i3 from test select *, 10+ival as i1, 50+i1 as i2, i2*fval as i3 from test order by i3 asc select *, 10+ival as i1, 50+i1 as i2, i2*fval as i3 from test order by i1 asc, i3 desc select *, 10+ival as i1, 50+i1 as i2, i2*fval as i3 from test group by i2 select *, 10+ival as i1, 50+i1 as i2, i2*id as i3 from test group by i3 select *, IN ( mva, 11 ) as cnd1 from mva where cnd1=1 select id, idd1, idd2, idd1 + idd2 as i2 from final group by idd1 order by id desc limit 0,2 option max_matches=4 select id, idd1, idd2, idd1 + idd2 as i2 from final group by idd1 order by id desc limit 2,2 option max_matches=4 select * from test where fval<=10.0 select * from test where fval>=10.0 select * from test where fval<10.0 select * from test where fval>10.0 select * from test where fval=10.0 select * from test where fval<>10.0 select * from test_lengths where title_len=0 select * from test_lengths where title_len=2 select 50+ival*10 as ii1, 50+bad*10 from test select ival*ival as p, sum(p), avg(p), min(p), max(p) from test sphinx-2.2.11-release/test/test_119/model.bin0000644000175000017500000005652012743402012020211 0ustar alexeyalexeya:2:{i:0;a:29:{i:0;a:3:{s:8:"sphinxql";s:56:"select * from test where match('test') order by fval asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";}i:1;a:3:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";}i:2;a:3:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";}i:3;a:3:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";}}}i:1;a:3:{s:8:"sphinxql";s:69:"select *, fval+1 as f1 from test where match('test') order by f1 desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";s:2:"f1";s:9:"21.000000";}i:1;a:4:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";s:2:"f1";s:9:"11.000000";}i:2;a:4:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";s:2:"f1";s:10:"-29.000000";}i:3;a:4:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:2:"f1";s:10:"-39.000000";}}}i:2;a:3:{s:8:"sphinxql";s:32:"select * from test group by fval";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";}i:2;a:3:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";}i:3;a:3:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";}}}i:3;a:3:{s:8:"sphinxql";s:44:"select *, ival-1 as i1 from test group by i1";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";s:2:"i1";s:2:"10";}i:1;a:4:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:2:"i1";s:2:"21";}}}i:4;a:3:{s:8:"sphinxql";s:59:"select *, weight()+ival as i1 from test where match('test')";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";s:2:"i1";s:4:"1315";}i:1;a:4:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";s:2:"i1";s:4:"1315";}i:2;a:4:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";s:2:"i1";s:4:"1315";}i:3;a:4:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:2:"i1";s:4:"1326";}}}i:5;a:3:{s:8:"sphinxql";s:71:"select *, weight()+ival as i1 from test where match('test') and i1>1315";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:2:"i1";s:4:"1326";}}}i:6;a:3:{s:8:"sphinxql";s:92:"select *, weight() as w, w+ival as i1, i1+10 as i2 from test where match('test') and i2>1325";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:6:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:1:"w";s:4:"1304";s:2:"i1";s:4:"1326";s:2:"i2";s:4:"1336";}}}i:7;a:3:{s:8:"sphinxql";s:66:"select *, 10+ival as i1, 50+i1 as i2 from test where match('test')";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:5:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";}i:1;a:5:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";}i:2;a:5:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";}i:3;a:5:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:2:"i1";s:2:"32";s:2:"i2";s:2:"82";}}}i:8;a:3:{s:8:"sphinxql";s:46:"select *, 10+ival as i1, 50+i1 as i2 from test";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:5:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";}i:1;a:5:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";}i:2;a:5:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";}i:3;a:5:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:2:"i1";s:2:"32";s:2:"i2";s:2:"82";}}}i:9;a:3:{s:8:"sphinxql";s:59:"select *, 10+ival as i1, 50+i1 as i2, i2*10 as i3 from test";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:6:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:3:"710";}i:1;a:6:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:3:"710";}i:2;a:6:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:3:"710";}i:3;a:6:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:2:"i1";s:2:"32";s:2:"i2";s:2:"82";s:2:"i3";s:3:"820";}}}i:10;a:3:{s:8:"sphinxql";s:62:"select *, 10+ival as i1, 50+i1 as i2, i2*10-i1 as i3 from test";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:6:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:3:"689";}i:1;a:6:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:3:"689";}i:2;a:6:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:3:"689";}i:3;a:6:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:2:"i1";s:2:"32";s:2:"i2";s:2:"82";s:2:"i3";s:3:"788";}}}i:11;a:3:{s:8:"sphinxql";s:61:"select *, 10+ival as i1, 50+i1 as i2, i2*fval as i3 from test";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:6:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:10:"710.000000";}i:1;a:6:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:11:"1420.000000";}i:2;a:6:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:12:"-2130.000000";}i:3;a:6:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:2:"i1";s:2:"32";s:2:"i2";s:2:"82";s:2:"i3";s:12:"-3280.000000";}}}i:12;a:3:{s:8:"sphinxql";s:77:"select *, 10+ival as i1, 50+i1 as i2, i2*fval as i3 from test order by i3 asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:6:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:2:"i1";s:2:"32";s:2:"i2";s:2:"82";s:2:"i3";s:12:"-3280.000000";}i:1;a:6:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:12:"-2130.000000";}i:2;a:6:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:10:"710.000000";}i:3;a:6:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:11:"1420.000000";}}}i:13;a:3:{s:8:"sphinxql";s:86:"select *, 10+ival as i1, 50+i1 as i2, i2*fval as i3 from test order by i1 asc, i3 desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:6:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:11:"1420.000000";}i:1;a:6:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:10:"710.000000";}i:2;a:6:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:12:"-2130.000000";}i:3;a:6:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:2:"i1";s:2:"32";s:2:"i2";s:2:"82";s:2:"i3";s:12:"-3280.000000";}}}i:14;a:3:{s:8:"sphinxql";s:73:"select *, 10+ival as i1, 50+i1 as i2, i2*fval as i3 from test group by i2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:6:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:10:"710.000000";}i:1;a:6:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:2:"i1";s:2:"32";s:2:"i2";s:2:"82";s:2:"i3";s:12:"-3280.000000";}}}i:15;a:3:{s:8:"sphinxql";s:71:"select *, 10+ival as i1, 50+i1 as i2, i2*id as i3 from test group by i3";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:6:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:2:"71";}i:1;a:6:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:3:"142";}i:2;a:6:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:3:"213";}i:3;a:6:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:2:"i1";s:2:"32";s:2:"i2";s:2:"82";s:2:"i3";s:3:"328";}}}i:16;a:3:{s:8:"sphinxql";s:54:"select *, IN ( mva, 11 ) as cnd1 from mva where cnd1=1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"idd";s:1:"1";s:3:"mva";s:11:"10,11,12,13";s:4:"cnd1";s:1:"1";}}}i:17;a:3:{s:8:"sphinxql";s:113:"select id, idd1, idd2, idd1 + idd2 as i2 from final group by idd1 order by id desc limit 0,2 option max_matches=4";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:2:"35";s:4:"idd1";s:3:"305";s:4:"idd2";s:5:"35000";s:2:"i2";s:5:"35305";}i:1;a:4:{s:2:"id";s:2:"34";s:4:"idd1";s:3:"304";s:4:"idd2";s:5:"34000";s:2:"i2";s:5:"34304";}}}i:18;a:3:{s:8:"sphinxql";s:113:"select id, idd1, idd2, idd1 + idd2 as i2 from final group by idd1 order by id desc limit 2,2 option max_matches=4";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:2:"33";s:4:"idd1";s:3:"303";s:4:"idd2";s:5:"33000";s:2:"i2";s:5:"33303";}i:1;a:4:{s:2:"id";s:2:"32";s:4:"idd1";s:3:"302";s:4:"idd2";s:5:"32000";s:2:"i2";s:5:"32302";}}}i:19;a:3:{s:8:"sphinxql";s:35:"select * from test where fval<=10.0";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";}i:1;a:3:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";}i:2;a:3:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";}}}i:20;a:3:{s:8:"sphinxql";s:35:"select * from test where fval>=10.0";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";}}}i:21;a:3:{s:8:"sphinxql";s:34:"select * from test where fval<10.0";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";}i:1;a:3:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";}}}i:22;a:3:{s:8:"sphinxql";s:34:"select * from test where fval>10.0";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";}}}i:23;a:3:{s:8:"sphinxql";s:34:"select * from test where fval=10.0";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";}}}i:24;a:3:{s:8:"sphinxql";s:35:"select * from test where fval<>10.0";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";}i:1;a:3:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";}i:2;a:3:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";}}}i:25;a:2:{s:8:"sphinxql";s:44:"select * from test_lengths where title_len=0";s:10:"total_rows";i:0;}i:26;a:3:{s:8:"sphinxql";s:44:"select * from test_lengths where title_len=2";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";s:9:"title_len";s:1:"2";}i:1;a:4:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";s:9:"title_len";s:1:"2";}i:2;a:4:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";s:9:"title_len";s:1:"2";}i:3;a:4:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:9:"title_len";s:1:"2";}}}i:27;a:3:{s:8:"sphinxql";s:45:"select 50+ival*10 as ii1, 50+bad*10 from test";s:5:"error";s:44:"index test: parse error: unknown column: bad";s:5:"errno";i:1064;}i:28;a:3:{s:8:"sphinxql";s:63:"select ival*ival as p, sum(p), avg(p), min(p), max(p) from test";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:1:"p";s:3:"121";s:6:"sum(p)";s:3:"847";s:6:"avg(p)";s:10:"211.750000";s:6:"min(p)";s:3:"121";s:6:"max(p)";s:3:"484";}}}}i:1;a:29:{i:0;a:3:{s:8:"sphinxql";s:56:"select * from test where match('test') order by fval asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";}i:1;a:3:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";}i:2;a:3:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";}i:3;a:3:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";}}}i:1;a:3:{s:8:"sphinxql";s:69:"select *, fval+1 as f1 from test where match('test') order by f1 desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";s:2:"f1";s:9:"21.000000";}i:1;a:4:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";s:2:"f1";s:9:"11.000000";}i:2;a:4:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";s:2:"f1";s:10:"-29.000000";}i:3;a:4:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:2:"f1";s:10:"-39.000000";}}}i:2;a:3:{s:8:"sphinxql";s:32:"select * from test group by fval";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";}i:2;a:3:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";}i:3;a:3:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";}}}i:3;a:3:{s:8:"sphinxql";s:44:"select *, ival-1 as i1 from test group by i1";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";s:2:"i1";s:2:"10";}i:1;a:4:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:2:"i1";s:2:"21";}}}i:4;a:3:{s:8:"sphinxql";s:59:"select *, weight()+ival as i1 from test where match('test')";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";s:2:"i1";s:4:"1315";}i:1;a:4:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";s:2:"i1";s:4:"1315";}i:2;a:4:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";s:2:"i1";s:4:"1315";}i:3;a:4:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:2:"i1";s:4:"1326";}}}i:5;a:3:{s:8:"sphinxql";s:71:"select *, weight()+ival as i1 from test where match('test') and i1>1315";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:2:"i1";s:4:"1326";}}}i:6;a:3:{s:8:"sphinxql";s:92:"select *, weight() as w, w+ival as i1, i1+10 as i2 from test where match('test') and i2>1325";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:6:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:1:"w";s:4:"1304";s:2:"i1";s:4:"1326";s:2:"i2";s:4:"1336";}}}i:7;a:3:{s:8:"sphinxql";s:66:"select *, 10+ival as i1, 50+i1 as i2 from test where match('test')";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:5:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";}i:1;a:5:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";}i:2;a:5:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";}i:3;a:5:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:2:"i1";s:2:"32";s:2:"i2";s:2:"82";}}}i:8;a:3:{s:8:"sphinxql";s:46:"select *, 10+ival as i1, 50+i1 as i2 from test";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:5:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";}i:1;a:5:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";}i:2;a:5:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";}i:3;a:5:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:2:"i1";s:2:"32";s:2:"i2";s:2:"82";}}}i:9;a:3:{s:8:"sphinxql";s:59:"select *, 10+ival as i1, 50+i1 as i2, i2*10 as i3 from test";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:6:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:3:"710";}i:1;a:6:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:3:"710";}i:2;a:6:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:3:"710";}i:3;a:6:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:2:"i1";s:2:"32";s:2:"i2";s:2:"82";s:2:"i3";s:3:"820";}}}i:10;a:3:{s:8:"sphinxql";s:62:"select *, 10+ival as i1, 50+i1 as i2, i2*10-i1 as i3 from test";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:6:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:3:"689";}i:1;a:6:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:3:"689";}i:2;a:6:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:3:"689";}i:3;a:6:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:2:"i1";s:2:"32";s:2:"i2";s:2:"82";s:2:"i3";s:3:"788";}}}i:11;a:3:{s:8:"sphinxql";s:61:"select *, 10+ival as i1, 50+i1 as i2, i2*fval as i3 from test";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:6:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:10:"710.000000";}i:1;a:6:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:11:"1420.000000";}i:2;a:6:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:12:"-2130.000000";}i:3;a:6:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:2:"i1";s:2:"32";s:2:"i2";s:2:"82";s:2:"i3";s:12:"-3280.000000";}}}i:12;a:3:{s:8:"sphinxql";s:77:"select *, 10+ival as i1, 50+i1 as i2, i2*fval as i3 from test order by i3 asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:6:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:2:"i1";s:2:"32";s:2:"i2";s:2:"82";s:2:"i3";s:12:"-3280.000000";}i:1;a:6:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:12:"-2130.000000";}i:2;a:6:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:10:"710.000000";}i:3;a:6:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:11:"1420.000000";}}}i:13;a:3:{s:8:"sphinxql";s:86:"select *, 10+ival as i1, 50+i1 as i2, i2*fval as i3 from test order by i1 asc, i3 desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:6:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:11:"1420.000000";}i:1;a:6:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:10:"710.000000";}i:2;a:6:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:12:"-2130.000000";}i:3;a:6:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:2:"i1";s:2:"32";s:2:"i2";s:2:"82";s:2:"i3";s:12:"-3280.000000";}}}i:14;a:3:{s:8:"sphinxql";s:73:"select *, 10+ival as i1, 50+i1 as i2, i2*fval as i3 from test group by i2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:6:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:10:"710.000000";}i:1;a:6:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:2:"i1";s:2:"32";s:2:"i2";s:2:"82";s:2:"i3";s:12:"-3280.000000";}}}i:15;a:3:{s:8:"sphinxql";s:71:"select *, 10+ival as i1, 50+i1 as i2, i2*id as i3 from test group by i3";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:6:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:2:"71";}i:1;a:6:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:3:"142";}i:2;a:6:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";s:2:"i1";s:2:"21";s:2:"i2";s:2:"71";s:2:"i3";s:3:"213";}i:3;a:6:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:2:"i1";s:2:"32";s:2:"i2";s:2:"82";s:2:"i3";s:3:"328";}}}i:16;a:3:{s:8:"sphinxql";s:54:"select *, IN ( mva, 11 ) as cnd1 from mva where cnd1=1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"idd";s:1:"1";s:3:"mva";s:11:"10,11,12,13";s:4:"cnd1";s:1:"1";}}}i:17;a:3:{s:8:"sphinxql";s:113:"select id, idd1, idd2, idd1 + idd2 as i2 from final group by idd1 order by id desc limit 0,2 option max_matches=4";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:2:"35";s:4:"idd1";s:3:"305";s:4:"idd2";s:5:"35000";s:2:"i2";s:5:"35305";}i:1;a:4:{s:2:"id";s:2:"34";s:4:"idd1";s:3:"304";s:4:"idd2";s:5:"34000";s:2:"i2";s:5:"34304";}}}i:18;a:3:{s:8:"sphinxql";s:113:"select id, idd1, idd2, idd1 + idd2 as i2 from final group by idd1 order by id desc limit 2,2 option max_matches=4";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:4:{s:2:"id";s:2:"33";s:4:"idd1";s:3:"303";s:4:"idd2";s:5:"33000";s:2:"i2";s:5:"33303";}i:1;a:4:{s:2:"id";s:2:"32";s:4:"idd1";s:3:"302";s:4:"idd2";s:5:"32000";s:2:"i2";s:5:"32302";}}}i:19;a:3:{s:8:"sphinxql";s:35:"select * from test where fval<=10.0";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";}i:1;a:3:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";}i:2;a:3:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";}}}i:20;a:3:{s:8:"sphinxql";s:35:"select * from test where fval>=10.0";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";}i:1;a:3:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";}}}i:21;a:3:{s:8:"sphinxql";s:34:"select * from test where fval<10.0";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";}i:1;a:3:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";}}}i:22;a:3:{s:8:"sphinxql";s:34:"select * from test where fval>10.0";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";}}}i:23;a:3:{s:8:"sphinxql";s:34:"select * from test where fval=10.0";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";}}}i:24;a:3:{s:8:"sphinxql";s:35:"select * from test where fval<>10.0";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";}i:1;a:3:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";}i:2;a:3:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";}}}i:25;a:2:{s:8:"sphinxql";s:44:"select * from test_lengths where title_len=0";s:10:"total_rows";i:0;}i:26;a:3:{s:8:"sphinxql";s:44:"select * from test_lengths where title_len=2";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"1";s:4:"ival";s:2:"11";s:4:"fval";s:9:"10.000000";s:9:"title_len";s:1:"2";}i:1;a:4:{s:2:"id";s:1:"2";s:4:"ival";s:2:"11";s:4:"fval";s:9:"20.000000";s:9:"title_len";s:1:"2";}i:2;a:4:{s:2:"id";s:1:"3";s:4:"ival";s:2:"11";s:4:"fval";s:10:"-30.000000";s:9:"title_len";s:1:"2";}i:3;a:4:{s:2:"id";s:1:"4";s:4:"ival";s:2:"22";s:4:"fval";s:10:"-40.000000";s:9:"title_len";s:1:"2";}}}i:27;a:3:{s:8:"sphinxql";s:45:"select 50+ival*10 as ii1, 50+bad*10 from test";s:5:"error";s:44:"index test: parse error: unknown column: bad";s:5:"errno";i:1064;}i:28;a:3:{s:8:"sphinxql";s:63:"select ival*ival as p, sum(p), avg(p), min(p), max(p) from test";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:1:"p";s:3:"121";s:6:"sum(p)";s:3:"847";s:6:"avg(p)";s:10:"211.750000";s:6:"min(p)";s:3:"121";s:6:"max(p)";s:3:"484";}}}}}sphinx-2.2.11-release/test/test_118/0000755000175000017500000000000012743402012016406 5ustar alexeyalexeysphinx-2.2.11-release/test/test_118/test.xml0000644000175000017500000000145312743402012020112 0ustar alexeyalexey RT: order vs ram chanks indexer { mem_limit = 16M } searchd { workers = threads binlog_path = } index test { type = rt path = data/test rt_attr_uint = idd rt_field = content } insert into test (id,idd,content) values (1,1,'content'),(2,2,'you') insert into test (id,idd,content) values (10,10,'dog cat fish') insert into test (id,idd,content) values (11,11,'dog cat') select * from test select * from test where match( '(dog | cat) -fish' ) sphinx-2.2.11-release/test/test_118/model.bin0000644000175000017500000000202012743402012020172 0ustar alexeyalexeya:1:{i:0;a:6:{i:0;a:2:{s:8:"sphinxql";s:68:"insert into test (id,idd,content) values (1,1,'content'),(2,2,'you')";s:14:"total_affected";i:2;}i:1;a:2:{s:8:"sphinxql";s:63:"insert into test (id,idd,content) values (10,10,'dog cat fish')";s:14:"total_affected";i:1;}i:2;a:2:{s:8:"sphinxql";s:58:"insert into test (id,idd,content) values (11,11,'dog cat')";s:14:"total_affected";i:1;}i:3;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"2";}i:2;a:2:{s:2:"id";s:2:"10";s:3:"idd";s:2:"10";}i:3;a:2:{s:2:"id";s:2:"11";s:3:"idd";s:2:"11";}}}i:4;a:3:{s:8:"sphinxql";s:46:"select * from test where match( 'dog << cat' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:2:"10";s:3:"idd";s:2:"10";}i:1;a:2:{s:2:"id";s:2:"11";s:3:"idd";s:2:"11";}}}i:5;a:3:{s:8:"sphinxql";s:53:"select * from test where match( '(dog | cat) -fish' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"11";s:3:"idd";s:2:"11";}}}}}sphinx-2.2.11-release/test/test_117/0000755000175000017500000000000012743402012016405 5ustar alexeyalexeysphinx-2.2.11-release/test/test_117/test.xml0000644000175000017500000001006712743402012020112 0ustar alexeyalexey RT: ram vs disk chunk search searchd { workers = threads binlog_path = } index rt0 { docinfo = extern morphology = none type = rt rt_field = title rt_field = content rt_attr_uint = id1 rt_attr_uint = id2 path = /index rt_mem_limit = 128K } index rt_mva { type = rt path = /mva rt_mem_limit = 128K docinfo = extern rt_field = title rt_field = content rt_attr_uint = idd rt_attr_multi = mva1 } index rt_rand { type = rt path = /rt_rand rt_field = text rt_attr_uint = gid } drop table if exists rt0 create table rt0 ( id int not null, title varchar(255) not null, content varchar(255) not null, id1 int, id2 int ); insert into rt0 values ( 1000000, 'first title', 'first content', 1000000, 1000000 ); $value) $foo[$key] = $value; $results[] = $foo; } } return $results; '); $errors = ''; mysql_query ( "INSERT INTO rt0 VALUES ( 1, 'submarine', 'submarine', 1001, 300001 )", $sock ); $lastID = 300; $title = ''; $content = ''; for ( $i=2; $i<$lastID; $i++ ) { $title .= ' dusty' . $i; $content .= ' itsupposedtobeaverylongrecord' . $i; $id1 = $i + 1000; $id2 = $i + 300000; mysql_query ( "INSERT INTO rt0 VALUES ( $i, '$title', '$content', $id1, $id2 )", $sock ); if ( $i % 50 == 0 ) { $title = ''; $content = ''; } } $lastID = $lastID + 1; mysql_query ( "INSERT INTO rt0 VALUES ( $lastID, 'submarine', 'submarine', 77, 77 )", $sock); mysql_query ( "REPLACE INTO rt0 VALUES ( 1, 'submarine', 'submarine', 11, 11 )", $sock); $queries = array ( "match('submarine')", "id=1" ); for ( $i=0; $i sphinx-2.2.11-release/test/test_117/model.bin0000644000175000017500000000133112743402012020175 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:11:{i:0;s:66:"query 0: total_rows=2 q=select * from rt0 where match('submarine')";i:1;a:3:{s:2:"id";s:1:"1";s:3:"id1";s:2:"11";s:3:"id2";s:2:"11";}i:2;a:3:{s:2:"id";s:3:"301";s:3:"id1";s:2:"77";s:3:"id2";s:2:"77";}i:3;s:52:"query 1: total_rows=1 q=select * from rt0 where id=1";i:4;a:3:{s:2:"id";s:1:"1";s:3:"id1";s:2:"11";s:3:"id2";s:2:"11";}i:5;s:27:"query 0: total_affected=101";i:6;s:57:"query 0: total_rows=3 q=SELECT * FROM rt_mva WHERE id<203";i:7;a:3:{s:2:"id";s:3:"200";s:3:"idd";s:3:"200";s:4:"mva1";s:14:"1000,1001,1004";}i:8;a:3:{s:2:"id";s:3:"201";s:3:"idd";s:3:"201";s:4:"mva1";s:14:"1000,1001,1004";}i:9;a:3:{s:2:"id";s:3:"202";s:3:"idd";s:3:"202";s:4:"mva1";s:14:"1000,1001,1004";}i:10;i:1;}}}sphinx-2.2.11-release/test/test_116/0000755000175000017500000000000012743402012016404 5ustar alexeyalexeysphinx-2.2.11-release/test/test_116/test.xml0000644000175000017500000000355712743402012020117 0ustar alexeyalexey Bound cases of the proximity node indexer { mem_limit = 16M } searchd { } source src { type = mysql sql_query = SELECT * FROM test_table } index idx { source = src path = /main } source src1 { type = mysql sql_query = SELECT 1, 'M&M text in' sql_attr_uint = idd } index idx1 { source = src1 path = /idx1 blend_chars = & } "a b"~3 "e f"~2 "i j"~2 "M&M in"~2 "in M&M"~2 "M&M in"~3 "in M&M"~3 CREATE TABLE test_table ( id INTEGER AUTO_INCREMENT PRIMARY KEY NOT NULL, title TEXT NOT NULL ) ENGINE=MYISAM DROP TABLE IF EXISTS test_table sphinx-2.2.11-release/test/test_116/model.bin0000644000175000017500000001005112743402012020173 0ustar alexeyalexeya:1:{i:0;a:7:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:1:"a";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}s:1:"b";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:""a b"~3";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:20:{i:521;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:17;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:18;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:19;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:20;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:21;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:22;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:23;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:24;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:25;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:26;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:27;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:28;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:29;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}}s:5:"total";s:3:"511";s:11:"total_found";s:3:"511";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:1:"e";a:2:{s:4:"docs";s:3:"511";s:4:"hits";s:3:"513";}s:1:"f";a:2:{s:4:"docs";s:3:"511";s:4:"hits";s:3:"513";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:""e f"~2";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:522;a:2:{s:6:"weight";s:3:"532";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:1:"i";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:3:"532";}s:1:"j";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:3:"532";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:""i j"~2";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:11:"m&m text in";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:3:"m&m";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"in";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:""M&M in"~2";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:11:"m&m text in";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:2:"in";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"m&m";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:""in M&M"~2";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:11:"m&m text in";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:3:"m&m";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"in";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:""M&M in"~3";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:11:"m&m text in";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:2:"in";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"m&m";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:""in M&M"~3";}}}sphinx-2.2.11-release/test/test_115/0000755000175000017500000000000012743402012016403 5ustar alexeyalexeysphinx-2.2.11-release/test/test_115/test.xml0000644000175000017500000001216112743402012020105 0ustar alexeyalexey NEAR syntax indexer { mem_limit = 16M } searchd { } source src { type = mysql sql_query = SELECT * FROM test_table } index idx { source = src path = /main blend_chars = U+002D # '-' } "a b" NEAR/2 "c d" "c d" NEAR/2 "a b" a b NEAR/2 c d a NEAR/2 b NEAR/5 c NEAR/2 d a NEAR/3 b NEAR/3 c NEAR/3 d a NEAR/3 d NEAR/3 b NEAR/3 c (a b c) NEAR/3 d burden NEAR/2 (financial share) burden NEAR/2 (share financial) (share financial) NEAR/2 burden (financial share) NEAR/2 burden "a b" NEAR/2 "c d" NEAR/2 "f g" a NEAR/3 b NEAR/3 c NEAR/3 d "ARE NEAR" "ARE NEAR" "ARE NEAR" "ARE NEAR" "ARE NEAR" five NEAR/3 one six NEAR/3 one (five|six) NEAR/3 one aleph NEAR/2 gimel bet NEAR/3 he aleph-bet-gimel NEAR/3 he select * from idx where match ('aleph NEAR/2 gimel') select * from idx where match ('bet NEAR/3 he') select * from idx where match ('bet NEAR/2 he') select * from idx where match ('aleph-bet-gimel NEAR/4 he') select * from idx where match ('aleph-bet-gimel NEAR/3 he') call snippets ('aleph-bet-gimel dalet he wav zajin het', 'idx', 'gimel NEAR/2 he', 1 as query_mode) call snippets ('aleph-bet-gimel dalet he wav zajin het', 'idx', 'bet NEAR/3 he', 1 as query_mode) call snippets ('aleph-bet-gimel dalet he wav zajin het', 'idx', 'aleph NEAR/2 gimel', 1 as query_mode) CALL SNIPPETS ('U.S.S.S.B s s s s today s s s s s tomorrow', 'idx', 'B NEAR/7 today', 1 as query_mode) CALL SNIPPETS ('U.S.S.S.A s s s s today s s s s s tomorrow', 'idx', 'A NEAR/7 today', 1 as query_mode) select * from idx where match ('oy NEAR/1 vey') and id>=22 select * from idx where match ('x NEAR/2 x') and id=3 select * from idx where match ('x NEAR/2 x NEAR/2 x') and id=9 select * from idx where match ('\' <abc>') CREATE TABLE test_table ( id INTEGER AUTO_INCREMENT PRIMARY KEY NOT NULL, title VARCHAR(16384) NOT NULL ); INSERT INTO `test_table` VALUES ( 1, 'a b c d' ), ( 2, 'a x b c d' ), ( 3, 'a x x b c d' ), ( 4, 'a b x c d'), ( 5, 'a b x x c d' ), ( 6, 'a b x x x c d' ), ( 7, 'a b x x x x c d' ), ( 8, 'a x b x x x x c x d' ), ( 9, 'a x x b x x x c x x d' ), ( 10, 'c d x x x x a b' ), ( 11, 'c d x x x a b' ), ( 12, 'c d x x a b' ), ( 13, 'c d x a b' ), ( 14, 'c d a b' ), ( 15, '... is the clearinghouse associated with such exchange. In general, clearinghouses are backed by the corporate members of the clearinghouse who are required to share any financial burden resulting from the non-performance by one of their members and, as such, should significantly reduce this credit risk. In cases where the clearinghouse... is the clearinghouse associated with such exchange. In general, clearinghouses are backed by the corporate members of the clearinghouse who are required to share any financial burden resulting from the non-performance by one of their members and, as such, should significantly reduce this credit risk. In cases where the clearinghouse... be able to meet its obligations to a Trading Company. The counterparty for futures contracts traded in the United States and on most foreign exchanges is the clearinghouse associated with such exchange. In general, clearinghouses are backed by the corporate members of the clearinghouse who are required to share any financial...' ), ( 16, 'one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteena' ), ( 17, 'aleph-bet-gimel dalet he wav zajin het' ), ( 20, 'ein oy vey' ), ( 21, CONCAT('zwei ',REPEAT('oy vey ho ho ho ',1024)) ), ( 22, 'oy vey drei' ) DROP TABLE IF EXISTS test_table sphinx-2.2.11-release/test/test_115/model.bin0000644000175000017500000004121112743402012020174 0ustar alexeyalexeya:1:{i:0;a:38:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"words";a:4:{s:1:"a";a:2:{s:4:"docs";s:2:"15";s:4:"hits";s:2:"15";}s:1:"b";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}s:1:"c";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}s:1:"d";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:""a b" NEAR/2 "c d"";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"words";a:4:{s:1:"c";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}s:1:"d";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}s:1:"a";a:2:{s:4:"docs";s:2:"15";s:4:"hits";s:2:"15";}s:1:"b";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:""c d" NEAR/2 "a b"";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:4:{i:4;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:1;a:2:{s:6:"weight";s:4:"3444";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"2444";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2444";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"words";a:4:{s:1:"a";a:2:{s:4:"docs";s:2:"15";s:4:"hits";s:2:"15";}s:1:"b";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}s:1:"c";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}s:1:"d";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"a b NEAR/2 c d";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:11:{i:1;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:6;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:7;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}}s:5:"total";s:2:"11";s:11:"total_found";s:2:"11";s:4:"time";s:5:"0.000";s:5:"words";a:4:{s:1:"a";a:2:{s:4:"docs";s:2:"15";s:4:"hits";s:2:"15";}s:1:"b";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}s:1:"c";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}s:1:"d";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:28:"a NEAR/2 b NEAR/5 c NEAR/2 d";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:1;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.000";s:5:"words";a:4:{s:1:"a";a:2:{s:4:"docs";s:2:"15";s:4:"hits";s:2:"15";}s:1:"b";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}s:1:"c";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}s:1:"d";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:28:"a NEAR/3 b NEAR/3 c NEAR/3 d";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:1;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.000";s:5:"words";a:4:{s:1:"a";a:2:{s:4:"docs";s:2:"15";s:4:"hits";s:2:"15";}s:1:"d";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}s:1:"b";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}s:1:"c";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:28:"a NEAR/3 d NEAR/3 b NEAR/3 c";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:1;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.000";s:5:"words";a:4:{s:1:"a";a:2:{s:4:"docs";s:2:"15";s:4:"hits";s:2:"15";}s:1:"b";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}s:1:"c";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}s:1:"d";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"(a b c) NEAR/3 d";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:15;a:2:{s:6:"weight";s:4:"3836";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:3:{s:6:"burden";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}s:9:"financial";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"3";}s:5:"share";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:31:"burden NEAR/2 (financial share)";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:15;a:2:{s:6:"weight";s:4:"3836";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:3:{s:6:"burden";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}s:5:"share";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"3";}s:9:"financial";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:32:"burden NEAR/2 (share financial) ";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:15;a:2:{s:6:"weight";s:4:"3836";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:3:{s:5:"share";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"3";}s:9:"financial";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"3";}s:6:"burden";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:31:"(share financial) NEAR/2 burden";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:15;a:2:{s:6:"weight";s:4:"3836";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:3:{s:9:"financial";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"3";}s:5:"share";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"3";}s:6:"burden";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:31:"(financial share) NEAR/2 burden";}i:11;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:6:{s:1:"a";a:2:{s:4:"docs";s:2:"15";s:4:"hits";s:2:"15";}s:1:"b";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}s:1:"c";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}s:1:"d";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}s:1:"f";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:1:"g";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:31:""a b" NEAR/2 "c d" NEAR/2 "f g"";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:1;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:4:"4444";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.000";s:5:"words";a:4:{s:1:"a";a:2:{s:4:"docs";s:2:"15";s:4:"hits";s:2:"15";}s:1:"b";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}s:1:"c";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}s:1:"d";a:2:{s:4:"docs";s:2:"14";s:4:"hits";s:2:"14";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:28:"a NEAR/3 b NEAR/3 c NEAR/3 d";}i:13;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:3:"are";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"6";}s:4:"near";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:""ARE NEAR"";}i:14;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:15;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:3:"are";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"6";}s:4:"near";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:""ARE NEAR"";}i:15;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:3:"are";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"6";}s:4:"near";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:""ARE NEAR"";}i:16;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:3:"are";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"6";}s:4:"near";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:""ARE NEAR"";}i:17;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:3:"are";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"6";}s:4:"near";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:""ARE NEAR"";}i:18;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"one";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"five NEAR/3 one";}i:19;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:3:"six";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"one";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"six NEAR/3 one";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:3:{s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"six";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"one";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:21:"(five|six) NEAR/3 one";}i:21;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:17;a:2:{s:6:"weight";s:4:"2723";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:5:"aleph";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"gimel";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:"aleph NEAR/2 gimel";}i:22;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:17;a:2:{s:6:"weight";s:4:"2723";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:3:"bet";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"he";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:"bet NEAR/3 he";}i:23;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:15:"aleph-bet-gimel";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"he";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:25:"aleph-bet-gimel NEAR/3 he";}i:24;a:3:{s:8:"sphinxql";s:52:"select * from idx where match ('aleph NEAR/2 gimel')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:2:"17";}}}i:25;a:3:{s:8:"sphinxql";s:47:"select * from idx where match ('bet NEAR/3 he')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:2:"17";}}}i:26;a:2:{s:8:"sphinxql";s:47:"select * from idx where match ('bet NEAR/2 he')";s:10:"total_rows";i:0;}i:27;a:3:{s:8:"sphinxql";s:59:"select * from idx where match ('aleph-bet-gimel NEAR/4 he')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:2:"17";}}}i:28;a:2:{s:8:"sphinxql";s:59:"select * from idx where match ('aleph-bet-gimel NEAR/3 he')";s:10:"total_rows";i:0;}i:29;a:3:{s:8:"sphinxql";s:99:"call snippets ('aleph-bet-gimel dalet he wav zajin het', 'idx', 'gimel NEAR/2 he', 1 as query_mode)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:52:"aleph-bet-gimel dalet he wav zajin het";}}}i:30;a:3:{s:8:"sphinxql";s:97:"call snippets ('aleph-bet-gimel dalet he wav zajin het', 'idx', 'bet NEAR/3 he', 1 as query_mode)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:52:"aleph-bet-gimel dalet he wav zajin het";}}}i:31;a:3:{s:8:"sphinxql";s:102:"call snippets ('aleph-bet-gimel dalet he wav zajin het', 'idx', 'aleph NEAR/2 gimel', 1 as query_mode)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:52:"aleph-bet-gimel dalet he wav zajin het";}}}i:32;a:3:{s:8:"sphinxql";s:102:"CALL SNIPPETS ('U.S.S.S.B s s s s today s s s s s tomorrow', 'idx', 'B NEAR/7 today', 1 as query_mode)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:56:"U.S.S.S.B s s s s today s s s s s tomorrow";}}}i:33;a:3:{s:8:"sphinxql";s:102:"CALL SNIPPETS ('U.S.S.S.A s s s s today s s s s s tomorrow', 'idx', 'A NEAR/7 today', 1 as query_mode)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:56:"U.S.S.S.A s s s s today s s s s s tomorrow";}}}i:34;a:3:{s:8:"sphinxql";s:58:"select * from idx where match ('oy NEAR/1 vey') and id>=22";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:2:"22";}}}i:35;a:3:{s:8:"sphinxql";s:53:"select * from idx where match ('x NEAR/2 x') and id=3";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"3";}}}i:36;a:3:{s:8:"sphinxql";s:62:"select * from idx where match ('x NEAR/2 x NEAR/2 x') and id=9";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"9";}}}i:37;a:2:{s:8:"sphinxql";s:42:"select * from idx where match ('\' ')";s:10:"total_rows";i:0;}}}sphinx-2.2.11-release/test/test_114/0000755000175000017500000000000012743402012016402 5ustar alexeyalexeysphinx-2.2.11-release/test/test_114/test.xml0000644000175000017500000000221412743402012020102 0ustar alexeyalexey phrase matching vs hit buffer boundary indexer { mem_limit = 16M } searchd { } source src { type = mysql sql_query = SELECT * FROM test_table } index idx { source = src path = /main } "aaaa bbbb" "cccc dddd" CREATE TABLE test_table ( id INTEGER AUTO_INCREMENT PRIMARY KEY NOT NULL, title TEXT NOT NULL ) ENGINE=MYISAM DROP TABLE IF EXISTS test_table sphinx-2.2.11-release/test/test_114/model.bin0000644000175000017500000000543612743402012020204 0ustar alexeyalexeya:1:{i:0;a:2:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:20:{i:511;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:9;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:17;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:18;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:19;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}}s:5:"total";s:3:"511";s:11:"total_found";s:3:"511";s:4:"time";s:5:"0.004";s:5:"words";a:2:{s:4:"aaaa";a:2:{s:4:"docs";s:3:"511";s:4:"hits";s:3:"512";}s:4:"bbbb";a:2:{s:4:"docs";s:3:"511";s:4:"hits";s:3:"512";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:""aaaa bbbb"";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:20:{i:511;a:2:{s:6:"weight";s:3:"520";s:5:"attrs";a:0:{}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:9;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:17;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:18;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}i:19;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}}s:5:"total";s:3:"511";s:11:"total_found";s:3:"511";s:4:"time";s:5:"0.004";s:5:"words";a:2:{s:4:"cccc";a:2:{s:4:"docs";s:3:"511";s:4:"hits";s:4:"1030";}s:4:"dddd";a:2:{s:4:"docs";s:3:"511";s:4:"hits";s:4:"1030";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:""cccc dddd"";}}}sphinx-2.2.11-release/test/test_113/0000755000175000017500000000000012743402012016401 5ustar alexeyalexeysphinx-2.2.11-release/test/test_113/test.xml0000644000175000017500000000567512743402012020117 0ustar alexeyalexey catching errors in multiqueries indexer { mem_limit = 16M } searchd { workers = threads binlog_path = } source srctest { type = mysql sql_query = SELECT id, best_seller, attributes_id, text FROM test_table sql_attr_uint = best_seller sql_attr_uint = attributes_id } index products { source = srctest path = /test } index idx2 { source = srctest path = /idx2 } source src3 { type = mysql sql_query = SELECT 10 id, 100 as other_seller, 101 attributes_id, 'test' text UNION SELECT 11 id, 101 as other_seller, 102 attributes_id, 'test' text sql_attr_uint = other_seller sql_attr_uint = attributes_id } index idx3 { source = src3 path = /idx3 } CREATE TABLE test_table ( id integer primary key not null auto_increment, best_seller int not null default 0, attributes_id int not null default 0, text varchar(256) ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table (best_seller, attributes_id, text) VALUES ( 1, 1, 'text1' ), ( 2, 1, 'text2' ), ( 3, 2, 'text3' ), ( 4, 2, 'text4' ); SetArrayResult (true); $client->SetMatchMode (SPH_MATCH_EXTENDED2); $client->SetSortMode (SPH_SORT_EXTENDED, 'best_seller ASC'); $index = 'products'; $query = ""; // First Query $client->AddQuery ($query, $index); //Second query - note that manufacturers_id is absent in the schema, so it must fail the query, but *NOT* crash the searchd. $client->SetSelect('manufacturers_id'); $client->SetGroupBy ('manufacturers_id', SPH_GROUPBY_ATTR, 'manufacturers_id desc'); $client->AddQuery ($query, $index); //fullscan query should return something while in multiquery with fulltext query $client->SetSelect('*'); $client->SetLimits(0, 1); $client->ResetGroupBy(); $client->AddQuery ('text1', $index); //Run queries $results = $client->RunQueries(); // regression crash on multiquery with one bad query $index = 'products, idx2'; $query = 'text1'; $client->SetSortMode (SPH_SORT_EXTENDED, 'best_seller asc'); $client->SetSelect('*'); $client->SetLimits(0, 10); $client->AddQuery ($query, $index); $client->SetGroupBy ('missed', SPH_GROUPBY_ATTR, 'missed desc'); $client->AddQuery ($query, $index); $results[] = $client->RunQueries(); $client->ResetGroupBy(); $index = 'products, idx3'; $client->SetSelect(''); $client->SetLimits(0, 10); $client->SetSortMode (SPH_SORT_EXTENDED, 'attributes_id ASC'); $results[] = $client->Query ('', $index); ]]> select missed from products; select * from products set profiling=1; select id from idx3; show plan; show meta; set profiling=1; show plan; show meta sphinx-2.2.11-release/test/test_113/model.bin0000644000175000017500000001036212743402012020175 0ustar alexeyalexeya:1:{i:0;a:13:{i:0;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:11:"best_seller";i:1;s:13:"attributes_id";i:1;}s:7:"matches";a:4:{i:0;a:3:{s:2:"id";i:1;s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:11:"best_seller";s:1:"1";s:13:"attributes_id";s:1:"1";}}i:1;a:3:{s:2:"id";i:2;s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:11:"best_seller";s:1:"2";s:13:"attributes_id";s:1:"1";}}i:2;a:3:{s:2:"id";i:3;s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:11:"best_seller";s:1:"3";s:13:"attributes_id";s:1:"2";}}i:3;a:3:{s:2:"id";i:4;s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:11:"best_seller";s:1:"4";s:13:"attributes_id";s:1:"2";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"query";s:0:"";}i:1;a:4:{s:5:"error";s:61:"index products: parse error: unknown column: manufacturers_id";s:7:"warning";s:0:"";s:6:"status";i:1;s:5:"query";s:0:"";}i:2;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:11:"best_seller";i:1;s:13:"attributes_id";i:1;}s:7:"matches";a:1:{i:0;a:3:{s:2:"id";i:1;s:6:"weight";s:4:"1695";s:5:"attrs";a:2:{s:11:"best_seller";s:1:"1";s:13:"attributes_id";s:1:"1";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"text1";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:5:"query";s:0:"";}i:3;a:3:{i:0;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:11:"best_seller";i:1;s:13:"attributes_id";i:1;}s:7:"matches";a:1:{i:0;a:3:{s:2:"id";i:1;s:6:"weight";s:4:"1695";s:5:"attrs";a:2:{s:11:"best_seller";s:1:"1";s:13:"attributes_id";s:1:"1";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"text1";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}i:1;a:3:{s:5:"error";s:58:"index idx2,products: group-by attribute 'missed' not found";s:7:"warning";s:0:"";s:6:"status";i:1;}s:5:"query";s:0:"";}i:4;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:13:"attributes_id";i:1;}s:7:"matches";a:6:{i:0;a:3:{s:2:"id";i:1;s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:13:"attributes_id";s:1:"1";}}i:1;a:3:{s:2:"id";i:2;s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:13:"attributes_id";s:1:"1";}}i:2;a:3:{s:2:"id";i:3;s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:13:"attributes_id";s:1:"2";}}i:3;a:3:{s:2:"id";i:4;s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:13:"attributes_id";s:1:"2";}}i:4;a:3:{s:2:"id";i:10;s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:13:"attributes_id";s:3:"101";}}i:5;a:3:{s:2:"id";i:11;s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:13:"attributes_id";s:3:"102";}}}s:5:"total";s:1:"6";s:11:"total_found";s:1:"6";s:4:"time";s:5:"0.000";s:5:"query";s:0:"";}i:5;a:3:{s:8:"sphinxql";s:51:"select missed from products; select * from products";s:5:"error";s:51:"index products: parse error: unknown column: missed";s:5:"errno";i:1064;}i:6;a:2:{s:14:"total_affected";i:0;s:8:"sphinxql";s:97:"set profiling=1; select id from idx3; show plan; show meta; set profiling=1; show plan; show meta";}i:7;a:3:{s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:2:"10";}i:1;a:1:{s:2:"id";s:2:"11";}}s:8:"sphinxql";s:62:" select id from idx3 /* result 2 of previous multistatement */";}i:8;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:8:"Variable";s:16:"transformed_tree";s:5:"Value";s:0:"";}}s:8:"sphinxql";s:52:" show plan /* result 3 of previous multistatement */";}i:9;a:3:{s:10:"total_rows";i:3;s:4:"rows";a:2:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}}s:8:"sphinxql";s:52:" show meta /* result 4 of previous multistatement */";}i:10;a:2:{s:14:"total_affected";i:0;s:8:"sphinxql";s:58:" set profiling=1 /* result 5 of previous multistatement */";}i:11;a:3:{s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:8:"Variable";s:16:"transformed_tree";s:5:"Value";s:0:"";}}s:8:"sphinxql";s:52:" show plan /* result 6 of previous multistatement */";}i:12;a:3:{s:10:"total_rows";i:3;s:4:"rows";a:2:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}}s:8:"sphinxql";s:52:" show meta /* result 7 of previous multistatement */";}}}sphinx-2.2.11-release/test/test_112/0000755000175000017500000000000012743402012016400 5ustar alexeyalexeysphinx-2.2.11-release/test/test_112/test.xml0000644000175000017500000000317212743402012020104 0ustar alexeyalexey fullscan on empty multiquery with @geodist indexer { mem_limit = 16M } searchd { workers = threads binlog_path = } source srctest { type = mysql sql_query = SELECT id, best_seller, attributes_id, lng, lat, text FROM test_table sql_attr_uint = best_seller sql_attr_uint = attributes_id sql_attr_float = lng sql_attr_float = lat } index products { source = srctest path = /test } CREATE TABLE test_table ( id integer primary key not null auto_increment, best_seller int not null default 0, attributes_id int not null default 0, `lng` float NOT NULL default '0', `lat` float NOT NULL default '0', text varchar(256) ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table (best_seller, attributes_id, lng, lat, text) VALUES ( 1, 1, -0.0798578, 0.937717,'text1' ), ( 2, 1, -0.0799989, 0.891975, 'text2' ), ( 3, 2, -0.0721455, 0.926761, 'text3' ), ( 4, 2, -0.0721455, 0.926761, 'text4' ); SetArrayResult (true); $index = 'products'; $query = ""; $client->SetMatchMode (SPH_MATCH_EXTENDED2); // First query $client->SetSortMode (SPH_SORT_EXTENDED, 'best_seller ASC'); $client->AddQuery ($query, $index); //Second query $client->SetGeoAnchor ('lng','lat',-0.0798578,0.937717 ); $client->SetSortMode (SPH_SORT_EXTENDED, '@geodist DESC' ); $client->AddQuery ($query, $index); //Run queries $results = $client->RunQueries(); ]]> sphinx-2.2.11-release/test/test_112/model.bin0000644000175000017500000000436012743402012020175 0ustar alexeyalexeya:1:{i:0;a:2:{i:0;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:4:{s:11:"best_seller";i:1;s:13:"attributes_id";i:1;s:3:"lng";i:5;s:3:"lat";i:5;}s:7:"matches";a:4:{i:0;a:3:{s:2:"id";i:1;s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:11:"best_seller";i:1;s:13:"attributes_id";i:1;s:3:"lng";d:-0.0798577964305877685546875;s:3:"lat";d:0.937717020511627197265625;}}i:1;a:3:{s:2:"id";i:2;s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:11:"best_seller";i:2;s:13:"attributes_id";i:1;s:3:"lng";d:-0.079998902976512908935546875;s:3:"lat";d:0.891974985599517822265625;}}i:2;a:3:{s:2:"id";i:3;s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:11:"best_seller";i:3;s:13:"attributes_id";i:2;s:3:"lng";d:-0.072145499289035797119140625;s:3:"lat";d:0.926760971546173095703125;}}i:3;a:3:{s:2:"id";i:4;s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:11:"best_seller";i:4;s:13:"attributes_id";i:2;s:3:"lng";d:-0.072145499289035797119140625;s:3:"lat";d:0.926760971546173095703125;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"query";s:0:"";}i:1;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:5:{s:11:"best_seller";i:1;s:13:"attributes_id";i:1;s:3:"lng";i:5;s:3:"lat";i:5;s:8:"@geodist";i:5;}s:7:"matches";a:4:{i:0;a:3:{s:2:"id";i:2;s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:11:"best_seller";i:2;s:13:"attributes_id";i:1;s:3:"lng";d:-0.079998902976512908935546875;s:3:"lat";d:0.891974985599517822265625;s:8:"@geodist";d:291086.09375;}}i:1;a:3:{s:2:"id";i:3;s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:11:"best_seller";i:3;s:13:"attributes_id";i:2;s:3:"lng";d:-0.072145499289035797119140625;s:3:"lat";d:0.926760971546173095703125;s:8:"@geodist";d:85369.6015625;}}i:2;a:3:{s:2:"id";i:4;s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:11:"best_seller";i:4;s:13:"attributes_id";i:2;s:3:"lng";d:-0.072145499289035797119140625;s:3:"lat";d:0.926760971546173095703125;s:8:"@geodist";d:85369.6015625;}}i:3;a:3:{s:2:"id";i:1;s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:11:"best_seller";i:1;s:13:"attributes_id";i:1;s:3:"lng";d:-0.0798577964305877685546875;s:3:"lat";d:0.937717020511627197265625;s:8:"@geodist";d:0;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"query";s:0:"";}}}sphinx-2.2.11-release/test/test_111/0000755000175000017500000000000012743402012016377 5ustar alexeyalexeysphinx-2.2.11-release/test/test_111/test.xml0000644000175000017500000000274012743402012020103 0ustar alexeyalexey fullscan on different result's schemas indexer { mem_limit = 16M } searchd { workers = threads binlog_path = } source srctest { type = mysql sql_query = SELECT id, best_seller, attributes_id, text FROM test_table sql_attr_uint = best_seller sql_attr_uint = attributes_id } index products { source = srctest path = /test } CREATE TABLE test_table ( id integer primary key not null auto_increment, best_seller int not null default 0, attributes_id int not null default 0, text varchar(256) ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table (best_seller, attributes_id, text) VALUES ( 1, 1, 'text1' ), ( 2, 1, 'text2' ), ( 3, 2, 'text3' ), ( 4, 2, 'text4' ); SetArrayResult (true); $client->SetMatchMode (SPH_MATCH_EXTENDED2); $client->SetSortMode (SPH_SORT_EXTENDED, 'best_seller ASC'); $index = 'products'; $query = ""; // First Query - contains only usual attrs in the schema $client->AddQuery ($query, $index); //Second query - contains usual attrs, and also @group_by and @count attrs in the schema $client->SetGroupBy ('attributes_id', SPH_GROUPBY_ATTR, 'attributes_id desc'); $client->AddQuery ($query, $index); //Run queries $results = $client->RunQueries(); ]]> sphinx-2.2.11-release/test/test_111/model.bin0000644000175000017500000000247212743402012020176 0ustar alexeyalexeya:1:{i:0;a:2:{i:0;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:11:"best_seller";i:1;s:13:"attributes_id";i:1;}s:7:"matches";a:4:{i:0;a:3:{s:2:"id";i:1;s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:11:"best_seller";i:1;s:13:"attributes_id";i:1;}}i:1;a:3:{s:2:"id";i:2;s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:11:"best_seller";i:2;s:13:"attributes_id";i:1;}}i:2;a:3:{s:2:"id";i:3;s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:11:"best_seller";i:3;s:13:"attributes_id";i:2;}}i:3;a:3:{s:2:"id";i:4;s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:11:"best_seller";i:4;s:13:"attributes_id";i:2;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"3.689";s:5:"query";s:0:"";}i:1;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:4:{s:11:"best_seller";i:1;s:13:"attributes_id";i:1;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:2:{i:0;a:3:{s:2:"id";i:3;s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:11:"best_seller";i:3;s:13:"attributes_id";i:2;s:8:"@groupby";i:2;s:6:"@count";i:2;}}i:1;a:3:{s:2:"id";i:1;s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:11:"best_seller";i:1;s:13:"attributes_id";i:1;s:8:"@groupby";i:1;s:6:"@count";i:2;}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"3.689";s:5:"query";s:0:"";}}}sphinx-2.2.11-release/test/test_110/0000755000175000017500000000000012743402012016376 5ustar alexeyalexeysphinx-2.2.11-release/test/test_110/test.xml0000644000175000017500000000370612743402012020105 0ustar alexeyalexey naive guess about the block index indexer { mem_limit = 16M } searchd { } source src { type = mysql sql_query = SELECT * FROM test_table sql_attr_uint = tag } index idx { source = src path = /main } one one CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `tag` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) INSERT INTO test_table VALUES ( 1,1,'' ), ( 2,2,'' ), ( 3,3,'' ), ( 4,4,'' ) INSERT INTO test_table SELECT document_id+4, tag+4, body FROM test_table INSERT INTO test_table SELECT document_id+8, tag+8, body FROM test_table INSERT INTO test_table SELECT document_id+16, tag+16, body FROM test_table INSERT INTO test_table SELECT document_id+32, tag+32, body FROM test_table INSERT INTO test_table SELECT document_id+64, tag+64, body FROM test_table INSERT INTO test_table VALUES ( 200,200,'one' ), ( 201,201,'one two' ), ( 202,202,'one three' ), ( 203,203,'one four' ) DROP TABLE IF EXISTS test_table sphinx-2.2.11-release/test/test_110/model.bin0000644000175000017500000000206612743402012020174 0ustar alexeyalexeya:1:{i:0;a:2:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:3:"tag";i:1;}s:7:"matches";a:4:{i:200;a:2:{s:6:"weight";s:4:"1661";s:5:"attrs";a:1:{s:3:"tag";i:200;}}i:201;a:2:{s:6:"weight";s:4:"1661";s:5:"attrs";a:1:{s:3:"tag";i:201;}}i:202;a:2:{s:6:"weight";s:4:"1661";s:5:"attrs";a:1:{s:3:"tag";i:202;}}i:203;a:2:{s:6:"weight";s:4:"1661";s:5:"attrs";a:1:{s:3:"tag";i:203;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"one";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:3:"tag";i:1;}s:7:"matches";a:1:{i:200;a:2:{s:6:"weight";s:4:"1661";s:5:"attrs";a:1:{s:3:"tag";i:200;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"one";}}}sphinx-2.2.11-release/test/test_109/0000755000175000017500000000000012743402012016406 5ustar alexeyalexeysphinx-2.2.11-release/test/test_109/test.xml0000644000175000017500000001160312743402012020110 0ustar alexeyalexey RT: kill-list and segments merge searchd { seamless_rotate = 1 workers = threads binlog_path = } index test { type = rt path = /testrt123 rt_mem_limit = 128K rt_attr_uint = group_id rt_field = title rt_field = content } index seg1 { type = rt path = /seg1 rt_mem_limit = 32K rt_attr_uint = gid rt_field = body } indexer { mem_limit = 16M } source dummysrc { type = mysql sql_query = SELECT * FROM test_table where id=1 } index dummysrcmain { source = dummysrc path = /dummysrcmain } source src_1 { type = mysql sql_query = SELECT *, 11 as idd FROM test_table where id <= 100 sql_attr_uint = idd } source src_2 { type = mysql sql_query = SELECT *, 11 as idd FROM test_table where id > 100 sql_attr_uint = idd } index i1_crc { source = src_1 path = /i1_crc docinfo = extern dict = crc } index i2_crc { source = src_2 path = /i2_crc docinfo = extern dict = crc } index i1_kw { source = src_1 path = /i1_kw docinfo = extern dict = keywords } index i2_kw { source = src_2 path = /i2_kw docinfo = extern dict = keywords } CREATE TABLE test_table ( id INTEGER PRIMARY KEY NOT NULL AUTO_INCREMENT, title varchar(255) NOT NULL ); DROP TABLE IF EXISTS test_table; $value) $foo[$key] = $value; $results[] = $foo; } } } $replaced = 0; $queried = 0; for ( $i=0; $i<50; $i++ ) { $res = array (); $res[] = @mysql_query ( "REPLACE INTO seg1 ( id, gid, body ) VALUES ( $i, $i, 'text $i' )" ); $res[] = @mysql_query ( "REPLACE INTO seg1 ( id, gid, body ) VALUES ( $i, $i, 'text $i' )" ); foreach ( $res as $r ) { if ($r===true) $replaced++; } $rq = @mysql_query ( "SELECT * FROM seg1 WHERE MATCH('text')" ); $queried += mysql_num_rows ($rq); } $results[] = "segments merge: replaced=$replaced, queried=$queried"; // issues with merge+rotate and merge of indexes v31 $queryAPI = create_function('$client,$words,$idx', ' $result = $client->Query ( $words, $idx ); if ( $result ) { unset ( $result["time"] ); return $result; } else return $client->GetLastError(); '); usleep ( 100000 ); $client->SetLimits ( 0, 1 ); $results[] = "merge+rotate and merge of indexes v31"; $results[] = $queryAPI ( $client, ' dummy ', 'i1_crc' ); $results[] = $queryAPI ( $client, ' dummy ', 'i1_kw' ); @mysql_close($sock); ]]> sphinx-2.2.11-release/test/test_109/model.bin0000644000175000017500000000204112743402012020175 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:9:{i:0;s:19:"total inserted=1019";i:1;s:27:"id=21 query 0: total_rows=1";i:2;a:2:{s:2:"id";s:2:"21";s:8:"group_id";s:5:"10900";}i:3;s:37:"match('gooddy') query 1: total_rows=1";i:4;a:2:{s:2:"id";s:2:"21";s:8:"group_id";s:5:"10900";}i:5;s:41:"segments merge: replaced=100, queried=790";i:6;s:37:"merge+rotate and merge of indexes v31";i:7;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:3:"idd";i:11;}}}s:5:"total";s:3:"999";s:11:"total_found";s:3:"999";s:5:"words";a:1:{s:5:"dummy";a:2:{s:4:"docs";s:3:"999";s:4:"hits";s:3:"999";}}}i:8;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:1:{s:3:"idd";i:11;}}}s:5:"total";s:3:"999";s:11:"total_found";s:3:"999";s:5:"words";a:1:{s:5:"dummy";a:2:{s:4:"docs";s:3:"999";s:4:"hits";s:3:"999";}}}}}}sphinx-2.2.11-release/test/test_108/0000755000175000017500000000000012743402012016405 5ustar alexeyalexeysphinx-2.2.11-release/test/test_108/test.xml0000644000175000017500000000162012743402012020105 0ustar alexeyalexey xmlpipe2 string and wordcount attributes, defined in schema or in config indexer { mem_limit = 16M } searchd { } source src { type = xmlpipe2 xmlpipe_command = cat /data.xml xmlpipe_field = title xmlpipe_field = content xmlpipe_attr_uint = gid xmlpipe_attr_string = sgid xmlpipe_field_string = sgidf } source src2 { type = xmlpipe2 xmlpipe_command = cat /data2.xml } index idx { source = src path = /idx } index idx2 { source = src2 path = /idx2 } test ord2 orddf test2 test ord2 orddf test2 sphinx-2.2.11-release/test/test_108/model.bin0000644000175000017500000001021012743402012020171 0ustar alexeyalexeya:1:{i:0;a:8:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:5:"title";i:1;s:7:"content";i:2;s:5:"sgidf";}s:5:"attrs";a:3:{s:3:"gid";i:1;s:4:"sgid";i:7;s:5:"sgidf";i:7;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"2302";s:5:"attrs";a:3:{s:3:"gid";i:0;s:4:"sgid";s:24:"here is string attribute";s:5:"sgidf";s:13:"test1 is attr";}}i:2;a:2:{s:6:"weight";s:4:"2302";s:5:"attrs";a:3:{s:3:"gid";i:0;s:4:"sgid";s:35:"here is the second string attribute";s:5:"sgidf";s:13:"test2 is attr";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"test";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:5:"title";i:1;s:7:"content";i:2;s:5:"sgidf";}s:5:"attrs";a:3:{s:3:"gid";i:1;s:4:"sgid";i:7;s:5:"sgidf";i:7;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ord2";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ord2";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:5:"title";i:1;s:7:"content";i:2;s:5:"sgidf";}s:5:"attrs";a:3:{s:3:"gid";i:1;s:4:"sgid";i:7;s:5:"sgidf";i:7;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"orddf";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"orddf";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:5:"title";i:1;s:7:"content";i:2;s:5:"sgidf";}s:5:"attrs";a:3:{s:3:"gid";i:1;s:4:"sgid";i:7;s:5:"sgidf";i:7;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:3:{s:3:"gid";i:0;s:4:"sgid";s:35:"here is the second string attribute";s:5:"sgidf";s:13:"test2 is attr";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"test2";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test2";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:5:"title";i:1;s:7:"content";i:2;s:5:"sgidf";}s:5:"attrs";a:3:{s:3:"gid";i:1;s:4:"sgid";i:7;s:5:"sgidf";i:7;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"2302";s:5:"attrs";a:3:{s:3:"gid";i:1;s:4:"sgid";s:24:"here is string attribute";s:5:"sgidf";s:13:"test1 is attr";}}i:2;a:2:{s:6:"weight";s:4:"2302";s:5:"attrs";a:3:{s:3:"gid";i:1;s:4:"sgid";s:35:"here is the second string attribute";s:5:"sgidf";s:13:"test2 is attr";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"test";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:5:"title";i:1;s:7:"content";i:2;s:5:"sgidf";}s:5:"attrs";a:3:{s:3:"gid";i:1;s:4:"sgid";i:7;s:5:"sgidf";i:7;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ord2";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ord2";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:5:"title";i:1;s:7:"content";i:2;s:5:"sgidf";}s:5:"attrs";a:3:{s:3:"gid";i:1;s:4:"sgid";i:7;s:5:"sgidf";i:7;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"orddf";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"orddf";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:5:"title";i:1;s:7:"content";i:2;s:5:"sgidf";}s:5:"attrs";a:3:{s:3:"gid";i:1;s:4:"sgid";i:7;s:5:"sgidf";i:7;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:3:{s:3:"gid";i:1;s:4:"sgid";s:35:"here is the second string attribute";s:5:"sgidf";s:13:"test2 is attr";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"test2";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test2";}}}sphinx-2.2.11-release/test/test_108/data2.xml0000644000175000017500000000141412743402012020122 0ustar alexeyalexey test one here is string attribute test1 is attr this is my test document number one. also checking search within phrases. test one here is the second string attribute test2 is attr this is my test document number two. also checking search within phrases. sphinx-2.2.11-release/test/test_108/data.xml0000644000175000017500000000103612743402012020040 0ustar alexeyalexey test one here is string attribute test1 is attr this is my test document number one. also checking search within phrases. test one here is the second string attribute test2 is attr this is my test document number two. also checking search within phrases. sphinx-2.2.11-release/test/test_107/0000755000175000017500000000000012743402012016404 5ustar alexeyalexeysphinx-2.2.11-release/test/test_107/test.xml0000644000175000017500000000475712743402012020122 0ustar alexeyalexey RT: memory vs disk kill-list searchd { workers = threads binlog_path = } index test { type = rt path = /testrt123 rt_mem_limit = 128K rt_attr_uint = group_id rt_field = title rt_field = content } indexer { mem_limit = 16M } source dummysrc { type = mysql sql_query = SELECT * FROM test_table where id=1 } index dummysrcmain { source = dummysrc path = /dummysrcmain } CREATE TABLE test_table ( id INTEGER PRIMARY KEY NOT NULL AUTO_INCREMENT, title varchar(255) NOT NULL ); DROP TABLE IF EXISTS test_table; $value) $foo[$key] = $value; $results[] = $foo; } } } @mysql_close($sock); ]]> sphinx-2.2.11-release/test/test_107/model.bin0000644000175000017500000000062512743402012020201 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:9:{i:0;s:18:"total inserted=469";i:1;s:21:"query 0: total_rows=1";i:2;a:2:{s:2:"id";s:1:"1";s:8:"group_id";s:4:"5001";}i:3;s:21:"query 1: total_rows=1";i:4;a:2:{s:2:"id";s:2:"50";s:8:"group_id";s:4:"5050";}i:5;s:21:"query 2: total_rows=1";i:6;a:2:{s:2:"id";s:3:"450";s:8:"group_id";s:4:"5450";}i:7;s:21:"query 3: total_rows=1";i:8;a:2:{s:2:"id";s:3:"469";s:8:"group_id";s:4:"5469";}}}}sphinx-2.2.11-release/test/test_106/0000755000175000017500000000000012743402012016403 5ustar alexeyalexeysphinx-2.2.11-release/test/test_106/test.xml0000644000175000017500000000266412743402012020114 0ustar alexeyalexey extended sort with more than 1 sorter indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query_pre = SET time_zone='+0:00' sql_query = SELECT id, UNIX_TIMESTAMP(date_added) as date_added, text FROM test_table sql_attr_timestamp = date_added } index test { source = srctest path = /test docinfo = extern } CREATE TABLE `test_table` ( id int(11) NOT NULL default '0', date_added date not null, text varchar(255) not null default 'text' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, '2008-10-01', 'one' ), ( 2, '2008-10-02', 'one two' ), ( 3, '2008-10-03', 'one two three' ), ( 4, '2008-10-01', 'one' ), ( 5, '2008-10-02', 'one two' ), ( 6, '2008-10-03', 'one two three' ), ( 7, '2008-10-07', 'one' ), ( 8, '2008-10-08', 'one two' ), ( 9, '2008-10-09', 'one two three' ); one|two|three one|two|three one|two|three sphinx-2.2.11-release/test/test_106/model.bin0000644000175000017500000000720012743402012020174 0ustar alexeyalexeya:1:{i:0;a:3:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:10:"date_added";i:2;}s:7:"matches";a:9:{i:9;a:2:{s:6:"weight";s:4:"3442";s:5:"attrs";a:1:{s:10:"date_added";i:1223510400;}}i:8;a:2:{s:6:"weight";s:4:"2414";s:5:"attrs";a:1:{s:10:"date_added";i:1223424000;}}i:7;a:2:{s:6:"weight";s:4:"1427";s:5:"attrs";a:1:{s:10:"date_added";i:1223337600;}}i:3;a:2:{s:6:"weight";s:4:"3442";s:5:"attrs";a:1:{s:10:"date_added";i:1222992000;}}i:6;a:2:{s:6:"weight";s:4:"3442";s:5:"attrs";a:1:{s:10:"date_added";i:1222992000;}}i:2;a:2:{s:6:"weight";s:4:"2414";s:5:"attrs";a:1:{s:10:"date_added";i:1222905600;}}i:5;a:2:{s:6:"weight";s:4:"2414";s:5:"attrs";a:1:{s:10:"date_added";i:1222905600;}}i:1;a:2:{s:6:"weight";s:4:"1427";s:5:"attrs";a:1:{s:10:"date_added";i:1222819200;}}i:4;a:2:{s:6:"weight";s:4:"1427";s:5:"attrs";a:1:{s:10:"date_added";i:1222819200;}}}s:5:"total";s:1:"9";s:11:"total_found";s:1:"9";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"two";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}s:5:"three";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:"one|two|three";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:10:"date_added";i:2;}s:7:"matches";a:9:{i:9;a:2:{s:6:"weight";s:4:"3442";s:5:"attrs";a:1:{s:10:"date_added";i:1223510400;}}i:6;a:2:{s:6:"weight";s:4:"3442";s:5:"attrs";a:1:{s:10:"date_added";i:1222992000;}}i:3;a:2:{s:6:"weight";s:4:"3442";s:5:"attrs";a:1:{s:10:"date_added";i:1222992000;}}i:8;a:2:{s:6:"weight";s:4:"2414";s:5:"attrs";a:1:{s:10:"date_added";i:1223424000;}}i:5;a:2:{s:6:"weight";s:4:"2414";s:5:"attrs";a:1:{s:10:"date_added";i:1222905600;}}i:2;a:2:{s:6:"weight";s:4:"2414";s:5:"attrs";a:1:{s:10:"date_added";i:1222905600;}}i:7;a:2:{s:6:"weight";s:4:"1427";s:5:"attrs";a:1:{s:10:"date_added";i:1223337600;}}i:4;a:2:{s:6:"weight";s:4:"1427";s:5:"attrs";a:1:{s:10:"date_added";i:1222819200;}}i:1;a:2:{s:6:"weight";s:4:"1427";s:5:"attrs";a:1:{s:10:"date_added";i:1222819200;}}}s:5:"total";s:1:"9";s:11:"total_found";s:1:"9";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"two";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}s:5:"three";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:"one|two|three";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:10:"date_added";i:2;}s:7:"matches";a:9:{i:9;a:2:{s:6:"weight";s:4:"3442";s:5:"attrs";a:1:{s:10:"date_added";i:1223510400;}}i:6;a:2:{s:6:"weight";s:4:"3442";s:5:"attrs";a:1:{s:10:"date_added";i:1222992000;}}i:3;a:2:{s:6:"weight";s:4:"3442";s:5:"attrs";a:1:{s:10:"date_added";i:1222992000;}}i:8;a:2:{s:6:"weight";s:4:"2414";s:5:"attrs";a:1:{s:10:"date_added";i:1223424000;}}i:5;a:2:{s:6:"weight";s:4:"2414";s:5:"attrs";a:1:{s:10:"date_added";i:1222905600;}}i:2;a:2:{s:6:"weight";s:4:"2414";s:5:"attrs";a:1:{s:10:"date_added";i:1222905600;}}i:7;a:2:{s:6:"weight";s:4:"1427";s:5:"attrs";a:1:{s:10:"date_added";i:1223337600;}}i:4;a:2:{s:6:"weight";s:4:"1427";s:5:"attrs";a:1:{s:10:"date_added";i:1222819200;}}i:1;a:2:{s:6:"weight";s:4:"1427";s:5:"attrs";a:1:{s:10:"date_added";i:1222819200;}}}s:5:"total";s:1:"9";s:11:"total_found";s:1:"9";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"two";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}s:5:"three";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:"one|two|three";}}}sphinx-2.2.11-release/test/test_105/0000755000175000017500000000000012743402012016402 5ustar alexeyalexeysphinx-2.2.11-release/test/test_105/test.xml0000644000175000017500000000417112743402012020106 0ustar alexeyalexey rotation - *nix only searchd { workers = fork workers = prefork } source sql { type = mysql sql_query = select id, text from test_table where mode = (select mode from test_table where id = 1000); } index index { source = sql path = /index } source sql1 : sql { sql_query = select id, text, 1 as idd1 from test_table; sql_attr_uint = idd1 } source sql2 : sql { sql_query = select id, text, 1 as idd1, 2 as idd2 from test_table; sql_attr_uint = idd1 sql_attr_uint = idd2 } index i1 { source = sql1 path = /index1 docinfo = inline } index i2 { source = sql2 path = /index2 docinfo = inline } drop table if exists test_table create table test_table ( id int not null, text varchar(255) not null, mode int ); insert into test_table values ( 1, 'first', 1 ), ( 2, 'second', 1 ), ( 3, 'third', 1 ), ( 4, 'fourth', 1 ), ( 5, 'fifth', 1 ), ( 1, 'one', 2 ), ( 2, 'two', 2 ), ( 3, 'three', 2 ), ( 1000, '', 1 ); Query ( $words, "index" ); if ( $result ) { unset ( $result["time"] ); return $result; } else return $client->GetLastError(); '); $results = array(); $errors = ''; $results[] = $query ( $client, 'first' ); $results[] = $query ( $client, 'one' ); mysql_query ( 'update test_table set mode = 3 where id = 1000' ); RunIndexer ( $errors, '--all --rotate' ); sleep(2); $results[] = $query ( $client, 'first' ); $results[] = $query ( $client, 'one' ); mysql_query ( 'update test_table set mode = 2 where id = 1000' ); RunIndexer ( $errors, '--all --rotate' ); sleep(2); $results[] = $query ( $client, 'first' ); $results[] = $query ( $client, 'one' ); ]]> sphinx-2.2.11-release/test/test_105/model.bin0000644000175000017500000000620212743402012020174 0ustar alexeyalexeya:2:{i:0;a:1:{i:0;a:6:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1709";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"first";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:1;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:2;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:5:"first";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:3;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:4;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:5:"first";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:5;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}i:1;a:1:{i:0;a:6:{i:0;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:5:"first";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:5:"first";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:3;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:4;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:5:"first";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:5;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}}sphinx-2.2.11-release/test/test_104/0000755000175000017500000000000012743402012016401 5ustar alexeyalexeysphinx-2.2.11-release/test/test_104/test.xml0000644000175000017500000000231412743402012020102 0ustar alexeyalexey persistent connections - *nix only indexer { mem_limit = 16M } searchd { client_timeout = 5 client_timeout = 1 workers = fork workers = prefork } source srctest { type = mysql sql_query = SELECT id, body FROM test_table } index test_idx { source = srctest path = /test } CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'test' ) Open(); $results [] = $client->Query ( 'test' ); $results [] = $client->GetLastError(); sleep ( 2 ); $results [] = $client->Query ( 'test' ); $results [] = $client->GetLastError(); $results [] = $client->Close(); foreach ( $results as &$r ) if ( is_array($r) ) unset ( $r['time'] ); ]]> sphinx-2.2.11-release/test/test_104/model.bin0000644000175000017500000000524612743402012020202 0ustar alexeyalexeya:4:{i:0;a:1:{i:0;a:6:{i:0;b:1;i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;s:0:"";i:3;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:4;s:0:"";i:5;b:1;}}i:1;a:1:{i:0;a:6:{i:0;b:1;i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;s:0:"";i:3;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:4;s:0:"";i:5;b:0;}}i:2;a:1:{i:0;a:6:{i:0;b:1;i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;s:0:"";i:3;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:4;s:0:"";i:5;b:1;}}i:3;a:1:{i:0;a:6:{i:0;b:1;i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;s:0:"";i:3;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:4;s:0:"";i:5;b:0;}}}sphinx-2.2.11-release/test/test_103/0000755000175000017500000000000012743402012016400 5ustar alexeyalexeysphinx-2.2.11-release/test/test_103/test.xml0000644000175000017500000000576612743402012020117 0ustar alexeyalexey fullscan filtering on virtual attributes indexer { mem_limit = 16M } searchd { } source srclj { type = mysql sql_query = SELECT id, adtext, heading, postcode, lng, lat, section, make_id, transmission_id FROM test_table sql_attr_float = lng sql_attr_float = lat sql_attr_uint = section sql_attr_uint = make_id sql_attr_uint = transmission_id } index lj { source = srclj path = /lj docinfo = extern min_word_len = 1 } lng lat @geodist $client->SetGeoAnchor ('lng','lat',-0.0798578,0.937717 ); $client->SetFilterFloatRange ('@geodist', 0.0, 200000.0 ); $results = $client->Query ( $query, $index ); CREATE TABLE `test_table` ( `id` int(11) NOT NULL auto_increment, `section` int(11) NOT NULL, `system_id` tinyint(4) NOT NULL, `adtext` varchar(255) NOT NULL, `heading` varchar(500) NOT NULL, `price` int(11) NOT NULL default '0', `postcode` varchar(10) NOT NULL, `gre` int(11) NOT NULL, `grn` int(11) NOT NULL, `str_at1` varchar(255) NOT NULL, `str_at2` varchar(255) NOT NULL, `str_at3` varchar(255) NOT NULL, `str_at4` varchar(255) NOT NULL, `str_at5` varchar(255) NOT NULL, `int_at1` int(11) default NULL, `int_at2` int(11) default NULL, `int_at3` int(11) default NULL, `int_at4` int(11) default NULL, `int_at5` int(11) default NULL, `float_at1` float default NULL, `float_at2` float default NULL, `float_at3` float default NULL, `lng` float NOT NULL default '0', `lat` float NOT NULL default '0', `make_id` int(11) NOT NULL, `transmission_id` tinyint(4) NOT NULL, PRIMARY KEY (`id`) ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` (`id`, `section`, `system_id`, `adtext`, `heading`, `price`, `postcode`, `gre`, `grn`, `str_at1`, `str_at2`, `str_at3`, `str_at4`, `str_at5`, `int_at1`, `int_at2`, `int_at3`, `int_at4`, `int_at5`, `float_at1`, `float_at2`, `float_at3`, `lng`, `lat`, `make_id`, `transmission_id`) VALUES (1, 1, 2, 'FORD', 'Ford KA', 2790, 'EN3 5BT', 535000, 197400, 'Ford', 'KA', 'Grey', 'Diesel', '', 18662, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -0.0798578, 0.937717, 8, 1), (2, 1, 0, 'until', 'Vauxhall Corsa', 5800, 'BN42 4RN', 524000, 106100, 'Vauxhall', 'Corsa', 'Red', 'Petrol', '', 19296, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -0.0799989, 0.891975, 5, 0), (211250, 0, 1, 'Quattro Roadster', 'Audi TT', 13995, 'E9 7DG', 535600, 184200, '', '', '', '', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -0.0721455, 0.926761, 29, 1); sphinx-2.2.11-release/test/test_103/model.bin0000644000175000017500000000153412743402012020175 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:6:"adtext";i:1;s:7:"heading";i:2;s:8:"postcode";}s:5:"attrs";a:6:{s:3:"lng";i:5;s:3:"lat";i:5;s:7:"section";i:1;s:7:"make_id";i:1;s:15:"transmission_id";i:1;s:8:"@geodist";i:5;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"lng";d:-0.0798577964305877685546875;s:3:"lat";d:0.937717020511627197265625;s:7:"section";s:1:"1";s:7:"make_id";s:1:"8";s:15:"transmission_id";s:1:"1";s:8:"@geodist";d:0;}}i:211250;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"lng";d:-0.072145499289035797119140625;s:3:"lat";d:0.926760971546173095703125;s:7:"section";s:1:"0";s:7:"make_id";s:2:"29";s:15:"transmission_id";s:1:"1";s:8:"@geodist";d:85369.6015625;}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"query";s:0:"";}}}sphinx-2.2.11-release/test/test_102/0000755000175000017500000000000012743402012016377 5ustar alexeyalexeysphinx-2.2.11-release/test/test_102/test.xml0000644000175000017500000000231412743402012020100 0ustar alexeyalexey deadlock on threaded exit indexer { mem_limit = 16M } searchd { workers = threads binlog_path = } source srctest { type = mysql sql_query = SELECT id, t_zlib, at_1, t_mysql, plain, at_2, at_3, t_mysql_2 FROM test_table sql_attr_uint = at_1 sql_attr_uint = at_2 sql_attr_uint = at_3 } index test_idx { source = srctest path = /test } CREATE TABLE test_table ( id integer primary key not null auto_increment, t_zlib blob, t_mysql blob, t_mysql_2 blob, plain varchar(256), at_1 int not null default 1, at_2 int not null default 2, at_3 int not null default 3 ) ENGINE=MYISAM DROP TABLE IF EXISTS test_table; INSERT INTO test_table (t_zlib, t_mysql, t_mysql_2, plain) VALUES ( 'zlib', NULL, NULL, 'plain' ), ( NULL, 'mysql', NULL, NULL ), ( 'test', 'hello', 'world', '' ), ( 'malformed', 'broken', NULL, NULL ), ( '', '', '', '' ); zlib mysql hello world plain malformed broken sphinx-2.2.11-release/test/test_102/model.bin0000644000175000017500000000642712743402012020202 0ustar alexeyalexeya:1:{i:0;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:4:{i:0;s:6:"t_zlib";i:1;s:7:"t_mysql";i:2;s:5:"plain";i:3;s:9:"t_mysql_2";}s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:1;s:4:"at_3";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1704";s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:2;s:4:"at_3";i:3;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"zlib";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"zlib";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:4:{i:0;s:6:"t_zlib";i:1;s:7:"t_mysql";i:2;s:5:"plain";i:3;s:9:"t_mysql_2";}s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:1;s:4:"at_3";i:1;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1704";s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:2;s:4:"at_3";i:3;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"mysql";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"mysql";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:4:{i:0;s:6:"t_zlib";i:1;s:7:"t_mysql";i:2;s:5:"plain";i:3;s:9:"t_mysql_2";}s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:1;s:4:"at_3";i:1;}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"2704";s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:2;s:4:"at_3";i:3;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"hello world";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:4:{i:0;s:6:"t_zlib";i:1;s:7:"t_mysql";i:2;s:5:"plain";i:3;s:9:"t_mysql_2";}s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:1;s:4:"at_3";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1704";s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:2;s:4:"at_3";i:3;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"plain";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"plain";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:4:{i:0;s:6:"t_zlib";i:1;s:7:"t_mysql";i:2;s:5:"plain";i:3;s:9:"t_mysql_2";}s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:1;s:4:"at_3";i:1;}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1704";s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:2;s:4:"at_3";i:3;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:9:"malformed";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"malformed";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:4:{i:0;s:6:"t_zlib";i:1;s:7:"t_mysql";i:2;s:5:"plain";i:3;s:9:"t_mysql_2";}s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:1;s:4:"at_3";i:1;}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1704";s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:2;s:4:"at_3";i:3;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"broken";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"broken";}}}sphinx-2.2.11-release/test/test_101/0000755000175000017500000000000012743402012016376 5ustar alexeyalexeysphinx-2.2.11-release/test/test_101/test.xml0000644000175000017500000000420612743402012020101 0ustar alexeyalexey RT: basic transactional syntax indexer { mem_limit = 16M } searchd { workers = threads binlog_path = } index test { type = rt path = data/test rt_attr_uint = idd rt_field = content } index test1 { type = rt path = data/test1 rt_attr_uint = idd rt_field = content } index test2 { type = rt path = data/test2 rt_attr_uint = idd rt_field = content } insert into test (id,content) values (1,'content') insert into test1 (id,content) values (1,'content') select * from test select * from test1 set autocommit=0 insert into test (id,content) values (2,'content') insert into test1 (id,content) values (2,'content') delete from test1 where id=1 delete from test where id=1 set autocommit=1 select * from test select * from test1 begin insert into test1 (id,content) values (2,'content') rollback select * from test1 start transaction insert into test1 (id,content) values (2,'content') commit select * from test1 set autocommit=0 insert into test (id,content) values (3,'content') select * from test set autocommit=1 select * from test select * from test1 insert into test2 values (1, 'test', 11) insert into test2 values (2, 'test of my things going well', 22), (1, 'test', 12) insert into test2 values (3, 'test', 22), (3, 'test', 12), (3, 'test', 23) select id from test2 sphinx-2.2.11-release/test/test_101/model.bin0000644000175000017500000000700312743402012020170 0ustar alexeyalexeya:1:{i:0;a:30:{i:0;a:2:{s:8:"sphinxql";s:50:"insert into test (id,content) values (1,'content')";s:14:"total_affected";i:1;}i:1;a:2:{s:8:"sphinxql";s:51:"insert into test1 (id,content) values (1,'content')";s:14:"total_affected";i:1;}i:2;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:1:"0";}}}i:3;a:3:{s:8:"sphinxql";s:19:"select * from test1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:1:"0";}}}i:4;a:2:{s:8:"sphinxql";s:16:"set autocommit=0";s:14:"total_affected";i:0;}i:5;a:2:{s:8:"sphinxql";s:50:"insert into test (id,content) values (2,'content')";s:14:"total_affected";i:1;}i:6;a:3:{s:8:"sphinxql";s:51:"insert into test1 (id,content) values (2,'content')";s:5:"error";s:50:"current txn is working with another index ('test')";s:5:"errno";i:1064;}i:7;a:3:{s:8:"sphinxql";s:28:"delete from test1 where id=1";s:5:"error";s:63:"index test1: current txn is working with another index ('test')";s:5:"errno";i:1064;}i:8;a:2:{s:8:"sphinxql";s:27:"delete from test where id=1";s:14:"total_affected";i:0;}i:9;a:2:{s:8:"sphinxql";s:16:"set autocommit=1";s:14:"total_affected";i:0;}i:10;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"0";}}}i:11;a:3:{s:8:"sphinxql";s:19:"select * from test1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:1:"0";}}}i:12;a:2:{s:8:"sphinxql";s:5:"begin";s:14:"total_affected";i:0;}i:13;a:2:{s:8:"sphinxql";s:51:"insert into test1 (id,content) values (2,'content')";s:14:"total_affected";i:1;}i:14;a:2:{s:8:"sphinxql";s:8:"rollback";s:14:"total_affected";i:0;}i:15;a:3:{s:8:"sphinxql";s:19:"select * from test1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:1:"0";}}}i:16;a:2:{s:8:"sphinxql";s:17:"start transaction";s:14:"total_affected";i:0;}i:17;a:2:{s:8:"sphinxql";s:51:"insert into test1 (id,content) values (2,'content')";s:14:"total_affected";i:1;}i:18;a:2:{s:8:"sphinxql";s:6:"commit";s:14:"total_affected";i:0;}i:19;a:3:{s:8:"sphinxql";s:19:"select * from test1";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:1:"0";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"0";}}}i:20;a:2:{s:8:"sphinxql";s:16:"set autocommit=0";s:14:"total_affected";i:0;}i:21;a:2:{s:8:"sphinxql";s:50:"insert into test (id,content) values (3,'content')";s:14:"total_affected";i:1;}i:22;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"0";}}}i:23;a:2:{s:8:"sphinxql";s:16:"set autocommit=1";s:14:"total_affected";i:0;}i:24;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"0";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:1:"0";}}}i:25;a:3:{s:8:"sphinxql";s:19:"select * from test1";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:1:"0";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"0";}}}i:26;a:2:{s:8:"sphinxql";s:40:"insert into test2 values (1, 'test', 11)";s:14:"total_affected";i:1;}i:27;a:3:{s:8:"sphinxql";s:81:"insert into test2 values (2, 'test of my things going well', 22), (1, 'test', 12)";s:5:"error";s:16:"duplicate id '1'";s:5:"errno";i:1064;}i:28;a:2:{s:8:"sphinxql";s:74:"insert into test2 values (3, 'test', 22), (3, 'test', 12), (3, 'test', 23)";s:14:"total_affected";i:3;}i:29;a:3:{s:8:"sphinxql";s:20:"select id from test2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"3";}}}}}sphinx-2.2.11-release/test/test_100/0000755000175000017500000000000012743402012016375 5ustar alexeyalexeysphinx-2.2.11-release/test/test_100/test.xml0000644000175000017500000000264312743402012020103 0ustar alexeyalexey snippets vs force_all_words indexer { mem_limit = 16M } searchd { } source main { type = mysql sql_query = select 1 as id, 'body' as body; } index test_idx { source = main path = /main docinfo = extern min_word_len = 1 } "", "after_match" => "", "chunk_separator" => " ... ", "around" => 3 ); $results = array(); for ($limit = 4; $limit < 60; ++$limit ) foreach ( array(0,1) as $exact ) foreach ( array(0,1) as $force ) { $opts["exact_phrase"] = $exact; $opts["force_all_words"] = $force; $opts["limit"] = $limit; $rs["opts"]="phrase $exact, force $force, limit $limit"; $res = $client->BuildExcerpts ( $docs, $index, $words, $opts ); if ( !$res ) $rs["result"] = $client->GetLastError(); else $rs["result"] = $res; $results[] = $rs; } ]]> sphinx-2.2.11-release/test/test_100/model.bin0000644000175000017500000020656612743402012020206 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:224:{i:0;a:2:{s:4:"opts";s:26:"phrase 0, force 0, limit 4";s:6:"result";a:4:{i:0;s:21:" ... test ... ";i:1;s:21:" ... test ... ";i:2;s:16:"test ... ";i:3;s:21:" ... test ... ";}}i:1;a:2:{s:4:"opts";s:26:"phrase 0, force 1, limit 4";s:6:"result";a:4:{i:0;s:33:" ... test text ... ";i:1;s:33:" ... test text ... ";i:2;s:17:"test ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:2;a:2:{s:4:"opts";s:26:"phrase 1, force 0, limit 4";s:6:"result";a:4:{i:0;s:26:" ... test text ... ";i:1;s:26:" ... test text ... ";i:2;s:9:"test ... ";i:3;s:11:"final ... ";}}i:3;a:2:{s:4:"opts";s:26:"phrase 1, force 1, limit 4";s:6:"result";a:4:{i:0;s:26:" ... test text ... ";i:1;s:26:" ... test text ... ";i:2;s:9:"test ... ";i:3;s:11:"final ... ";}}i:4;a:2:{s:4:"opts";s:26:"phrase 0, force 0, limit 5";s:6:"result";a:4:{i:0;s:22:" ... test ... ";i:1;s:22:" ... test ... ";i:2;s:17:"test ... ";i:3;s:22:" ... test ... ";}}i:5;a:2:{s:4:"opts";s:26:"phrase 0, force 1, limit 5";s:6:"result";a:4:{i:0;s:33:" ... test text ... ";i:1;s:33:" ... test text ... ";i:2;s:17:"test ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:6;a:2:{s:4:"opts";s:26:"phrase 1, force 0, limit 5";s:6:"result";a:4:{i:0;s:26:" ... test text ... ";i:1;s:26:" ... test text ... ";i:2;s:10:"test ... ";i:3;s:11:"final ... ";}}i:7;a:2:{s:4:"opts";s:26:"phrase 1, force 1, limit 5";s:6:"result";a:4:{i:0;s:26:" ... test text ... ";i:1;s:26:" ... test text ... ";i:2;s:10:"test ... ";i:3;s:11:"final ... ";}}i:8;a:2:{s:4:"opts";s:26:"phrase 0, force 0, limit 6";s:6:"result";a:4:{i:0;s:22:" ... test ... ";i:1;s:22:" ... test ... ";i:2;s:17:"test ... ";i:3;s:22:" ... test ... ";}}i:9;a:2:{s:4:"opts";s:26:"phrase 0, force 1, limit 6";s:6:"result";a:4:{i:0;s:33:" ... test text ... ";i:1;s:33:" ... test text ... ";i:2;s:17:"test ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:10;a:2:{s:4:"opts";s:26:"phrase 1, force 0, limit 6";s:6:"result";a:4:{i:0;s:26:" ... test text ... ";i:1;s:26:" ... test text ... ";i:2;s:10:"test ... ";i:3;s:11:"final ... ";}}i:11;a:2:{s:4:"opts";s:26:"phrase 1, force 1, limit 6";s:6:"result";a:4:{i:0;s:26:" ... test text ... ";i:1;s:26:" ... test text ... ";i:2;s:10:"test ... ";i:3;s:11:"final ... ";}}i:12;a:2:{s:4:"opts";s:26:"phrase 0, force 0, limit 7";s:6:"result";a:4:{i:0;s:24:" ... my test ... ";i:1;s:22:" ... test ... ";i:2;s:17:"test ... ";i:3;s:22:" ... test ... ";}}i:13;a:2:{s:4:"opts";s:26:"phrase 0, force 1, limit 7";s:6:"result";a:4:{i:0;s:33:" ... test text ... ";i:1;s:33:" ... test text ... ";i:2;s:17:"test ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:14;a:2:{s:4:"opts";s:26:"phrase 1, force 0, limit 7";s:6:"result";a:4:{i:0;s:26:" ... test text ... ";i:1;s:26:" ... test text ... ";i:2;s:10:"test ... ";i:3;s:11:"final ... ";}}i:15;a:2:{s:4:"opts";s:26:"phrase 1, force 1, limit 7";s:6:"result";a:4:{i:0;s:26:" ... test text ... ";i:1;s:26:" ... test text ... ";i:2;s:10:"test ... ";i:3;s:11:"final ... ";}}i:16;a:2:{s:4:"opts";s:26:"phrase 0, force 0, limit 8";s:6:"result";a:4:{i:0;s:37:" ... test ... text ... ";i:1;s:37:" ... test ... text ... ";i:2;s:17:"test ... ";i:3;s:37:" ... test ... text ... ";}}i:17;a:2:{s:4:"opts";s:26:"phrase 0, force 1, limit 8";s:6:"result";a:4:{i:0;s:33:" ... test text ... ";i:1;s:33:" ... test text ... ";i:2;s:17:"test ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:18;a:2:{s:4:"opts";s:26:"phrase 1, force 0, limit 8";s:6:"result";a:4:{i:0;s:26:" ... test text ... ";i:1;s:26:" ... test text ... ";i:2;s:10:"test ... ";i:3;s:11:"final ... ";}}i:19;a:2:{s:4:"opts";s:26:"phrase 1, force 1, limit 8";s:6:"result";a:4:{i:0;s:26:" ... test text ... ";i:1;s:26:" ... test text ... ";i:2;s:10:"test ... ";i:3;s:11:"final ... ";}}i:20;a:2:{s:4:"opts";s:26:"phrase 0, force 0, limit 9";s:6:"result";a:4:{i:0;s:33:" ... test text ... ";i:1;s:33:" ... test text ... ";i:2;s:17:"test ... ";i:3;s:33:" ... text test ... ";}}i:21;a:2:{s:4:"opts";s:26:"phrase 0, force 1, limit 9";s:6:"result";a:4:{i:0;s:33:" ... test text ... ";i:1;s:33:" ... test text ... ";i:2;s:17:"test ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:22;a:2:{s:4:"opts";s:26:"phrase 1, force 0, limit 9";s:6:"result";a:4:{i:0;s:26:" ... test text ... ";i:1;s:26:" ... test text ... ";i:2;s:10:"test ... ";i:3;s:11:"final ... ";}}i:23;a:2:{s:4:"opts";s:26:"phrase 1, force 1, limit 9";s:6:"result";a:4:{i:0;s:26:" ... test text ... ";i:1;s:26:" ... test text ... ";i:2;s:10:"test ... ";i:3;s:11:"final ... ";}}i:24;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 10";s:6:"result";a:4:{i:0;s:34:" ... test text ... ";i:1;s:34:" ... test text ... ";i:2;s:17:"test ... ";i:3;s:34:" ... text test ... ";}}i:25;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 10";s:6:"result";a:4:{i:0;s:34:" ... test text ... ";i:1;s:34:" ... test text ... ";i:2;s:17:"test ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:26;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 10";s:6:"result";a:4:{i:0;s:27:" ... test text ... ";i:1;s:27:" ... test text ... ";i:2;s:10:"test ... ";i:3;s:15:"final test ... ";}}i:27;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 10";s:6:"result";a:4:{i:0;s:27:" ... test text ... ";i:1;s:27:" ... test text ... ";i:2;s:10:"test ... ";i:3;s:15:"final test ... ";}}i:28;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 11";s:6:"result";a:4:{i:0;s:34:" ... test text ... ";i:1;s:34:" ... test text ... ";i:2;s:23:"test number ... ";i:3;s:34:" ... text test ... ";}}i:29;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 11";s:6:"result";a:4:{i:0;s:35:" ... test text ... ";i:1;s:35:" ... test text ... ";i:2;s:23:"test number ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:30;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 11";s:6:"result";a:4:{i:0;s:27:" ... test text ... ";i:1;s:27:" ... test text ... ";i:2;s:16:"test number ... ";i:3;s:16:"final test, ... ";}}i:31;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 11";s:6:"result";a:4:{i:0;s:28:" ... test text ... ";i:1;s:28:" ... test text ... ";i:2;s:16:"test number ... ";i:3;s:16:"final test, ... ";}}i:32;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 12";s:6:"result";a:4:{i:0;s:36:" ... my test text ... ";i:1;s:34:" ... test text ... ";i:2;s:24:"test number ... ";i:3;s:34:" ... text test ... ";}}i:33;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 12";s:6:"result";a:4:{i:0;s:35:" ... test text ... ";i:1;s:35:" ... test text ... ";i:2;s:24:"test number ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:34;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 12";s:6:"result";a:4:{i:0;s:29:" ... my test text ... ";i:1;s:27:" ... test text ... ";i:2;s:17:"test number ... ";i:3;s:17:"final test, ... ";}}i:35;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 12";s:6:"result";a:4:{i:0;s:28:" ... test text ... ";i:1;s:28:" ... test text ... ";i:2;s:17:"test number ... ";i:3;s:17:"final test, ... ";}}i:36;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 13";s:6:"result";a:4:{i:0;s:37:" ... my test text ... ";i:1;s:34:" ... test text ... ";i:2;s:24:"test number ... ";i:3;s:34:" ... text test ... ";}}i:37;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 13";s:6:"result";a:4:{i:0;s:37:" ... test text to ... ";i:1;s:37:" ... test text to ... ";i:2;s:24:"test number ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:38;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 13";s:6:"result";a:4:{i:0;s:30:" ... my test text ... ";i:1;s:27:" ... test text ... ";i:2;s:17:"test number ... ";i:3;s:17:"final test, ... ";}}i:39;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 13";s:6:"result";a:4:{i:0;s:30:" ... test text to ... ";i:1;s:30:" ... test text to ... ";i:2;s:17:"test number ... ";i:3;s:17:"final test, ... ";}}i:40;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 14";s:6:"result";a:4:{i:0;s:37:" ... my test text ... ";i:1;s:34:" ... test text ... ";i:2;s:24:"test number ... ";i:3;s:50:" ... test, ... text test ... ";}}i:41;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 14";s:6:"result";a:4:{i:0;s:37:" ... test text to ... ";i:1;s:37:" ... test text to ... ";i:2;s:24:"test number ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:42;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 14";s:6:"result";a:4:{i:0;s:30:" ... my test text ... ";i:1;s:27:" ... test text ... ";i:2;s:17:"test number ... ";i:3;s:17:"final test, ... ";}}i:43;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 14";s:6:"result";a:4:{i:0;s:30:" ... test text to ... ";i:1;s:30:" ... test text to ... ";i:2;s:17:"test number ... ";i:3;s:17:"final test, ... ";}}i:44;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 15";s:6:"result";a:4:{i:0;s:39:" ... my test text to ... ";i:1;s:34:" ... test text ... ";i:2;s:24:"test number ... ";i:3;s:51:" ... test, ... text test ... ";}}i:45;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 15";s:6:"result";a:4:{i:0;s:39:" ... my test text to ... ";i:1;s:37:" ... test text to ... ";i:2;s:24:"test number ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:46;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 15";s:6:"result";a:4:{i:0;s:32:" ... my test text to ... ";i:1;s:27:" ... test text ... ";i:2;s:17:"test number ... ";i:3;s:20:"final test, not ... ";}}i:47;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 15";s:6:"result";a:4:{i:0;s:32:" ... my test text to ... ";i:1;s:30:" ... test text to ... ";i:2;s:17:"test number ... ";i:3;s:20:"final test, not ... ";}}i:48;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 16";s:6:"result";a:4:{i:0;s:40:" ... my test text to ... ";i:1;s:34:" ... test text ... ";i:2;s:24:"test number ... ";i:3;s:40:" ... phrase text test ... ";}}i:49;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 16";s:6:"result";a:4:{i:0;s:40:" ... my test text to ... ";i:1;s:37:" ... test text to ... ";i:2;s:24:"test number ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:50;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 16";s:6:"result";a:4:{i:0;s:33:" ... my test text to ... ";i:1;s:27:" ... test text ... ";i:2;s:17:"test number ... ";i:3;s:21:"final test, not ... ";}}i:51;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 16";s:6:"result";a:4:{i:0;s:33:" ... my test text to ... ";i:1;s:30:" ... test text to ... ";i:2;s:17:"test number ... ";i:3;s:21:"final test, not ... ";}}i:52;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 17";s:6:"result";a:4:{i:0;s:40:" ... my test text to ... ";i:1;s:36:"another test text ... ";i:2;s:29:"test number three ... ";i:3;s:41:" ... phrase text test ... ";}}i:53;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 17";s:6:"result";a:4:{i:0;s:41:" ... my test text to ... ";i:1;s:37:" ... test text to ... ";i:2;s:29:"test number three ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:54;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 17";s:6:"result";a:4:{i:0;s:33:" ... my test text to ... ";i:1;s:29:"another test text ... ";i:2;s:22:"test number three ... ";i:3;s:21:"final test, not ... ";}}i:55;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 17";s:6:"result";a:4:{i:0;s:34:" ... my test text to ... ";i:1;s:30:" ... test text to ... ";i:2;s:22:"test number three ... ";i:3;s:21:"final test, not ... ";}}i:56;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 18";s:6:"result";a:4:{i:0;s:42:" ... is my test text to ... ";i:1;s:37:"another test text ... ";i:2;s:30:"test number three, ... ";i:3;s:41:" ... phrase text test ... ";}}i:57;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 18";s:6:"result";a:4:{i:0;s:41:" ... my test text to ... ";i:1;s:37:" ... test text to ... ";i:2;s:30:"test number three, ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:58;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 18";s:6:"result";a:4:{i:0;s:35:" ... is my test text to ... ";i:1;s:30:"another test text ... ";i:2;s:23:"test number three, ... ";i:3;s:21:"final test, not ... ";}}i:59;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 18";s:6:"result";a:4:{i:0;s:34:" ... my test text to ... ";i:1;s:30:" ... test text to ... ";i:2;s:23:"test number three, ... ";i:3;s:21:"final test, not ... ";}}i:60;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 19";s:6:"result";a:4:{i:0;s:43:" ... is my test text to ... ";i:1;s:37:"another test text ... ";i:2;s:31:"test number three, ... ";i:3;s:43:" ... phrase text test as ... ";}}i:61;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 19";s:6:"result";a:4:{i:0;s:43:" ... my test text to be ... ";i:1;s:37:" ... test text to ... ";i:2;s:31:"test number three, ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:62;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 19";s:6:"result";a:4:{i:0;s:36:" ... is my test text to ... ";i:1;s:30:"another test text ... ";i:2;s:24:"test number three, ... ";i:3;s:21:"final test, not ... ";}}i:63;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 19";s:6:"result";a:4:{i:0;s:36:" ... my test text to be ... ";i:1;s:30:" ... test text to ... ";i:2;s:24:"test number three, ... ";i:3;s:21:"final test, not ... ";}}i:64;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 20";s:6:"result";a:4:{i:0;s:43:" ... is my test text to ... ";i:1;s:39:"another test text to ... ";i:2;s:31:"test number three, ... ";i:3;s:44:" ... phrase text test as ... ";}}i:65;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 20";s:6:"result";a:4:{i:0;s:43:" ... my test text to be ... ";i:1;s:39:"another test text to ... ";i:2;s:31:"test number three, ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:66;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 20";s:6:"result";a:4:{i:0;s:36:" ... is my test text to ... ";i:1;s:32:"another test text to ... ";i:2;s:24:"test number three, ... ";i:3;s:25:"final test, not only ... ";}}i:67;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 20";s:6:"result";a:4:{i:0;s:36:" ... my test text to be ... ";i:1;s:32:"another test text to ... ";i:2;s:24:"test number three, ... ";i:3;s:25:"final test, not only ... ";}}i:68;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 21";s:6:"result";a:4:{i:0;s:45:" ... is my test text to be ... ";i:1;s:40:"another test text to ... ";i:2;s:31:"test number three, ... ";i:3;s:44:" ... phrase text test as ... ";}}i:69;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 21";s:6:"result";a:4:{i:0;s:45:" ... is my test text to be ... ";i:1;s:40:"another test text to ... ";i:2;s:31:"test number three, ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:70;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 21";s:6:"result";a:4:{i:0;s:38:" ... is my test text to be ... ";i:1;s:33:"another test text to ... ";i:2;s:24:"test number three, ... ";i:3;s:26:"final test, not only ... ";}}i:71;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 21";s:6:"result";a:4:{i:0;s:38:" ... is my test text to be ... ";i:1;s:33:"another test text to ... ";i:2;s:24:"test number three, ... ";i:3;s:26:"final test, not only ... ";}}i:72;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 22";s:6:"result";a:4:{i:0;s:46:" ... is my test text to be ... ";i:1;s:40:"another test text to ... ";i:2;s:31:"test number three, ... ";i:3;s:44:" ... phrase text test as ... ";}}i:73;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 22";s:6:"result";a:4:{i:0;s:46:" ... is my test text to be ... ";i:1;s:40:"another test text to ... ";i:2;s:31:"test number three, ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:74;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 22";s:6:"result";a:4:{i:0;s:39:" ... is my test text to be ... ";i:1;s:33:"another test text to ... ";i:2;s:24:"test number three, ... ";i:3;s:26:"final test, not only ... ";}}i:75;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 22";s:6:"result";a:4:{i:0;s:39:" ... is my test text to be ... ";i:1;s:33:"another test text to ... ";i:2;s:24:"test number three, ... ";i:3;s:26:"final test, not only ... ";}}i:76;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 23";s:6:"result";a:4:{i:0;s:46:" ... is my test text to be ... ";i:1;s:42:"another test text to be ... ";i:2;s:31:"test number three, ... ";i:3;s:44:" ... phrase text test as ... ";}}i:77;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 23";s:6:"result";a:4:{i:0;s:47:" ... is my test text to be ... ";i:1;s:42:"another test text to be ... ";i:2;s:31:"test number three, ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:78;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 23";s:6:"result";a:4:{i:0;s:39:" ... is my test text to be ... ";i:1;s:35:"another test text to be ... ";i:2;s:24:"test number three, ... ";i:3;s:26:"final test, not only ... ";}}i:79;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 23";s:6:"result";a:4:{i:0;s:40:" ... is my test text to be ... ";i:1;s:35:"another test text to be ... ";i:2;s:24:"test number three, ... ";i:3;s:26:"final test, not only ... ";}}i:80;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 24";s:6:"result";a:4:{i:0;s:46:" ... is my test text to be ... ";i:1;s:43:"another test text to be ... ";i:2;s:31:"test number three, ... ";i:3;s:54:"final test, ... text test ... ";}}i:81;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 24";s:6:"result";a:4:{i:0;s:47:" ... is my test text to be ... ";i:1;s:43:"another test text to be ... ";i:2;s:31:"test number three, ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:82;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 24";s:6:"result";a:4:{i:0;s:39:" ... is my test text to be ... ";i:1;s:36:"another test text to be ... ";i:2;s:24:"test number three, ... ";i:3;s:26:"final test, not only ... ";}}i:83;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 24";s:6:"result";a:4:{i:0;s:40:" ... is my test text to be ... ";i:1;s:36:"another test text to be ... ";i:2;s:24:"test number three, ... ";i:3;s:26:"final test, not only ... ";}}i:84;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 25";s:6:"result";a:4:{i:0;s:46:" ... is my test text to be ... ";i:1;s:43:"another test text to be ... ";i:2;s:31:"test number three, ... ";i:3;s:54:"final test, ... text test ... ";}}i:85;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 25";s:6:"result";a:4:{i:0;s:47:" ... is my test text to be ... ";i:1;s:43:"another test text to be ... ";i:2;s:31:"test number three, ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:86;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 25";s:6:"result";a:4:{i:0;s:39:" ... is my test text to be ... ";i:1;s:36:"another test text to be ... ";i:2;s:24:"test number three, ... ";i:3;s:26:"final test, not only ... ";}}i:87;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 25";s:6:"result";a:4:{i:0;s:40:" ... is my test text to be ... ";i:1;s:36:"another test text to be ... ";i:2;s:24:"test number three, ... ";i:3;s:26:"final test, not only ... ";}}i:88;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 26";s:6:"result";a:4:{i:0;s:45:"this is my test text to be ... ";i:1;s:43:"another test text to be ... ";i:2;s:38:"test number three, without ... ";i:3;s:57:"final test, not ... text test ... ";}}i:89;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 26";s:6:"result";a:4:{i:0;s:47:" ... is my test text to be ... ";i:1;s:43:"another test text to be ... ";i:2;s:38:"test number three, without ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:90;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 26";s:6:"result";a:4:{i:0;s:38:"this is my test text to be ... ";i:1;s:36:"another test text to be ... ";i:2;s:31:"test number three, without ... ";i:3;s:26:"final test, not only ... ";}}i:91;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 26";s:6:"result";a:4:{i:0;s:40:" ... is my test text to be ... ";i:1;s:36:"another test text to be ... ";i:2;s:31:"test number three, without ... ";i:3;s:26:"final test, not only ... ";}}i:92;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 27";s:6:"result";a:4:{i:0;s:46:"this is my test text to be ... ";i:1;s:43:"another test text to be ... ";i:2;s:39:"test number three, without ... ";i:3;s:51:" ... swapped phrase text test as ... ";}}i:93;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 27";s:6:"result";a:4:{i:0;s:47:" ... is my test text to be ... ";i:1;s:43:"another test text to be ... ";i:2;s:39:"test number three, without ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:94;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 27";s:6:"result";a:4:{i:0;s:39:"this is my test text to be ... ";i:1;s:36:"another test text to be ... ";i:2;s:32:"test number three, without ... ";i:3;s:26:"final test, not only ... ";}}i:95;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 27";s:6:"result";a:4:{i:0;s:40:" ... is my test text to be ... ";i:1;s:36:"another test text to be ... ";i:2;s:32:"test number three, without ... ";i:3;s:26:"final test, not only ... ";}}i:96;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 28";s:6:"result";a:4:{i:0;s:46:"this is my test text to be ... ";i:1;s:43:"another test text to be ... ";i:2;s:39:"test number three, without ... ";i:3;s:52:" ... swapped phrase text test as ... ";}}i:97;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 28";s:6:"result";a:4:{i:0;s:47:" ... is my test text to be ... ";i:1;s:43:"another test text to be ... ";i:2;s:39:"test number three, without ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:98;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 28";s:6:"result";a:4:{i:0;s:39:"this is my test text to be ... ";i:1;s:36:"another test text to be ... ";i:2;s:32:"test number three, without ... ";i:3;s:33:"final test, not only without ... ";}}i:99;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 28";s:6:"result";a:4:{i:0;s:40:" ... is my test text to be ... ";i:1;s:36:"another test text to be ... ";i:2;s:32:"test number three, without ... ";i:3;s:33:"final test, not only without ... ";}}i:100;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 29";s:6:"result";a:4:{i:0;s:46:"this is my test text to be ... ";i:1;s:43:"another test text to be ... ";i:2;s:39:"test number three, without ... ";i:3;s:52:" ... swapped phrase text test as ... ";}}i:101;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 29";s:6:"result";a:4:{i:0;s:47:" ... is my test text to be ... ";i:1;s:43:"another test text to be ... ";i:2;s:39:"test number three, without ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:102;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 29";s:6:"result";a:4:{i:0;s:39:"this is my test text to be ... ";i:1;s:36:"another test text to be ... ";i:2;s:32:"test number three, without ... ";i:3;s:34:"final test, not only without ... ";}}i:103;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 29";s:6:"result";a:4:{i:0;s:40:" ... is my test text to be ... ";i:1;s:36:"another test text to be ... ";i:2;s:32:"test number three, without ... ";i:3;s:34:"final test, not only without ... ";}}i:104;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 30";s:6:"result";a:4:{i:0;s:46:"this is my test text to be ... ";i:1;s:43:"another test text to be ... ";i:2;s:39:"test number three, without ... ";i:3;s:52:" ... swapped phrase text test as ... ";}}i:105;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 30";s:6:"result";a:4:{i:0;s:47:" ... is my test text to be ... ";i:1;s:43:"another test text to be ... ";i:2;s:39:"test number three, without ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:106;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 30";s:6:"result";a:4:{i:0;s:39:"this is my test text to be ... ";i:1;s:36:"another test text to be ... ";i:2;s:32:"test number three, without ... ";i:3;s:34:"final test, not only without ... ";}}i:107;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 30";s:6:"result";a:4:{i:0;s:40:" ... is my test text to be ... ";i:1;s:36:"another test text to be ... ";i:2;s:32:"test number three, without ... ";i:3;s:34:"final test, not only without ... ";}}i:108;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 31";s:6:"result";a:4:{i:0;s:46:"this is my test text to be ... ";i:1;s:43:"another test text to be ... ";i:2;s:39:"test number three, without ... ";i:3;s:52:" ... swapped phrase text test as ... ";}}i:109;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 31";s:6:"result";a:4:{i:0;s:47:" ... is my test text to be ... ";i:1;s:43:"another test text to be ... ";i:2;s:39:"test number three, without ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:110;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 31";s:6:"result";a:4:{i:0;s:39:"this is my test text to be ... ";i:1;s:36:"another test text to be ... ";i:2;s:32:"test number three, without ... ";i:3;s:34:"final test, not only without ... ";}}i:111;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 31";s:6:"result";a:4:{i:0;s:40:" ... is my test text to be ... ";i:1;s:36:"another test text to be ... ";i:2;s:32:"test number three, without ... ";i:3;s:34:"final test, not only without ... ";}}i:112;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 32";s:6:"result";a:4:{i:0;s:46:"this is my test text to be ... ";i:1;s:43:"another test text to be ... ";i:2;s:39:"test number three, without ... ";i:3;s:51:" ... swapped phrase text test as well";}}i:113;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 32";s:6:"result";a:4:{i:0;s:47:" ... is my test text to be ... ";i:1;s:43:"another test text to be ... ";i:2;s:39:"test number three, without ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:114;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 32";s:6:"result";a:4:{i:0;s:39:"this is my test text to be ... ";i:1;s:36:"another test text to be ... ";i:2;s:32:"test number three, without ... ";i:3;s:34:"final test, not only without ... ";}}i:115;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 32";s:6:"result";a:4:{i:0;s:40:" ... is my test text to be ... ";i:1;s:36:"another test text to be ... ";i:2;s:32:"test number three, without ... ";i:3;s:34:"final test, not only without ... ";}}i:116;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 33";s:6:"result";a:4:{i:0;s:46:"this is my test text to be ... ";i:1;s:43:"another test text to be ... ";i:2;s:39:"test number three, without ... ";i:3;s:52:" ... swapped phrase text test as well";}}i:117;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 33";s:6:"result";a:4:{i:0;s:47:" ... is my test text to be ... ";i:1;s:43:"another test text to be ... ";i:2;s:39:"test number three, without ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:118;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 33";s:6:"result";a:4:{i:0;s:39:"this is my test text to be ... ";i:1;s:36:"another test text to be ... ";i:2;s:38:"test number three, without phrase ... ";i:3;s:34:"final test, not only without ... ";}}i:119;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 33";s:6:"result";a:4:{i:0;s:40:" ... is my test text to be ... ";i:1;s:36:"another test text to be ... ";i:2;s:38:"test number three, without phrase ... ";i:3;s:34:"final test, not only without ... ";}}i:120;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 34";s:6:"result";a:4:{i:0;s:46:"this is my test text to be ... ";i:1;s:43:"another test text to be ... ";i:2;s:39:"test number three, without ... ";i:3;s:52:" ... swapped phrase text test as well";}}i:121;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 34";s:6:"result";a:4:{i:0;s:58:" ... is my test text to be highlighted ... ";i:1;s:43:"another test text to be ... ";i:2;s:39:"test number three, without ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:122;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 34";s:6:"result";a:4:{i:0;s:39:"this is my test text to be ... ";i:1;s:36:"another test text to be ... ";i:2;s:39:"test number three, without phrase ... ";i:3;s:34:"final test, not only without ... ";}}i:123;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 34";s:6:"result";a:4:{i:0;s:51:" ... is my test text to be highlighted ... ";i:1;s:36:"another test text to be ... ";i:2;s:39:"test number three, without phrase ... ";i:3;s:34:"final test, not only without ... ";}}i:124;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 35";s:6:"result";a:4:{i:0;s:46:"this is my test text to be ... ";i:1;s:54:"another test text to be highlighted ... ";i:2;s:39:"test number three, without ... ";i:3;s:52:" ... swapped phrase text test as well";}}i:125;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 35";s:6:"result";a:4:{i:0;s:58:" ... is my test text to be highlighted ... ";i:1;s:54:"another test text to be highlighted ... ";i:2;s:39:"test number three, without ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:126;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 35";s:6:"result";a:4:{i:0;s:39:"this is my test text to be ... ";i:1;s:47:"another test text to be highlighted ... ";i:2;s:39:"test number three, without phrase ... ";i:3;s:40:"final test, not only without phrase ... ";}}i:127;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 35";s:6:"result";a:4:{i:0;s:51:" ... is my test text to be highlighted ... ";i:1;s:47:"another test text to be highlighted ... ";i:2;s:39:"test number three, without phrase ... ";i:3;s:40:"final test, not only without phrase ... ";}}i:128;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 36";s:6:"result";a:4:{i:0;s:46:"this is my test text to be ... ";i:1;s:55:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without ... ";i:3;s:52:" ... swapped phrase text test as well";}}i:129;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 36";s:6:"result";a:4:{i:0;s:58:" ... is my test text to be highlighted ... ";i:1;s:55:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:130;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 36";s:6:"result";a:4:{i:0;s:39:"this is my test text to be ... ";i:1;s:48:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without phrase ... ";i:3;s:41:"final test, not only without phrase ... ";}}i:131;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 36";s:6:"result";a:4:{i:0;s:51:" ... is my test text to be highlighted ... ";i:1;s:48:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without phrase ... ";i:3;s:41:"final test, not only without phrase ... ";}}i:132;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 37";s:6:"result";a:4:{i:0;s:46:"this is my test text to be ... ";i:1;s:56:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without ... ";i:3;s:56:" ... with swapped phrase text test as well";}}i:133;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 37";s:6:"result";a:4:{i:0;s:58:" ... is my test text to be highlighted ... ";i:1;s:56:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:134;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 37";s:6:"result";a:4:{i:0;s:39:"this is my test text to be ... ";i:1;s:49:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without phrase ... ";i:3;s:41:"final test, not only without phrase ... ";}}i:135;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 37";s:6:"result";a:4:{i:0;s:51:" ... is my test text to be highlighted ... ";i:1;s:49:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without phrase ... ";i:3;s:41:"final test, not only without phrase ... ";}}i:136;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 38";s:6:"result";a:4:{i:0;s:57:"this is my test text to be highlighted ... ";i:1;s:56:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without ... ";i:3;s:57:" ... with swapped phrase text test as well";}}i:137;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 38";s:6:"result";a:4:{i:0;s:57:"this is my test text to be highlighted ... ";i:1;s:56:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without ... ";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:138;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 38";s:6:"result";a:4:{i:0;s:50:"this is my test text to be highlighted ... ";i:1;s:49:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without phrase ... ";i:3;s:41:"final test, not only without phrase ... ";}}i:139;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 38";s:6:"result";a:4:{i:0;s:50:"this is my test text to be highlighted ... ";i:1;s:49:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without phrase ... ";i:3;s:41:"final test, not only without phrase ... ";}}i:140;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 39";s:6:"result";a:4:{i:0;s:58:"this is my test text to be highlighted, ... ";i:1;s:56:"another test text to be highlighted, ... ";i:2;s:46:"test number three, without phrase match";i:3;s:57:" ... with swapped phrase text test as well";}}i:141;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 39";s:6:"result";a:4:{i:0;s:58:"this is my test text to be highlighted, ... ";i:1;s:56:"another test text to be highlighted, ... ";i:2;s:46:"test number three, without phrase match";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:142;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 39";s:6:"result";a:4:{i:0;s:51:"this is my test text to be highlighted, ... ";i:1;s:49:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without phrase match";i:3;s:41:"final test, not only without phrase ... ";}}i:143;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 39";s:6:"result";a:4:{i:0;s:51:"this is my test text to be highlighted, ... ";i:1;s:49:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without phrase match";i:3;s:41:"final test, not only without phrase ... ";}}i:144;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 40";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:56:"another test text to be highlighted, ... ";i:2;s:46:"test number three, without phrase match";i:3;s:57:" ... with swapped phrase text test as well";}}i:145;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 40";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:56:"another test text to be highlighted, ... ";i:2;s:46:"test number three, without phrase match";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:146;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 40";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:49:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without phrase match";i:3;s:41:"final test, not only without phrase ... ";}}i:147;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 40";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:49:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without phrase match";i:3;s:41:"final test, not only without phrase ... ";}}i:148;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 41";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:56:"another test text to be highlighted, ... ";i:2;s:46:"test number three, without phrase match";i:3;s:57:" ... with swapped phrase text test as well";}}i:149;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 41";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:56:"another test text to be highlighted, ... ";i:2;s:46:"test number three, without phrase match";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:150;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 41";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:49:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without phrase match";i:3;s:46:"final test, not only without phrase match ... ";}}i:151;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 41";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:49:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without phrase match";i:3;s:46:"final test, not only without phrase match ... ";}}i:152;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 42";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:56:"another test text to be highlighted, ... ";i:2;s:46:"test number three, without phrase match";i:3;s:67:"final test, not ... phrase text test as well";}}i:153;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 42";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:56:"another test text to be highlighted, ... ";i:2;s:46:"test number three, without phrase match";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:154;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 42";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:49:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without phrase match";i:3;s:47:"final test, not only without phrase match, ... ";}}i:155;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 42";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:49:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without phrase match";i:3;s:47:"final test, not only without phrase match, ... ";}}i:156;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 43";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:56:"another test text to be highlighted, ... ";i:2;s:46:"test number three, without phrase match";i:3;s:67:"final test, not ... phrase text test as well";}}i:157;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 43";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:56:"another test text to be highlighted, ... ";i:2;s:46:"test number three, without phrase match";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:158;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 43";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:49:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without phrase match";i:3;s:48:"final test, not only without phrase match, ... ";}}i:159;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 43";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:49:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without phrase match";i:3;s:48:"final test, not only without phrase match, ... ";}}i:160;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 44";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:56:"another test text to be highlighted, ... ";i:2;s:46:"test number three, without phrase match";i:3;s:67:"final test, not ... phrase text test as well";}}i:161;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 44";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:56:"another test text to be highlighted, ... ";i:2;s:46:"test number three, without phrase match";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:162;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 44";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:49:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without phrase match";i:3;s:48:"final test, not only without phrase match, ... ";}}i:163;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 44";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:49:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without phrase match";i:3;s:48:"final test, not only without phrase match, ... ";}}i:164;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 45";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:56:"another test text to be highlighted, ... ";i:2;s:46:"test number three, without phrase match";i:3;s:67:"final test, not ... phrase text test as well";}}i:165;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 45";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:56:"another test text to be highlighted, ... ";i:2;s:46:"test number three, without phrase match";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:166;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 45";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:49:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without phrase match";i:3;s:48:"final test, not only without phrase match, ... ";}}i:167;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 45";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:49:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without phrase match";i:3;s:48:"final test, not only without phrase match, ... ";}}i:168;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 46";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:56:"another test text to be highlighted, ... ";i:2;s:46:"test number three, without phrase match";i:3;s:67:"final test, not ... phrase text test as well";}}i:169;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 46";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:56:"another test text to be highlighted, ... ";i:2;s:46:"test number three, without phrase match";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:170;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 46";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:49:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without phrase match";i:3;s:51:"final test, not only without phrase match, but ... ";}}i:171;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 46";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:49:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without phrase match";i:3;s:51:"final test, not only without phrase match, but ... ";}}i:172;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 47";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:56:"another test text to be highlighted, ... ";i:2;s:46:"test number three, without phrase match";i:3;s:67:"final test, not ... phrase text test as well";}}i:173;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 47";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:56:"another test text to be highlighted, ... ";i:2;s:46:"test number three, without phrase match";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:174;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 47";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:49:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without phrase match";i:3;s:52:"final test, not only without phrase match, but ... ";}}i:175;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 47";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:49:"another test text to be highlighted, ... ";i:2;s:39:"test number three, without phrase match";i:3;s:52:"final test, not only without phrase match, but ... ";}}i:176;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 48";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:62:"another test text to be highlighted, below limit";i:2;s:46:"test number three, without phrase match";i:3;s:74:"final test, not ... swapped phrase text test as well";}}i:177;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 48";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:62:"another test text to be highlighted, below limit";i:2;s:46:"test number three, without phrase match";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:178;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 48";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:55:"another test text to be highlighted, below limit";i:2;s:39:"test number three, without phrase match";i:3;s:52:"final test, not only without phrase match, but ... ";}}i:179;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 48";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:55:"another test text to be highlighted, below limit";i:2;s:39:"test number three, without phrase match";i:3;s:52:"final test, not only without phrase match, but ... ";}}i:180;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 49";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:62:"another test text to be highlighted, below limit";i:2;s:46:"test number three, without phrase match";i:3;s:74:"final test, not ... swapped phrase text test as well";}}i:181;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 49";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:62:"another test text to be highlighted, below limit";i:2;s:46:"test number three, without phrase match";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:182;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 49";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:55:"another test text to be highlighted, below limit";i:2;s:39:"test number three, without phrase match";i:3;s:52:"final test, not only without phrase match, but ... ";}}i:183;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 49";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:55:"another test text to be highlighted, below limit";i:2;s:39:"test number three, without phrase match";i:3;s:52:"final test, not only without phrase match, but ... ";}}i:184;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 50";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:62:"another test text to be highlighted, below limit";i:2;s:46:"test number three, without phrase match";i:3;s:74:"final test, not ... swapped phrase text test as well";}}i:185;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 50";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:62:"another test text to be highlighted, below limit";i:2;s:46:"test number three, without phrase match";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:186;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 50";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:55:"another test text to be highlighted, below limit";i:2;s:39:"test number three, without phrase match";i:3;s:52:"final test, not only without phrase match, but ... ";}}i:187;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 50";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:55:"another test text to be highlighted, below limit";i:2;s:39:"test number three, without phrase match";i:3;s:52:"final test, not only without phrase match, but ... ";}}i:188;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 51";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:62:"another test text to be highlighted, below limit";i:2;s:46:"test number three, without phrase match";i:3;s:74:"final test, not ... swapped phrase text test as well";}}i:189;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 51";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:62:"another test text to be highlighted, below limit";i:2;s:46:"test number three, without phrase match";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:190;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 51";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:55:"another test text to be highlighted, below limit";i:2;s:39:"test number three, without phrase match";i:3;s:56:"final test, not only without phrase match, but also ... ";}}i:191;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 51";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:55:"another test text to be highlighted, below limit";i:2;s:39:"test number three, without phrase match";i:3;s:56:"final test, not only without phrase match, but also ... ";}}i:192;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 52";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:62:"another test text to be highlighted, below limit";i:2;s:46:"test number three, without phrase match";i:3;s:78:"final test, not only ... swapped phrase text test as well";}}i:193;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 52";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:62:"another test text to be highlighted, below limit";i:2;s:46:"test number three, without phrase match";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:194;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 52";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:55:"another test text to be highlighted, below limit";i:2;s:39:"test number three, without phrase match";i:3;s:57:"final test, not only without phrase match, but also ... ";}}i:195;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 52";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:55:"another test text to be highlighted, below limit";i:2;s:39:"test number three, without phrase match";i:3;s:57:"final test, not only without phrase match, but also ... ";}}i:196;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 53";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:62:"another test text to be highlighted, below limit";i:2;s:46:"test number three, without phrase match";i:3;s:79:"final test, not only ... swapped phrase text test as well";}}i:197;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 53";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:62:"another test text to be highlighted, below limit";i:2;s:46:"test number three, without phrase match";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:198;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 53";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:55:"another test text to be highlighted, below limit";i:2;s:39:"test number three, without phrase match";i:3;s:57:"final test, not only without phrase match, but also ... ";}}i:199;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 53";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:55:"another test text to be highlighted, below limit";i:2;s:39:"test number three, without phrase match";i:3;s:57:"final test, not only without phrase match, but also ... ";}}i:200;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 54";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:62:"another test text to be highlighted, below limit";i:2;s:46:"test number three, without phrase match";i:3;s:80:"final test, not only ... swapped phrase text test as well";}}i:201;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 54";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:62:"another test text to be highlighted, below limit";i:2;s:46:"test number three, without phrase match";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:202;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 54";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:55:"another test text to be highlighted, below limit";i:2;s:39:"test number three, without phrase match";i:3;s:57:"final test, not only without phrase match, but also ... ";}}i:203;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 54";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:55:"another test text to be highlighted, below limit";i:2;s:39:"test number three, without phrase match";i:3;s:57:"final test, not only without phrase match, but also ... ";}}i:204;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 55";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:62:"another test text to be highlighted, below limit";i:2;s:46:"test number three, without phrase match";i:3;s:80:"final test, not only ... swapped phrase text test as well";}}i:205;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 55";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:62:"another test text to be highlighted, below limit";i:2;s:46:"test number three, without phrase match";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:206;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 55";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:55:"another test text to be highlighted, below limit";i:2;s:39:"test number three, without phrase match";i:3;s:57:"final test, not only without phrase match, but also ... ";}}i:207;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 55";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:55:"another test text to be highlighted, below limit";i:2;s:39:"test number three, without phrase match";i:3;s:57:"final test, not only without phrase match, but also ... ";}}i:208;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 56";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:62:"another test text to be highlighted, below limit";i:2;s:46:"test number three, without phrase match";i:3;s:80:"final test, not only ... swapped phrase text test as well";}}i:209;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 56";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:62:"another test text to be highlighted, below limit";i:2;s:46:"test number three, without phrase match";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:210;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 56";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:55:"another test text to be highlighted, below limit";i:2;s:39:"test number three, without phrase match";i:3;s:57:"final test, not only without phrase match, but also ... ";}}i:211;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 56";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:55:"another test text to be highlighted, below limit";i:2;s:39:"test number three, without phrase match";i:3;s:57:"final test, not only without phrase match, but also ... ";}}i:212;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 57";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:62:"another test text to be highlighted, below limit";i:2;s:46:"test number three, without phrase match";i:3;s:80:"final test, not only ... swapped phrase text test as well";}}i:213;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 57";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:62:"another test text to be highlighted, below limit";i:2;s:46:"test number three, without phrase match";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:214;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 57";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:55:"another test text to be highlighted, below limit";i:2;s:39:"test number three, without phrase match";i:3;s:62:"final test, not only without phrase match, but also above ... ";}}i:215;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 57";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:55:"another test text to be highlighted, below limit";i:2;s:39:"test number three, without phrase match";i:3;s:62:"final test, not only without phrase match, but also above ... ";}}i:216;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 58";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:62:"another test text to be highlighted, below limit";i:2;s:46:"test number three, without phrase match";i:3;s:84:"final test, not only ... with swapped phrase text test as well";}}i:217;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 58";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:62:"another test text to be highlighted, below limit";i:2;s:46:"test number three, without phrase match";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:218;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 58";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:55:"another test text to be highlighted, below limit";i:2;s:39:"test number three, without phrase match";i:3;s:63:"final test, not only without phrase match, but also above ... ";}}i:219;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 58";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:55:"another test text to be highlighted, below limit";i:2;s:39:"test number three, without phrase match";i:3;s:63:"final test, not only without phrase match, but also above ... ";}}i:220;a:2:{s:4:"opts";s:27:"phrase 0, force 0, limit 59";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:62:"another test text to be highlighted, below limit";i:2;s:46:"test number three, without phrase match";i:3;s:84:"final test, not only ... with swapped phrase text test as well";}}i:221;a:2:{s:4:"opts";s:27:"phrase 0, force 1, limit 59";s:6:"result";a:4:{i:0;s:59:"this is my test text to be highlighted, ... ";i:1;s:62:"another test text to be highlighted, below limit";i:2;s:46:"test number three, without phrase match";i:3;s:122:" ... test, not only without phrase match, but also above limit and with swapped phrase text test ... ";}}i:222;a:2:{s:4:"opts";s:27:"phrase 1, force 0, limit 59";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:55:"another test text to be highlighted, below limit";i:2;s:39:"test number three, without phrase match";i:3;s:63:"final test, not only without phrase match, but also above ... ";}}i:223;a:2:{s:4:"opts";s:27:"phrase 1, force 1, limit 59";s:6:"result";a:4:{i:0;s:52:"this is my test text to be highlighted, ... ";i:1;s:55:"another test text to be highlighted, below limit";i:2;s:39:"test number three, without phrase match";i:3;s:63:"final test, not only without phrase match, but also above ... ";}}}}}sphinx-2.2.11-release/test/test_099/0000755000175000017500000000000012743402012016416 5ustar alexeyalexeysphinx-2.2.11-release/test/test_099/test.xml0000644000175000017500000000344612743402012020126 0ustar alexeyalexey block subindex builder vs orphaned MVA values indexer { mem_limit = 16M } searchd { } source src1 { type = mysql sql_query = SELECT document_id, text, mva1 FROM main_table sql_attr_multi = uint mva2 from query; SELECT word_document_id, word_tag_id FROM tag_table; sql_attr_multi = uint mva1 from field mva1 sql_attr_multi = bigint mva2 from query; SELECT word_document_id, word_tag_id FROM tag_table; sql_attr_multi = bigint mva1 from field mva1 } index main { path = /main1 source = src1 docinfo = extern min_word_len = 1 } test1 test511 test2048 test4000 CREATE TABLE `main_table` ( `document_id` int(11), `text` varchar(255) NOT NULL, `mva1` varchar(255) NOT NULL ); CREATE TABLE `tag_table` ( `word_document_id` int(11) NOT NULL, `word_tag_id` int(11) NOT NULL ); DROP TABLE IF EXISTS `main_table` DROP TABLE IF EXISTS `tag_table` INSERT INTO `main_table` VALUES ( 1, 'test1', 'mva1' ), ( 511, 'test511', 'mva511' ), ( 2048, 'test2048', 'mva2048' ), ( 4000, 'test4000', 'mva4000' ); INSERT INTO `tag_table` VALUES (1,1), (1,1), (511,510), (511,511), (511,513), (620882,769), (1000,1000), (620882,1000); sphinx-2.2.11-release/test/test_099/model.bin0000644000175000017500000001006612743402012020213 0ustar alexeyalexeya:2:{i:0;a:4:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:4:"mva1";i:1073741825;s:4:"mva2";i:1073741825;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:2:{s:4:"mva1";a:1:{i:0;i:1;}s:4:"mva2";a:2:{i:0;i:1;i:1;i:2;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"test1";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test1";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:4:"mva1";i:1073741825;s:4:"mva2";i:1073741825;}s:7:"matches";a:1:{i:511;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:2:{s:4:"mva1";a:1:{i:0;i:511;}s:4:"mva2";a:4:{i:0;i:510;i:1;i:511;i:2;i:512;i:3;i:513;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"test511";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"test511";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:4:"mva1";i:1073741825;s:4:"mva2";i:1073741825;}s:7:"matches";a:1:{i:2048;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:2:{s:4:"mva1";a:1:{i:0;i:2048;}s:4:"mva2";a:1:{i:0;i:2049;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:8:"test2048";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"test2048";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:4:"mva1";i:1073741825;s:4:"mva2";i:1073741825;}s:7:"matches";a:1:{i:4000;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:2:{s:4:"mva1";a:1:{i:0;i:4000;}s:4:"mva2";a:1:{i:0;i:4001;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:8:"test4000";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"test4000";}}i:1;a:4:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:4:"mva1";i:1073741826;s:4:"mva2";i:1073741826;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:2:{s:4:"mva1";a:1:{i:0;i:1;}s:4:"mva2";a:2:{i:0;i:1;i:1;i:2;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"test1";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test1";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:4:"mva1";i:1073741826;s:4:"mva2";i:1073741826;}s:7:"matches";a:1:{i:511;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:2:{s:4:"mva1";a:1:{i:0;i:511;}s:4:"mva2";a:4:{i:0;i:510;i:1;i:511;i:2;i:512;i:3;i:513;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"test511";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"test511";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:4:"mva1";i:1073741826;s:4:"mva2";i:1073741826;}s:7:"matches";a:1:{i:2048;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:2:{s:4:"mva1";a:1:{i:0;i:2048;}s:4:"mva2";a:1:{i:0;i:2049;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:8:"test2048";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"test2048";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:4:"mva1";i:1073741826;s:4:"mva2";i:1073741826;}s:7:"matches";a:1:{i:4000;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:2:{s:4:"mva1";a:1:{i:0;i:4000;}s:4:"mva2";a:1:{i:0;i:4001;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:8:"test4000";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"test4000";}}}sphinx-2.2.11-release/test/test_098/0000755000175000017500000000000012743402012016415 5ustar alexeyalexeysphinx-2.2.11-release/test/test_098/wordforms.txt0000644000175000017500000000002212743402012021172 0ustar alexeyalexeyrun-time > runer sphinx-2.2.11-release/test/test_098/wf3.txt0000644000175000017500000000024212743402012017653 0ustar alexeyalexeyword11-11word11-11 > word11-11word11-11 word2word2 > word11-11word11-11 word2word2 word4word4 > word2word2 word11-11word11-11 word5word5 > word11-11word11-11 sphinx-2.2.11-release/test/test_098/test.xml0000644000175000017500000001245712743402012020127 0ustar alexeyalexey specials vs charset_table vs match_mode indexer { mem_limit = 16M } searchd { workers = threads } source src { type = mysql sql_query = SELECT * FROM test_table WHERE document_id IN (1,2,3,4) } index main { source = src path = /main charset_table = 0..9, A..Z->a..z, _, a..z, (, ), $ } source src_wf { type = mysql sql_query = SELECT * FROM test_table WHERE document_id>4 } index wf1 { source = src_wf path = /wf1 morphology = stem_en charset_table = 0..9, A..Z->a..z, a..z, wordforms = /wordforms.txt } index wf2 { source = src_wf path = /wf2 morphology = stem_en charset_table = 0..9, A..Z->a..z, a..z, - wordforms = /wordforms.txt } source src_wf3 { type = mysql sql_query = SELECT * FROM test_wf3 } index wf3 { source = src_wf3 path = /wf3 morphology = stem_en charset_table = -, 0..9, A..Z->a..z, _, a..z wordforms = /wf3.txt } index rt { type = rt path = /rt0 rt_mem_limit = 32M rt_field = title rt_attr_uint=gid dict = keywords min_prefix_len = 1 morphology = stem_en index_exact_words = 1 } index exact_wf { source = src_wf3 path = /exact_wf dict = crc min_prefix_len = 1 morphology = stem_en index_exact_words = 1 } source src_cht { type = mysql sql_query = SELECT 1, 'Й Ц У К Е Н Г Ш Щ З Х139Ъ' UNION SELECT 2, 'Ф Ы В А П Р О Л Д Ж Э' UNION SELECT 3, 'Я Ч С М И Т Ь Б Ю Ё' UNION SELECT 11, 'й ц у к е н г ш щ з х ъ' UNION SELECT 12, 'ф ы в а п р о л д ж э' UNION SELECT 13, 'я086ч с м и т ь б ю ё' UNION SELECT 101, 'Q W E R T Y U I O P' UNION SELECT 102, 'A S D F G H J K L' UNION SELECT 103, 'Z X C V B N_M' UNION SELECT 111, 'q w e r t y u i o p' UNION SELECT 112, 'a_s d f g h j k l' UNION SELECT 113, 'z x c v b n m' } index cht { source = src_cht path = /cht charset_table = english, _, 0..9, russian } google$com foo(bar) foo\(bar\) google$com foo(bar) foo\(bar\) "foo(bar)" (bars all$) without trouble$ trouble without$ (trouble without$) run run run\-time run\-time run time run time Й Ц У К Е Н Г Ш Щ З Х139Ъ й ц у к е н г ш щ з х ъ Ф Ы В А П Р О Л Д Ж Э Я Ч С М И Т Ь Б Ю Ё я086ч с м и т ь б ю ё Q W E R T Y U I O P A S D F G H J K L a_s d f g h j k l Z X C V B N_M z x c v b n m CALL KEYWORDS ('run-time (run time) issue', 'wf1') CALL KEYWORDS ('run-time (run time) issue', 'wf2') SELECT * from wf3 where match ('word2word2') INSERT INTO rt VALUES ( 1, 'dummy', 100 ) CALL KEYWORDS ('runs runs* =runs', 'rt', 1) CALL KEYWORDS ('runs runs* =runs', 'exact_wf', 1) CREATE TABLE test_table ( document_id INTEGER NOT NULL PRIMARY KEY, title VARCHAR(255) NOT NULL ) CREATE TABLE test_wf3 ( document_id INTEGER NOT NULL PRIMARY KEY, title VARCHAR(255) NOT NULL ) DROP TABLE IF EXISTS test_table DROP TABLE IF EXISTS test_wf3 INSERT INTO test_table VALUES ( 1, 'google dot com' ), ( 2, 'foo beyond all bars' ), ( 3, 'mangled google$com link' ), ( 4, 'no idea why search for foo(bar), but they do' ), ( 5, 'run-time error' ), ( 6, 'running without trouble' ) INSERT INTO test_wf3 VALUES ( 1, 'word2word2 word4word4' ) sphinx-2.2.11-release/test/test_098/model.bin0000644000175000017500000004323712743402012020220 0ustar alexeyalexeya:1:{i:0;a:33:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:10:"google$com";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:"google$com";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:8:"foo(bar)";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"foo(bar)";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"foo";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"(bar";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:1:")";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:"foo\(bar\)";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:10:"google$com";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:"google$com";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"foo";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"bar";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"foo(bar)";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:8:"foo(bar)";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:"foo\(bar\)";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:8:"foo(bar)";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:""foo(bar)"";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:4:"bars";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"all";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"(bars all$)";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"2643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:7:"without";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:6:"troubl";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"without trouble$";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"troubl";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"without";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"trouble without$";}i:10;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"troubl";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"without";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:"(trouble without$)";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"run";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"run";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"run";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"run";}i:13;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"runer";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"run\-time";}i:14;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"runer";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"run\-time";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"runer";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"run time";}i:16;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:3:"run";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"time";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"run time";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:37:"Й Ц У К Е Н Г Ш Щ З Х139Ъ";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:5:"11657";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.003";s:5:"words";a:11:{s:2:"й";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"ц";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"у";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"к";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"е";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"н";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"г";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"ш";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"щ";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"з";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:7:"х139ъ";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:37:"Й Ц У К Е Н Г Ш Щ З Х139Ъ";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:37:"Й Ц У К Е Н Г Ш Щ З Х139Ъ";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:11;a:2:{s:6:"weight";s:5:"12662";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.003";s:5:"words";a:12:{s:2:"й";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"ц";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"у";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"к";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"е";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"н";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"г";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"ш";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"щ";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"з";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"х";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"ъ";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:35:"й ц у к е н г ш щ з х ъ";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:37:"Й Ц У К Е Н Г Ш Щ З Х139Ъ";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:5:"11651";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:5:"11651";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.003";s:5:"words";a:11:{s:2:"ф";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"ы";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"в";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"а";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"п";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"р";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"о";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"л";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"д";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"ж";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"э";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:32:"Ф Ы В А П Р О Л Д Ж Э";}i:20;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:37:"Й Ц У К Е Н Г Ш Щ З Х139Ъ";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:5:"10664";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.003";s:5:"words";a:10:{s:2:"я";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"ч";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"с";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"м";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"и";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"т";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"ь";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"б";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"ю";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"ё";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:29:"Я Ч С М И Т Ь Б Ю Ё";}i:21;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:37:"Й Ц У К Е Н Г Ш Щ З Х139Ъ";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:13;a:2:{s:6:"weight";s:4:"9658";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.003";s:5:"words";a:9:{s:7:"я086ч";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"с";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"м";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"и";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"т";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"ь";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"б";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"ю";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"ё";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:31:"я086ч с м и т ь б ю ё";}i:22;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:37:"Й Ц У К Е Н Г Ш Щ З Х139Ъ";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:101;a:2:{s:6:"weight";s:5:"10651";s:5:"attrs";a:0:{}}i:111;a:2:{s:6:"weight";s:5:"10651";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.003";s:5:"words";a:10:{s:1:"q";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"w";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"e";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"r";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"t";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"y";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"u";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"i";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"o";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"p";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:19:"Q W E R T Y U I O P";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:37:"Й Ц У К Е Н Г Ш Щ З Х139Ъ";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:102;a:2:{s:6:"weight";s:4:"9666";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.003";s:5:"words";a:9:{s:1:"a";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"s";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"d";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"f";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"g";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"h";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"j";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"k";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"l";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"A S D F G H J K L";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:37:"Й Ц У К Е Н Г Ш Щ З Х139Ъ";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:112;a:2:{s:6:"weight";s:4:"8659";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:8:{s:3:"a_s";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"d";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"f";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"g";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"h";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"j";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"k";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"l";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"a_s d f g h j k l";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:37:"Й Ц У К Е Н Г Ш Щ З Х139Ъ";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:103;a:2:{s:6:"weight";s:4:"6662";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:6:{s:1:"z";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"x";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"c";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"v";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"b";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"n_m";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:"Z X C V B N_M";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:37:"Й Ц У К Е Н Г Ш Щ З Х139Ъ";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:113;a:2:{s:6:"weight";s:4:"7670";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:7:{s:1:"z";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"x";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"c";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"v";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"b";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"n";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"m";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:"z x c v b n m";}i:27;a:3:{s:8:"sphinxql";s:50:"CALL KEYWORDS ('run-time (run time) issue', 'wf1')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:8:"run time";s:10:"normalized";s:5:"runer";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:8:"run time";s:10:"normalized";s:5:"runer";}i:2;a:3:{s:4:"qpos";s:1:"3";s:9:"tokenized";s:5:"issue";s:10:"normalized";s:4:"issu";}}}i:28;a:3:{s:8:"sphinxql";s:50:"CALL KEYWORDS ('run-time (run time) issue', 'wf2')";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:8:"run-time";s:10:"normalized";s:5:"runer";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:3:"run";s:10:"normalized";s:3:"run";}i:2;a:3:{s:4:"qpos";s:1:"3";s:9:"tokenized";s:4:"time";s:10:"normalized";s:4:"time";}i:3;a:3:{s:4:"qpos";s:1:"4";s:9:"tokenized";s:5:"issue";s:10:"normalized";s:4:"issu";}}}i:29;a:3:{s:8:"sphinxql";s:44:"SELECT * from wf3 where match ('word2word2')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}}i:30;a:2:{s:8:"sphinxql";s:41:"INSERT INTO rt VALUES ( 1, 'dummy', 100 )";s:14:"total_affected";i:1;}i:31;a:3:{s:8:"sphinxql";s:43:"CALL KEYWORDS ('runs runs* =runs', 'rt', 1)";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:5:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:4:"runs";s:10:"normalized";s:3:"run";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:1;a:5:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:5:"runs*";s:10:"normalized";s:5:"runs*";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:2;a:5:{s:4:"qpos";s:1:"3";s:9:"tokenized";s:5:"=runs";s:10:"normalized";s:5:"=runs";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:32;a:3:{s:8:"sphinxql";s:49:"CALL KEYWORDS ('runs runs* =runs', 'exact_wf', 1)";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:5:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:4:"runs";s:10:"normalized";s:3:"run";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:1;a:5:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:5:"runs*";s:10:"normalized";s:5:"runs*";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:2;a:5:{s:4:"qpos";s:1:"3";s:9:"tokenized";s:5:"=runs";s:10:"normalized";s:5:"=runs";s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}}}sphinx-2.2.11-release/test/test_097/0000755000175000017500000000000012743402012016414 5ustar alexeyalexeysphinx-2.2.11-release/test/test_097/test.xml0000644000175000017500000000317212743402012020120 0ustar alexeyalexey cutoff indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query = SELECT document_id, document_id+10 gid, title FROM test_table sql_attr_uint = gid } index test { source = srctest path = /test } test test CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `title` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO test_table VALUES ( 1, 'test' ), ( 2, 'test' ), ( 3, 'test' ), ( 4, 'it' ) INSERT INTO test_table SELECT document_id+4, title FROM test_table INSERT INTO test_table SELECT document_id+8, title FROM test_table INSERT INTO test_table SELECT document_id+16, title FROM test_table INSERT INTO test_table SELECT document_id+32, title FROM test_table INSERT INTO test_table SELECT document_id+64, title FROM test_table INSERT INTO test_table SELECT document_id+128, title FROM test_table INSERT INTO test_table SELECT document_id+256, title FROM test_table INSERT INTO test_table SELECT document_id+512, title FROM test_table sphinx-2.2.11-release/test/test_097/model.bin0000644000175000017500000001024512743402012020210 0ustar alexeyalexeya:1:{i:0;a:4:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:20:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"gid";s:2:"11";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"gid";s:2:"12";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"gid";s:2:"13";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"gid";s:2:"14";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"gid";s:2:"15";}}i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"gid";s:2:"16";}}i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"gid";s:2:"17";}}i:8;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"gid";s:2:"18";}}i:9;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"gid";s:2:"19";}}i:10;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"gid";s:2:"20";}}i:11;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"gid";s:2:"21";}}i:12;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"gid";s:2:"22";}}i:13;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"gid";s:2:"23";}}i:14;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"gid";s:2:"24";}}i:15;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"gid";s:2:"25";}}i:16;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"gid";s:2:"26";}}i:17;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"gid";s:2:"27";}}i:18;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"gid";s:2:"28";}}i:19;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"gid";s:2:"29";}}i:20;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"gid";s:2:"30";}}}s:5:"total";s:4:"1000";s:11:"total_found";s:4:"1024";s:4:"time";s:5:"0.008";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:20:{i:1;a:2:{s:6:"weight";s:4:"1464";s:5:"attrs";a:1:{s:3:"gid";s:2:"11";}}i:2;a:2:{s:6:"weight";s:4:"1464";s:5:"attrs";a:1:{s:3:"gid";s:2:"12";}}i:3;a:2:{s:6:"weight";s:4:"1464";s:5:"attrs";a:1:{s:3:"gid";s:2:"13";}}i:5;a:2:{s:6:"weight";s:4:"1464";s:5:"attrs";a:1:{s:3:"gid";s:2:"15";}}i:6;a:2:{s:6:"weight";s:4:"1464";s:5:"attrs";a:1:{s:3:"gid";s:2:"16";}}i:7;a:2:{s:6:"weight";s:4:"1464";s:5:"attrs";a:1:{s:3:"gid";s:2:"17";}}i:9;a:2:{s:6:"weight";s:4:"1464";s:5:"attrs";a:1:{s:3:"gid";s:2:"19";}}i:10;a:2:{s:6:"weight";s:4:"1464";s:5:"attrs";a:1:{s:3:"gid";s:2:"20";}}i:11;a:2:{s:6:"weight";s:4:"1464";s:5:"attrs";a:1:{s:3:"gid";s:2:"21";}}i:13;a:2:{s:6:"weight";s:4:"1464";s:5:"attrs";a:1:{s:3:"gid";s:2:"23";}}i:14;a:2:{s:6:"weight";s:4:"1464";s:5:"attrs";a:1:{s:3:"gid";s:2:"24";}}i:15;a:2:{s:6:"weight";s:4:"1464";s:5:"attrs";a:1:{s:3:"gid";s:2:"25";}}i:17;a:2:{s:6:"weight";s:4:"1464";s:5:"attrs";a:1:{s:3:"gid";s:2:"27";}}i:18;a:2:{s:6:"weight";s:4:"1464";s:5:"attrs";a:1:{s:3:"gid";s:2:"28";}}i:19;a:2:{s:6:"weight";s:4:"1464";s:5:"attrs";a:1:{s:3:"gid";s:2:"29";}}i:21;a:2:{s:6:"weight";s:4:"1464";s:5:"attrs";a:1:{s:3:"gid";s:2:"31";}}i:22;a:2:{s:6:"weight";s:4:"1464";s:5:"attrs";a:1:{s:3:"gid";s:2:"32";}}i:23;a:2:{s:6:"weight";s:4:"1464";s:5:"attrs";a:1:{s:3:"gid";s:2:"33";}}i:25;a:2:{s:6:"weight";s:4:"1464";s:5:"attrs";a:1:{s:3:"gid";s:2:"35";}}i:26;a:2:{s:6:"weight";s:4:"1464";s:5:"attrs";a:1:{s:3:"gid";s:2:"36";}}}s:5:"total";s:3:"768";s:11:"total_found";s:3:"768";s:4:"time";s:5:"0.007";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:3:"768";s:4:"hits";s:3:"768";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"test";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"gid";s:2:"11";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1464";s:5:"attrs";a:1:{s:3:"gid";s:2:"11";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:3:"768";s:4:"hits";s:3:"768";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"test";}}}sphinx-2.2.11-release/test/test_096/0000755000175000017500000000000012743402012016413 5ustar alexeyalexeysphinx-2.2.11-release/test/test_096/test.xml0000644000175000017500000000756012743402012020124 0ustar alexeyalexey attribute updates indexer { mem_limit = 16M } searchd { } source src { type = mysql sql_query = SELECT id, adtext, heading, postcode, lng, lat, section, make_id, transmission_id FROM test_table sql_attr_float = lng sql_attr_float = lat sql_attr_uint = section sql_attr_uint = make_id sql_attr_uint = transmission_id } index idx { source = src path = /main docinfo = extern } UpdateAttributes ( "idx", array("section", "make_id"), array(1=>array(4, 15), 3=>array(221, 31))); if ( $up >= 0 ) $results[] = sprintf("up.ok=%d", $up); else $results[] = sprintf("up.err=%s", $client->GetLastError()); StopSearchd ( 'config.conf', 'searchd.pid' ); usleep ( 50000 ); $error = ""; $startSta = StartSearchd ( 'config.conf', 'error.txt', 'searchd.pid', $error ); if ( $startSta == 0 || $startSta == 2 ) { $results[] = "started=ok"; } else $results[] = sprintf("start.err=%d local=%s client=%s", $startSta, $error, $client->GetLastError()); } // find the updated match $results[] = $client->Query ( "Corsa4" ); // final fixup; we don't want to compare times for ( $i=0; $i CREATE TABLE `test_table` ( `id` int(11) NOT NULL auto_increment, `section` int(11) NOT NULL, `system_id` tinyint(4) NOT NULL, `adtext` varchar(255) NOT NULL, `heading` varchar(500) NOT NULL, `price` int(11) NOT NULL default '0', `postcode` varchar(10) NOT NULL, `gre` int(11) NOT NULL, `grn` int(11) NOT NULL, `str_at1` varchar(255) NOT NULL, `str_at2` varchar(255) NOT NULL, `str_at3` varchar(255) NOT NULL, `str_at4` varchar(255) NOT NULL, `str_at5` varchar(255) NOT NULL, `int_at1` int(11) default NULL, `int_at2` int(11) default NULL, `int_at3` int(11) default NULL, `int_at4` int(11) default NULL, `int_at5` int(11) default NULL, `float_at1` float default NULL, `float_at2` float default NULL, `float_at3` float default NULL, `lng` float NOT NULL default '0', `lat` float NOT NULL default '0', `make_id` int(11) NOT NULL, `transmission_id` tinyint(4) NOT NULL, PRIMARY KEY (`id`) ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` (`id`, `section`, `system_id`, `adtext`, `heading`, `price`, `postcode`, `gre`, `grn`, `str_at1`, `str_at2`, `str_at3`, `str_at4`, `str_at5`, `int_at1`, `int_at2`, `int_at3`, `int_at4`, `int_at5`, `float_at1`, `float_at2`, `float_at3`, `lng`, `lat`, `make_id`, `transmission_id`) VALUES (1, 1, 2, 'FORD', 'Ford KA', 2790, 'EN3 5BT', 535000, 197400, 'Ford', 'KA', 'Grey', 'Diesel', '', 18662, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -0.1798578, 0.937717, 8, 1), (2, 1, 3, 'FORDE', 'Vauxhall Corsa1', 5800, 'BN42 4RN', 524000, 106100, 'Vauxhall', 'Corsa', 'Red', 'Petrol', '', 19296, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -0.2799989, 0.891975, 7, 2), (3, 1, 4, 'FORDZ', 'Vauxhall Corsa2', 5200, 'BN42 4RN', 524000, 106100, 'Vauxhall', 'Corsa', 'Red', 'Petrol', '', 19296, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -0.3799989, 0.791975, 6, 3), (4, 1, 5, 'FORDT', 'Vauxhall Corsa4', 3800, 'BN42 4N', 524000, 106100, 'Vauxhall', 'Corsa', 'Red', 'Petrol', '', 19296, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -0.4799989, 0.691975, 5, 4), (211250, 0, 1, 'Quattro Roadster', 'Audi TT', 13995, 'E9 7DG', 535600, 184200, '', '', '', '', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -0.5721455, 0.526761, 29, 5); sphinx-2.2.11-release/test/test_096/model.bin0000644000175000017500000000152512743402012020210 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:13:{i:0;s:11:"iteration=0";i:1;s:7:"up.ok=2";i:2;s:10:"started=ok";i:3;s:11:"iteration=1";i:4;s:7:"up.ok=2";i:5;s:10:"started=ok";i:6;s:11:"iteration=2";i:7;s:7:"up.ok=2";i:8;s:10:"started=ok";i:9;s:11:"iteration=3";i:10;s:7:"up.ok=2";i:11;s:10:"started=ok";i:12;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:6:"adtext";i:1;s:7:"heading";i:2;s:8:"postcode";}s:5:"attrs";a:5:{s:3:"lng";i:5;s:3:"lat";i:5;s:7:"section";i:1;s:7:"make_id";i:1;s:15:"transmission_id";i:1;}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1704";s:5:"attrs";a:5:{s:3:"lng";d:-0.47999900579452515;s:3:"lat";d:0.69197499752044678;s:7:"section";i:1;s:7:"make_id";i:5;s:15:"transmission_id";i:4;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:6:"corsa4";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}}sphinx-2.2.11-release/test/test_095/0000755000175000017500000000000012743402012016412 5ustar alexeyalexeysphinx-2.2.11-release/test/test_095/test.xml0000644000175000017500000000416212743402012020116 0ustar alexeyalexey merge vs killlists indexer { mem_limit = 16M } searchd { } source srcmain { type = mysql sql_query = SELECT document_id, body, document_id*10 AS xid FROM test_table WHERE document_id in (3,4,5,6) sql_attr_uint = xid } source srcdelta : srcmain { sql_query = SELECT document_id, body, document_id*100 AS xid FROM test_table WHERE document_id in (1,2) sql_query_killlist = select 4 union select 6 } index main { source = srcmain path = /main } index delta { source = srcdelta path = /delta } source srcm1 { type = mysql sql_query = SELECT document_id, body, 1 xid FROM test_table WHERE document_id in (3,4,5,6) sql_attr_uint = xid sql_query_killlist = select 1 union select 2 union select 3 } source srcd1 : srcmain { sql_query = SELECT document_id, body, 2 AS xid FROM test_table WHERE document_id in (1,2) sql_query_killlist = select 4 union select 6 } index m1 { source = srcm1 path = /m1 } index d1 { source = srcd1 path = /d1 } index mmk { source = srcm1 path = /mmk } --merge main delta --merge m1 d1 --merge mmk d1 --merge-killlists --merge m1 d1 --merge-dst-range xid 1 1 one three four five six CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'one' ), ( 2, 'two' ), ( 3, 'three blind mice, how they run' ), ( 4, 'four became from three' ), ( 5, 'five' ), ( 6, 'six' ) sphinx-2.2.11-release/test/test_095/model.bin0000644000175000017500000000573012743402012020211 0ustar alexeyalexeya:1:{i:0;a:7:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:3:"xid";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:1:{s:3:"xid";i:100;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"one";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:3:"xid";i:1;}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:1:{s:3:"xid";i:30;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"three";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"three";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:3:"xid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"four";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"four";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:3:"xid";i:1;}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:1:{s:3:"xid";i:50;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"five";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:3:"xid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"six";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"six";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:3:"xid";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"xid";i:2;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"xid";i:2;}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"xid";i:1;}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"xid";i:1;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:3:"xid";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"xid";i:2;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"xid";i:2;}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"xid";i:1;}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"xid";i:1;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}}}sphinx-2.2.11-release/test/test_094/0000755000175000017500000000000012743402012016411 5ustar alexeyalexeysphinx-2.2.11-release/test/test_094/test.xml0000644000175000017500000000206112743402012020111 0ustar alexeyalexey proximity queries indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query = SELECT * FROM test_table } index test { source = srctest path = /test } "one two"~10 "aa bb cc dd ee ff"~10 "aa bb dd cc ee ff"~10 "aa bb ee ff"~10 CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `body` VARCHAR(16384) NOT NULL ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` SELECT 1, REPEAT('one two ',257) UNION SELECT 2, 'two one' UNION SELECT 3, 'aa bb cc dd ee ff' sphinx-2.2.11-release/test/test_094/model.bin0000644000175000017500000000462612743402012020213 0ustar alexeyalexeya:1:{i:0;a:4:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:6:"255500";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:3:"258";}s:3:"two";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:3:"258";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:""one two"~10";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"6680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:6:{s:2:"aa";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"bb";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"cc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"dd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"ee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"ff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:""aa bb cc dd ee ff"~10";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"4680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:6:{s:2:"aa";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"bb";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"dd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"cc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"ee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"ff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:""aa bb dd cc ee ff"~10";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"4680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:4:{s:2:"aa";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"bb";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"ee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"ff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:""aa bb ee ff"~10";}}}sphinx-2.2.11-release/test/test_093/0000755000175000017500000000000012743402012016410 5ustar alexeyalexeysphinx-2.2.11-release/test/test_093/test.xml0000644000175000017500000000243312743402012020113 0ustar alexeyalexey merge vs different min docids indexer { mem_limit = 16M } searchd { } source srcmain { type = mysql sql_query = SELECT * FROM test_table WHERE document_id in (101,102,103,104) } source srcdelta : srcmain { sql_query = SELECT * FROM test_table WHERE document_id in (1001,1002,1003,1004) } index main { source = srcmain path = /main } index delta { source = srcdelta path = /delta } --merge main delta one two three four five CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 101, 'one' ), ( 102, 'two' ), ( 103, 'three crazy mice live happly' ), ( 104, 'four' ), ( 1001, 'seven' ), ( 1002, 'six two' ), ( 1003, 'five but now two' ), ( 1004, 'four' ) sphinx-2.2.11-release/test/test_093/model.bin0000644000175000017500000000417212743402012020206 0ustar alexeyalexeya:1:{i:0;a:5:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:101;a:2:{s:6:"weight";s:4:"1715";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"one";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:102;a:2:{s:6:"weight";s:4:"1571";s:5:"attrs";a:0:{}}i:1002;a:2:{s:6:"weight";s:4:"1571";s:5:"attrs";a:0:{}}i:1003;a:2:{s:6:"weight";s:4:"1571";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"two";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"two";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:103;a:2:{s:6:"weight";s:4:"1715";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"three";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"three";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:104;a:2:{s:6:"weight";s:4:"1629";s:5:"attrs";a:0:{}}i:1004;a:2:{s:6:"weight";s:4:"1629";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"four";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1003;a:2:{s:6:"weight";s:4:"1715";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"five";}}}sphinx-2.2.11-release/test/test_092/0000755000175000017500000000000012743402012016407 5ustar alexeyalexeysphinx-2.2.11-release/test/test_092/test.xml0000644000175000017500000000453112743402012020113 0ustar alexeyalexey RT: re-insert deleted row, keyword weights vs different insert scenarios indexer { mem_limit = 16M } searchd { workers = threads binlog_path = } index test92 { type = rt path = data/test92 rt_attr_uint = idd rt_field = content } index test102 { type = rt path = data/test102 rt_attr_uint = idd rt_field = content } index test104 { type = rt path = data/test104 rt_attr_uint = idd rt_field = content } index test105 { type = rt path = data/test105 rt_attr_uint = idd rt_field = content } insert into test92 (id,content) values (1,'content'),(2,'you') delete from test92 where id=1 select * from test92 insert into test92 (id,content) values (1,'newcontent') select * from test92 where match('you') select * from test92 where match('content') select * from test92 where match('newcontent') insert into test102 (id,content) values (1,'content'),(2,'newcontent') delete from test102 where id=1 insert into test102 (id,content) values (1,'bla') select * from test102 where match('bla') select * from test102 where match('newcontent') insert into test102 (id,content) values (3,'content2') select * from test102 where match('bla') select * from test102 where match('content2') select * from test102 where match('newcontent') insert into test104 (id,content) values (1,'word1'),(2,'word2') insert into test104 (id,content) values (3,'word3') select * from test104 where match('word1|word3') insert into test105 (id,content) values (1,'content'),(2,'newcontent') replace into test105 (id,content) values (1,'contend') select * from test105 where match('contend|newcontent') select * from test105 where match('content') select * from test105 where match('contend MAYBE newcontent') sphinx-2.2.11-release/test/test_092/model.bin0000644000175000017500000000640112743402012020202 0ustar alexeyalexeya:1:{i:0;a:24:{i:0;a:2:{s:8:"sphinxql";s:62:"insert into test92 (id,content) values (1,'content'),(2,'you')";s:14:"total_affected";i:2;}i:1;a:2:{s:8:"sphinxql";s:29:"delete from test92 where id=1";s:14:"total_affected";i:1;}i:2;a:3:{s:8:"sphinxql";s:20:"select * from test92";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"0";}}}i:3;a:2:{s:8:"sphinxql";s:55:"insert into test92 (id,content) values (1,'newcontent')";s:14:"total_affected";i:1;}i:4;a:3:{s:8:"sphinxql";s:39:"select * from test92 where match('you')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"0";}}}i:5;a:2:{s:8:"sphinxql";s:43:"select * from test92 where match('content')";s:10:"total_rows";i:0;}i:6;a:3:{s:8:"sphinxql";s:46:"select * from test92 where match('newcontent')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:1:"0";}}}i:7;a:2:{s:8:"sphinxql";s:70:"insert into test102 (id,content) values (1,'content'),(2,'newcontent')";s:14:"total_affected";i:2;}i:8;a:2:{s:8:"sphinxql";s:30:"delete from test102 where id=1";s:14:"total_affected";i:1;}i:9;a:2:{s:8:"sphinxql";s:49:"insert into test102 (id,content) values (1,'bla')";s:14:"total_affected";i:1;}i:10;a:3:{s:8:"sphinxql";s:40:"select * from test102 where match('bla')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:1:"0";}}}i:11;a:3:{s:8:"sphinxql";s:47:"select * from test102 where match('newcontent')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"0";}}}i:12;a:2:{s:8:"sphinxql";s:54:"insert into test102 (id,content) values (3,'content2')";s:14:"total_affected";i:1;}i:13;a:3:{s:8:"sphinxql";s:40:"select * from test102 where match('bla')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:1:"0";}}}i:14;a:3:{s:8:"sphinxql";s:45:"select * from test102 where match('content2')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:1:"0";}}}i:15;a:3:{s:8:"sphinxql";s:47:"select * from test102 where match('newcontent')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"0";}}}i:16;a:2:{s:8:"sphinxql";s:63:"insert into test104 (id,content) values (1,'word1'),(2,'word2')";s:14:"total_affected";i:2;}i:17;a:2:{s:8:"sphinxql";s:51:"insert into test104 (id,content) values (3,'word3')";s:14:"total_affected";i:1;}i:18;a:3:{s:8:"sphinxql";s:48:"select * from test104 where match('word1|word3')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:1:"0";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:1:"0";}}}i:19;a:2:{s:8:"sphinxql";s:70:"insert into test105 (id,content) values (1,'content'),(2,'newcontent')";s:14:"total_affected";i:2;}i:20;a:2:{s:8:"sphinxql";s:54:"replace into test105 (id,content) values (1,'contend')";s:14:"total_affected";i:1;}i:21;a:3:{s:8:"sphinxql";s:55:"select * from test105 where match('contend|newcontent')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:1:"0";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"0";}}}i:22;a:2:{s:8:"sphinxql";s:44:"select * from test105 where match('content')";s:10:"total_rows";i:0;}i:23;a:3:{s:8:"sphinxql";s:61:"select * from test105 where match('contend MAYBE newcontent')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:1:"0";}}}}}sphinx-2.2.11-release/test/test_091/0000755000175000017500000000000012743402012016406 5ustar alexeyalexeysphinx-2.2.11-release/test/test_091/test.xml0000644000175000017500000000110412743402012020103 0ustar alexeyalexey RT: aggregate functions indexer { mem_limit = 16M } searchd { workers = threads binlog_path = } index test { type = rt path = data/test rt_attr_uint = idd rt_attr_uint = grp rt_field = content } insert into test (id,idd,grp,content) values (1,5,4,'content'),(2,2,4,'you') select * from test select max(idd) as mx from test group by grp sphinx-2.2.11-release/test/test_091/model.bin0000644000175000017500000000077612743402012020212 0ustar alexeyalexeya:1:{i:0;a:3:{i:0;a:2:{s:8:"sphinxql";s:76:"insert into test (id,idd,grp,content) values (1,5,4,'content'),(2,2,4,'you')";s:14:"total_affected";i:2;}i:1;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:3:"idd";s:1:"5";s:3:"grp";s:1:"4";}i:1;a:3:{s:2:"id";s:1:"2";s:3:"idd";s:1:"2";s:3:"grp";s:1:"4";}}}i:2;a:3:{s:8:"sphinxql";s:44:"select max(idd) as mx from test group by grp";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"mx";s:1:"5";}}}}}sphinx-2.2.11-release/test/test_090/0000755000175000017500000000000012743402012016405 5ustar alexeyalexeysphinx-2.2.11-release/test/test_090/test.xml0000644000175000017500000000255012743402012020110 0ustar alexeyalexey SphinxQL: minus sign padding indexer { mem_limit = 16M } searchd { workers = threads binlog_path = } index test { type = rt path = data/test rt_attr_uint = intt rt_field = body } insert into test (id,body) values (1,'value') select (3-1) as a from test select (3 -1) as a from test select (3- 1) as a from test select (3-0.1) as a from test select (3- 0.1) as a from test select (3 -0.1) as a from test select (3--1) as a from test select (3 --1) as a from test select (3-- 1) as a from test select (3--0.1) as a from test select (3-- 0.1) as a from test select (3 --0.1) as a from test select (3- -1) as a from test select (3 - -1) as a from test select (3- - 1) as a from test select (3- -0.1) as a from test select (3- - 0.1) as a from test select (3 - -0.1) as a from test sphinx-2.2.11-release/test/test_090/model.bin0000644000175000017500000000467312743402012020211 0ustar alexeyalexeya:1:{i:0;a:19:{i:0;a:2:{s:8:"sphinxql";s:45:"insert into test (id,body) values (1,'value')";s:14:"total_affected";i:1;}i:1;a:3:{s:8:"sphinxql";s:27:"select (3-1) as a from test";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:1:"a";s:1:"2";}}}i:2;a:3:{s:8:"sphinxql";s:28:"select (3 -1) as a from test";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:1:"a";s:1:"2";}}}i:3;a:3:{s:8:"sphinxql";s:28:"select (3- 1) as a from test";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:1:"a";s:1:"2";}}}i:4;a:3:{s:8:"sphinxql";s:29:"select (3-0.1) as a from test";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:1:"a";s:8:"2.900000";}}}i:5;a:3:{s:8:"sphinxql";s:30:"select (3- 0.1) as a from test";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:1:"a";s:8:"2.900000";}}}i:6;a:3:{s:8:"sphinxql";s:30:"select (3 -0.1) as a from test";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:1:"a";s:8:"2.900000";}}}i:7;a:3:{s:8:"sphinxql";s:28:"select (3--1) as a from test";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:1:"a";s:1:"4";}}}i:8;a:3:{s:8:"sphinxql";s:29:"select (3 --1) as a from test";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:1:"a";s:1:"4";}}}i:9;a:3:{s:8:"sphinxql";s:29:"select (3-- 1) as a from test";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:1:"a";s:1:"4";}}}i:10;a:3:{s:8:"sphinxql";s:30:"select (3--0.1) as a from test";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:1:"a";s:8:"3.100000";}}}i:11;a:3:{s:8:"sphinxql";s:31:"select (3-- 0.1) as a from test";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:1:"a";s:8:"3.100000";}}}i:12;a:3:{s:8:"sphinxql";s:31:"select (3 --0.1) as a from test";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:1:"a";s:8:"3.100000";}}}i:13;a:3:{s:8:"sphinxql";s:29:"select (3- -1) as a from test";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:1:"a";s:1:"4";}}}i:14;a:3:{s:8:"sphinxql";s:30:"select (3 - -1) as a from test";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:1:"a";s:1:"4";}}}i:15;a:3:{s:8:"sphinxql";s:30:"select (3- - 1) as a from test";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:1:"a";s:1:"4";}}}i:16;a:3:{s:8:"sphinxql";s:31:"select (3- -0.1) as a from test";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:1:"a";s:8:"3.100000";}}}i:17;a:3:{s:8:"sphinxql";s:32:"select (3- - 0.1) as a from test";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:1:"a";s:8:"3.100000";}}}i:18;a:3:{s:8:"sphinxql";s:32:"select (3 - -0.1) as a from test";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:1:"a";s:8:"3.100000";}}}}}sphinx-2.2.11-release/test/test_089/0000755000175000017500000000000012743402012016415 5ustar alexeyalexeysphinx-2.2.11-release/test/test_089/test.xml0000644000175000017500000000246212743402012020122 0ustar alexeyalexey SphinxQL: floats without leading zero indexer { mem_limit = 16M } searchd { workers = threads binlog_path = } index test { type = rt path = /test rt_attr_float = flt rt_field = title } source src_test2 { type = mysql sql_query = SELECT id, text, 1 as gid FROM table2 sql_attr_uint = gid } index test2 { source = src_test2 path = /test2 docinfo = extern } insert into test (id,flt,title) values (1,0.3,'zero'),(2,.3,'no zero') select .1 as zz, flt from test where match('zero') select 0.1 as zz, flt from test where match('zero') insert into test (id,flt,title) values (10,-123,'neg') select * from test where id=-10 select * from test where id=10 select * from test2 select * from test2 where match ( 'c' ) CREATE TABLE `table2` ( `id` int(11), `text` varchar(255) NOT NULL ) DROP TABLE IF EXISTS `table2` INSERT INTO `table2` VALUES ( 1, 'a b c' ), ( 2, 'b c d' ), ( 3, 'c d e f' ) sphinx-2.2.11-release/test/test_089/model.bin0000644000175000017500000000266012743402012020213 0ustar alexeyalexeya:1:{i:0;a:8:{i:0;a:2:{s:8:"sphinxql";s:70:"insert into test (id,flt,title) values (1,0.3,'zero'),(2,.3,'no zero')";s:14:"total_affected";i:2;}i:1;a:3:{s:8:"sphinxql";s:50:"select .1 as zz, flt from test where match('zero')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"zz";s:8:"0.100000";s:3:"flt";s:8:"0.300000";}i:1;a:2:{s:2:"zz";s:8:"0.100000";s:3:"flt";s:8:"0.300000";}}}i:2;a:3:{s:8:"sphinxql";s:51:"select 0.1 as zz, flt from test where match('zero')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"zz";s:8:"0.100000";s:3:"flt";s:8:"0.300000";}i:1;a:2:{s:2:"zz";s:8:"0.100000";s:3:"flt";s:8:"0.300000";}}}i:3;a:2:{s:8:"sphinxql";s:54:"insert into test (id,flt,title) values (10,-123,'neg')";s:14:"total_affected";i:1;}i:4;a:2:{s:8:"sphinxql";s:31:"select * from test where id=-10";s:10:"total_rows";i:0;}i:5;a:3:{s:8:"sphinxql";s:30:"select * from test where id=10";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:2:"10";s:3:"flt";s:11:"-123.000000";}}}i:6;a:3:{s:8:"sphinxql";s:19:"select * from test2";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:1:"1";}}}i:7;a:3:{s:8:"sphinxql";s:39:"select * from test2 where match ( 'c' )";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:1:"1";}}}}}sphinx-2.2.11-release/test/test_088/0000755000175000017500000000000012743402012016414 5ustar alexeyalexeysphinx-2.2.11-release/test/test_088/test.xml0000644000175000017500000000152112743402012020114 0ustar alexeyalexey SphinxQL: batch INSERT indexer { mem_limit = 16M } searchd { workers = threads binlog_path = } index test { type = rt path = data/test rt_field = title rt_field = content rt_attr_uint = dummy } insert into test (id, title, content) values (1,'title1','content1'),(2,'title2','content2'),(3,'title3','content3') insert into test (id,title) values (4,'title1'),(5,'title5'),(6,'title6') insert into test (id,content) values (7,'content7'),(8,'content8'),(9,'content9') insert into test (title,content) values ('title','failure'),('title1','failure') select * from test sphinx-2.2.11-release/test/test_088/model.bin0000644000175000017500000000222012743402012020202 0ustar alexeyalexeya:1:{i:0;a:5:{i:0;a:2:{s:8:"sphinxql";s:116:"insert into test (id, title, content) values (1,'title1','content1'),(2,'title2','content2'),(3,'title3','content3')";s:14:"total_affected";i:3;}i:1;a:2:{s:8:"sphinxql";s:73:"insert into test (id,title) values (4,'title1'),(5,'title5'),(6,'title6')";s:14:"total_affected";i:3;}i:2;a:2:{s:8:"sphinxql";s:81:"insert into test (id,content) values (7,'content7'),(8,'content8'),(9,'content9')";s:14:"total_affected";i:3;}i:3;a:3:{s:8:"sphinxql";s:80:"insert into test (title,content) values ('title','failure'),('title1','failure')";s:5:"error";s:39:"column list must contain an 'id' column";s:5:"errno";i:1064;}i:4;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:9;s:4:"rows";a:9:{i:0;a:2:{s:2:"id";s:1:"1";s:5:"dummy";s:1:"0";}i:1;a:2:{s:2:"id";s:1:"2";s:5:"dummy";s:1:"0";}i:2;a:2:{s:2:"id";s:1:"3";s:5:"dummy";s:1:"0";}i:3;a:2:{s:2:"id";s:1:"4";s:5:"dummy";s:1:"0";}i:4;a:2:{s:2:"id";s:1:"5";s:5:"dummy";s:1:"0";}i:5;a:2:{s:2:"id";s:1:"6";s:5:"dummy";s:1:"0";}i:6;a:2:{s:2:"id";s:1:"7";s:5:"dummy";s:1:"0";}i:7;a:2:{s:2:"id";s:1:"8";s:5:"dummy";s:1:"0";}i:8;a:2:{s:2:"id";s:1:"9";s:5:"dummy";s:1:"0";}}}}}sphinx-2.2.11-release/test/test_087/0000755000175000017500000000000012743402012016413 5ustar alexeyalexeysphinx-2.2.11-release/test/test_087/test.xml0000644000175000017500000001031312743402012020112 0ustar alexeyalexey SphinxQL: INSERT with column list indexer { mem_limit = 16M } searchd { workers = threads binlog_path = } index test { type = rt path = data/test rt_attr_uint = gid rt_field = title rt_field = content } index rt_zs { type = rt path = data/rt_zs rt_attr_uint = gid rt_field = title } insert into test values (1,'title one','content one',3) insert into test (id,content) values (2,'query defined') select * from test where match('content') select * from test where match('query') select * from test insert into test values (5,6,7,8) insert into test values (5,6,7,8,9,10,11,12) insert into test ( id, gid, gid) values ( 123, 456, 789 ) insert into test (id, title, fakeint, fakefloat, fakestring) values (10, 'title10',1,.34,'fuck') insert into rt_zs (id, gid, title) values (1,1,'test') insert into rt_zs (id, gid, title) values (2,1,'test') insert into rt_zs (id, gid, title) values (3,1,'test') insert into rt_zs (id, gid, title) values (4,1,'test') insert into rt_zs (id, gid, title) values (5,1,'test') insert into rt_zs (id, gid, title) values (6,1,'test') insert into rt_zs (id, gid, title) values (7,1,'test') insert into rt_zs (id, gid, title) values (8,1,'test') insert into rt_zs (id, gid, title) values (9,1,'test') insert into rt_zs (id, gid, title) values (10,1,'test') insert into rt_zs (id, gid, title) values (11,1,'test') insert into rt_zs (id, gid, title) values (12,1,'test') insert into rt_zs (id, gid, title) values (13,1,'test') insert into rt_zs (id, gid, title) values (14,1,'test') insert into rt_zs (id, gid, title) values (15,1,'test') insert into rt_zs (id, gid, title) values (16,1,'test') insert into rt_zs (id, gid, title) values (17,1,'test') insert into rt_zs (id, gid, title) values (18,1,'test') insert into rt_zs (id, gid, title) values (19,1,'test') insert into rt_zs (id, gid, title) values (20,1,'test') insert into rt_zs (id, gid, title) values (21,1,'test') insert into rt_zs (id, gid, title) values (22,1,'test') insert into rt_zs (id, gid, title) values (23,1,'test') insert into rt_zs (id, gid, title) values (24,1,'test') insert into rt_zs (id, gid, title) values (25,1,'test') insert into rt_zs (id, gid, title) values (26,1,'test') insert into rt_zs (id, gid, title) values (27,1,'test') insert into rt_zs (id, gid, title) values (28,1,'test') insert into rt_zs (id, gid, title) values (29,1,'test') insert into rt_zs (id, gid, title) values (30,1,'test') select * from rt_zs select * from rt_zs where match('test') replace into rt_zs (id, gid, title) values (1,1,'test'),(2,1,'test'),(3,1,'test'),(4,1,'test'),(5,1,'test'),(6,1,'test'),(7,1,'test'),(8,1,'test'),(9,1,'test'),(10,1,'test'),(11,1,'test'),(12,1,'test'),(13,1,'test'),(14,1,'test'),(15,1,'test'),(16,1,'test'),(17,1,'test'),(18,1,'test'),(19,1,'test'),(20,1,'test'),(21,1,'test'),(22,1,'test'),(23,1,'test'),(24,1,'test'),(25,1,'test'),(26,1,'test'),(27,1,'test'),(28,1,'test'),(29,1,'test'),(30,1,'test') select * from rt_zs select * from rt_zs where match('test') sphinx-2.2.11-release/test/test_087/model.bin0000644000175000017500000002235412743402012020213 0ustar alexeyalexeya:1:{i:0;a:44:{i:0;a:2:{s:8:"sphinxql";s:55:"insert into test values (1,'title one','content one',3)";s:14:"total_affected";i:1;}i:1;a:2:{s:8:"sphinxql";s:56:"insert into test (id,content) values (2,'query defined')";s:14:"total_affected";i:1;}i:2;a:3:{s:8:"sphinxql";s:41:"select * from test where match('content')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"3";}}}i:3;a:3:{s:8:"sphinxql";s:39:"select * from test where match('query')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:1:"0";}}}i:4;a:3:{s:8:"sphinxql";s:18:"select * from test";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"3";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:1:"0";}}}i:5;a:3:{s:8:"sphinxql";s:33:"insert into test values (5,6,7,8)";s:5:"error";s:32:"row 1, column 2: string expected";s:5:"errno";i:1064;}i:6;a:3:{s:8:"sphinxql";s:44:"insert into test values (5,6,7,8,9,10,11,12)";s:5:"error";s:54:"column count does not match schema (expected 4, got 8)";s:5:"errno";i:1064;}i:7;a:3:{s:8:"sphinxql";s:57:"insert into test ( id, gid, gid) values ( 123, 456, 789 )";s:5:"error";s:28:"column 'gid' specified twice";s:5:"errno";i:1110;}i:8;a:3:{s:8:"sphinxql";s:96:"insert into test (id, title, fakeint, fakefloat, fakestring) values (10, 'title10',1,.34,'fuck')";s:5:"error";s:25:"unknown column: 'fakeint'";s:5:"errno";i:1064;}i:9;a:2:{s:8:"sphinxql";s:54:"insert into rt_zs (id, gid, title) values (1,1,'test')";s:14:"total_affected";i:1;}i:10;a:2:{s:8:"sphinxql";s:54:"insert into rt_zs (id, gid, title) values (2,1,'test')";s:14:"total_affected";i:1;}i:11;a:2:{s:8:"sphinxql";s:54:"insert into rt_zs (id, gid, title) values (3,1,'test')";s:14:"total_affected";i:1;}i:12;a:2:{s:8:"sphinxql";s:54:"insert into rt_zs (id, gid, title) values (4,1,'test')";s:14:"total_affected";i:1;}i:13;a:2:{s:8:"sphinxql";s:54:"insert into rt_zs (id, gid, title) values (5,1,'test')";s:14:"total_affected";i:1;}i:14;a:2:{s:8:"sphinxql";s:54:"insert into rt_zs (id, gid, title) values (6,1,'test')";s:14:"total_affected";i:1;}i:15;a:2:{s:8:"sphinxql";s:54:"insert into rt_zs (id, gid, title) values (7,1,'test')";s:14:"total_affected";i:1;}i:16;a:2:{s:8:"sphinxql";s:54:"insert into rt_zs (id, gid, title) values (8,1,'test')";s:14:"total_affected";i:1;}i:17;a:2:{s:8:"sphinxql";s:54:"insert into rt_zs (id, gid, title) values (9,1,'test')";s:14:"total_affected";i:1;}i:18;a:2:{s:8:"sphinxql";s:55:"insert into rt_zs (id, gid, title) values (10,1,'test')";s:14:"total_affected";i:1;}i:19;a:2:{s:8:"sphinxql";s:55:"insert into rt_zs (id, gid, title) values (11,1,'test')";s:14:"total_affected";i:1;}i:20;a:2:{s:8:"sphinxql";s:55:"insert into rt_zs (id, gid, title) values (12,1,'test')";s:14:"total_affected";i:1;}i:21;a:2:{s:8:"sphinxql";s:55:"insert into rt_zs (id, gid, title) values (13,1,'test')";s:14:"total_affected";i:1;}i:22;a:2:{s:8:"sphinxql";s:55:"insert into rt_zs (id, gid, title) values (14,1,'test')";s:14:"total_affected";i:1;}i:23;a:2:{s:8:"sphinxql";s:55:"insert into rt_zs (id, gid, title) values (15,1,'test')";s:14:"total_affected";i:1;}i:24;a:2:{s:8:"sphinxql";s:55:"insert into rt_zs (id, gid, title) values (16,1,'test')";s:14:"total_affected";i:1;}i:25;a:2:{s:8:"sphinxql";s:55:"insert into rt_zs (id, gid, title) values (17,1,'test')";s:14:"total_affected";i:1;}i:26;a:2:{s:8:"sphinxql";s:55:"insert into rt_zs (id, gid, title) values (18,1,'test')";s:14:"total_affected";i:1;}i:27;a:2:{s:8:"sphinxql";s:55:"insert into rt_zs (id, gid, title) values (19,1,'test')";s:14:"total_affected";i:1;}i:28;a:2:{s:8:"sphinxql";s:55:"insert into rt_zs (id, gid, title) values (20,1,'test')";s:14:"total_affected";i:1;}i:29;a:2:{s:8:"sphinxql";s:55:"insert into rt_zs (id, gid, title) values (21,1,'test')";s:14:"total_affected";i:1;}i:30;a:2:{s:8:"sphinxql";s:55:"insert into rt_zs (id, gid, title) values (22,1,'test')";s:14:"total_affected";i:1;}i:31;a:2:{s:8:"sphinxql";s:55:"insert into rt_zs (id, gid, title) values (23,1,'test')";s:14:"total_affected";i:1;}i:32;a:2:{s:8:"sphinxql";s:55:"insert into rt_zs (id, gid, title) values (24,1,'test')";s:14:"total_affected";i:1;}i:33;a:2:{s:8:"sphinxql";s:55:"insert into rt_zs (id, gid, title) values (25,1,'test')";s:14:"total_affected";i:1;}i:34;a:2:{s:8:"sphinxql";s:55:"insert into rt_zs (id, gid, title) values (26,1,'test')";s:14:"total_affected";i:1;}i:35;a:2:{s:8:"sphinxql";s:55:"insert into rt_zs (id, gid, title) values (27,1,'test')";s:14:"total_affected";i:1;}i:36;a:2:{s:8:"sphinxql";s:55:"insert into rt_zs (id, gid, title) values (28,1,'test')";s:14:"total_affected";i:1;}i:37;a:2:{s:8:"sphinxql";s:55:"insert into rt_zs (id, gid, title) values (29,1,'test')";s:14:"total_affected";i:1;}i:38;a:2:{s:8:"sphinxql";s:55:"insert into rt_zs (id, gid, title) values (30,1,'test')";s:14:"total_affected";i:1;}i:39;a:3:{s:8:"sphinxql";s:19:"select * from rt_zs";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:1:"1";}i:3;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:1:"1";}i:4;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:1:"1";}i:5;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:1:"1";}i:6;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:1:"1";}i:7;a:2:{s:2:"id";s:1:"8";s:3:"gid";s:1:"1";}i:8;a:2:{s:2:"id";s:1:"9";s:3:"gid";s:1:"1";}i:9;a:2:{s:2:"id";s:2:"10";s:3:"gid";s:1:"1";}i:10;a:2:{s:2:"id";s:2:"11";s:3:"gid";s:1:"1";}i:11;a:2:{s:2:"id";s:2:"12";s:3:"gid";s:1:"1";}i:12;a:2:{s:2:"id";s:2:"13";s:3:"gid";s:1:"1";}i:13;a:2:{s:2:"id";s:2:"14";s:3:"gid";s:1:"1";}i:14;a:2:{s:2:"id";s:2:"15";s:3:"gid";s:1:"1";}i:15;a:2:{s:2:"id";s:2:"16";s:3:"gid";s:1:"1";}i:16;a:2:{s:2:"id";s:2:"17";s:3:"gid";s:1:"1";}i:17;a:2:{s:2:"id";s:2:"18";s:3:"gid";s:1:"1";}i:18;a:2:{s:2:"id";s:2:"19";s:3:"gid";s:1:"1";}i:19;a:2:{s:2:"id";s:2:"20";s:3:"gid";s:1:"1";}}}i:40;a:3:{s:8:"sphinxql";s:39:"select * from rt_zs where match('test')";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:1:"1";}i:3;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:1:"1";}i:4;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:1:"1";}i:5;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:1:"1";}i:6;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:1:"1";}i:7;a:2:{s:2:"id";s:1:"8";s:3:"gid";s:1:"1";}i:8;a:2:{s:2:"id";s:1:"9";s:3:"gid";s:1:"1";}i:9;a:2:{s:2:"id";s:2:"10";s:3:"gid";s:1:"1";}i:10;a:2:{s:2:"id";s:2:"11";s:3:"gid";s:1:"1";}i:11;a:2:{s:2:"id";s:2:"12";s:3:"gid";s:1:"1";}i:12;a:2:{s:2:"id";s:2:"13";s:3:"gid";s:1:"1";}i:13;a:2:{s:2:"id";s:2:"14";s:3:"gid";s:1:"1";}i:14;a:2:{s:2:"id";s:2:"15";s:3:"gid";s:1:"1";}i:15;a:2:{s:2:"id";s:2:"16";s:3:"gid";s:1:"1";}i:16;a:2:{s:2:"id";s:2:"17";s:3:"gid";s:1:"1";}i:17;a:2:{s:2:"id";s:2:"18";s:3:"gid";s:1:"1";}i:18;a:2:{s:2:"id";s:2:"19";s:3:"gid";s:1:"1";}i:19;a:2:{s:2:"id";s:2:"20";s:3:"gid";s:1:"1";}}}i:41;a:2:{s:8:"sphinxql";s:453:"replace into rt_zs (id, gid, title) values (1,1,'test'),(2,1,'test'),(3,1,'test'),(4,1,'test'),(5,1,'test'),(6,1,'test'),(7,1,'test'),(8,1,'test'),(9,1,'test'),(10,1,'test'),(11,1,'test'),(12,1,'test'),(13,1,'test'),(14,1,'test'),(15,1,'test'),(16,1,'test'),(17,1,'test'),(18,1,'test'),(19,1,'test'),(20,1,'test'),(21,1,'test'),(22,1,'test'),(23,1,'test'),(24,1,'test'),(25,1,'test'),(26,1,'test'),(27,1,'test'),(28,1,'test'),(29,1,'test'),(30,1,'test')";s:14:"total_affected";i:30;}i:42;a:3:{s:8:"sphinxql";s:19:"select * from rt_zs";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:1:"1";}i:3;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:1:"1";}i:4;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:1:"1";}i:5;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:1:"1";}i:6;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:1:"1";}i:7;a:2:{s:2:"id";s:1:"8";s:3:"gid";s:1:"1";}i:8;a:2:{s:2:"id";s:1:"9";s:3:"gid";s:1:"1";}i:9;a:2:{s:2:"id";s:2:"10";s:3:"gid";s:1:"1";}i:10;a:2:{s:2:"id";s:2:"11";s:3:"gid";s:1:"1";}i:11;a:2:{s:2:"id";s:2:"12";s:3:"gid";s:1:"1";}i:12;a:2:{s:2:"id";s:2:"13";s:3:"gid";s:1:"1";}i:13;a:2:{s:2:"id";s:2:"14";s:3:"gid";s:1:"1";}i:14;a:2:{s:2:"id";s:2:"15";s:3:"gid";s:1:"1";}i:15;a:2:{s:2:"id";s:2:"16";s:3:"gid";s:1:"1";}i:16;a:2:{s:2:"id";s:2:"17";s:3:"gid";s:1:"1";}i:17;a:2:{s:2:"id";s:2:"18";s:3:"gid";s:1:"1";}i:18;a:2:{s:2:"id";s:2:"19";s:3:"gid";s:1:"1";}i:19;a:2:{s:2:"id";s:2:"20";s:3:"gid";s:1:"1";}}}i:43;a:3:{s:8:"sphinxql";s:39:"select * from rt_zs where match('test')";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:1:"1";}i:3;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:1:"1";}i:4;a:2:{s:2:"id";s:1:"5";s:3:"gid";s:1:"1";}i:5;a:2:{s:2:"id";s:1:"6";s:3:"gid";s:1:"1";}i:6;a:2:{s:2:"id";s:1:"7";s:3:"gid";s:1:"1";}i:7;a:2:{s:2:"id";s:1:"8";s:3:"gid";s:1:"1";}i:8;a:2:{s:2:"id";s:1:"9";s:3:"gid";s:1:"1";}i:9;a:2:{s:2:"id";s:2:"10";s:3:"gid";s:1:"1";}i:10;a:2:{s:2:"id";s:2:"11";s:3:"gid";s:1:"1";}i:11;a:2:{s:2:"id";s:2:"12";s:3:"gid";s:1:"1";}i:12;a:2:{s:2:"id";s:2:"13";s:3:"gid";s:1:"1";}i:13;a:2:{s:2:"id";s:2:"14";s:3:"gid";s:1:"1";}i:14;a:2:{s:2:"id";s:2:"15";s:3:"gid";s:1:"1";}i:15;a:2:{s:2:"id";s:2:"16";s:3:"gid";s:1:"1";}i:16;a:2:{s:2:"id";s:2:"17";s:3:"gid";s:1:"1";}i:17;a:2:{s:2:"id";s:2:"18";s:3:"gid";s:1:"1";}i:18;a:2:{s:2:"id";s:2:"19";s:3:"gid";s:1:"1";}i:19;a:2:{s:2:"id";s:2:"20";s:3:"gid";s:1:"1";}}}}}sphinx-2.2.11-release/test/test_086/0000755000175000017500000000000012743402012016412 5ustar alexeyalexeysphinx-2.2.11-release/test/test_086/test.xml0000644000175000017500000000265412743402012020122 0ustar alexeyalexey index rotation vs pconns indexer { mem_limit = 16M } searchd { workers = none workers = threads binlog_path = workers = fork workers = prefork } source test1 { type = mysql sql_query = SELECT * FROM test_table sql_query_post_index = UPDATE test_table SET id=id+100 } index test1 { source = test1 path = /test1 } CREATE TABLE test_table ( id INTEGER PRIMARY KEY NOT NULL AUTO_INCREMENT, title varchar(255) NOT NULL ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table VALUES ( 1, 'hier kommt die sonne' ), ( 2, 'hier kommt die sonne' ), ( 3, 'sie est der hellste stern von allen' ), ( 4, 'hier kommt die sonne' ); Open (); $res1 = $client->Query ( "sonne", "test1" ); unset ( $res1["time"] ); $rv = 0; $err = ""; exec ( $g_locals["indexer"]." --config config.conf --rotate --all", $err, $rv ); usleep ( 1500000 ); $res2 = $client->Query ( "sonne", "test1" ); unset ( $res2["time"] ); $client->Close(); $results = array ( $res1, $res2 ); if ( !$res1 || !$res2 || $rv!=0 ) $results = false; ]]> sphinx-2.2.11-release/test/test_086/model.bin0000644000175000017500000000661012743402012020207 0ustar alexeyalexeya:4:{i:0;a:1:{i:0;a:2:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:1:{s:5:"sonne";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:101;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:102;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:104;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:1:{s:5:"sonne";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}}}}i:1;a:1:{i:0;a:2:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:201;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:202;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:204;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:1:{s:5:"sonne";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:301;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:302;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:304;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:1:{s:5:"sonne";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}}}}i:2;a:1:{i:0;a:2:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:401;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:402;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:404;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:1:{s:5:"sonne";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:501;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:502;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:504;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:1:{s:5:"sonne";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}}}}i:3;a:1:{i:0;a:2:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:601;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:602;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:604;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:1:{s:5:"sonne";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"title";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:701;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:702;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:704;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:1:{s:5:"sonne";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}}}}}sphinx-2.2.11-release/test/test_085/0000755000175000017500000000000012743402012016411 5ustar alexeyalexeysphinx-2.2.11-release/test/test_085/test.xml0000644000175000017500000000221312743402012020110 0ustar alexeyalexey merge vs dupecounter indexer { mem_limit = 16M } searchd { } source srcmain { type = mysql sql_query = SELECT id, body, id*10 AS xid FROM test_table WHERE id in (1,2,3) sql_attr_uint = xid } source srcdelta : srcmain { sql_query = SELECT id, body, id*100 AS xid FROM test_table WHERE id in (3,4,5) } index main { source = srcmain path = /main } index delta { source = srcdelta path = /delta } --merge main delta one three five CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'one' ), ( 2, 'two' ), ( 3, 'three blind mice, how they run' ), ( 4, 'four' ), ( 5, 'five' ) sphinx-2.2.11-release/test/test_085/model.bin0000644000175000017500000000241512743402012020205 0ustar alexeyalexeya:1:{i:0;a:3:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:3:"xid";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1704";s:5:"attrs";a:1:{s:3:"xid";i:10;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"one";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:3:"xid";i:1;}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1704";s:5:"attrs";a:1:{s:3:"xid";i:300;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"three";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"three";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:3:"xid";i:1;}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1704";s:5:"attrs";a:1:{s:3:"xid";i:500;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"five";}}}sphinx-2.2.11-release/test/test_084/0000755000175000017500000000000012743402012016410 5ustar alexeyalexeysphinx-2.2.11-release/test/test_084/test.xml0000644000175000017500000000172112743402012020112 0ustar alexeyalexey merge vs phantom killer indexer { mem_limit = 16M } searchd { } source main { type = mysql sql_query = select 1 as id, 'phantom' as body, 2 as attr; sql_attr_uint = attr } source delta { type = mysql sql_query = SELECT * FROM test_table; sql_attr_uint = attr } index main { source = main path = /empty } index delta { source = delta path = /delta } CREATE TABLE test_table ( `id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '', `attr` int(11) NOT NULL default '0' ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table VALUES ( 1, 'nophantom', 1 ), ( 2, 'phantom', 0 ) --merge main delta phantom sphinx-2.2.11-release/test/test_084/model.bin0000644000175000017500000000070012743402012020177 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:4:"attr";i:1;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:1:{s:4:"attr";i:0;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"phantom";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"phantom";}}}sphinx-2.2.11-release/test/test_083/0000755000175000017500000000000012743402012016407 5ustar alexeyalexeysphinx-2.2.11-release/test/test_083/test.xml0000644000175000017500000000255312743402012020115 0ustar alexeyalexey subtree cache vs AND node reset indexer { mem_limit = 16M } searchd { subtree_docs_cache = 0 subtree_docs_cache = 40 subtree_docs_cache = 10M subtree_hits_cache = 0 subtree_hits_cache = 40 subtree_hits_cache = 10M } source srctest { type = mysql sql_query = SELECT * FROM test_table } index test_idx { source = srctest path = /test } CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'one two three one' ), ( 2, 'one two three one two' ), ( 3, 'one two three one two three' ), ( 4, 'one two three four six' ), ( 5, 'one two three four five seven' ) SetMatchMode (SPH_MATCH_EXTENDED2); $client->AddQuery ("(one two three) |one"); $client->AddQuery ("(one two three) |six"); $results = $client->RunQueries (); ]]> sphinx-2.2.11-release/test/test_083/model.bin0000644000175000017500000003056412743402012020211 0ustar alexeyalexeya:9:{i:0;a:2:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"4270";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"4244";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"4219";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"3295";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3295";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.000";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}s:5:"query";s:0:"";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:4;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3346";s:5:"attrs";a:0:{}}i:1;a:2:{s:6:"weight";s:4:"3327";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"3308";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"3289";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.000";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:3:"six";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:5:"query";s:0:"";}}i:1;a:2:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"4270";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"4244";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"4219";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"3295";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3295";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}s:5:"query";s:0:"";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:4;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3346";s:5:"attrs";a:0:{}}i:1;a:2:{s:6:"weight";s:4:"3327";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"3308";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"3289";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.001";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:3:"six";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:5:"query";s:0:"";}}i:2;a:2:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"4270";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"4244";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"4219";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"3295";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3295";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}s:5:"query";s:0:"";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:4;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3346";s:5:"attrs";a:0:{}}i:1;a:2:{s:6:"weight";s:4:"3327";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"3308";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"3289";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.001";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:3:"six";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:5:"query";s:0:"";}}i:3;a:2:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"4270";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"4244";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"4219";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"3295";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3295";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}s:5:"query";s:0:"";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:4;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3346";s:5:"attrs";a:0:{}}i:1;a:2:{s:6:"weight";s:4:"3327";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"3308";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"3289";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.001";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:3:"six";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:5:"query";s:0:"";}}i:4;a:2:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"4270";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"4244";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"4219";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"3295";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3295";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}s:5:"query";s:0:"";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:4;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3346";s:5:"attrs";a:0:{}}i:1;a:2:{s:6:"weight";s:4:"3327";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"3308";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"3289";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.001";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:3:"six";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:5:"query";s:0:"";}}i:5;a:2:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"4270";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"4244";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"4219";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"3295";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3295";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}s:5:"query";s:0:"";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:4;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3346";s:5:"attrs";a:0:{}}i:1;a:2:{s:6:"weight";s:4:"3327";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"3308";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"3289";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.001";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:3:"six";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:5:"query";s:0:"";}}i:6;a:2:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"4270";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"4244";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"4219";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"3295";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3295";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}s:5:"query";s:0:"";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:4;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3346";s:5:"attrs";a:0:{}}i:1;a:2:{s:6:"weight";s:4:"3327";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"3308";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"3289";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.001";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:3:"six";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:5:"query";s:0:"";}}i:7;a:2:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"4270";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"4244";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"4219";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"3295";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3295";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}s:5:"query";s:0:"";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:4;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3346";s:5:"attrs";a:0:{}}i:1;a:2:{s:6:"weight";s:4:"3327";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"3308";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"3289";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.001";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:3:"six";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:5:"query";s:0:"";}}i:8;a:2:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"4270";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"4244";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"4219";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"3295";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3295";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}s:5:"query";s:0:"";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:4;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3346";s:5:"attrs";a:0:{}}i:1;a:2:{s:6:"weight";s:4:"3327";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"3308";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"3289";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.001";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:3:"six";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:5:"query";s:0:"";}}}sphinx-2.2.11-release/test/test_082/0000755000175000017500000000000012743402012016406 5ustar alexeyalexeysphinx-2.2.11-release/test/test_082/words_main.txt0000644000175000017500000000001712743402012021307 0ustar alexeyalexeytin woodman a sphinx-2.2.11-release/test/test_082/words_delta.txt0000644000175000017500000000001712743402012021454 0ustar alexeyalexeywoodman the of sphinx-2.2.11-release/test/test_082/test.xml0000644000175000017500000000343012743402012020107 0ustar alexeyalexey hitless merge indexer { mem_limit = 16M } searchd { } source main { type = mysql sql_query = select * from sph_test where id in ( 1, 2 ); } source delta { type = mysql sql_query = select * from sph_test where id in ( 3 ); } index main { source = main path = /main hitless_words = /words_main.txt } index delta { source = delta path = /delta hitless_words = /words_delta.txt } --merge main delta create table sph_test ( id int not null, text varchar(255) not null ); drop table if exists sph_test; insert into sph_test values ( 1, 'The Tin Woodman gave a sigh of satisfaction and lowered his axe, which he leaned against the tree.' ), ( 2, 'The Tin Woodman appeared to think deeply for a moment.' ), ( 3, 'The Tin Woodman had asked Dorothy to put the oil-can in her basket.' ); tin woodman lowered "tin woodman" "and lowered" "tin woodman"~2 "lowered his axe" "and lowered his axe" "tin woodman"/1 ^the ^tin basket basket$ sphinx-2.2.11-release/test/test_082/model.bin0000644000175000017500000001304312743402012020201 0ustar alexeyalexeya:1:{i:0;a:12:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"tin";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:7:"woodman";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"tin woodman";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:7:"lowered";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"lowered";}i:2;a:11:{s:5:"error";s:0:"";s:7:"warning";s:68:"can't create phrase node, hitlists unavailable (hitlists=0, nodes=2)";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:""tin woodman"";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"2680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"and";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"lowered";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:""and lowered"";}i:4;a:11:{s:5:"error";s:0:"";s:7:"warning";s:68:"can't create phrase node, hitlists unavailable (hitlists=0, nodes=2)";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:""tin woodman"~2";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"3680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:7:"lowered";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"his";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"axe";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:""lowered his axe"";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"4680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.003";s:5:"words";a:4:{s:3:"and";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"lowered";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"his";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"axe";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:21:""and lowered his axe"";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"tin";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:7:"woodman";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:""tin woodman"/1";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:43:"hitlist unavailable, position limit ignored";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:1;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"the";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"^the";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:43:"hitlist unavailable, position limit ignored";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"tin";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"^tin";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"basket";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"basket";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"basket";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"basket$";}}}sphinx-2.2.11-release/test/test_081/0000755000175000017500000000000012743402012016405 5ustar alexeyalexeysphinx-2.2.11-release/test/test_081/words3.txt0000644000175000017500000000000312743402012020360 0ustar alexeyalexeyto sphinx-2.2.11-release/test/test_081/words2.txt0000644000175000017500000000001712743402012020364 0ustar alexeyalexeyof tin woodman sphinx-2.2.11-release/test/test_081/words1.txt0000644000175000017500000000001212743402012020356 0ustar alexeyalexeya the and sphinx-2.2.11-release/test/test_081/test.xml0000644000175000017500000001314112743402012020106 0ustar alexeyalexey hitless indexes common { lemmatizer_base = lemmatizer_base } indexer { mem_limit = 16M } searchd { } source test { type = mysql sql_query = select * from sph_test; } index none { source = test path = /none } index some { source = test path = /some hitless_words = /words1.txt /words2.txt } index all { source = test path = /all hitless_words = all } index some1 { source = test path = /some1 hitless_words = /words1.txt /words2.txt html_strip = 1 index_sp = 1 index_zones = zone* } source hit_test { type = mysql sql_query = SELECT 1 id, "protest, to teach, to feed, and" body, 11 idd UNION SELECT 2 id, "to and windows text" body, 12 idd sql_attr_uint = idd } index hit_0 { source = hit_test path = /hit_0 morphology = lemmatize_en_all } index hit_1 { source = hit_test path = /hit_1 morphology = lemmatize_en_all hitless_words = /words3.txt } create table sph_test ( id int not null, text varchar(255) not null ); drop table if exists sph_test; insert into sph_test values ( 1, 'The Tin Woodman gave a sigh of satisfaction and lowered his axe, which he leaned against the tree.' ), ( 2, 'The Tin Woodman appeared to think deeply for a moment.' ), ( 3, 'The Tin Woodman had asked Dorothy to put the oil-can in her basket.' ); tin woodman tin woodman tin woodman tin woodman tin woodman tin woodman lowered lowered lowered "tin woodman" "tin woodman" "tin woodman" "and lowered" "and lowered" "and lowered" "tin woodman"~2 "tin woodman"~2 "tin woodman"~2 "lowered his axe" "lowered his axe" "lowered his axe" "and lowered his axe" "and lowered his axe" "and lowered his axe" "tin woodman"/1 "tin woodman"/1 "tin woodman"/1 ^the ^the ^the ^tin ^tin ^tin basket basket basket basket$ basket$ basket$ "and the tree" << Woodman Tin Woodman "and the tree" ZONESPAN:(zoneC,zoneB) Tin Woodman "and the tree" Woodman NEAR/10 "and the tree" SELECT * FROM hit_0 WHERE MATCH(' "teach to feed" ') SHOW META SELECT * FROM hit_1 WHERE MATCH(' "teach to feed" ') SHOW META SELECT * FROM hit_0 WHERE MATCH(' "to feed and" ') SHOW META SELECT * FROM hit_1 WHERE MATCH(' "to feed and" ') SHOW META SELECT * FROM hit_0 WHERE MATCH(' "to feed" ') SHOW META SELECT * FROM hit_1 WHERE MATCH(' "to feed" ') SHOW META SELECT * FROM hit_0 WHERE MATCH(' "to windows text" ') SHOW META SELECT * FROM hit_1 WHERE MATCH(' "to windows text" ') SHOW META sphinx-2.2.11-release/test/test_081/model.bin0000644000175000017500000007014412743402012020205 0ustar alexeyalexeya:1:{i:0;a:59:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"2319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"2319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.003";s:5:"words";a:2:{s:3:"tin";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:7:"woodman";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"tin woodman";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"tin";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:7:"woodman";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"tin woodman";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"tin";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:7:"woodman";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"tin woodman";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"tin";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:7:"woodman";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"tin woodman";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"tin";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:7:"woodman";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"tin woodman";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"tin";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:7:"woodman";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"tin woodman";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:7:"lowered";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"lowered";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"lowered";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"lowered";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"lowered";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"lowered";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"2319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"2319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"tin";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:7:"woodman";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:""tin woodman"";}i:10;a:11:{s:5:"error";s:0:"";s:7:"warning";s:68:"can't create phrase node, hitlists unavailable (hitlists=0, nodes=2)";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:""tin woodman"";}i:11;a:11:{s:5:"error";s:0:"";s:7:"warning";s:68:"can't create phrase node, hitlists unavailable (hitlists=0, nodes=2)";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:""tin woodman"";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"2680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"and";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"lowered";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:""and lowered"";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:68:"can't create phrase node, hitlists unavailable (hitlists=1, nodes=2)";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:""and lowered"";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:68:"can't create phrase node, hitlists unavailable (hitlists=0, nodes=2)";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:""and lowered"";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"2319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"2319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"tin";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:7:"woodman";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:""tin woodman"~2";}i:16;a:11:{s:5:"error";s:0:"";s:7:"warning";s:68:"can't create phrase node, hitlists unavailable (hitlists=0, nodes=2)";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:""tin woodman"~2";}i:17;a:11:{s:5:"error";s:0:"";s:7:"warning";s:68:"can't create phrase node, hitlists unavailable (hitlists=0, nodes=2)";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:""tin woodman"~2";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"3680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:7:"lowered";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"his";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"axe";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:""lowered his axe"";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"3680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:7:"lowered";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"his";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"axe";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:""lowered his axe"";}i:20;a:11:{s:5:"error";s:0:"";s:7:"warning";s:68:"can't create phrase node, hitlists unavailable (hitlists=0, nodes=3)";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:""lowered his axe"";}i:21;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"4680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:4:{s:3:"and";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"lowered";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"his";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"axe";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:21:""and lowered his axe"";}i:22;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"3680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:4:{s:3:"and";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"lowered";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"his";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"axe";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:21:""and lowered his axe"";}i:23;a:11:{s:5:"error";s:0:"";s:7:"warning";s:68:"can't create phrase node, hitlists unavailable (hitlists=0, nodes=4)";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:21:""and lowered his axe"";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"2319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"2319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"tin";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:7:"woodman";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:""tin woodman"/1";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"tin";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:7:"woodman";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:""tin woodman"/1";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"tin";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:7:"woodman";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:""tin woodman"/1";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:1;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"the";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"^the";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:43:"hitlist unavailable, position limit ignored";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:1;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"the";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"^the";}i:29;a:13:{s:5:"error";s:0:"";s:7:"warning";s:43:"hitlist unavailable, position limit ignored";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:1;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"the";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"^the";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"tin";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"^tin";}i:31;a:13:{s:5:"error";s:0:"";s:7:"warning";s:43:"hitlist unavailable, position limit ignored";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"tin";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"^tin";}i:32;a:13:{s:5:"error";s:0:"";s:7:"warning";s:43:"hitlist unavailable, position limit ignored";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"tin";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"^tin";}i:33;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"basket";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"basket";}i:34;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"basket";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"basket";}i:35;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"basket";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"basket";}i:36;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"basket";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"basket$";}i:37;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"basket";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"basket$";}i:38;a:13:{s:5:"error";s:0:"";s:7:"warning";s:43:"hitlist unavailable, position limit ignored";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"basket";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"basket$";}i:39;a:11:{s:5:"error";s:0:"";s:7:"warning";s:48:"failed to create order node, hitlist unavailable";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:26:""and the tree" << Woodman ";}i:40;a:13:{s:5:"error";s:0:"";s:7:"warning";s:68:"can't create phrase node, hitlists unavailable (hitlists=1, nodes=3)";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"tin";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:7:"woodman";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:26:"Tin Woodman "and the tree"";}i:41;a:13:{s:5:"error";s:0:"";s:7:"warning";s:68:"can't create phrase node, hitlists unavailable (hitlists=1, nodes=3)";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"tin";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:7:"woodman";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:49:"ZONESPAN:(zoneC,zoneB) Tin Woodman "and the tree"";}i:42;a:11:{s:5:"error";s:0:"";s:7:"warning";s:68:"can't create phrase node, hitlists unavailable (hitlists=0, nodes=2)";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:30:"Woodman NEAR/10 "and the tree"";}i:43;a:3:{s:8:"sphinxql";s:52:"SELECT * FROM hit_0 WHERE MATCH(' "teach to feed" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:44;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:15;s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"teach";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:2:"to";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"3";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:4:"feed";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:3:"fee";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"1";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"1";}}}i:45;a:3:{s:8:"sphinxql";s:52:"SELECT * FROM hit_1 WHERE MATCH(' "teach to feed" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:46;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:15;s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"teach";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:2:"to";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"3";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:4:"feed";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:3:"fee";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"1";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"1";}}}i:47;a:3:{s:8:"sphinxql";s:50:"SELECT * FROM hit_0 WHERE MATCH(' "to feed and" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:48;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:15;s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"to";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"feed";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:3:"fee";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:3:"and";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:49;a:3:{s:8:"sphinxql";s:50:"SELECT * FROM hit_1 WHERE MATCH(' "to feed and" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:50;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:15;s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"to";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"feed";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:3:"fee";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:3:"and";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:51;a:3:{s:8:"sphinxql";s:46:"SELECT * FROM hit_0 WHERE MATCH(' "to feed" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:52;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:12;s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"to";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"feed";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:3:"fee";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}}}i:53;a:2:{s:8:"sphinxql";s:46:"SELECT * FROM hit_1 WHERE MATCH(' "to feed" ')";s:10:"total_rows";i:0;}i:54;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:4;s:4:"rows";a:3:{i:0;a:2:{s:13:"Variable_name";s:7:"warning";s:5:"Value";s:68:"can't create phrase node, hitlists unavailable (hitlists=1, nodes=2)";}i:1;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}}}i:55;a:2:{s:8:"sphinxql";s:54:"SELECT * FROM hit_0 WHERE MATCH(' "to windows text" ')";s:10:"total_rows";i:0;}i:56;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:15;s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"to";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:7:"windows";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:6:"window";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:4:"text";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"1";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"1";}}}i:57;a:3:{s:8:"sphinxql";s:54:"SELECT * FROM hit_1 WHERE MATCH(' "to windows text" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"12";}}}i:58;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:15;s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"to";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:7:"windows";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:6:"window";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:4:"text";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"1";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"1";}}}}}sphinx-2.2.11-release/test/test_080/0000755000175000017500000000000012743402012016404 5ustar alexeyalexeysphinx-2.2.11-release/test/test_080/test.xml0000644000175000017500000000301512743402012020104 0ustar alexeyalexey merge vs write buffer corruption indexer { mem_limit = 16M write_buffer = 300000 } searchd { } source main { type = mysql sql_query = select 2, 'X' as first, 'Y' as second; } index main { source = main path = /main } source delta { type = mysql sql_query = select id, first, second from sph_test } index delta { source = delta path = /delta } create table sph_test ( id int not null, first text(1048576) not null, second text(1048576) not null ) ENGINE=MYISAM drop table if exists sph_test; --merge main delta C @second[299992] B @second[299993] B @second[299994] B "C B A A A" "C B A A A$" A A$ X Y sphinx-2.2.11-release/test/test_080/model.bin0000644000175000017500000001034312743402012020177 0ustar alexeyalexeya:1:{i:0;a:10:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"first";i:1;s:6:"second";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1815";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:1:"c";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:6:"299992";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"C";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"first";i:1;s:6:"second";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:1:"b";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"@second[299992] B";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"first";i:1;s:6:"second";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:1:"b";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"@second[299993] B";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"first";i:1;s:6:"second";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:1:"b";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"@second[299994] B";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"first";i:1;s:6:"second";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"5728";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.040";s:5:"words";a:3:{s:1:"c";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:6:"299992";}s:1:"b";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"a";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:""C B A A A"";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"first";i:1;s:6:"second";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"5728";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.040";s:5:"words";a:3:{s:1:"c";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:6:"299992";}s:1:"b";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"a";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:""C B A A A$"";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"first";i:1;s:6:"second";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:1:"a";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"A";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"first";i:1;s:6:"second";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:1:"a";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"A$";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"first";i:1;s:6:"second";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:1:"x";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"X";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"first";i:1;s:6:"second";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:1:"y";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"Y";}}}sphinx-2.2.11-release/test/test_079/0000755000175000017500000000000012743402012016414 5ustar alexeyalexeysphinx-2.2.11-release/test/test_079/test.xml0000644000175000017500000000231512743402012020116 0ustar alexeyalexey merge vs out-of-bounds dictionary reads indexer { mem_limit = 16M } searchd { } source delta { type = mysql sql_query = select id, text from sph_test; } index delta { source = delta path = /delta charset_table = W,0..9 } source main { type = mysql sql_query = select 2, 'W0000' as text; } index main { source = main path = /main charset_table = W,0..9 } --merge main delta create table sph_test ( id int not null, text text(262144) not null ) ENGINE=MYISAM drop table if exists sph_test; W0000 W1023 W1024 W1025 W1188 W1498 W1499 sphinx-2.2.11-release/test/test_079/model.bin0000644000175000017500000000544612743402012020217 0ustar alexeyalexeya:1:{i:0;a:7:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"1356";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1356";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"W0000";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"W0000";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"W1023";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"W1023";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"W1024";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"W1024";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"W1025";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"W1025";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"W1188";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"W1188";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"W1498";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"W1498";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"W1499";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"W1499";}}}sphinx-2.2.11-release/test/test_078/0000755000175000017500000000000012743402012016413 5ustar alexeyalexeysphinx-2.2.11-release/test/test_078/test.xml0000644000175000017500000000220112743402012020107 0ustar alexeyalexey merge vs hit mixing indexer { mem_limit = 16M } searchd { } source srcmain { type = mysql sql_query = SELECT * FROM test1 } source srcdelta { type = mysql sql_query = SELECT * FROM test2 } index main { source = srcmain path = /main } index delta { source = srcdelta path = /delta } --merge main delta aaa aaa ccc yyy ddd CREATE TABLE test1 ( id INTEGER NOT NULL, body VARCHAR(255) NOT NULL ); CREATE TABLE test2 ( id INTEGER NOT NULL, body VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test1; DROP TABLE IF EXISTS test2; INSERT INTO test1 VALUES ( 1, 'xxx aaa yyy' ); INSERT INTO test2 VALUES ( 1, 'aaa bbb ccc aaa ddd eee' ); sphinx-2.2.11-release/test/test_078/model.bin0000644000175000017500000000244212743402012020207 0ustar alexeyalexeya:1:{i:0;a:3:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1725";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"aaa";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"aaa";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"2684";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"aaa";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"3";}s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"aaa ccc";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:3:"yyy";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"ddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"yyy ddd";}}}sphinx-2.2.11-release/test/test_077/0000755000175000017500000000000012743402012016412 5ustar alexeyalexeysphinx-2.2.11-release/test/test_077/test.xml0000644000175000017500000000204512743402012020114 0ustar alexeyalexey uint attrs indexer { mem_limit = 16M } searchd { } source test { type = mysql sql_query = SELECT id, n, 'text' FROM test_table; sql_attr_uint = n sql_attr_multi = uint mva from query; select id, n mva from test_table sql_attr_multi = bigint mva from query; select id, n mva from test_table } index test { source = test path = /test } CREATE TABLE test_table ( id INT NOT NULL, n INT UNSIGNED NOT NULL ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table (id, n) VALUES ( 1, 2582995467 ), ( 2, 3650268775 ), ( 3, 1452351953 ), ( 4, 1022026391 ), ( 5, 3802901620 ), ( 6, 1329722356 ); n mva sphinx-2.2.11-release/test/test_077/model.bin0000644000175000017500000001466612743402012020221 0ustar alexeyalexeya:2:{i:0;a:3:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:1:"n";i:1;s:3:"mva";i:1073741825;}s:7:"matches";a:6:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"n";s:10:"2582995467";s:3:"mva";a:1:{i:0;s:10:"2582995467";}}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"n";s:10:"3650268775";s:3:"mva";a:1:{i:0;s:10:"3650268775";}}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"n";s:10:"1452351953";s:3:"mva";a:1:{i:0;s:10:"1452351953";}}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"n";s:10:"1022026391";s:3:"mva";a:1:{i:0;s:10:"1022026391";}}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"n";s:10:"3802901620";s:3:"mva";a:1:{i:0;s:10:"3802901620";}}}i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"n";s:10:"1329722356";s:3:"mva";a:1:{i:0;s:10:"1329722356";}}}}s:5:"total";s:1:"6";s:11:"total_found";s:1:"6";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:1:"n";i:1;s:3:"mva";i:1073741825;s:5:"@expr";i:5;}s:7:"matches";a:6:{i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"n";s:10:"3802901620";s:3:"mva";a:1:{i:0;s:10:"3802901620";}s:5:"@expr";d:3802901504;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"n";s:10:"3650268775";s:3:"mva";a:1:{i:0;s:10:"3650268775";}s:5:"@expr";d:3650268672;}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"n";s:10:"2582995467";s:3:"mva";a:1:{i:0;s:10:"2582995467";}s:5:"@expr";d:2582995456;}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"n";s:10:"1452351953";s:3:"mva";a:1:{i:0;s:10:"1452351953";}s:5:"@expr";d:1452352000;}}i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"n";s:10:"1329722356";s:3:"mva";a:1:{i:0;s:10:"1329722356";}s:5:"@expr";d:1329722368;}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"n";s:10:"1022026391";s:3:"mva";a:1:{i:0;s:10:"1022026391";}s:5:"@expr";d:1022026368;}}}s:5:"total";s:1:"6";s:11:"total_found";s:1:"6";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:1:"n";i:1;s:3:"mva";i:1073741825;s:5:"@expr";i:5;}s:7:"matches";a:6:{i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"n";s:10:"1022026391";s:3:"mva";a:1:{i:0;s:10:"1022026391";}s:5:"@expr";d:-1022026368;}}i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"n";s:10:"1329722356";s:3:"mva";a:1:{i:0;s:10:"1329722356";}s:5:"@expr";d:-1329722368;}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"n";s:10:"1452351953";s:3:"mva";a:1:{i:0;s:10:"1452351953";}s:5:"@expr";d:-1452352000;}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"n";s:10:"2582995467";s:3:"mva";a:1:{i:0;s:10:"2582995467";}s:5:"@expr";d:-2582995456;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"n";s:10:"3650268775";s:3:"mva";a:1:{i:0;s:10:"3650268775";}s:5:"@expr";d:-3650268672;}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"n";s:10:"3802901620";s:3:"mva";a:1:{i:0;s:10:"3802901620";}s:5:"@expr";d:-3802901504;}}}s:5:"total";s:1:"6";s:11:"total_found";s:1:"6";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}}i:1;a:3:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:1:"n";i:1;s:3:"mva";i:1073741825;}s:7:"matches";a:6:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"n";s:10:"2582995467";s:3:"mva";a:1:{i:0;s:10:"2582995467";}}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"n";s:10:"3650268775";s:3:"mva";a:1:{i:0;s:10:"3650268775";}}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"n";s:10:"1452351953";s:3:"mva";a:1:{i:0;s:10:"1452351953";}}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"n";s:10:"1022026391";s:3:"mva";a:1:{i:0;s:10:"1022026391";}}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"n";s:10:"3802901620";s:3:"mva";a:1:{i:0;s:10:"3802901620";}}}i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"n";s:10:"1329722356";s:3:"mva";a:1:{i:0;s:10:"1329722356";}}}}s:5:"total";s:1:"6";s:11:"total_found";s:1:"6";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:1:"n";i:1;s:3:"mva";i:1073741825;s:5:"@expr";i:5;}s:7:"matches";a:6:{i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"n";s:10:"3802901620";s:3:"mva";a:1:{i:0;s:10:"3802901620";}s:5:"@expr";d:3802901504;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"n";s:10:"3650268775";s:3:"mva";a:1:{i:0;s:10:"3650268775";}s:5:"@expr";d:3650268672;}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"n";s:10:"2582995467";s:3:"mva";a:1:{i:0;s:10:"2582995467";}s:5:"@expr";d:2582995456;}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"n";s:10:"1452351953";s:3:"mva";a:1:{i:0;s:10:"1452351953";}s:5:"@expr";d:1452352000;}}i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"n";s:10:"1329722356";s:3:"mva";a:1:{i:0;s:10:"1329722356";}s:5:"@expr";d:1329722368;}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"n";s:10:"1022026391";s:3:"mva";a:1:{i:0;s:10:"1022026391";}s:5:"@expr";d:1022026368;}}}s:5:"total";s:1:"6";s:11:"total_found";s:1:"6";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:1:"n";i:1;s:3:"mva";i:1073741825;s:5:"@expr";i:5;}s:7:"matches";a:6:{i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"n";s:10:"1022026391";s:3:"mva";a:1:{i:0;s:10:"1022026391";}s:5:"@expr";d:-1022026368;}}i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"n";s:10:"1329722356";s:3:"mva";a:1:{i:0;s:10:"1329722356";}s:5:"@expr";d:-1329722368;}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"n";s:10:"1452351953";s:3:"mva";a:1:{i:0;s:10:"1452351953";}s:5:"@expr";d:-1452352000;}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"n";s:10:"2582995467";s:3:"mva";a:1:{i:0;s:10:"2582995467";}s:5:"@expr";d:-2582995456;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"n";s:10:"3650268775";s:3:"mva";a:1:{i:0;s:10:"3650268775";}s:5:"@expr";d:-3650268672;}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"n";s:10:"3802901620";s:3:"mva";a:1:{i:0;s:10:"3802901620";}s:5:"@expr";d:-3802901504;}}}s:5:"total";s:1:"6";s:11:"total_found";s:1:"6";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}}}sphinx-2.2.11-release/test/test_076/0000755000175000017500000000000012743402012016411 5ustar alexeyalexeysphinx-2.2.11-release/test/test_076/test.xml0000644000175000017500000000214112743402012020110 0ustar alexeyalexey subtree cache reset on size limit indexer { mem_limit = 16M } searchd { subtree_docs_cache = 0 subtree_docs_cache = 40 subtree_docs_cache = 100 subtree_hits_cache = 1000 } source srctest { type = mysql sql_query = SELECT * FROM test_table } index test_idx { source = srctest path = /test } CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'a b c d' ), ( 2, 'a b e f' ) SetMatchMode ( SPH_MATCH_EXTENDED2 ); $client->AddQuery ("(a b)|(c d)"); $client->AddQuery ("(a b)|(e f)"); $results = $client->RunQueries (); for ( $i=0; $i<2; $i++ ) if ( is_array($results) && is_array($results[$i]) ) unset ( $results[$i]["time"] ); ]]> sphinx-2.2.11-release/test/test_076/model.bin0000644000175000017500000000613212743402012020205 0ustar alexeyalexeya:3:{i:0;a:1:{i:0;a:2:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"4500";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"2428";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:4:{s:1:"a";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"b";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"c";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"d";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"4500";s:5:"attrs";a:0:{}}i:1;a:2:{s:6:"weight";s:4:"2428";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:4:{s:1:"a";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"b";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"e";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"f";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}i:1;a:1:{i:0;a:2:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"4500";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"2428";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:4:{s:1:"a";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"b";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"c";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"d";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"4500";s:5:"attrs";a:0:{}}i:1;a:2:{s:6:"weight";s:4:"2428";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:4:{s:1:"a";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"b";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"e";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"f";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}i:2;a:1:{i:0;a:2:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"4500";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"2428";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:4:{s:1:"a";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"b";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"c";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"d";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"4500";s:5:"attrs";a:0:{}}i:1;a:2:{s:6:"weight";s:4:"2428";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:4:{s:1:"a";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"b";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:1:"e";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"f";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}}sphinx-2.2.11-release/test/test_075/0000755000175000017500000000000012743402012016410 5ustar alexeyalexeysphinx-2.2.11-release/test/test_075/test.xml0000644000175000017500000000212612743402012020112 0ustar alexeyalexey subtree cache warmup indexer { mem_limit = 16M } searchd { subtree_docs_cache = 0 subtree_docs_cache = 100 subtree_hits_cache = 1000 } source srctest { type = mysql sql_query = SELECT * FROM test_table } index test_idx { source = srctest path = /test } CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'one two three one' ), ( 2, 'one two three one two' ) SetMatchMode ( SPH_MATCH_EXTENDED2 ); $client->AddQuery ("(one two three) | four"); $client->AddQuery ("(one two three) | five"); $results = $client->RunQueries (); for ( $i=0; $i<2; $i++ ) if ( is_array($results) && is_array($results[$i]) ) unset ( $results[$i]["time"] ); ]]> sphinx-2.2.11-release/test/test_075/model.bin0000644000175000017500000000415212743402012020204 0ustar alexeyalexeya:2:{i:0;a:1:{i:0;a:2:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"3379";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"3365";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"4";}s:3:"two";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"3";}s:5:"three";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:4:"four";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"3379";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"3365";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"4";}s:3:"two";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"3";}s:5:"three";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:4:"five";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}}}i:1;a:1:{i:0;a:2:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"3379";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"3365";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"4";}s:3:"two";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"3";}s:5:"three";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:4:"four";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"3379";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"3365";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"4";}s:3:"two";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"3";}s:5:"three";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:4:"five";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}}}}sphinx-2.2.11-release/test/test_074/0000755000175000017500000000000012743402012016407 5ustar alexeyalexeysphinx-2.2.11-release/test/test_074/test.xml0000644000175000017500000000261312743402012020112 0ustar alexeyalexey subtree caching (part 4) indexer { mem_limit = 16M } searchd { subtree_docs_cache = 0 subtree_docs_cache = 40 subtree_docs_cache = 10M subtree_hits_cache = 0 subtree_hits_cache = 40 subtree_hits_cache = 10M } source srctest { type = mysql sql_query = SELECT * FROM test_table } index test_idx { source = srctest path = /test } CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'one two three one' ), ( 2, 'one two three one two' ), ( 3, 'one two three one two three' ), ( 4, 'one two three four six' ), ( 5, 'one two three four five seven' ) AddQuery ('one two three four'); $client->AddQuery ('one two three five'); $client->AddQuery ('one two three six'); $client->AddQuery ('one twoo seven'); $results = $client->RunQueries (); for ( $i=0; $i<=3; $i++ ) if ( is_array($results) && is_array($results[$i]) ) unset ( $results[$i]["time"] ); ]]> sphinx-2.2.11-release/test/test_074/model.bin0000644000175000017500000004034312743402012020205 0ustar alexeyalexeya:9:{i:0;a:1:{i:0;a:4:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:4;a:2:{s:6:"weight";s:4:"4368";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"4368";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:3:"six";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:3;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:4:"twoo";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"seven";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}i:1;a:1:{i:0;a:4:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:4;a:2:{s:6:"weight";s:4:"4368";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"4368";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:3:"six";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:3;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:4:"twoo";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"seven";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}i:2;a:1:{i:0;a:4:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:4;a:2:{s:6:"weight";s:4:"4368";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"4368";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:3:"six";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:3;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:4:"twoo";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"seven";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}i:3;a:1:{i:0;a:4:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:4;a:2:{s:6:"weight";s:4:"4368";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"4368";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:3:"six";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:3;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:4:"twoo";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"seven";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}i:4;a:1:{i:0;a:4:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:4;a:2:{s:6:"weight";s:4:"4368";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"4368";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:3:"six";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:3;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:4:"twoo";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"seven";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}i:5;a:1:{i:0;a:4:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:4;a:2:{s:6:"weight";s:4:"4368";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"4368";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:3:"six";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:3;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:4:"twoo";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"seven";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}i:6;a:1:{i:0;a:4:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:4;a:2:{s:6:"weight";s:4:"4368";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"4368";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:3:"six";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:3;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:4:"twoo";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"seven";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}i:7;a:1:{i:0;a:4:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:4;a:2:{s:6:"weight";s:4:"4368";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"4368";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:3:"six";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:3;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:4:"twoo";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"seven";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}i:8;a:1:{i:0;a:4:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:4;a:2:{s:6:"weight";s:4:"4368";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"4368";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"3397";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}s:3:"six";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:3;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:4:"twoo";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"seven";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}}sphinx-2.2.11-release/test/test_073/0000755000175000017500000000000012743402012016406 5ustar alexeyalexeysphinx-2.2.11-release/test/test_073/test.xml0000644000175000017500000000262412743402012020113 0ustar alexeyalexey subtree caching (part 3) indexer { mem_limit = 16M } searchd { subtree_docs_cache = 0 subtree_docs_cache = 40 subtree_docs_cache = 10M subtree_hits_cache = 0 subtree_hits_cache = 40 subtree_hits_cache = 10M } source srctest { type = mysql sql_query = SELECT * FROM test_table } index test_idx { source = srctest path = /test } CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'one' ), ( 2, 'one two' ), ( 3, 'one two three' ), ( 4, 'one two three four' ), ( 5, 'one two three four five' ) AddQuery ('one'); $client->AddQuery ('one two'); $client->AddQuery ('one two three'); $client->AddQuery ('two three four'); $client->AddQuery ('four five'); $results = $client->RunQueries (); for ( $i=0; $i<=4; $i++ ) if ( is_array($results) && is_array($results[$i]) ) unset ( $results[$i]["time"] ); ]]> sphinx-2.2.11-release/test/test_073/model.bin0000644000175000017500000005244312743402012020210 0ustar alexeyalexeya:9:{i:0;a:1:{i:0;a:5:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:4:{i:2;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:3;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}}i:3;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:4;a:2:{s:6:"weight";s:4:"3500";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:3:{s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}i:4;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"2646";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:2:{s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}i:1;a:1:{i:0;a:5:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:4:{i:2;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:3;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}}i:3;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:4;a:2:{s:6:"weight";s:4:"3500";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:3:{s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}i:4;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"2646";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:2:{s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}i:2;a:1:{i:0;a:5:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:4:{i:2;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:3;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}}i:3;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:4;a:2:{s:6:"weight";s:4:"3500";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:3:{s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}i:4;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"2646";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:2:{s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}i:3;a:1:{i:0;a:5:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:4:{i:2;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:3;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}}i:3;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:4;a:2:{s:6:"weight";s:4:"3500";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:3:{s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}i:4;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"2646";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:2:{s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}i:4;a:1:{i:0;a:5:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:4:{i:2;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:3;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}}i:3;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:4;a:2:{s:6:"weight";s:4:"3500";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:3:{s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}i:4;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"2646";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:2:{s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}i:5;a:1:{i:0;a:5:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:4:{i:2;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:3;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}}i:3;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:4;a:2:{s:6:"weight";s:4:"3500";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:3:{s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}i:4;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"2646";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:2:{s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}i:6;a:1:{i:0;a:5:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:4:{i:2;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:3;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}}i:3;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:4;a:2:{s:6:"weight";s:4:"3500";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:3:{s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}i:4;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"2646";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:2:{s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}i:7;a:1:{i:0;a:5:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:4:{i:2;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:3;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}}i:3;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:4;a:2:{s:6:"weight";s:4:"3500";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:3:{s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}i:4;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"2646";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:2:{s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}i:8;a:1:{i:0;a:5:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:4:{i:2;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"2353";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:3;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3402";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}}i:3;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:4;a:2:{s:6:"weight";s:4:"3500";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"3500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:3:{s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}i:4;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"2646";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:2:{s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}}}sphinx-2.2.11-release/test/test_072/0000755000175000017500000000000012743402012016405 5ustar alexeyalexeysphinx-2.2.11-release/test/test_072/test.xml0000644000175000017500000000360412743402012020111 0ustar alexeyalexey multi-queries indexer { mem_limit = 16M } searchd { subtree_docs_cache = 0 subtree_hits_cache = 0 } source srctest { type = mysql sql_query = SELECT * FROM test_table } index test_idx { source = srctest path = /test } source src_str { type = mysql sql_query = SELECT id, body, 1000+id as idd FROM test_table sql_field_string = body sql_attr_uint = idd } index str { source = src_str path = /str docinfo = extern } CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'one' ), ( 2, 'one two' ), ( 3, 'one two three' ), ( 4, 'one two three four' ), ( 5, 'one two three four five' ) AddQuery ('one', 'test_idx'); $client->AddQuery ('two', 'test_idx'); $client->AddQuery ('three', 'test_idx'); $client->AddQuery ('four', 'test_idx'); $client->AddQuery ('five', 'test_idx'); $results = $client->RunQueries (); // regression crash on multi-query with string attribute group by OR sort by // result - 5 $results[] = $client->Query ( '', 'str' ); // results - 6-8 $client->AddQuery ( '', 'str' ); $client->SetGroupBy ( 'body', SPH_GROUPBY_ATTR, 'idd desc' ); $client->AddQuery ( '', 'str' ); $client->SetSortMode ( SPH_SORT_EXTENDED, 'body ASC' ); $client->AddQuery ( '', 'str' ); $rr = $client->RunQueries(); foreach ( $rr as $r ) $results[] = $r; for ( $i=0; $i sphinx-2.2.11-release/test/test_072/model.bin0000644000175000017500000001271012743402012020200 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:9:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:4:{i:2;a:2:{s:6:"weight";s:4:"1412";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1412";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1412";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"1412";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:5:"words";a:1:{s:3:"two";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:3;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:1:{s:5:"three";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}}i:3;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:4;a:2:{s:6:"weight";s:4:"1587";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"1587";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:5:"words";a:1:{s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}i:4;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1704";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:5;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:4:"body";i:7;s:3:"idd";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:4:"body";s:3:"one";s:3:"idd";i:1001;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:4:"body";s:7:"one two";s:3:"idd";i:1002;}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:4:"body";s:13:"one two three";s:3:"idd";i:1003;}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:4:"body";s:18:"one two three four";s:3:"idd";i:1004;}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:4:"body";s:23:"one two three four five";s:3:"idd";i:1005;}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";}i:6;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:4:"body";i:7;s:3:"idd";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:4:"body";s:3:"one";s:3:"idd";i:1001;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:4:"body";s:7:"one two";s:3:"idd";i:1002;}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:4:"body";s:13:"one two three";s:3:"idd";i:1003;}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:4:"body";s:18:"one two three four";s:3:"idd";i:1004;}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:4:"body";s:23:"one two three four five";s:3:"idd";i:1005;}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";}i:7;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"body";i:7;s:3:"idd";i:1;s:8:"@groupby";i:6;s:6:"@count";i:1;}s:7:"matches";a:5:{i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"body";s:23:"one two three four five";s:3:"idd";i:1005;s:8:"@groupby";s:19:"1079302530159970033";s:6:"@count";i:1;}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"body";s:18:"one two three four";s:3:"idd";i:1004;s:8:"@groupby";s:20:"-3582640947151092355";s:6:"@count";i:1;}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"body";s:13:"one two three";s:3:"idd";i:1003;s:8:"@groupby";s:19:"4725777903228205267";s:6:"@count";i:1;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"body";s:7:"one two";s:3:"idd";i:1002;s:8:"@groupby";s:20:"-7736567968821538579";s:6:"@count";i:1;}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"body";s:3:"one";s:3:"idd";i:1001;s:8:"@groupby";s:20:"-8072451329472182991";s:6:"@count";i:1;}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";}i:8;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"body";i:7;s:3:"idd";i:1;s:8:"@groupby";i:6;s:6:"@count";i:1;}s:7:"matches";a:5:{i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"body";s:23:"one two three four five";s:3:"idd";i:1005;s:8:"@groupby";s:19:"1079302530159970033";s:6:"@count";i:1;}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"body";s:18:"one two three four";s:3:"idd";i:1004;s:8:"@groupby";s:20:"-3582640947151092355";s:6:"@count";i:1;}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"body";s:13:"one two three";s:3:"idd";i:1003;s:8:"@groupby";s:19:"4725777903228205267";s:6:"@count";i:1;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"body";s:7:"one two";s:3:"idd";i:1002;s:8:"@groupby";s:20:"-7736567968821538579";s:6:"@count";i:1;}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:4:"body";s:3:"one";s:3:"idd";i:1001;s:8:"@groupby";s:20:"-8072451329472182991";s:6:"@count";i:1;}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";}}}}sphinx-2.2.11-release/test/test_071/0000755000175000017500000000000012743402012016404 5ustar alexeyalexeysphinx-2.2.11-release/test/test_071/test.xml0000644000175000017500000000266612743402012020117 0ustar alexeyalexey subtree caching (part 2) indexer { mem_limit = 16M } searchd { subtree_docs_cache = 0 subtree_docs_cache = 40 subtree_docs_cache = 10M subtree_hits_cache = 0 subtree_hits_cache = 40 subtree_hits_cache = 10M } source srctest { type = mysql sql_query = SELECT * FROM test_table } index test_idx { source = srctest path = /test } CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'one two three one' ), ( 2, 'one two three one two' ), ( 3, 'one two three one two three' ), ( 4, 'one two three four six' ), ( 5, 'one two three four five seven' ) SetMatchMode (SPH_MATCH_EXTENDED2); $client->AddQuery ('(one and two) and three'); $client->AddQuery ('one and (two and four)'); $results = $client->RunQueries (); for ( $i=0; $i<=1; $i++ ) if ( is_array($results) && is_array($results[$i]) ) unset ( $results[$i]["time"] ); ]]> sphinx-2.2.11-release/test/test_071/model.bin0000644000175000017500000001636512743402012020211 0ustar alexeyalexeya:9:{i:0;a:1:{i:0;a:2:{i:0;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}i:1;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}}}i:1;a:1:{i:0;a:2:{i:0;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}i:1;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}}}i:2;a:1:{i:0;a:2:{i:0;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}i:1;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}}}i:3;a:1:{i:0;a:2:{i:0;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}i:1;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}}}i:4;a:1:{i:0;a:2:{i:0;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}i:1;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}}}i:5;a:1:{i:0;a:2:{i:0;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}i:1;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}}}i:6;a:1:{i:0;a:2:{i:0;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}i:1;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}}}i:7;a:1:{i:0;a:2:{i:0;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}i:1;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}}}i:8;a:1:{i:0;a:2:{i:0;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}i:1;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:4:"four";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}}}}sphinx-2.2.11-release/test/test_070/0000755000175000017500000000000012743402012016403 5ustar alexeyalexeysphinx-2.2.11-release/test/test_070/test.xml0000644000175000017500000000257712743402012020117 0ustar alexeyalexey subtree caching (part 1) indexer { mem_limit = 16M } searchd { subtree_docs_cache = 0 subtree_docs_cache = 40 subtree_docs_cache = 10M subtree_hits_cache = 0 subtree_hits_cache = 40 subtree_hits_cache = 10M } source srctest { type = mysql sql_query = SELECT * FROM test_table } index test_idx { source = srctest path = /test } CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'one two three one' ), ( 2, 'one two three one two' ), ( 3, 'one two three one two three' ), ( 4, 'one two three four six' ), ( 5, 'one two three four five seven' ) AddQuery ('(one and two) and three'); $client->AddQuery ('one and (two and three)'); $results = $client->RunQueries (); for ( $i=0; $i<=1; $i++ ) if ( is_array($results) && is_array($results[$i]) ) unset ( $results[$i]["time"] ); ]]> sphinx-2.2.11-release/test/test_070/model.bin0000644000175000017500000001637612743402012020212 0ustar alexeyalexeya:9:{i:0;a:1:{i:0;a:2:{i:0;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}i:1;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}}}i:1;a:1:{i:0;a:2:{i:0;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}i:1;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}}}i:2;a:1:{i:0;a:2:{i:0;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}i:1;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}}}i:3;a:1:{i:0;a:2:{i:0;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}i:1;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}}}i:4;a:1:{i:0;a:2:{i:0;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}i:1;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}}}i:5;a:1:{i:0;a:2:{i:0;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}i:1;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}}}i:6;a:1:{i:0;a:2:{i:0;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}i:1;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}}}i:7;a:1:{i:0;a:2:{i:0;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}i:1;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}}}i:8;a:1:{i:0;a:2:{i:0;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}i:1;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"8";}s:3:"and";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}}}}}sphinx-2.2.11-release/test/test_069/0000755000175000017500000000000012743402012016413 5ustar alexeyalexeysphinx-2.2.11-release/test/test_069/test.xml0000644000175000017500000000213312743402012020113 0ustar alexeyalexey overrides indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query = SELECT id, gid, body FROM test_table sql_attr_uint = gid } index test1 { source = srctest path = /test1 } CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `gid` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 10, 'test' ), ( 2, 20, 'test' ), ( 3, 30, 'test' ), ( 4, 40, 'test' ), ( 5, 50, 'test' ) $client->SetOverride ( "gid", SPH_ATTR_INTEGER, array ( 1=>123, 3=>15 ) ); $client->SetSortMode ( SPH_SORT_ATTR_DESC, "gid" ); $res = $client->Query ( "test", "test1" ); if ( $res ) { unset ( $res["time"] ); $results = array ( $res ); } else $results = array ( $client->GetLastError() ); sphinx-2.2.11-release/test/test_069/model.bin0000644000175000017500000000117312743402012020207 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:1:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:1:{s:3:"gid";i:123;}}i:5;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:1:{s:3:"gid";i:50;}}i:4;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:1:{s:3:"gid";i:40;}}i:2;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:1:{s:3:"gid";i:20;}}i:3;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:1:{s:3:"gid";i:15;}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}}}}}sphinx-2.2.11-release/test/test_068/0000755000175000017500000000000012743402012016412 5ustar alexeyalexeysphinx-2.2.11-release/test/test_068/test.xml0000644000175000017500000001027312743402012020116 0ustar alexeyalexey xmlpipe2 indexing indexer { mem_limit = 16M } searchd { } source src1 { type = xmlpipe2 xmlpipe_command = cat /data1.xml } source src2 { type = xmlpipe2 xmlpipe_command = cat /data2.xml } source src3 { type = xmlpipe2 xmlpipe_command = cat /data3.xml xmlpipe_fixup_utf8 = 1 } index idx1 { source = src1 path = /idx1 } index idx2 { source = src2 path = /idx2 } index idx3 { source = src3 path = /idx3 } source src_embedded { type = xmlpipe2 xmlpipe_command = cat /data_embedded.xml xmlpipe_field = body xmlpipe_attr_uint = idd } index embedded { source = src_embedded path = /embedded } source src_tsv1 { type = tsvpipe tsvpipe_command = cat /data1.tsv tsvpipe_field = title tsvpipe_field = content tsvpipe_attr_multi = tags tsvpipe_attr_uint = gid:3 } index tsv1 { source = src_tsv1 path = /tsv1 } source src_csv1 { type = csvpipe csvpipe_command = cat /data1.csv csvpipe_field = title csvpipe_field = Content csvpipe_attr_multi = Tags csvpipe_attr_uint = Gid } index csv1 { source = src_csv1 path = /csv1 } source src_csv2 { type = csvpipe csvpipe_command = cat /data2.csv csvpipe_delimiter = + csvpipe_field = title csvpipe_field = Content csvpipe_attr_multi = Tags csvpipe_attr_uint = gid } index csv2 { source = src_csv2 path = /csv2 } source src51 { type = xmlpipe2 xmlpipe_command = cat /data51.xml } index idx51 { source = src51 path = /idx51 } source src_tsv_spec { type = tsvpipe tsvpipe_command = cat /data_spec.tsv tsvpipe_field = title tsvpipe_field = content tsvpipe_attr_uint = gid } index tsv_spec { source = src_tsv_spec path = /tsv_spec } source src_csv_spec { type = csvpipe csvpipe_command = cat /data_spec.csv csvpipe_field = title csvpipe_field = content csvpipe_attr_uint = gid } index csv_spec { source = src_csv_spec path = /csv_spec } test test test est test test aaa bbb ccc ^aaa ccc$ ^bbb | ^ccc | aaa$ | bbb$ test aaa bbb ^aaa ccc$ ^bbb | ^ccc | aaa$ | bbb$ test aaa bbb ^aaa ccc$ ^bbb | ^ccc | aaa$ | bbb$ ^bbb | ^ccc | aaa$ | bbb$ two another my test aaa bbb ^aaa ccc$ ^bbb | ^ccc | aaa$ | bbb$ two another my ^go | go$ "test one" "test one" "document number" "document number" sphinx-2.2.11-release/test/test_068/model.bin0000644000175000017500000006051512743402012020213 0ustar alexeyalexeya:1:{i:0;a:39:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:2;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"test";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"1356";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:5;a:2:{s:6:"weight";s:4:"1356";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"test";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:3:{i:4;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:1;a:2:{s:6:"weight";s:4:"1356";s:5:"attrs";a:1:{s:3:"gid";s:3:"123";}}i:5;a:2:{s:6:"weight";s:4:"1356";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"test";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"est";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"est";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:123;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"test";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:6:{s:4:"gid0";i:1;s:4:"gid1";i:1;s:4:"gid2";i:1;s:4:"gid3";i:1;s:4:"gid4";i:1;s:4:"gid5";i:1;}s:7:"matches";a:10:{i:101;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:6:{s:4:"gid0";s:1:"1";s:4:"gid1";s:1:"1";s:4:"gid2";s:1:"1";s:4:"gid3";s:1:"1";s:4:"gid4";s:1:"1";s:4:"gid5";s:1:"1";}}i:102;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:6:{s:4:"gid0";s:1:"1";s:4:"gid1";s:1:"1";s:4:"gid2";s:1:"1";s:4:"gid3";s:1:"1";s:4:"gid4";s:1:"1";s:4:"gid5";s:1:"1";}}i:103;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:6:{s:4:"gid0";s:1:"1";s:4:"gid1";s:1:"1";s:4:"gid2";s:1:"1";s:4:"gid3";s:1:"1";s:4:"gid4";s:1:"1";s:4:"gid5";s:1:"1";}}i:104;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:6:{s:4:"gid0";s:1:"1";s:4:"gid1";s:1:"1";s:4:"gid2";s:1:"1";s:4:"gid3";s:1:"1";s:4:"gid4";s:1:"1";s:4:"gid5";s:1:"1";}}i:105;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:6:{s:4:"gid0";s:1:"1";s:4:"gid1";s:1:"1";s:4:"gid2";s:1:"1";s:4:"gid3";s:1:"1";s:4:"gid4";s:1:"1";s:4:"gid5";s:1:"1";}}i:106;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:6:{s:4:"gid0";s:1:"1";s:4:"gid1";s:1:"1";s:4:"gid2";s:1:"1";s:4:"gid3";s:1:"1";s:4:"gid4";s:1:"1";s:4:"gid5";s:1:"1";}}i:107;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:6:{s:4:"gid0";s:1:"1";s:4:"gid1";s:1:"1";s:4:"gid2";s:1:"1";s:4:"gid3";s:1:"1";s:4:"gid4";s:1:"1";s:4:"gid5";s:1:"1";}}i:108;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:6:{s:4:"gid0";s:1:"1";s:4:"gid1";s:1:"1";s:4:"gid2";s:1:"1";s:4:"gid3";s:1:"1";s:4:"gid4";s:1:"1";s:4:"gid5";s:1:"1";}}i:109;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:6:{s:4:"gid0";s:1:"1";s:4:"gid1";s:1:"1";s:4:"gid2";s:1:"1";s:4:"gid3";s:1:"1";s:4:"gid4";s:1:"1";s:4:"gid5";s:1:"1";}}i:110;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:6:{s:4:"gid0";s:1:"1";s:4:"gid1";s:1:"1";s:4:"gid2";s:1:"1";s:4:"gid3";s:1:"1";s:4:"gid4";s:1:"1";s:4:"gid5";s:1:"1";}}}s:5:"total";s:2:"10";s:11:"total_found";s:2:"10";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"test";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"3704";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"aaa";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"bbb";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"aaa bbb ccc";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1704";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"aaa";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"^aaa ccc$";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"bbb";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"aaa";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:25:"^bbb | ^ccc | aaa$ | bbb$";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:4:"tags";i:1073741825;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:2:{s:3:"gid";s:1:"0";s:4:"tags";a:3:{i:0;s:1:"1";i:1;s:1:"2";i:2;s:1:"3";}}}i:2;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:2:{s:3:"gid";s:1:"2";s:4:"tags";a:3:{i:0;s:1:"2";i:1;s:1:"3";i:2;s:1:"4";}}}i:4;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:2:{s:3:"gid";s:1:"4";s:4:"tags";a:3:{i:0;s:1:"4";i:1;s:1:"5";i:2;s:1:"6";}}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"test";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:4:"tags";i:1073741825;}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"2704";s:5:"attrs";a:2:{s:3:"gid";s:1:"5";s:4:"tags";a:3:{i:0;s:1:"5";i:1;s:1:"6";i:2;s:1:"7";}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:3:"aaa";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"bbb";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"aaa bbb";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:4:"tags";i:1073741825;}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1704";s:5:"attrs";a:2:{s:3:"gid";s:1:"5";s:4:"tags";a:3:{i:0;s:1:"5";i:1;s:1:"6";i:2;s:1:"7";}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"aaa";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"^aaa ccc$";}i:12;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:4:"tags";i:1073741825;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"bbb";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"aaa";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:25:"^bbb | ^ccc | aaa$ | bbb$";}i:13;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:4:"tags";i:1073741825;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:2:{s:3:"gid";s:1:"0";s:4:"tags";a:3:{i:0;s:1:"1";i:1;s:1:"2";i:2;s:1:"3";}}}i:2;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:2:{s:3:"gid";s:1:"2";s:4:"tags";a:3:{i:0;s:1:"2";i:1;s:1:"3";i:2;s:1:"4";}}}i:4;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:2:{s:3:"gid";s:1:"4";s:4:"tags";a:3:{i:0;s:1:"4";i:1;s:1:"5";i:2;s:1:"6";}}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"test";}i:14;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:4:"tags";i:1073741825;}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"2704";s:5:"attrs";a:2:{s:3:"gid";s:1:"5";s:4:"tags";a:3:{i:0;s:1:"5";i:1;s:1:"6";i:2;s:1:"7";}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"aaa";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"bbb";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"aaa bbb";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:4:"tags";i:1073741825;}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1704";s:5:"attrs";a:2:{s:3:"gid";s:1:"5";s:4:"tags";a:3:{i:0;s:1:"5";i:1;s:1:"6";i:2;s:1:"7";}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"aaa";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"^aaa ccc$";}i:16;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:4:"tags";i:1073741825;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"bbb";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"aaa";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:25:"^bbb | ^ccc | aaa$ | bbb$";}i:17;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:4:"tags";i:1073741825;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"bbb";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"aaa";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:25:"^bbb | ^ccc | aaa$ | bbb$";}i:18;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:4:"tags";i:1073741825;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"gid";s:1:"0";s:4:"tags";a:3:{i:0;s:1:"1";i:1;s:1:"2";i:2;s:1:"3";}}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"gid";s:1:"2";s:4:"tags";a:3:{i:0;s:1:"2";i:1;s:1:"3";i:2;s:1:"4";}}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:19;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:4:"tags";i:1073741825;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"gid";s:1:"2";s:4:"tags";a:3:{i:0;s:1:"2";i:1;s:1:"3";i:2;s:1:"4";}}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"gid";s:1:"0";s:4:"tags";a:3:{i:0;s:1:"3";i:1;s:1:"4";i:2;s:1:"5";}}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"gid";s:1:"4";s:4:"tags";a:3:{i:0;s:1:"4";i:1;s:1:"5";i:2;s:1:"6";}}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:4:"tags";i:1073741825;}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"gid";s:1:"5";s:4:"tags";a:3:{i:0;s:1:"5";i:1;s:1:"6";i:2;s:1:"7";}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:21;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:4:"tags";i:1073741825;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"2780";s:5:"attrs";a:2:{s:3:"gid";s:1:"2";s:4:"tags";a:3:{i:0;s:1:"2";i:1;s:1:"3";i:2;s:1:"4";}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"two";}i:22;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:4:"tags";i:1073741825;}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1704";s:5:"attrs";a:2:{s:3:"gid";s:1:"0";s:4:"tags";a:3:{i:0;s:1:"3";i:1;s:1:"4";i:2;s:1:"5";}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"another";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"another";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:4:"tags";i:1073741825;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"1587";s:5:"attrs";a:2:{s:3:"gid";s:1:"0";s:4:"tags";a:3:{i:0;s:1:"1";i:1;s:1:"2";i:2;s:1:"3";}}}i:2;a:2:{s:6:"weight";s:4:"1587";s:5:"attrs";a:2:{s:3:"gid";s:1:"2";s:4:"tags";a:3:{i:0;s:1:"2";i:1;s:1:"3";i:2;s:1:"4";}}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"my";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"my";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:4:"tags";i:1073741825;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:2:{s:3:"gid";s:1:"0";s:4:"tags";a:3:{i:0;s:1:"1";i:1;s:1:"2";i:2;s:1:"3";}}}i:2;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:2:{s:3:"gid";s:1:"2";s:4:"tags";a:3:{i:0;s:1:"2";i:1;s:1:"3";i:2;s:1:"4";}}}i:4;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:2:{s:3:"gid";s:1:"4";s:4:"tags";a:3:{i:0;s:1:"4";i:1;s:1:"5";i:2;s:1:"6";}}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"test";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:4:"tags";i:1073741825;}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"2704";s:5:"attrs";a:2:{s:3:"gid";s:1:"5";s:4:"tags";a:3:{i:0;s:1:"5";i:1;s:1:"6";i:2;s:1:"7";}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"aaa";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"bbb";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"aaa bbb";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:4:"tags";i:1073741825;}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1704";s:5:"attrs";a:2:{s:3:"gid";s:1:"5";s:4:"tags";a:3:{i:0;s:1:"5";i:1;s:1:"6";i:2;s:1:"7";}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"aaa";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"^aaa ccc$";}i:27;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:4:"tags";i:1073741825;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"bbb";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"aaa";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:25:"^bbb | ^ccc | aaa$ | bbb$";}i:28;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:4:"tags";i:1073741825;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"gid";s:1:"0";s:4:"tags";a:3:{i:0;s:1:"1";i:1;s:1:"2";i:2;s:1:"3";}}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"gid";s:1:"2";s:4:"tags";a:3:{i:0;s:1:"2";i:1;s:1:"3";i:2;s:1:"4";}}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:29;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:4:"tags";i:1073741825;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"gid";s:1:"2";s:4:"tags";a:3:{i:0;s:1:"2";i:1;s:1:"3";i:2;s:1:"4";}}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"gid";s:1:"0";s:4:"tags";a:3:{i:0;s:1:"3";i:1;s:1:"4";i:2;s:1:"5";}}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"gid";s:1:"4";s:4:"tags";a:3:{i:0;s:1:"4";i:1;s:1:"5";i:2;s:1:"6";}}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:4:"tags";i:1073741825;}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"gid";s:1:"5";s:4:"tags";a:3:{i:0;s:1:"5";i:1;s:1:"6";i:2;s:1:"7";}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:31;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:4:"tags";i:1073741825;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"2780";s:5:"attrs";a:2:{s:3:"gid";s:1:"2";s:4:"tags";a:3:{i:0;s:1:"2";i:1;s:1:"3";i:2;s:1:"4";}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"two";}i:32;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:4:"tags";i:1073741825;}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1704";s:5:"attrs";a:2:{s:3:"gid";s:1:"0";s:4:"tags";a:3:{i:0;s:1:"3";i:1;s:1:"4";i:2;s:1:"5";}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"another";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"another";}i:33;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:3:"gid";i:1;s:4:"tags";i:1073741825;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"1587";s:5:"attrs";a:2:{s:3:"gid";s:1:"0";s:4:"tags";a:3:{i:0;s:1:"1";i:1;s:1:"2";i:2;s:1:"3";}}}i:2;a:2:{s:6:"weight";s:4:"1587";s:5:"attrs";a:2:{s:3:"gid";s:1:"2";s:4:"tags";a:3:{i:0;s:1:"2";i:1;s:1:"3";i:2;s:1:"4";}}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"my";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"my";}i:34;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:20:{i:8321;a:2:{s:6:"weight";s:4:"3115";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:202591;a:2:{s:6:"weight";s:4:"3115";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:214855;a:2:{s:6:"weight";s:4:"3115";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:276008;a:2:{s:6:"weight";s:4:"3115";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:535;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:729;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:811;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:1918;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:2342;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4551;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4553;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4569;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4570;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4574;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4578;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4579;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4580;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4587;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4590;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}i:4593;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";s:1:"1";}}}s:5:"total";s:4:"1000";s:11:"total_found";s:4:"3474";s:4:"time";s:5:"0.013";s:5:"words";a:1:{s:2:"go";a:2:{s:4:"docs";s:4:"7665";s:4:"hits";s:5:"15289";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"^go | go$";}i:35;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";s:2:"11";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:4:"test";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"4";}s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:""test one"";}i:36;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:1:{s:3:"gid";s:2:"11";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:4:"test";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"4";}s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:""test one"";}i:37;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"2356";s:5:"attrs";a:1:{s:3:"gid";s:2:"11";}}i:2;a:2:{s:6:"weight";s:4:"2356";s:5:"attrs";a:1:{s:3:"gid";s:2:"12";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:8:"document";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:6:"number";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:""document number"";}i:38;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:1:{s:3:"gid";i:1;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"2356";s:5:"attrs";a:1:{s:3:"gid";s:2:"11";}}i:2;a:2:{s:6:"weight";s:4:"2356";s:5:"attrs";a:1:{s:3:"gid";s:2:"12";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:8:"document";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:6:"number";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:""document number"";}}}sphinx-2.2.11-release/test/test_068/data_spec.tsv0000644000175000017500000000014712743402012021075 0ustar alexeyalexey1 test one this is my test document number one 11 2 test two this is my test document number two 12 sphinx-2.2.11-release/test/test_068/data_spec.csv0000644000175000017500000000015412743402012021052 0ustar alexeyalexey1, test one, this is my test document number one, 11 2, test two, this is my test document number two, 12 sphinx-2.2.11-release/test/test_068/data_embedded.xml0000644000175000017500000000212412743402012021655 0ustar alexeyalexey test test test test test test test test test test sphinx-2.2.11-release/test/test_068/data51.xml0000644000175000017500000320214312743402012020220 0ustar alexeyalexey go tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp go tmp tmp go tmp tmp go go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go go tmp go go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go go go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go go go go tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go go go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp go go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go go go tmp go go go tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go go tmp go go tmp go go tmp go go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp go go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp go tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp go go tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp go tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp go go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go go tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp go go tmp go tmp tmp go tmp go go tmp go tmp tmp tmp tmp go tmp tmp tmp go go tmp go tmp tmp tmp go tmp tmp go go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp go tmp tmp tmp tmp tmp tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go go tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go go tmp go go tmp tmp tmp go go tmp tmp tmp go go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp go go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go go tmp go go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go go tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go go tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp go tmp tmp tmp tmp tmp go go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp tmp go go tmp tmp tmp tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go go tmp tmp tmp tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp tmp go go tmp go tmp go tmp tmp tmp tmp go tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go go tmp go tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp go tmp tmp tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go go tmp go tmp tmp tmp go tmp tmp go tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go go tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp go tmp go tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go go tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp go go tmp tmp go tmp go tmp tmp go tmp go tmp tmp go tmp go tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp go tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp go go tmp tmp tmp go tmp tmp tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go go tmp go go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp go tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp go go tmp go tmp go tmp tmp go tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go go go go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go go tmp go tmp tmp go tmp go go tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go go tmp go go tmp tmp tmp go go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp go tmp go go tmp go go go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go go go go go go go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go go tmp tmp go go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go go go go tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp tmp go tmp tmp tmp go tmp go go tmp go go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp go tmp tmp go tmp tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go go tmp tmp go tmp go go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go go tmp tmp go tmp go go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go go tmp tmp go tmp go go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp go go tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go go tmp go tmp go tmp go go tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go go tmp go tmp tmp go tmp go tmp go tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go go tmp tmp go go tmp tmp tmp go tmp tmp go go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp go tmp go tmp tmp go tmp go tmp go tmp go go go go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp go go tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go go go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp go tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp go go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go go tmp go go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp go tmp go go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go go tmp tmp go tmp tmp go tmp tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp go tmp tmp go tmp tmp go tmp go go tmp go go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp go go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp go tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp go tmp go go tmp go tmp tmp tmp go tmp tmp go go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp go tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp go tmp tmp go tmp tmp go tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go go tmp go tmp go tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp go go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go go go tmp go go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go go tmp go go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp tmp tmp go tmp go tmp go tmp tmp go go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp go go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp go go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go go tmp go go tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp go go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp go tmp tmp go go tmp tmp go go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp tmp go go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go go tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp go go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp go go tmp tmp go go tmp tmp go go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go go tmp go go tmp go go tmp go go tmp go go tmp go go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp tmp go tmp tmp tmp tmp tmp go go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp go go tmp tmp go go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp go tmp tmp go tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp go tmp tmp go tmp tmp go go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go go tmp go go tmp go tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go go tmp go go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp go tmp tmp tmp go tmp go tmp go tmp go go tmp go go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp go go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go go go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp tmp tmp go tmp tmp tmp go tmp go tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go go go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp tmp tmp tmp go tmp go tmp tmp tmp tmp go tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp go tmp tmp tmp go tmp tmp go tmp tmp tmp go tmp go tmp go tmp tmp go tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp tmp tmp go tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp tmp tmp tmp tmp go tmp tmp tmp tmp tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp go tmp sphinx-2.2.11-release/test/test_068/data3.xml0000644000175000017500000000043512743402012020132 0ustar alexeyalexey test sphinx-2.2.11-release/test/test_068/data2.xml0000644000175000017500000000107512743402012020132 0ustar alexeyalexey 2 3 123 test one duplicate title updated with new content and gid 1 2 test five newly inserted sphinx-2.2.11-release/test/test_068/data2.csv0000644000175000017500000000045012743402012020121 0ustar alexeyalexey1+ test one +this is my test document number one. also checking search within phrases.+ 1,2,3+ 2+ test two+ this "is my"" test "document number two+ 2,3,4 + 2 3+ another doc+ this "is \nanother" group+ 3,4,5+ 4+ doc number four+ this is to test groups+ "4,5,6"+ 4 5+ "aaa bbb ccc"+ +"5,6,7"+ 5 sphinx-2.2.11-release/test/test_068/data1.xml0000644000175000017500000000154012743402012020126 0ustar alexeyalexey test one this is my test document number one. also checking search within phrases. test two this is my test document number two another doc this is another group doc number four this is to test groups aaa bbb ccc sphinx-2.2.11-release/test/test_068/data1.tsv0000644000175000017500000000041212743402012020137 0ustar alexeyalexey1 test one this is my test document number one. also checking search within phrases. 1,2,3 2 test two this is my test document number two 2,3,4 2 3 another doc this is another group 3,4,5 4 doc number four this is to test groups 4,5,6 4 5 aaa bbb ccc 5,6,7 5 sphinx-2.2.11-release/test/test_068/data1.csv0000644000175000017500000000045612743402012020126 0ustar alexeyalexey1, test one,this is my test document number one. also checking search within phrases., "1,2,3", 2, test two, this "is my"" test "document number two, "2,3,4", 2 3,another doc, this "is \nanother" group, "3,4,5", 4, doc number four, this is to test groups, "4,5,6", 4 5, "aaa bbb ccc", ,"5,6,7", 5 sphinx-2.2.11-release/test/test_067/0000755000175000017500000000000012743402012016411 5ustar alexeyalexeysphinx-2.2.11-release/test/test_067/test.xml0000644000175000017500000001026212743402012020113 0ustar alexeyalexey aggregate functions 3 indexer { mem_limit = 16M } searchd { dist_threads = 2 } source srctest { type = mysql sql_query = SELECT * FROM test_table sql_attr_uint = gid sql_attr_float = price sql_attr_uint = views } source srctest2 : srctest { sql_query = SELECT document_id+10, body, gid, price, views FROM test_table } source srctest3 : srctest { sql_query = SELECT document_id+20, body, gid, price*2 price, views FROM test_table } index test { source = srctest path = /test docinfo = extern } index test3 { source = srctest3 path = /test3 docinfo = extern } index dist { type = distributed local = test agent = :test2 } index dist2 { type = distributed agent = :test2 agent = :testr } index dist3 { type = distributed local = test agent = :test2,test4 } source src10 { type = mysql sql_query = SELECT 1 id, 11 idd, 'aab cd' as text sql_attr_uint = idd } index i10 { source = src10 path = /i10 docinfo = extern dict = keywords min_prefix_len = 1 } index i11 { source = src10 path = /i11 docinfo = extern dict = keywords min_prefix_len = 1 } index i12 { source = src10 path = /i12 docinfo = extern charset_table = b..z dict = keywords min_prefix_len = 1 } index test2 { source = srctest2 path = /test2 docinfo = extern } index test4 : test2 { path = /test4 } index testr { source = srctest path = /testr docinfo = extern } select * from i10 where match('aa* abc') show meta select * from i10, i11 where match('aa* abc') show meta select * from i11, i10 where match('aa* abc') show meta select * from i10, i12 where match('aa* abc') show meta select * from i12, i10 where match('aa* abc') show meta CREATE TABLE test_table ( document_id INTEGER NOT NULL PRIMARY KEY, body VARCHAR(255) NOT NULL, gid INTEGER NOT NULL, price FLOAT NOT NULL, views INTEGER NOT NULL ) DROP TABLE IF EXISTS test_table INSERT INTO test_table VALUES ( 1, 'dummy', 1, 20.00, 3 ), ( 2, 'dummy', 1, 15.00, 15 ), ( 3, 'dummy', 1, 10.00, 7 ), ( 4, 'dummy', 1, 10.00, 40 ) sphinx-2.2.11-release/test/test_067/model.bin0000644000175000017500000005167612743402012020222 0ustar alexeyalexeya:2:{i:0;a:22:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:8:"avgprice";i:5;s:4:"xgid";i:1;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:8:"avgprice";d:13.75;s:4:"xgid";s:2:"10";s:8:"@groupby";s:1:"1";s:6:"@count";s:1:"4";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.003";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:6:{s:3:"gid";i:1;s:5:"price";i:5;s:5:"views";i:1;s:8:"avgprice";i:5;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"gid";s:1:"1";s:5:"price";d:20;s:5:"views";s:1:"3";s:8:"avgprice";d:13.75;s:8:"@groupby";s:1:"1";s:6:"@count";s:1:"4";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:7:{s:3:"gid";i:1;s:5:"price";i:5;s:5:"views";i:1;s:8:"sumviews";i:1;s:8:"avgprice";i:5;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:7:{s:3:"gid";s:1:"1";s:5:"price";d:20;s:5:"views";s:1:"3";s:8:"sumviews";s:2:"65";s:8:"avgprice";d:13.75;s:8:"@groupby";s:1:"1";s:6:"@count";s:1:"4";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:6:{s:3:"gid";i:1;s:5:"price";i:5;s:5:"views";i:1;s:8:"avgprice";i:5;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"gid";s:1:"1";s:5:"price";d:20;s:5:"views";s:1:"3";s:8:"avgprice";d:13.75;s:8:"@groupby";s:1:"1";s:6:"@count";s:1:"8";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.005";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:7:{s:3:"gid";i:1;s:5:"price";i:5;s:5:"views";i:1;s:8:"sumviews";i:1;s:8:"avgprice";i:5;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:7:{s:3:"gid";s:1:"1";s:5:"price";d:20;s:5:"views";s:1:"3";s:8:"sumviews";s:3:"130";s:8:"avgprice";d:13.75;s:8:"@groupby";s:1:"1";s:6:"@count";s:1:"8";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.005";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:6:{s:3:"gid";i:1;s:5:"price";i:5;s:5:"views";i:1;s:8:"avgprice";i:5;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"gid";s:1:"1";s:5:"price";d:20;s:5:"views";s:1:"3";s:8:"avgprice";d:13.75;s:8:"@groupby";s:1:"1";s:6:"@count";s:1:"8";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.005";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:7:{s:3:"gid";i:1;s:5:"price";i:5;s:5:"views";i:1;s:8:"sumviews";i:1;s:8:"avgprice";i:5;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:7:{s:3:"gid";s:1:"1";s:5:"price";d:20;s:5:"views";s:1:"3";s:8:"sumviews";s:3:"130";s:8:"avgprice";d:13.75;s:8:"@groupby";s:1:"1";s:6:"@count";s:1:"8";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.004";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:6:{s:3:"gid";i:1;s:5:"price";i:5;s:5:"views";i:1;s:8:"avgprice";i:5;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"gid";s:1:"1";s:5:"price";d:20;s:5:"views";s:1:"3";s:8:"avgprice";d:13.75;s:8:"@groupby";s:1:"1";s:6:"@count";s:2:"12";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.008";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:7:{s:3:"gid";i:1;s:5:"price";i:5;s:5:"views";i:1;s:8:"sumviews";i:1;s:8:"avgprice";i:5;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:7:{s:3:"gid";s:1:"1";s:5:"price";d:20;s:5:"views";s:1:"3";s:8:"sumviews";s:3:"195";s:8:"avgprice";d:13.75;s:8:"@groupby";s:1:"1";s:6:"@count";s:2:"12";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.007";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"gid";i:1;s:8:"sumviews";i:1;s:8:"avgprice";i:5;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"gid";s:1:"1";s:8:"sumviews";s:2:"65";s:8:"avgprice";d:13.75;s:8:"@groupby";s:1:"1";s:6:"@count";s:1:"4";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:10;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"gid";i:1;s:8:"sumviews";i:1;s:8:"avgprice";i:5;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:21;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"gid";s:1:"1";s:8:"sumviews";s:2:"65";s:8:"avgprice";d:27.5;s:8:"@groupby";s:1:"1";s:6:"@count";s:1:"4";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:11;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"gid";i:1;s:8:"sumviews";i:1;s:8:"avgprice";i:5;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"gid";s:1:"1";s:8:"sumviews";s:3:"130";s:8:"avgprice";d:20.625;s:8:"@groupby";s:1:"1";s:6:"@count";s:1:"8";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.004";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:12;a:2:{s:8:"sphinxql";s:40:"select * from i10 where match('aa* abc')";s:10:"total_rows";i:0;}i:13;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"aa*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"abc";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:14;a:2:{s:8:"sphinxql";s:45:"select * from i10, i11 where match('aa* abc')";s:10:"total_rows";i:0;}i:15;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"aa*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"abc";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:16;a:2:{s:8:"sphinxql";s:45:"select * from i11, i10 where match('aa* abc')";s:10:"total_rows";i:0;}i:17;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"aa*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"abc";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:18;a:2:{s:8:"sphinxql";s:45:"select * from i10, i12 where match('aa* abc')";s:10:"total_rows";i:0;}i:19;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:13;s:4:"rows";a:12:{i:0;a:2:{s:13:"Variable_name";s:7:"warning";s:5:"Value";s:43:"index i12: query word(s) mismatch: aa*, abc";}i:1;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:3;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"aa*";}i:4;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:6;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"abc";}i:7;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:8;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}i:9;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:2:"bc";}i:10;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"0";}i:11;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"0";}}}i:20;a:2:{s:8:"sphinxql";s:45:"select * from i12, i10 where match('aa* abc')";s:10:"total_rows";i:0;}i:21;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:13;s:4:"rows";a:12:{i:0;a:2:{s:13:"Variable_name";s:7:"warning";s:5:"Value";s:37:"index i10: query word(s) mismatch: bc";}i:1;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:3;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"bc";}i:4;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"0";}i:5;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"0";}i:6;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"aa*";}i:7;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:8;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}i:9;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:3:"abc";}i:10;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"0";}i:11;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"0";}}}}i:1;a:22:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:8:"avgprice";i:5;s:4:"xgid";i:1;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:8:"avgprice";d:13.75;s:4:"xgid";s:2:"10";s:8:"@groupby";s:1:"1";s:6:"@count";s:1:"4";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:6:{s:3:"gid";i:1;s:5:"price";i:5;s:5:"views";i:1;s:8:"avgprice";i:5;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"gid";s:1:"1";s:5:"price";d:20;s:5:"views";s:1:"3";s:8:"avgprice";d:13.75;s:8:"@groupby";s:1:"1";s:6:"@count";s:1:"4";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:7:{s:3:"gid";i:1;s:5:"price";i:5;s:5:"views";i:1;s:8:"sumviews";i:1;s:8:"avgprice";i:5;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:7:{s:3:"gid";s:1:"1";s:5:"price";d:20;s:5:"views";s:1:"3";s:8:"sumviews";s:2:"65";s:8:"avgprice";d:13.75;s:8:"@groupby";s:1:"1";s:6:"@count";s:1:"4";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:6:{s:3:"gid";i:1;s:5:"price";i:5;s:5:"views";i:1;s:8:"avgprice";i:5;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"gid";s:1:"1";s:5:"price";d:20;s:5:"views";s:1:"3";s:8:"avgprice";d:13.75;s:8:"@groupby";s:1:"1";s:6:"@count";s:1:"8";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.004";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:7:{s:3:"gid";i:1;s:5:"price";i:5;s:5:"views";i:1;s:8:"sumviews";i:1;s:8:"avgprice";i:5;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:7:{s:3:"gid";s:1:"1";s:5:"price";d:20;s:5:"views";s:1:"3";s:8:"sumviews";s:3:"130";s:8:"avgprice";d:13.75;s:8:"@groupby";s:1:"1";s:6:"@count";s:1:"8";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.004";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:6:{s:3:"gid";i:1;s:5:"price";i:5;s:5:"views";i:1;s:8:"avgprice";i:5;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"gid";s:1:"1";s:5:"price";d:20;s:5:"views";s:1:"3";s:8:"avgprice";d:13.75;s:8:"@groupby";s:1:"1";s:6:"@count";s:1:"8";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.004";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:7:{s:3:"gid";i:1;s:5:"price";i:5;s:5:"views";i:1;s:8:"sumviews";i:1;s:8:"avgprice";i:5;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:7:{s:3:"gid";s:1:"1";s:5:"price";d:20;s:5:"views";s:1:"3";s:8:"sumviews";s:3:"130";s:8:"avgprice";d:13.75;s:8:"@groupby";s:1:"1";s:6:"@count";s:1:"8";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.004";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:6:{s:3:"gid";i:1;s:5:"price";i:5;s:5:"views";i:1;s:8:"avgprice";i:5;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"gid";s:1:"1";s:5:"price";d:20;s:5:"views";s:1:"3";s:8:"avgprice";d:13.75;s:8:"@groupby";s:1:"1";s:6:"@count";s:2:"12";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.005";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:7:{s:3:"gid";i:1;s:5:"price";i:5;s:5:"views";i:1;s:8:"sumviews";i:1;s:8:"avgprice";i:5;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:7:{s:3:"gid";s:1:"1";s:5:"price";d:20;s:5:"views";s:1:"3";s:8:"sumviews";s:3:"195";s:8:"avgprice";d:13.75;s:8:"@groupby";s:1:"1";s:6:"@count";s:2:"12";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.005";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"gid";i:1;s:8:"sumviews";i:1;s:8:"avgprice";i:5;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"gid";s:1:"1";s:8:"sumviews";s:2:"65";s:8:"avgprice";d:13.75;s:8:"@groupby";s:1:"1";s:6:"@count";s:1:"4";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:10;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"gid";i:1;s:8:"sumviews";i:1;s:8:"avgprice";i:5;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:21;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"gid";s:1:"1";s:8:"sumviews";s:2:"65";s:8:"avgprice";d:27.5;s:8:"@groupby";s:1:"1";s:6:"@count";s:1:"4";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:11;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"gid";i:1;s:8:"sumviews";i:1;s:8:"avgprice";i:5;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"gid";s:1:"1";s:8:"sumviews";s:3:"130";s:8:"avgprice";d:20.625;s:8:"@groupby";s:1:"1";s:6:"@count";s:1:"8";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:12;a:2:{s:8:"sphinxql";s:40:"select * from i10 where match('aa* abc')";s:10:"total_rows";i:0;}i:13;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"aa*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"abc";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:14;a:2:{s:8:"sphinxql";s:45:"select * from i10, i11 where match('aa* abc')";s:10:"total_rows";i:0;}i:15;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"aa*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"abc";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:16;a:2:{s:8:"sphinxql";s:45:"select * from i11, i10 where match('aa* abc')";s:10:"total_rows";i:0;}i:17;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"aa*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"abc";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:18;a:2:{s:8:"sphinxql";s:45:"select * from i10, i12 where match('aa* abc')";s:10:"total_rows";i:0;}i:19;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:13;s:4:"rows";a:12:{i:0;a:2:{s:13:"Variable_name";s:7:"warning";s:5:"Value";s:39:"index 'i12': query word(s) mismatch: bc";}i:1;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:3;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"aa*";}i:4;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:6;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"abc";}i:7;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:8;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}i:9;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:2:"bc";}i:10;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"0";}i:11;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"0";}}}i:20;a:2:{s:8:"sphinxql";s:45:"select * from i12, i10 where match('aa* abc')";s:10:"total_rows";i:0;}i:21;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:13;s:4:"rows";a:12:{i:0;a:2:{s:13:"Variable_name";s:7:"warning";s:5:"Value";s:45:"index 'i10': query word(s) mismatch: aa*, abc";}i:1;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:3;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"bc";}i:4;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"0";}i:5;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"0";}i:6;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"aa*";}i:7;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:8;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}i:9;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:3:"abc";}i:10;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"0";}i:11;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"0";}}}}}sphinx-2.2.11-release/test/test_066/0000755000175000017500000000000012743402012016410 5ustar alexeyalexeysphinx-2.2.11-release/test/test_066/test.xml0000644000175000017500000000174712743402012020122 0ustar alexeyalexey index format backwards compatibility indexer { mem_limit = 16M } searchd { } source test { type = mysql sql_query = select 1, 'dummy' } index v14 { source = test path = /refdata/v14 dict = crc } index v19 { source = test path = /refdata/v19 dict = crc } index v19noattrs { source = test path = /refdata/v19noattrs dict = crc } index v20 { source = test path = /refdata/v20 dict = crc } index v8 { source = test path = /refdata/v8 dict = crc } test test test test ford | corsa | tt sphinx-2.2.11-release/test/test_066/refdata/0000755000175000017500000000000012743402012020016 5ustar alexeyalexeysphinx-2.2.11-release/test/test_066/refdata/v8.spp0000644000175000017500000000010412743402012021072 0ustar alexeyalexeysphinx-2.2.11-release/test/test_066/refdata/v8.spm0000644000175000017500000000000012743402012021062 0ustar alexeyalexeysphinx-2.2.11-release/test/test_066/refdata/v8.spi0000644000175000017500000000017212743402012021070 0ustar alexeyalexey؊J1ɱ[=laT'Xs}wVsphinx-2.2.11-release/test/test_066/refdata/v8.sph0000644000175000017500000000043012743402012021064 0ustar alexeyalexeySPHXadtextheadingpostcodelng lat section@ make_id` transmission_id rJsphinx-2.2.11-release/test/test_066/refdata/v8.spd0000644000175000017500000000013012743402012021055 0ustar alexeyalexey22 22"',2.235:?sphinx-2.2.11-release/test/test_066/refdata/v8.spa0000644000175000017500000000011012743402012021050 0ustar alexeyalexey|9p?w֣yXd?295@m?sphinx-2.2.11-release/test/test_066/refdata/v20.sps0000644000175000017500000000000112743402012021143 0ustar alexeyalexeysphinx-2.2.11-release/test/test_066/refdata/v20.spp0000644000175000017500000000000112743402012021140 0ustar alexeyalexeysphinx-2.2.11-release/test/test_066/refdata/v20.spm0000644000175000017500000000000012743402012021134 0ustar alexeyalexeysphinx-2.2.11-release/test/test_066/refdata/v20.spk0000644000175000017500000000000012743402012021132 0ustar alexeyalexeysphinx-2.2.11-release/test/test_066/refdata/v20.spi0000644000175000017500000000257712743402012021155 0ustar alexeyalexeyO4+ cڽz8֣T#!\l3hl%XàGhL-l!ۼHHlw<.LL ԽD֕(4DH!4Hқtz_HLiҔ,4<֤ <4-Xth5,NLt%g8ږ(Lt#!4+UwKTnD]{(ikM~<ch4U(78<e4SУyhD[ m,3lLޛL2<wԺ4ŖX<eޔ4Dڤ4yDṰL~tHψ4, ZGG(DiL88 [,m_R,5eSaɕXThcl(U_D]є(ߏoka6,sphinx-2.2.11-release/test/test_066/refdata/v20.sph0000644000175000017500000000050012743402012021134 0ustar alexeyalexeySPHXtitlecontentgroup_id date_added o!@, U+23Usphinx-2.2.11-release/test/test_066/refdata/v20.spd0000644000175000017500000000351112743402012021135 0ustar alexeyalexeyH_(L[ $7c ;!Y.A*E%}2>UBQym *ie.4so8w 9nr5 v l/dh+$+D/@X xCP?T3|MZ)I^!:b%6 ~=V FAR&z1>E-B"'4#8OG`K\<;3tp7)jf- 1,gk(0 :6qu2N"9&5=J]Fa {'@SG<W#,CD0?sphinx-2.2.11-release/test/test_066/refdata/v20.spa0000644000175000017500000000463412743402012021141 0ustar alexeyalexeyJJJJJJJJ J J J J JJJJJJJJJJJJJJJJJJJ J!!J""J##J$$J%%J&&J''J((J))J**J++J,,J--J..J//J00J11J22J33J44J55J66J77J88J99J::J;;J<<J==J>>J??J@@JAAJBBJCCJDDJEEJFFJGGJHHJIIJJJJKKJLLJMMJNNJOOJPPJQQJRRJSSJTTJUUJVVJWWJXXJYYJZZJ[[J\\J]]J^^J__J``JaaJbbJccJddJeeJffJggJhhJiiJjjJkkJllJmmJnnJooJppJqqJrrJssJttJuuJvvJwwJxxJyyJzzJ{{J||J}}J~~JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJsphinx-2.2.11-release/test/test_066/refdata/v19noattrs.sps0000644000175000017500000000000112743402012022566 0ustar alexeyalexeysphinx-2.2.11-release/test/test_066/refdata/v19noattrs.spp0000644000175000017500000000024612743402012022576 0ustar alexeyalexey    sphinx-2.2.11-release/test/test_066/refdata/v19noattrs.spm0000644000175000017500000000000012743402012022557 0ustar alexeyalexeysphinx-2.2.11-release/test/test_066/refdata/v19noattrs.spk0000644000175000017500000000000012743402012022555 0ustar alexeyalexeysphinx-2.2.11-release/test/test_066/refdata/v19noattrs.spi0000644000175000017500000000023412743402012022564 0ustar alexeyalexeyf`|U.屄,ũG,ɦ yWd ofЈ7 2 d 7fsphinx-2.2.11-release/test/test_066/refdata/v19noattrs.sph0000644000175000017500000000035412743402012022566 0ustar alexeyalexeySPHXtitlecontent@sphinx-2.2.11-release/test/test_066/refdata/v19noattrs.spd0000644000175000017500000000022612743402012022560 0ustar alexeyalexey (-6;BGLX^cmr| sphinx-2.2.11-release/test/test_066/refdata/v19noattrs.spa0000644000175000017500000000000012743402012022543 0ustar alexeyalexeysphinx-2.2.11-release/test/test_066/refdata/v19.sps0000644000175000017500000000000112743402012021153 0ustar alexeyalexeysphinx-2.2.11-release/test/test_066/refdata/v19.spp0000644000175000017500000000000112743402012021150 0ustar alexeyalexeysphinx-2.2.11-release/test/test_066/refdata/v19.spm0000644000175000017500000000000012743402012021144 0ustar alexeyalexeysphinx-2.2.11-release/test/test_066/refdata/v19.spk0000644000175000017500000000000012743402012021142 0ustar alexeyalexeysphinx-2.2.11-release/test/test_066/refdata/v19.spi0000644000175000017500000000257712743402012021165 0ustar alexeyalexeyO4+ cڽz8֣T#!\l3hl%XàGhL-l!ۼHHlw<.LL ԽD֕(4DH!4Hқtz_HLiҔ,4<֤ <4-Xth5,NLt%g8ږ(Lt#!4+UwKTnD]{(ikM~<ch4U(78<e4SУyhD[ m,3lLޛL2<wԺ4ŖX<eޔ4Dڤ4yDṰL~tHψ4, ZGG(DiL88 [,m_R,5eSaɕXThcl(U_D]є(ߏoka6,sphinx-2.2.11-release/test/test_066/refdata/v19.sph0000644000175000017500000000047412743402012021156 0ustar alexeyalexeySPHXtitlecontentgroup_id date_added o!@, U+23sphinx-2.2.11-release/test/test_066/refdata/v19.spd0000644000175000017500000000351112743402012021145 0ustar alexeyalexeyH_(L[ $7c ;!Y.A*E%}2>UBQym *ie.4so8w 9nr5 v l/dh+$+D/@X xCP?T3|MZ)I^!:b%6 ~=V FAR&z1>E-B"'4#8OG`K\<;3tp7)jf- 1,gk(0 :6qu2N"9&5=J]Fa {'@SG<W#,CD0?sphinx-2.2.11-release/test/test_066/refdata/v19.spa0000644000175000017500000000452412743402012021147 0ustar alexeyalexeyJJJJJJJJ J J J J JJJJJJJJJJJJJJJJJJJ J!!J""J##J$$J%%J&&J''J((J))J**J++J,,J--J..J//J00J11J22J33J44J55J66J77J88J99J::J;;J<<J==J>>J??J@@JAAJBBJCCJDDJEEJFFJGGJHHJIIJJJJKKJLLJMMJNNJOOJPPJQQJRRJSSJTTJUUJVVJWWJXXJYYJZZJ[[J\\J]]J^^J__J``JaaJbbJccJddJeeJffJggJhhJiiJjjJkkJllJmmJnnJooJppJqqJrrJssJttJuuJvvJwwJxxJyyJzzJ{{J||J}}J~~JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJsphinx-2.2.11-release/test/test_066/refdata/v14.spp0000644000175000017500000000024612743402012021156 0ustar alexeyalexey    sphinx-2.2.11-release/test/test_066/refdata/v14.spm0000644000175000017500000000000012743402012021137 0ustar alexeyalexeysphinx-2.2.11-release/test/test_066/refdata/v14.spk0000644000175000017500000000000012743402012021135 0ustar alexeyalexeysphinx-2.2.11-release/test/test_066/refdata/v14.spi0000644000175000017500000000023412743402012021144 0ustar alexeyalexeyf`|U.屄,ũG,ɦ yWd ofЈ7 2 d 7fsphinx-2.2.11-release/test/test_066/refdata/v14.sph0000644000175000017500000000050212743402012021141 0ustar alexeyalexeySPHXtitlecontentgroup_id group_id2 date_added@ sphinx-2.2.11-release/test/test_066/refdata/v14.spd0000644000175000017500000000022612743402012021140 0ustar alexeyalexey (-6;BGLX^cmr| sphinx-2.2.11-release/test/test_066/refdata/v14.spa0000644000175000017500000000010012743402012021124 0ustar alexeyalexey VJ VJ VJ VJsphinx-2.2.11-release/test/test_066/model.bin0000644000175000017500000001734112743402012020210 0ustar alexeyalexeya:1:{i:0;a:5:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:3:{s:8:"group_id";i:1;s:9:"group_id2";i:1;s:10:"date_added";i:2;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"2421";s:5:"attrs";a:3:{s:8:"group_id";s:1:"1";s:9:"group_id2";s:2:"11";s:10:"date_added";s:10:"1243252822";}}i:2;a:2:{s:6:"weight";s:4:"2421";s:5:"attrs";a:3:{s:8:"group_id";s:1:"1";s:9:"group_id2";s:2:"11";s:10:"date_added";s:10:"1243252822";}}i:4;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:3:{s:8:"group_id";s:1:"2";s:9:"group_id2";s:2:"12";s:10:"date_added";s:10:"1243252822";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"test";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:8:"group_id";i:1;s:10:"date_added";i:2;}s:7:"matches";a:20:{i:1;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:1:"1";s:10:"date_added";s:10:"1257432034";}}i:2;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:1:"2";s:10:"date_added";s:10:"1257432034";}}i:3;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:1:"3";s:10:"date_added";s:10:"1257432034";}}i:4;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:1:"4";s:10:"date_added";s:10:"1257432034";}}i:5;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:1:"5";s:10:"date_added";s:10:"1257432034";}}i:6;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:1:"6";s:10:"date_added";s:10:"1257432034";}}i:7;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:1:"7";s:10:"date_added";s:10:"1257432034";}}i:8;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:1:"8";s:10:"date_added";s:10:"1257432034";}}i:9;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:1:"9";s:10:"date_added";s:10:"1257432034";}}i:10;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:2:"10";s:10:"date_added";s:10:"1257432034";}}i:11;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:2:"11";s:10:"date_added";s:10:"1257432034";}}i:12;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:2:"12";s:10:"date_added";s:10:"1257432034";}}i:13;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:2:"13";s:10:"date_added";s:10:"1257432034";}}i:14;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:2:"14";s:10:"date_added";s:10:"1257432034";}}i:15;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:2:"15";s:10:"date_added";s:10:"1257432034";}}i:16;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:2:"16";s:10:"date_added";s:10:"1257432034";}}i:17;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:2:"17";s:10:"date_added";s:10:"1257432034";}}i:18;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:2:"18";s:10:"date_added";s:10:"1257432034";}}i:19;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:2:"19";s:10:"date_added";s:10:"1257432034";}}i:20;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:2:"20";s:10:"date_added";s:10:"1257432034";}}}s:5:"total";s:3:"199";s:11:"total_found";s:3:"199";s:4:"time";s:5:"0.002";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:3:"199";s:4:"hits";s:3:"199";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"test";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"2421";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"2421";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"test";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:8:"group_id";i:1;s:10:"date_added";i:2;}s:7:"matches";a:20:{i:1;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:1:"1";s:10:"date_added";s:10:"1257432034";}}i:2;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:1:"2";s:10:"date_added";s:10:"1257432034";}}i:3;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:1:"3";s:10:"date_added";s:10:"1257432034";}}i:4;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:1:"4";s:10:"date_added";s:10:"1257432034";}}i:5;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:1:"5";s:10:"date_added";s:10:"1257432034";}}i:6;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:1:"6";s:10:"date_added";s:10:"1257432034";}}i:7;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:1:"7";s:10:"date_added";s:10:"1257432034";}}i:8;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:1:"8";s:10:"date_added";s:10:"1257432034";}}i:9;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:1:"9";s:10:"date_added";s:10:"1257432034";}}i:10;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:2:"10";s:10:"date_added";s:10:"1257432034";}}i:11;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:2:"11";s:10:"date_added";s:10:"1257432034";}}i:12;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:2:"12";s:10:"date_added";s:10:"1257432034";}}i:13;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:2:"13";s:10:"date_added";s:10:"1257432034";}}i:14;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:2:"14";s:10:"date_added";s:10:"1257432034";}}i:15;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:2:"15";s:10:"date_added";s:10:"1257432034";}}i:16;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:2:"16";s:10:"date_added";s:10:"1257432034";}}i:17;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:2:"17";s:10:"date_added";s:10:"1257432034";}}i:18;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:2:"18";s:10:"date_added";s:10:"1257432034";}}i:19;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:2:"19";s:10:"date_added";s:10:"1257432034";}}i:20;a:2:{s:6:"weight";s:4:"1272";s:5:"attrs";a:2:{s:8:"group_id";s:2:"20";s:10:"date_added";s:10:"1257432034";}}}s:5:"total";s:3:"199";s:11:"total_found";s:3:"199";s:4:"time";s:5:"0.002";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:3:"199";s:4:"hits";s:3:"199";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"test";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:6:"adtext";i:1;s:7:"heading";i:2;s:8:"postcode";}s:5:"attrs";a:5:{s:3:"lng";i:5;s:3:"lat";i:5;s:7:"section";i:1;s:7:"make_id";i:1;s:15:"transmission_id";i:1;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"2582";s:5:"attrs";a:5:{s:3:"lng";d:-0.0798577964305877685546875;s:3:"lat";d:0.937717020511627197265625;s:7:"section";s:1:"1";s:7:"make_id";s:1:"8";s:15:"transmission_id";s:1:"1";}}i:2;a:2:{s:6:"weight";s:4:"1560";s:5:"attrs";a:5:{s:3:"lng";d:-0.079998902976512908935546875;s:3:"lat";d:0.891974985599517822265625;s:7:"section";s:1:"1";s:7:"make_id";s:1:"5";s:15:"transmission_id";s:1:"0";}}i:211250;a:2:{s:6:"weight";s:4:"1560";s:5:"attrs";a:5:{s:3:"lng";d:-0.072145499289035797119140625;s:3:"lat";d:0.926760971546173095703125;s:7:"section";s:1:"0";s:7:"make_id";s:2:"29";s:15:"transmission_id";s:1:"1";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:4:"ford";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}s:5:"corsa";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"tt";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"ford | corsa | tt";}}}sphinx-2.2.11-release/test/test_066/dbgen.php0000644000175000017500000000113512743402012020200 0ustar alexeyalexey payload indexing indexer { mem_limit = 16M } searchd { } source test { type = mysql sql_query = select * from sph_test; sql_joined_field = tag from payload-query; select * from sph_test_tags; } index test { source = test path = /test charset_table = 0..9, A..Z->a..z, _, a..z } create table sph_test ( id int, text varchar(255) ); drop table if exists sph_test create table sph_test_tags ( id int, tag varchar(255), weight int ); drop table if exists sph_test_tags insert into sph_test (id, text) values ( 1, 'aaa' ), ( 2, 'aaa bbb' ), ( 3, 'bbb ccc' ); insert into sph_test_tags values ( 1, 'tag_1_a tag_1_b', 100 ), ( 1, 'tag_x', 200 ), ( 2, 'tag_2', 300 ), ( 2, 'tag_x', 400 ); tag_1_a tag_1_a aaa tag_1_b tag_1_a tag_1_b tag_x tag_1_a tag_x tag_2 sphinx-2.2.11-release/test/test_065/model.bin0000644000175000017500000000615112743402012020204 0ustar alexeyalexeya:1:{i:0;a:7:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:4:"text";i:1;s:3:"tag";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:6:"100680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.065";s:5:"words";a:1:{s:7:"tag_1_a";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"tag_1_a";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:4:"text";i:1;s:3:"tag";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:6:"101590";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:7:"tag_1_a";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"aaa";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"tag_1_a aaa";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:4:"text";i:1;s:3:"tag";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:6:"100680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:7:"tag_1_b";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"tag_1_b";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:4:"text";i:1;s:3:"tag";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:6:"200680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:7:"tag_1_a";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"tag_1_b";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"tag_1_a tag_1_b";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:4:"text";i:1;s:3:"tag";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:6:"400500";s:5:"attrs";a:0:{}}i:1;a:2:{s:6:"weight";s:6:"200500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"tag_x";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"tag_x";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:4:"text";i:1;s:3:"tag";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:6:"300590";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:7:"tag_1_a";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"tag_x";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:"tag_1_a tag_x";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:4:"text";i:1;s:3:"tag";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:6:"300680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"tag_2";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"tag_2";}}}sphinx-2.2.11-release/test/test_064/0000755000175000017500000000000012743402012016406 5ustar alexeyalexeysphinx-2.2.11-release/test/test_064/test.xml0000644000175000017500000000117112743402012020107 0ustar alexeyalexey merge vs empty index indexer { mem_limit = 16M } searchd { } source empty { type = mysql sql_query = select * from (select 0, 'text') t where 0; } source delta { type = mysql sql_query = select 1, 'text'; } index empty { source = empty path = /empty } index delta { source = delta path = /delta } select 1; --merge empty delta text sphinx-2.2.11-release/test/test_064/model.bin0000644000175000017500000000063412743402012020203 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}}}sphinx-2.2.11-release/test/test_063/0000755000175000017500000000000012743402012016405 5ustar alexeyalexeysphinx-2.2.11-release/test/test_063/test.xml0000644000175000017500000001633412743402012020115 0ustar alexeyalexey blend characters indexer { mem_limit = 16M } searchd { workers = threads } source test { type = mysql sql_query = SELECT * FROM test_table } index test { source = test path = /test blend_chars = @, |, +, ., *, !, (, ), [, ], {, } } source test1 { type = mysql sql_query = SELECT 1 as document_id, 'zzzzzz buzzzz' as text } index test1 { source = test1 path = /test1 blend_chars = ., @, min_word_len = 2 } source test2 { type = mysql sql_query = SELECT 1 as document_id, 'dummy a11-22 text' as text UNION SELECT 2 as document_id, 'dummy 11-22 text' as text } index test2 { source = test2 path = /test2 blend_chars = -, @, } index star { source = test path = /star blend_chars = @, ., !, (, ), [, ], {, } min_infix_len = 2 dict = crc } index star_kw { source = test path = /star_kw blend_chars = @, ., !, (, ), [, ], {, } min_infix_len = 2 dict = keywords } source test3 { type = mysql sql_query = SELECT 1 as document_id, ' the"dog of my friend ' as text UNION SELECT 2 as document_id, ' dog"is my friend ' as text } index test3 { source = test3 path = /test3 blend_chars = -, @, " } index rt { type = rt path = /rt blend_chars = @ rt_field = text rt_attr_uint = idd } source test4 { type = mysql sql_query = SELECT 1 as document_id, ' the dog of my friend ' as text UNION SELECT 2 as document_id, ' dog is my friend ' as text } index test4 { source = test4 path = /test4 blend_chars = U+2E } CREATE TABLE test_table ( document_id INT NOT NULL, text VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test_table INSERT INTO test_table VALUES ( 1, 'aaa bbb@ccc ddd @eee fff@ggg@hhh iii@ kkk' ), ( 2, 'ggg@hhh' ), ( 3, 'xxx @ yyy' ), ( 4, 'aaa@bbb+ccc@ddd' ), ( 5, 'aaa|eee|ccc' ), ( 6, 'a+b+c+d e+f|g' ), ( 7, 'aaa bbb*ccc ddd eee fff*ggg*hhh iii' ), ( 8, 'ggg*hhh' ), ( 9, 'aaa ddd ggg hhh' ), ( 10, 'aaa bbb ccc ddd' ), ( 11, 'hello, world. how is this gonna work if we need to handle U.S.A' ), ( 20, 'its a must!!!' ), ( 21, 'hey @dude wassup' ), ( 30, 'posse' ), ( 31, 'posse()' ), ( 32, 'posse[]' ), ( 33, 'posse{}' ); bbb|ccc bbb@ccc bbb\|ccc bbb\@ccc bbb ccc "bbb ccc" aaa|eee|ccc aaa\|eee\|ccc "aaa|eee|ccc" "aaa\|eee\|ccc" a+b+c+d a+b+c+d e "a+b+c+d e f" "a+b+c+d e+f|g" "bbb@ccc ddd @eee" "ddd @eee fff@ggg@hhh" "fff@ggg@hhh iii@ kkk" @ \@ @eee kkk \@eee kkk aaa\*ccc aaa*ccc bbb\*ccc bbb*ccc bbb ccc "bbb ccc" fff\*ggg fff*ggg fff*ggg*hhh "bbb*ccc ddd" "bbb*ccc ccc ddd" bbb*ccc << ddd hello "hello world" hello U.S.A must must\!\!\! dude \@dude posse posse\(\) posse\[\] posse\{\} "posse()" "posse[]" "posse{}" ^ggg*hhh$ ^ggg*hhh ggg*hhh$ ^ggg hhh$ ggg$ ^hhh ^gg* *hh$ ^*gg* ^*hh* *cc*$ *hh* *hh*$ select * from test1 where match ( 'zzzzzz .(buzzzz)' ) select * from test1 where match ( 'a+b' ) select * from test2 where match ( 'a11-22' ) select * from test2 where match ( '11-22' ) select * from test3 where match ( ' "the dog " ' ) select * from test3 where match ( ' dog " is my " ' ) select * from test3 where match ( ' dog ' ) INSERT INTO rt VALUES ( 1, 'thatsgoingverylongwordthathasblendedpartattheand@blendedpart and word at the end', 11 ) CALL KEYWORDS ( 'thatsgoingverylongwordthathasblendedpartattheand', 'rt', 1 ) INSERT INTO rt VALUES ( 2, 'thatsgoingverylongwordthathasblendedpartattheand@blendedpart', 11 ) CALL KEYWORDS ( 'thatsgoingverylongwordthathasblendedpartattheand', 'rt', 1 ) select * from test4 where match ( ' "dog of friend"/0.5 ' ) sphinx-2.2.11-release/test/test_063/model.bin0000644000175000017500000007114612743402012020210 0ustar alexeyalexeya:1:{i:0;a:73:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"2586";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"2586";s:5:"attrs";a:0:{}}i:7;a:2:{s:6:"weight";s:4:"2586";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:4:"2586";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"1537";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"bbb";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:3:"ccc";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"bbb|ccc";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"bbb@ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"bbb@ccc";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"bbb|ccc";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"bbb\|ccc";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"bbb@ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"bbb\@ccc";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"2586";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"2586";s:5:"attrs";a:0:{}}i:7;a:2:{s:6:"weight";s:4:"2586";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:4:"2586";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"bbb";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:3:"ccc";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"bbb ccc";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"2586";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"2586";s:5:"attrs";a:0:{}}i:7;a:2:{s:6:"weight";s:4:"2586";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:4:"2586";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"bbb";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:3:"ccc";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:""bbb ccc"";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:6:{i:5;a:2:{s:6:"weight";s:4:"3585";s:5:"attrs";a:0:{}}i:1;a:2:{s:6:"weight";s:4:"2585";s:5:"attrs";a:0:{}}i:7;a:2:{s:6:"weight";s:4:"2585";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"2543";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:4:"2543";s:5:"attrs";a:0:{}}i:9;a:2:{s:6:"weight";s:4:"1518";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"6";s:11:"total_found";s:1:"6";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"aaa";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}s:3:"eee";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:3:"ccc";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"aaa|eee|ccc";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:11:"aaa|eee|ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:"aaa\|eee\|ccc";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:11:"aaa|eee|ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:""aaa|eee|ccc"";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:11:"aaa|eee|ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:""aaa\|eee\|ccc"";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"a+b+c+d";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"a+b+c+d";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"2722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:7:"a+b+c+d";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"e";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"a+b+c+d e";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"3722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:7:"a+b+c+d";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"e";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"f";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:""a+b+c+d e f"";}i:13;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"2722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:7:"a+b+c+d";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"e+f|g";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:""a+b+c+d e+f|g"";}i:14;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"3673";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:7:"bbb@ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"ddd";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}s:4:"@eee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:""bbb@ccc ddd @eee"";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"3673";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"ddd";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}s:4:"@eee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:11:"fff@ggg@hhh";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:""ddd @eee fff@ggg@hhh"";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"3722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:11:"fff@ggg@hhh";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"iii@";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"kkk";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:""fff@ggg@hhh iii@ kkk"";}i:17;a:6:{s:5:"query";s:1:"@";s:5:"error";s:49:"index test: syntax error, unexpected $end near ''";s:7:"warning";s:0:"";s:5:"total";i:0;s:11:"total_found";i:0;s:4:"time";i:0;}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:1:"@";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"\@";}i:19;a:6:{s:5:"query";s:8:"@eee kkk";s:5:"error";s:55:"index test: query error: no field 'eee' found in schema";s:7:"warning";s:0:"";s:5:"total";i:0;s:11:"total_found";i:0;s:4:"time";i:0;}i:20;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:4:"@eee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"kkk";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"\@eee kkk";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"aaa*ccc";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"aaa\*ccc";}i:22;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"aaa*ccc";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"aaa*ccc";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"bbb*ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"bbb\*ccc";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"bbb*ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"bbb*ccc";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"2586";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"2586";s:5:"attrs";a:0:{}}i:7;a:2:{s:6:"weight";s:4:"2586";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:4:"2586";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"bbb";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:3:"ccc";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:" bbb ccc";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"2586";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"2586";s:5:"attrs";a:0:{}}i:7;a:2:{s:6:"weight";s:4:"2586";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:4:"2586";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"bbb";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:3:"ccc";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:""bbb ccc"";}i:27;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"fff*ggg";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"fff\*ggg";}i:28;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"fff*ggg";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"fff*ggg";}i:29;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:11:"fff*ggg*hhh";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"fff*ggg*hhh";}i:30;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"2648";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:7:"bbb*ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"ddd";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:""bbb*ccc ddd"";}i:31;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:7:"bbb*ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"ccc";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}s:3:"ddd";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:""bbb*ccc ccc ddd"";}i:32;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"2611";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:7:"bbb*ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"ddd";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"bbb*ccc << ddd";}i:33;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:11;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"hello";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"hello";}i:34;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:11;a:2:{s:6:"weight";s:4:"2722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:""hello world"";}i:35;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:11;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"u.s.a";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"hello U.S.A";}i:36;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:20;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"must";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"must";}i:37;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:20;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"must!!!";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:"must\!\!\!";}i:38;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:21;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dude";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dude";}i:39;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:21;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"@dude";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"\@dude";}i:40;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:4:{i:30;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:0:{}}i:31;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:0:{}}i:32;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:0:{}}i:33;a:2:{s:6:"weight";s:4:"1598";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"posse";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"posse";}i:41;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:31;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"posse()";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"posse\(\)";}i:42;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:32;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"posse[]";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"posse\[\]";}i:43;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:33;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"posse{}";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"posse\{\}";}i:44;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:31;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"posse()";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:""posse()"";}i:45;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:32;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"posse[]";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:""posse[]"";}i:46;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:33;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"posse{}";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:""posse{}"";}i:47;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:8;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggg*hhh";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"^ggg*hhh$";}i:48;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:8;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggg*hhh";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"^ggg*hhh";}i:49;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:8;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggg*hhh";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"ggg*hhh$";}i:50;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1575";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:4:"1575";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ggg";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"^ggg";}i:51;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"1575";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:4:"1575";s:5:"attrs";a:0:{}}i:9;a:2:{s:6:"weight";s:4:"1575";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"hhh";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"hhh$";}i:52;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1575";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:4:"1575";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ggg";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ggg$";}i:53;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"hhh";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"^hhh";}i:54;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1575";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:4:"1575";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"gg*";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"^gg*";}i:55;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"1603";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:4:"1575";s:5:"attrs";a:0:{}}i:9;a:2:{s:6:"weight";s:4:"1575";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"*hh";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"*hh$";}i:56;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1575";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:4:"1575";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"*gg*";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"^*gg*";}i:57;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1603";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"*hh*";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"7";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"^*hh*";}i:58;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:4;a:2:{s:6:"weight";s:4:"1575";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"1575";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"*cc*";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*cc*$";}i:59;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1603";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1603";s:5:"attrs";a:0:{}}i:7;a:2:{s:6:"weight";s:4:"1575";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:4:"1575";s:5:"attrs";a:0:{}}i:9;a:2:{s:6:"weight";s:4:"1575";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"*hh*";a:2:{s:4:"docs";s:1:"7";s:4:"hits";s:1:"7";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"*hh*";}i:60;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"1674";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:4:"1626";s:5:"attrs";a:0:{}}i:9;a:2:{s:6:"weight";s:4:"1626";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"*hh*";a:2:{s:4:"docs";s:1:"7";s:4:"hits";s:1:"7";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*hh*$";}i:61;a:3:{s:8:"sphinxql";s:55:"select * from test1 where match ( 'zzzzzz .(buzzzz)' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}}i:62;a:2:{s:8:"sphinxql";s:41:"select * from test1 where match ( 'a+b' )";s:10:"total_rows";i:0;}i:63;a:3:{s:8:"sphinxql";s:44:"select * from test2 where match ( 'a11-22' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}}i:64;a:3:{s:8:"sphinxql";s:43:"select * from test2 where match ( '11-22' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"2";}}}i:65;a:3:{s:8:"sphinxql";s:50:"select * from test3 where match ( ' "the dog " ' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}}i:66;a:3:{s:8:"sphinxql";s:53:"select * from test3 where match ( ' dog " is my " ' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"2";}}}i:67;a:3:{s:8:"sphinxql";s:43:"select * from test3 where match ( ' dog ' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}}}i:68;a:2:{s:8:"sphinxql";s:115:"INSERT INTO rt VALUES ( 1, 'thatsgoingverylongwordthathasblendedpartattheand@blendedpart and word at the end', 11 )";s:14:"total_affected";i:1;}i:69;a:3:{s:8:"sphinxql";s:77:"CALL KEYWORDS ( 'thatsgoingverylongwordthathasblendedpartattheand', 'rt', 1 )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:42:"thatsgoingverylongwordthathasblendedpartat";s:10:"normalized";s:42:"thatsgoingverylongwordthathasblendedpartat";s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:70;a:2:{s:8:"sphinxql";s:95:"INSERT INTO rt VALUES ( 2, 'thatsgoingverylongwordthathasblendedpartattheand@blendedpart', 11 )";s:14:"total_affected";i:1;}i:71;a:3:{s:8:"sphinxql";s:77:"CALL KEYWORDS ( 'thatsgoingverylongwordthathasblendedpartattheand', 'rt', 1 )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:5:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:42:"thatsgoingverylongwordthathasblendedpartat";s:10:"normalized";s:42:"thatsgoingverylongwordthathasblendedpartat";s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}}i:72;a:3:{s:8:"sphinxql";s:59:"select * from test4 where match ( ' "dog of friend"/0.5 ' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:1:"1";}i:1;a:1:{s:2:"id";s:1:"2";}}}}}sphinx-2.2.11-release/test/test_062/0000755000175000017500000000000012743402012016404 5ustar alexeyalexeysphinx-2.2.11-release/test/test_062/test.xml0000644000175000017500000001512512743402012020111 0ustar alexeyalexey snippets vs query highlighting indexer { mem_limit = 16M } searchd { } source test { type = mysql sql_query = SELECT 1, 'title' as title, 'text' as text; } index test { source = test path = /test phrase_boundary = U+002C phrase_boundary_step = 100 min_infix_len = 1 } index hi1 { source = test path = /hi1 docinfo = extern dict = keywords } index hi2 { source = test path = /hi2 docinfo = extern dict = keywords morphology = stem_enru min_prefix_len = 1 index_exact_words = 1 html_strip = 1 } select 1; '[B]', 'after_match' => '[A]', 'chunk_separator' => ' ... ', 'limit' => 255, 'around' => 2, 'query_mode' => 1 ); $text = 'Sphinx clusters scale to billions of documents, terabytes of data, and billions of queries per month.'; $queries = array ( '^sphinx month$', '^sphinx queries$', '^clusters month$', '^*inx *bytes', '*i*', '*on*', '*s', '"clusters scale"', '"clusters do not scale"', // false claims don't get highlighted '"of d*"', 'terabyte* << quer*', 'data << terabyte*', '"sphinx scale"~3', '"sphinx billions"~3', '"silly documents"/1', '"clusters scale to billions"', '"queries per month" | month | "per month"', '"of d*" | "of data"', '"of data" -"of hedgedogs"', '"documents terabytes"', // crosses boundary '@title sphinx', '@text sphinx', '@text[3] sphinx', '@text[3] documents', '@text[7] documents', // case shouldn't matter 'SPHINX', 'SPH*', '*PHI*', '*INX', ); $results = array(); foreach ( $queries as $query ) { $reply = $client->BuildExcerpts ( array($text), 'test', $query, $opts ); $results [] = $query; $results [] = $reply; } // regressions fast-path query mode starred vs regular term matches $query = ' "*mmitt* u" | ommitt* | "committed u" '; $results [] = $query; $results [] = $client->BuildExcerpts ( array ( 'support is just committed to Sphinx code base' ), 'test', $query, array ( 'query_mode' => 1 ) ); $query = ' *ommitt* | "committed u" '; $results [] = $query; $results [] = $client->BuildExcerpts ( array ( 'support is just committed to Sphinx code base' ), 'test', $query, array ( 'query_mode' => 1 ) ); $query = ' *ommitt* committed u '; $results [] = $query; $results [] = $client->BuildExcerpts ( array ( 'support is just committed to Sphinx code base' ), 'test', $query, array ( 'query_mode' => 0 ) ); $query = ' committed* | "committed p" '; $results [] = $query; $results [] = $client->BuildExcerpts ( array ( 'support is just committed to Sphinx code base' ), 'test', $query, array ( 'query_mode' => 1 ) ); $query = ' committed* committed p '; $results [] = $query; $results [] = $client->BuildExcerpts ( array ( 'support is just committed to Sphinx code base' ), 'test', $query, array ( 'query_mode' => 0 ) ); $query = ' (support ("committed*")) '; $results [] = $query; $results [] = $client->BuildExcerpts ( array ( 'support is just committed to Sphinx code base' ), 'test', $query, array ( 'query_mode' => 1 ) ); $query = ' (support ("code*" | "code test")) '; $results [] = $query; $results [] = $client->BuildExcerpts ( array ( 'support is just committed to Sphinx code base' ), 'test', $query, array ( 'query_mode' => 1, 'limit' => 25 ) ); $doc = 'Prinal. Onenes din Pas onatif searst ang searst searst searst searst searst searst way as inge, as kin puble difute paii (for Unitio clas reappe Impand bants to a caly prommat to deady. A cous al fonsue abcingelonhe aaa bbb ccc abcingelonhe aaa bbb ccc abcingelonhe cc pheyse but the hing fiche lochns my produr in may bects of hatest herstat everre tor Scine face.'; $query = 'din abcingelonhe'; $results [] = $query; $results [] = $client->BuildExcerpts ( array ( $doc ), 'test', $query, array ( 'limit' => 38 ) ); $doc = 'тест на подсветку начала документа в утф8'; $query = 'din'; $results[] = $client->BuildExcerpts ( array ( $doc ), 'test', $query, array('limit' => 4) ); $results[] = $client->BuildExcerpts ( array ( $doc ), 'test', $query, array('limit' => 5) ); $results[] = $client->BuildExcerpts ( array ( $doc ), 'test', $query, array('limit' => 6) ); $results[] = $client->BuildExcerpts ( array ( $doc ), 'test', $query, array('limit' => 7) ); $results[] = $client->BuildExcerpts ( array ( $doc ), 'test', $query, array('limit' => 8) ); $doc = 'text starred some begin begin begin some starred text and more in between starred some text end'; $query = 'some starr* text'; $results[] = $client->BuildExcerpts ( array ( $doc ), 'test', $query, array('limit' => 35) ); $doc = 'begin the text right mid mid mid the right text end'; $query = 'the the right right text text'; $results[] = $client->BuildExcerpts ( array ( $doc ), 'test', $query, array('limit' => 30) ); // regression passage generation vs new path of snippet generation $doc = "Our company's core technology platform is based on Microsoft applications, including the Windows NT operating system and a SQL server relational database, all residing on scaleable hardware. The software is constructed using an advanced proprietary XML framework and resides on an N-tier architecture. The support of open systems allows integration with a large variety of existing commercial, proprietary and legacy applications.  Other applications, which are also operational in a Microsoft NT environment, have been developed using Power Builder and are dependent on an Oracle relational database. running fast and runs out"; $query = 'the the right right text text'; $results[] = $client->BuildExcerpts( array($doc), 'hi1','microsoft & xml', array('query_mode'=>true, 'allow_empty' => true, 'before_match' => '', 'after_match' => '', 'chunk_separator' => '...', 'limit' => 5000, 'limit_words' => 50, 'limit_passages' =>5, 'around' => 25, 'exact_phrase' => false, 'force_all_words' => false, ) ); // regression duplicates removal from query $query = 'on | on | the | software | an* | ap* | an* | al* | on | al* | running | runs | run'; $results[] = $client->BuildExcerpts ( array ( $doc ), 'hi2', $query, array('query_mode'=>true, 'limit'=>200) ); $results[] = $client->BuildExcerpts ( array ( $doc ), 'hi2', $query, array('query_mode'=>true, 'limit'=>0) ); $results[] = $client->BuildExcerpts ( array ( $doc ), 'hi2', $query, array('query_mode'=>false, 'limit'=>200) ); $results[] = $client->BuildExcerpts ( array ( $doc ), 'hi2', $query, array('query_mode'=>false, 'limit'=>0) ); ]]> sphinx-2.2.11-release/test/test_062/model.bin0000644000175000017500000002053112743402012020177 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:86:{i:0;s:14:"^sphinx month$";i:1;a:1:{i:0;s:113:"[B]Sphinx[A] clusters scale to billions of documents, terabytes of data, and billions of queries per [B]month[A].";}i:2;s:16:"^sphinx queries$";i:3;a:1:{i:0;s:101:"Sphinx clusters scale to billions of documents, terabytes of data, and billions of queries per month.";}i:4;s:16:"^clusters month$";i:5;a:1:{i:0;s:101:"Sphinx clusters scale to billions of documents, terabytes of data, and billions of queries per month.";}i:6;s:12:"^*inx *bytes";i:7;a:1:{i:0;s:113:"[B]Sphinx[A] clusters scale to billions of documents, [B]terabytes[A] of data, and billions of queries per month.";}i:8;s:3:"*i*";i:9;a:1:{i:0;s:125:"[B]Sphinx[A] clusters scale to [B]billions[A] of documents, terabytes of data, and [B]billions[A] of [B]queries[A] per month.";}i:10;s:4:"*on*";i:11;a:1:{i:0;s:119:"Sphinx clusters scale to [B]billions[A] of documents, terabytes of data, and [B]billions[A] of queries per [B]month[A].";}i:12;s:2:"*s";i:13;a:1:{i:0;s:137:"Sphinx [B]clusters[A] scale to [B]billions[A] of [B]documents[A], [B]terabytes[A] of data, and [B]billions[A] of [B]queries[A] per month.";}i:14;s:16:""clusters scale"";i:15;a:1:{i:0;s:107:"Sphinx [B]clusters scale[A] to billions of documents, terabytes of data, and billions of queries per month.";}i:16;s:23:""clusters do not scale"";i:17;a:1:{i:0;s:101:"Sphinx clusters scale to billions of documents, terabytes of data, and billions of queries per month.";}i:18;s:7:""of d*"";i:19;a:1:{i:0;s:113:"Sphinx clusters scale to billions [B]of documents[A], terabytes [B]of data[A], and billions of queries per month.";}i:20;s:18:"terabyte* << quer*";i:21;a:1:{i:0;s:113:"Sphinx clusters scale to billions of documents, [B]terabytes[A] of data, and billions of [B]queries[A] per month.";}i:22;s:17:"data << terabyte*";i:23;a:1:{i:0;s:101:"Sphinx clusters scale to billions of documents, terabytes of data, and billions of queries per month.";}i:24;s:16:""sphinx scale"~3";i:25;a:1:{i:0;s:113:"[B]Sphinx[A] clusters [B]scale[A] to billions of documents, terabytes of data, and billions of queries per month.";}i:26;s:19:""sphinx billions"~3";i:27;a:1:{i:0;s:101:"Sphinx clusters scale to billions of documents, terabytes of data, and billions of queries per month.";}i:28;s:19:""silly documents"/1";i:29;a:1:{i:0;s:107:"Sphinx clusters scale to billions of [B]documents[A], terabytes of data, and billions of queries per month.";}i:30;s:28:""clusters scale to billions"";i:31;a:1:{i:0;s:107:"Sphinx [B]clusters scale to billions[A] of documents, terabytes of data, and billions of queries per month.";}i:32;s:41:""queries per month" | month | "per month"";i:33;a:1:{i:0;s:107:"Sphinx clusters scale to billions of documents, terabytes of data, and billions of [B]queries per month[A].";}i:34;s:19:""of d*" | "of data"";i:35;a:1:{i:0;s:113:"Sphinx clusters scale to billions [B]of documents[A], terabytes [B]of data[A], and billions of queries per month.";}i:36;s:25:""of data" -"of hedgedogs"";i:37;a:1:{i:0;s:107:"Sphinx clusters scale to billions of documents, terabytes [B]of data[A], and billions of queries per month.";}i:38;s:21:""documents terabytes"";i:39;a:1:{i:0;s:101:"Sphinx clusters scale to billions of documents, terabytes of data, and billions of queries per month.";}i:40;s:13:"@title sphinx";i:41;a:1:{i:0;s:107:"[B]Sphinx[A] clusters scale to billions of documents, terabytes of data, and billions of queries per month.";}i:42;s:12:"@text sphinx";i:43;a:1:{i:0;s:107:"[B]Sphinx[A] clusters scale to billions of documents, terabytes of data, and billions of queries per month.";}i:44;s:15:"@text[3] sphinx";i:45;a:1:{i:0;s:107:"[B]Sphinx[A] clusters scale to billions of documents, terabytes of data, and billions of queries per month.";}i:46;s:18:"@text[3] documents";i:47;a:1:{i:0;s:101:"Sphinx clusters scale to billions of documents, terabytes of data, and billions of queries per month.";}i:48;s:18:"@text[7] documents";i:49;a:1:{i:0;s:107:"Sphinx clusters scale to billions of [B]documents[A], terabytes of data, and billions of queries per month.";}i:50;s:6:"SPHINX";i:51;a:1:{i:0;s:107:"[B]Sphinx[A] clusters scale to billions of documents, terabytes of data, and billions of queries per month.";}i:52;s:4:"SPH*";i:53;a:1:{i:0;s:107:"[B]Sphinx[A] clusters scale to billions of documents, terabytes of data, and billions of queries per month.";}i:54;s:5:"*PHI*";i:55;a:1:{i:0;s:107:"[B]Sphinx[A] clusters scale to billions of documents, terabytes of data, and billions of queries per month.";}i:56;s:4:"*INX";i:57;a:1:{i:0;s:107:"[B]Sphinx[A] clusters scale to billions of documents, terabytes of data, and billions of queries per month.";}i:58;s:39:" "*mmitt* u" | ommitt* | "committed u" ";i:59;a:1:{i:0;s:45:"support is just committed to Sphinx code base";}i:60;s:26:" *ommitt* | "committed u" ";i:61;a:1:{i:0;s:52:"support is just committed to Sphinx code base";}i:62;s:22:" *ommitt* committed u ";i:63;a:1:{i:0;s:52:"support is just committed to Sphinx code base";}i:64;s:28:" committed* | "committed p" ";i:65;a:1:{i:0;s:52:"support is just committed to Sphinx code base";}i:66;s:24:" committed* committed p ";i:67;a:1:{i:0;s:52:"support is just committed to Sphinx code base";}i:68;s:26:" (support ("committed*")) ";i:69;a:1:{i:0;s:59:"support is just committed to Sphinx code base";}i:70;s:35:" (support ("code*" | "code test")) ";i:71;a:1:{i:0;s:47:"support is ... Sphinx code ... ";}i:72;s:16:"din abcingelonhe";i:73;a:1:{i:0;s:66:" ... Onenes din Pas ... ccc abcingelonhe cc ... ";}i:74;a:1:{i:0;s:13:"тест ... ";}i:75;a:1:{i:0;s:14:"тест ... ";}i:76;a:1:{i:0;s:14:"тест ... ";}i:77;a:1:{i:0;s:18:"тест на ... ";}i:78;a:1:{i:0;s:19:"тест на ... ";}i:79;a:1:{i:0;s:65:" ... begin begin some starred text and ... ";}i:80;a:1:{i:0;s:56:" ... mid mid mid the right text end";}i:81;a:1:{i:0;s:347:"Our company's core technology platform is based on Microsoft applications, including the Windows NT operating system and a SQL server relational database, all residing on scaleable hardware. The software is constructed using an advanced proprietary XML framework and resides on an N-tier architecture. The support of open systems ...";}i:82;a:1:{i:0;s:262:" ... database, all residing on scaleable hardware. The software is constructed using an advanced proprietary ... Power Builder and are dependent on an Oracle relational database. running fast and runs out";}i:83;a:1:{i:0;s:769:"Our company's core technology platform is based on Microsoft applications, including the Windows NT operating system and a SQL server relational database, all residing on scaleable hardware. The software is constructed using an advanced proprietary XML framework and resides on an N-tier architecture. The support of open systems allows integration with a large variety of existing commercial, proprietary and legacy applications.  Other applications, which are also operational in a Microsoft NT environment, have been developed using Power Builder and are dependent on an Oracle relational database. running fast and runs out";}i:84;a:1:{i:0;s:283:" ... database, all residing on scaleable hardware. The software is constructed using an advanced proprietary ... Power Builder and are dependent on an Oracle relational database. running fast and runs out";}i:85;a:1:{i:0;s:797:"Our company's core technology platform is based on Microsoft applications, including the Windows NT operating system and a SQL server relational database, all residing on scaleable hardware. The software is constructed using an advanced proprietary XML framework and resides on an N-tier architecture. The support of open systems allows integration with a large variety of existing commercial, proprietary and legacy applications.  Other applications, which are also operational in a Microsoft NT environment, have been developed using Power Builder and are dependent on an Oracle relational database. running fast and runs out";}}}}sphinx-2.2.11-release/test/test_061/0000755000175000017500000000000012743402012016403 5ustar alexeyalexeysphinx-2.2.11-release/test/test_061/test.xml0000644000175000017500000000211212743402012020100 0ustar alexeyalexey merge vs delta decoding indexer { mem_limit = 16M } searchd { } source srcmain { type = mysql sql_query = SELECT * FROM test_table WHERE document_id in (2147483632,2147483652) } source srcdelta { type = mysql sql_query = SELECT * FROM test_table WHERE document_id in (2147483632,2147483672) } index main { source = srcmain path = /main } index delta { source = srcdelta path = /delta } --merge main delta main CREATE TABLE `test_table` ( `document_id` int(11) UNSIGNED NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 2147483632, 'main' ), ( 2147483652, 'main' ), ( 2147483672, 'main' ) sphinx-2.2.11-release/test/test_061/model.bin0000644000175000017500000000105112743402012020172 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:2147483632;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}s:10:"2147483652";a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}s:10:"2147483672";a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"main";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"main";}}}sphinx-2.2.11-release/test/test_060/0000755000175000017500000000000012743402012016402 5ustar alexeyalexeysphinx-2.2.11-release/test/test_060/test.xml0000644000175000017500000000325612743402012020111 0ustar alexeyalexey select expressions parser vs IN() with 10K args indexer { mem_limit = 16M } searchd { } source src { type = mysql sql_query = SELECT id, id AS tag, body FROM test_table sql_attr_uint = tag } index idx { source = src path = /main docinfo = extern } source src1 { type = mysql sql_query = SELECT id, id AS tag, body FROM test_table sql_attr_uint = tag sql_field_string = body } index idx1 { source = src1 path = /main1 docinfo = extern } SetSelect ( "*, IN(@id,1," . $idlist . "3) AS q, crc32('the') as crc" ); $client->SetFilter ( "q", array(1) ); $r = $client->Query ( "", "idx" ); if ( $r ) { unset ( $r["time"] ); $results[] = $r; } else $results[] = $client->GetLastError(); // regression crash on not well formed filter $client->ResetFilters(); $client->SetSelect ( "*" ); $client->SetFilter ( "body", array(0) ); $r = $client->Query ( "", "idx1" ); if ( $r ) { unset ( $r["time"] ); $results[] = $r; } else { $results[] = $client->GetLastError(); } ]]> CREATE TABLE test_table ( id int(11) NOT NULL default '0', body varchar(255) NOT NULL default '' ) INSERT INTO test_table VALUES ( 1,'one' ), ( 2,'two' ), ( 3,'three' ), ( 4,'four' ) DROP TABLE IF EXISTS test_table sphinx-2.2.11-release/test/test_060/model.bin0000644000175000017500000000123512743402012020175 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:2:{i:0;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:3:{s:3:"tag";i:1;s:1:"q";i:1;s:3:"crc";i:1;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";s:1:"1";s:1:"q";s:1:"1";s:3:"crc";s:10:"1011183078";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";s:1:"3";s:1:"q";s:1:"1";s:3:"crc";s:10:"1011183078";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";}i:1;a:7:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"tag";i:1;s:4:"body";i:7;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";}}}}sphinx-2.2.11-release/test/test_059/0000755000175000017500000000000012743402012016412 5ustar alexeyalexeysphinx-2.2.11-release/test/test_059/test.xml0000644000175000017500000000162412743402012020116 0ustar alexeyalexey phrase boundaries indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query = SELECT * FROM test_table } index test { source = srctest path = /test phrase_boundary = . phrase_boundary_step = 10 } CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `text` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'first.' ), ( 2, ' second' ), ( 3, 'one. two three' ), ( 4, 'one two three' ); ^second "one two" "one two"~10 "one two"~11 sphinx-2.2.11-release/test/test_059/model.bin0000644000175000017500000000345712743402012020215 0ustar alexeyalexeya:1:{i:0;a:4:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"second";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"^second";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"2557";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"two";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:""one two"";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"2557";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"two";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:""one two"~10";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:4;a:2:{s:6:"weight";s:4:"2557";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1557";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"two";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:""one two"~11";}}}sphinx-2.2.11-release/test/test_058/0000755000175000017500000000000012743402012016411 5ustar alexeyalexeysphinx-2.2.11-release/test/test_058/test.xml0000644000175000017500000000740712743402012020122 0ustar alexeyalexey rotation searchd { expansion_limit = 2 seamless_rotate = 0 seamless_rotate = 0 workers = none seamless_rotate = 0 workers = threads binlog_path = workers = threads binlog_path = preopen_indexes = 1 seamless_rotate = 0 workers = threads binlog_path = preopen_indexes = 1 seamless_rotate = 1 } source sql { type = mysql sql_query = select id, text from test_table where mode = (select mode from test_table where id = 1000); } index index { source = sql path = /index } source locs { type = mysql sql_query = select id, text from test_table; } index loc1 { source = locs path = /loc1 } index loc2 { source = locs path = /loc2 } index loc3 { source = locs path = /loc3 } source src_expand { type = mysql sql_query = select 1, 'as' text UNION select 2, 'ask as' text UNION select 3, 'all' text UNION select 4, 'after ask' text } index expand { source = src_expand path = /expand dict = keywords min_prefix_len = 1 } source src_attrs { type = mysql sql_query = select id, text, mode from test_table where mode=1; sql_attr_uint = mode } index i_attrs { source = src_attrs path = /attrs } drop table if exists test_table create table test_table ( id int not null, text varchar(255) not null, mode int ); insert into test_table values ( 1, 'first', 1 ), ( 2, 'second', 1 ), ( 3, 'third', 1 ), ( 4, 'fourth', 1 ), ( 5, 'fifth', 1 ), ( 1, 'one', 2 ), ( 2, 'two', 2 ), ( 3, 'three', 2 ), ( 1000, '', 1 ); Query ( $words, "index" ); if ( $result ) { unset ( $result["time"] ); return $result; } else return $client->GetLastError(); '); $mquery = create_function('$client',' $client->AddQuery ( "second", "loc1" ); $client->AddQuery ( "fifth", "loc2" ); $client->AddQuery ( "third", "loc3" ); $res = $client->RunQueries (); if ( !$res ) return $client->GetLastError(); $result = array (); for ( $i=0; $iQuery ( $words, $index ); if ( $result ) { unset ( $result["time"] ); return $result; } else return $client->GetLastError(); '); $results = array(); $errors = ''; $results[] = $query ( $client, 'first' ); $results[] = $query ( $client, 'one' ); $results[] = $mquery ( $client ); $results[] = $q1 ( $client, 'a*', 'expand' ); mysql_query ( 'update test_table set mode = 3 where id = 1000' ); RunIndexer ( $errors, '--all --rotate' ); sleep(2); $results[] = $query ( $client, 'first' ); $results[] = $query ( $client, 'one' ); $results[] = $mquery ( $client ); mysql_query ( 'update test_table set mode = 2 where id = 1000' ); RunIndexer ( $errors, '--all --rotate' ); sleep(2); $results[] = $query ( $client, 'first' ); $results[] = $query ( $client, 'one' ); $results[] = $mquery ( $client ); $results[] = $q1 ( $client, 'a*', 'expand' ); // regression keep-attrs vs rotate $results[] = $client->UpdateAttributes ( 'i_attrs', array('mode'), array(1=>array(10),3=>array(11)) ); $results[] = $q1 ( $client, '', 'i_attrs' ); $results[] = 'updated flush tag - ' . $client->FlushAttributes(); RunIndexer ( $errors, 'i_attrs --rotate --keep-attrs' ); sleep(2); $results[] = $q1 ( $client, '', 'i_attrs' ); ]]> sphinx-2.2.11-release/test/test_058/model.bin0000644000175000017500000006177412743402012020222 0ustar alexeyalexeya:4:{i:0;a:1:{i:0;a:15:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1709";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"first";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:1;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:2;a:3:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:6:"second";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"fifth";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"third";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}i:3;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1421";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:1:{s:2:"a*";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}}i:4;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:5:"first";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:5;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:6;a:3:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:6:"second";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"fifth";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"third";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}i:7;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:5:"first";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:8;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:9;a:3:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:6:"second";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"fifth";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"third";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}i:10;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1421";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:1:{s:2:"a*";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}}i:11;i:2;i:12;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:4:"mode";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:2:"10";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:1:"1";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:2:"11";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:1:"1";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:1:"1";}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";}i:13;s:21:"updated flush tag - 0";i:14;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:4:"mode";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:1:"1";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:1:"1";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:1:"1";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:1:"1";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:1:"1";}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";}}}i:1;a:1:{i:0;a:15:{i:0;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:5:"first";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:3:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:6:"second";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"fifth";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"third";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}i:3;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1421";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:1:{s:2:"a*";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}}i:4;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:5:"first";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:5;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:6;a:3:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:6:"second";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"fifth";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"third";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}i:7;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:5:"first";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:8;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:9;a:3:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:6:"second";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"fifth";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"third";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}i:10;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1421";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:1:{s:2:"a*";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}}i:11;i:2;i:12;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:4:"mode";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:2:"10";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:1:"1";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:2:"11";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:1:"1";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:1:"1";}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";}i:13;s:21:"updated flush tag - 1";i:14;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:4:"mode";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:2:"10";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:1:"1";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:2:"11";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:1:"1";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:1:"1";}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";}}}i:2;a:1:{i:0;a:15:{i:0;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:5:"first";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:3:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:6:"second";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"fifth";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"third";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}i:3;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1421";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:1:{s:2:"a*";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}}i:4;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:5:"first";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:5;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:6;a:3:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:6:"second";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"fifth";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"third";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}i:7;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:5:"first";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:8;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:9;a:3:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:6:"second";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"fifth";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"third";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}i:10;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1421";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:1:{s:2:"a*";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}}i:11;i:2;i:12;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:4:"mode";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:2:"10";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:1:"1";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:2:"11";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:1:"1";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:1:"1";}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";}i:13;s:21:"updated flush tag - 1";i:14;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:4:"mode";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:2:"10";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:1:"1";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:2:"11";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:1:"1";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:1:"1";}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";}}}i:3;a:1:{i:0;a:15:{i:0;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:5:"first";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:3:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:6:"second";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"fifth";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"third";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}i:3;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1421";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:1:{s:2:"a*";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}}i:4;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:5:"first";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:5;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:6;a:3:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:6:"second";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"fifth";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"third";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}i:7;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:5:"words";a:1:{s:5:"first";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}}i:8;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:9;a:3:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:6:"second";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"fifth";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1716";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:5:"third";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}}i:10;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1421";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:5:"words";a:1:{s:2:"a*";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}}i:11;i:2;i:12;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:4:"mode";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:2:"10";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:1:"1";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:2:"11";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:1:"1";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:1:"1";}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";}i:13;s:21:"updated flush tag - 1";i:14;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:4:"mode";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:2:"10";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:1:"1";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:2:"11";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:1:"1";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:4:"mode";s:1:"1";}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";}}}}sphinx-2.2.11-release/test/test_056/0000755000175000017500000000000012743402012016407 5ustar alexeyalexeysphinx-2.2.11-release/test/test_056/test.xml0000644000175000017500000000454712743402012020122 0ustar alexeyalexey snippets vs boundaries, utf-8 searchd { } source test { type = mysql sql_query = SELECT 1, 'text'; } index index_utf8 { source = test path = /index_utf8 morphology = stem_enru min_word_len = 3 min_prefix_len = 0 min_infix_len = 0 phrase_boundary = . phrase_boundary_step = 100 } select 1; BuildExcerpts($docs, 'index_utf8', 'шел', $opts); // 2 $docs = array(); $docs[0] = 'С другом в саду я сидел. Мокрый склонился бамбук. Я шел по склону Фудзи. Старую женщину я. Шел не зная куда. '; $opts = array(); $opts['use_boundaries'] = true; $opts['single_passage'] = false; $opts['chunk_separator'] = '###'; $opts['weight_order'] = false; $opts['exact_phrase'] = true; $opts['limit'] = 25; $results[] = $client->BuildExcerpts($docs, 'index_utf8', 'шел по склону', $opts); // 3 $opts = array(); $opts['use_boundaries'] = true; $opts['single_passage'] = false; $opts['chunk_separator'] = '###'; $opts['weight_order'] = true; $opts['exact_phrase'] = true; $opts['limit'] = 25; $results[] = $client->BuildExcerpts($docs, 'index_utf8', 'шел по склону', $opts); // 4 $opts = array(); $opts['use_boundaries'] = true; $opts['single_passage'] = false; $opts['chunk_separator'] = '###'; $opts['weight_order'] = true; $opts['exact_phrase'] = false; $opts['limit'] = 75; $results[] = $client->BuildExcerpts($docs, 'index_utf8', 'шел по склону', $opts); ]]> sphinx-2.2.11-release/test/test_056/model.bin0000644000175000017500000000075512743402012020210 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:4:{i:0;a:2:{i:0;s:53:"### Я шел по склону Фудзи.###";i:1;s:49:"Я шел по склону Фудзи.###";}i:1;a:1:{i:0;s:53:"### Я шел по склону Фудзи.###";}i:2;a:1:{i:0;s:53:"### Я шел по склону Фудзи.###";}i:3;a:1:{i:0;s:158:"### Я шел по склону Фудзи.### Мокрый склонился бамбук.### Шел не зная куда.###";}}}}sphinx-2.2.11-release/test/test_055/0000755000175000017500000000000012743402012016406 5ustar alexeyalexeysphinx-2.2.11-release/test/test_055/test.xml0000644000175000017500000000421512743402012020111 0ustar alexeyalexey position anchors indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query = SELECT * FROM test_table } index test { source = srctest path = /test } ^one two ^other three three$ ^badger CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `title` varchar(5120) NOT NULL default '', `body` varchar(256) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, '', 'one' ), ( 2, '', 'one and two' ), ( 3, '', 'one but not the other one' ), ( 4, '', 'two and one' ), ( 9, '', 'other three' ), ( 10, '', 'three' ), ( 11, '', 'three' ), ( 12, '', 'three' ), ( 13, '', 'three' ), ( 14, '', 'three' ), ( 15, '', 'three' ), ( 16, '', 'three' ), ( 17, '', 'three' ), ( 18, '', 'three' ), ( 19, '', 'three' ) INSERT INTO test_table SELECT document_id+10, title, body FROM test_table WHERE document_id>=10 INSERT INTO test_table SELECT document_id+20, title, body FROM test_table WHERE document_id>=10 INSERT INTO test_table SELECT document_id+40, title, body FROM test_table WHERE document_id>=10 INSERT INTO test_table SELECT document_id+80, title, body FROM test_table WHERE document_id>=10 INSERT INTO test_table SELECT document_id+160, title, body FROM test_table WHERE document_id>=10 INSERT INTO test_table SELECT document_id+320, title, body FROM test_table WHERE document_id>=10 INSERT INTO test_table VALUES ( 2000, REPEAT('badger ',600), 'badger badger mushroom' ) INSERT INTO `test_table` VALUES ( 1000, '', 'other' ), ( 1001, '', 'other three blind mice' ); sphinx-2.2.11-release/test/test_055/model.bin0000644000175000017500000000547312743402012020211 0ustar alexeyalexeya:1:{i:0;a:4:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1690";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"5";}s:3:"two";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"^one two";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:9;a:2:{s:6:"weight";s:4:"2509";s:5:"attrs";a:0:{}}i:1001;a:2:{s:6:"weight";s:4:"2509";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"other";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:3:"642";s:4:"hits";s:3:"642";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"^other three";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:20:{i:9;a:2:{s:6:"weight";s:4:"1341";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:4:"1341";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:4:"1341";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:4:"1341";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:4:"1341";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:4:"1341";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:4:"1341";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:4:"1341";s:5:"attrs";a:0:{}}i:17;a:2:{s:6:"weight";s:4:"1341";s:5:"attrs";a:0:{}}i:18;a:2:{s:6:"weight";s:4:"1341";s:5:"attrs";a:0:{}}i:19;a:2:{s:6:"weight";s:4:"1341";s:5:"attrs";a:0:{}}i:20;a:2:{s:6:"weight";s:4:"1341";s:5:"attrs";a:0:{}}i:21;a:2:{s:6:"weight";s:4:"1341";s:5:"attrs";a:0:{}}i:22;a:2:{s:6:"weight";s:4:"1341";s:5:"attrs";a:0:{}}i:23;a:2:{s:6:"weight";s:4:"1341";s:5:"attrs";a:0:{}}i:24;a:2:{s:6:"weight";s:4:"1341";s:5:"attrs";a:0:{}}i:25;a:2:{s:6:"weight";s:4:"1341";s:5:"attrs";a:0:{}}i:26;a:2:{s:6:"weight";s:4:"1341";s:5:"attrs";a:0:{}}i:27;a:2:{s:6:"weight";s:4:"1341";s:5:"attrs";a:0:{}}i:28;a:2:{s:6:"weight";s:4:"1341";s:5:"attrs";a:0:{}}}s:5:"total";s:3:"641";s:11:"total_found";s:3:"641";s:4:"time";s:5:"0.003";s:5:"words";a:1:{s:5:"three";a:2:{s:4:"docs";s:3:"642";s:4:"hits";s:3:"642";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"three$";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2000;a:2:{s:6:"weight";s:4:"2998";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"badger";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:3:"602";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"^badger";}}}sphinx-2.2.11-release/test/test_054/0000755000175000017500000000000012743402012016405 5ustar alexeyalexeysphinx-2.2.11-release/test/test_054/test.xml0000644000175000017500000001165012743402012020111 0ustar alexeyalexey quorum indexer { mem_limit = 16M } searchd { workers = threads } source test1 { type = mysql sql_query = SELECT * FROM test_table where document_id in ( 1, 2 ) } index test { source = test1 path = /test } index test_crc { source = test1 path = /crc dict = crc min_prefix_len = 1 } index test_kw { source = test1 path = /kw dict = keywords min_prefix_len = 1 } source test2 { type = mysql sql_query = SELECT * FROM test_table where document_id in ( 10, 11 ) } index crc2 { source = test2 path = /crc2 dict = crc min_infix_len = 3 } index kw2 { source = test2 path = /kw2 dict = keywords min_infix_len = 3 } index rt_infix { type = rt path = /rt-infix dict = keywords min_infix_len = 3 rt_field = text rt_attr_uint = idd } source num1 { type = mysql sql_query = SELECT 1 id, 11 idd, 'set up 3.51 from data' text } index num2t { source = num1 path = /num1 charset_table = 0..9, A..Z->a..z, _, a..z } index num1t { source = num1 path = /num2 charset_table = 0..9, A..Z->a..z, _, a..z, U+2E } source test_q1 { type = mysql sql_query = SELECT 1 id, 11 idd, "есть и можешь купить набор" text sql_attr_uint = idd } index test_q1 { source = test_q1 path = /test_q1 charset_table = 0..9, A..Z->a..z, _, ., -, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F, U+0401->U+0435, U+0451->U+0435 morphology = stem_enru min_infix_len = 1 index_exact_words = 1 expand_keywords = 1 } CREATE TABLE test_table ( document_id INT NOT NULL, text VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table ( document_id, text ) VALUES ( 1, 'hello world' ), ( 2, 'one two three four five' ), ( 10, 'al all' ), ( 11, 'always' ); "hello heaven"/1 "hello from above"/2 "one two foo bar"/3 "one two two bar"/3 "one two two bar"/2 "two two one three"/3 "two two one foo"/3 "o* t*"/2 "o* t*"/2 "h* w* f*"/2 "h* w* f*"/2 "one t* three four five" al* alw* al* alw* al* | alw* al* | alw* "one world"/0.1 "five tree oak one two hive"/0.4 "five tree oak one two hive"/0.59 "five tree oak one two hive"/0.60 INSERT INTO rt_infix VALUES ( 1, 'dummy word', 11 ) delete from rt_infix where id=1 CALL KEYWORDS ( ' 3.51 ', 'num2t' ) CALL KEYWORDS ( ' 3.51 ', 'num1t' ) SELECT * FROM num2t WHERE MATCH ( ' 3.51 ' ) SHOW META SELECT * FROM num1t WHERE MATCH ( ' 3.51 ' ) SHOW META SELECT * FROM num2t WHERE MATCH ( ' 3 51 ' ) SHOW META SELECT * FROM num2t WHERE MATCH ( ' "set of 3.51"/0.7 ' ) SHOW META SELECT * FROM num1t WHERE MATCH ( ' "set of 3.51"/0.7 ' ) SHOW META SELECT * FROM num2t WHERE MATCH ( ' "set of 3 51"/0.7 ' ) SHOW META SELECT * FROM num1t WHERE MATCH ( ' "set of 3 51"/0.7 ' ) SHOW META SELECT id FROM test_q1 WHERE MATCH(' "наборы купить набор"/2 ') ORDER BY ID ASC sphinx-2.2.11-release/test/test_054/model.bin0000644000175000017500000004435412743402012020211 0ustar alexeyalexeya:1:{i:0;a:41:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1571";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:6:"heaven";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:""hello heaven"/1";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"from";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"above";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:20:""hello from above"/2";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"foo";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"bar";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:19:""one two foo bar"/3";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"bar";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:19:""one two two bar"/3";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"2595";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"bar";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:19:""one two two bar"/2";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"three";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:21:""two two one three"/3";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"foo";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:19:""two two one foo"/3";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:90:"quorum threshold too high (words=2, thresh=2); replacing quorum operator with AND operator";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"2670";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:2:"o*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"t*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:""o* t*"/2";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:90:"quorum threshold too high (words=2, thresh=2); replacing quorum operator with AND operator";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"2670";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:2:"o*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"t*";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:""o* t*"/2";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"2595";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:2:"h*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"w*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"f*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:""h* w* f*"/2";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"2595";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:2:"h*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"w*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"f*";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:""h* w* f*"/2";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"5654";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:5:{s:2:"t*";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"three";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"four";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:24:""one t* three four five"";}i:12;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min infix length. word: 'al*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"al*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"al*";}i:13;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:11;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"alw*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"alw*";}i:14;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min infix length. word: 'al*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"al*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"al*";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:11;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"alw*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"alw*";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min infix length. word: 'al*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:11;a:2:{s:6:"weight";s:4:"1571";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:3:"al*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:4:"alw*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:"al* | alw*";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min infix length. word: 'al*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:11;a:2:{s:6:"weight";s:4:"1571";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:4:"alw*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"al*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:"al* | alw*";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"1571";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1571";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:" "one world"/0.1 ";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"2571";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:6:{s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"tree";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"oak";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"hive";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:34:" "five tree oak one two hive"/0.4 ";}i:20;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"2571";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:6:{s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"tree";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"oak";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"hive";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:35:" "five tree oak one two hive"/0.59 ";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:6:{s:4:"five";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"tree";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"oak";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"one";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"hive";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:35:" "five tree oak one two hive"/0.60 ";}i:22;a:2:{s:8:"sphinxql";s:51:"INSERT INTO rt_infix VALUES ( 1, 'dummy word', 11 )";s:14:"total_affected";i:1;}i:23;a:2:{s:8:"sphinxql";s:31:"delete from rt_infix where id=1";s:14:"total_affected";i:1;}i:24;a:3:{s:8:"sphinxql";s:35:"CALL KEYWORDS ( ' 3.51 ', 'num2t' )";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:1:"3";s:10:"normalized";s:1:"3";}i:1;a:3:{s:4:"qpos";s:1:"2";s:9:"tokenized";s:2:"51";s:10:"normalized";s:2:"51";}}}i:25;a:3:{s:8:"sphinxql";s:35:"CALL KEYWORDS ( ' 3.51 ', 'num1t' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:4:"3.51";s:10:"normalized";s:4:"3.51";}}}i:26;a:3:{s:8:"sphinxql";s:44:"SELECT * FROM num2t WHERE MATCH ( ' 3.51 ' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}}i:27;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:1:"3";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:2:"51";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}}i:28;a:3:{s:8:"sphinxql";s:44:"SELECT * FROM num1t WHERE MATCH ( ' 3.51 ' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}}i:29;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"3.51";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:30;a:3:{s:8:"sphinxql";s:44:"SELECT * FROM num2t WHERE MATCH ( ' 3 51 ' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}}i:31;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:1:"3";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:2:"51";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}}i:32;a:3:{s:8:"sphinxql";s:57:"SELECT * FROM num2t WHERE MATCH ( ' "set of 3.51"/0.7 ' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}}i:33;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:15;s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"set";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:2:"of";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:1:"3";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:2:"51";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"1";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"1";}}}i:34;a:3:{s:8:"sphinxql";s:57:"SELECT * FROM num1t WHERE MATCH ( ' "set of 3.51"/0.7 ' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}}i:35;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:12;s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"set";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:2:"of";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:4:"3.51";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}}}i:36;a:3:{s:8:"sphinxql";s:57:"SELECT * FROM num2t WHERE MATCH ( ' "set of 3 51"/0.7 ' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}}i:37;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:15;s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"set";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:2:"of";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:1:"3";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:2:"51";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"1";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"1";}}}i:38;a:2:{s:8:"sphinxql";s:57:"SELECT * FROM num1t WHERE MATCH ( ' "set of 3 51"/0.7 ' )";s:10:"total_rows";i:0;}i:39;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:15;s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"set";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:2:"of";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:1:"3";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"0";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"0";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:2:"51";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"0";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"0";}}}i:40;a:3:{s:8:"sphinxql";s:96:"SELECT id FROM test_q1 WHERE MATCH(' "наборы купить набор"/2 ') ORDER BY ID ASC";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"1";}}}}}sphinx-2.2.11-release/test/test_053/0000755000175000017500000000000012743402012016404 5ustar alexeyalexeysphinx-2.2.11-release/test/test_053/test.xml0000644000175000017500000000255312743402012020112 0ustar alexeyalexey legacy matching modes emulation indexer { mem_limit = 16M } searchd { } source srctest1 { type = mysql sql_query = SELECT document_id, group_id, group_id2, title, content FROM test_table sql_attr_uint = group_id sql_attr_uint = group_id2 } source srctest2 : srctest1 { sql_query = SELECT 10+document_id, group_id, group_id2, title, content FROM test_table } index test1 { source = srctest1 path = /test1 } index test2 { source = srctest2 path = /test2 } test" CREATE TABLE test_table ( document_id INTEGER PRIMARY KEY NOT NULL AUTO_INCREMENT, group_id INTEGER NOT NULL, group_id2 INTEGER NOT NULL, title VARCHAR(255) NOT NULL, content VARCHAR(255) NOT NULL ) DROP TABLE IF EXISTS test_table INSERT INTO test_table ( document_id, group_id, group_id2, title, content ) VALUES ( 1, 1, 5, 'test one', 'this is my test document number one. also checking search within phrases.' ), ( 2, 1, 6, 'test two', 'this is my test document number two' ), ( 3, 2, 7, 'another doc', 'this is another group' ), ( 4, 2, 8, 'doc number four', 'this is to test groups' ) sphinx-2.2.11-release/test/test_053/model.bin0000644000175000017500000000174712743402012020207 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:7:"content";}s:5:"attrs";a:2:{s:8:"group_id";i:1;s:9:"group_id2";i:1;}s:7:"matches";a:6:{i:1;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:2:{s:8:"group_id";s:1:"1";s:9:"group_id2";s:1:"5";}}i:2;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:2:{s:8:"group_id";s:1:"1";s:9:"group_id2";s:1:"6";}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:2:{s:8:"group_id";s:1:"1";s:9:"group_id2";s:1:"5";}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:2:{s:8:"group_id";s:1:"1";s:9:"group_id2";s:1:"6";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:1:"2";s:9:"group_id2";s:1:"8";}}i:14;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:1:"2";s:9:"group_id2";s:1:"8";}}}s:5:"total";s:1:"6";s:11:"total_found";s:1:"6";s:4:"time";s:5:"0.002";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test"";}}}sphinx-2.2.11-release/test/test_052/0000755000175000017500000000000012743402012016403 5ustar alexeyalexeysphinx-2.2.11-release/test/test_052/test.xml0000644000175000017500000003000212743402012020077 0ustar alexeyalexey before operator indexer { mem_limit = 16M } searchd { } source test { type = mysql sql_query = SELECT * FROM test_table where document_id in (1,2,3,4,5 ) } index test { source = test path = /test min_word_len = 1 } source test1 { type = mysql sql_query = SELECT * FROM test_table where document_id=6 } index test1 { source = test1 path = /test1 } source test2 { type = mysql sql_query = SELECT * FROM test_table where document_id in ( 10, 11, 12, 13, 14, 15 ) } index test2 { source = test2 path = /test2 } source test3 { type = mysql sql_query = SELECT * FROM test_table where document_id in ( 16 ) } index test3 { source = test3 path = /test3 } source test4 { type = mysql sql_query = /*term 0x1 getdocs (4)*/ \ SELECT CAST(0x1281 AS UNSIGNED) id, 'as1 my1 m1 fe1' title, 11 idd UNION SELECT CAST(0x389c AS UNSIGNED) id, 'as1 my1 m1 fe1' title, 11 idd UNION \ SELECT CAST(0x1b153 AS UNSIGNED) id, 'as1 my1 m1 fe1' title, 11 idd UNION SELECT CAST(0x1e8fc AS UNSIGNED) id, 'as1 my1 m1 fe1' title, 11 idd UNION \ /*term 0x2 getdocs (511)*/ \ SELECT CAST(0x1a6 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x1b3 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x1bf AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x219 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0x28c AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x309 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x31b AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x337 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0x498 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x4c0 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x4e8 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x568 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0x58d AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x60b AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x77e AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x7df AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0x7e0 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x7e1 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x851 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x889 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0x88a AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x8e4 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x8f0 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x954 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0xa21 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0xa22 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0xa4c AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0xad5 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0xad6 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0xbbc AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0xc07 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0xc4c AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0xc4d AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0xc9d AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0xcb8 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0xcea AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0xcf3 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0xd1d AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0xd21 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0xd5f AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0xded AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0xe28 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0xe74 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0xe78 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0xe79 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0xe92 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0xee2 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0xefa AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0xf0c AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0xfbc AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0xfda AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x1038 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0x105d AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x10f0 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x110b AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x1121 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0x116c AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x116d AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x11e2 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x11e4 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0x11fa AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x11fc AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x1209 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x120f AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0x1219 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x122f AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x1235 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x125c AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0x1270 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x1289 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x12ae AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x12db AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0x12fd AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x1314 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x1376 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x1377 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0x13d9 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x13de AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x13e9 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x141d AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0x1424 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x143d AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x144f AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x14c2 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0x14c4 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x14c7 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x14e6 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0x1517 AS UNSIGNED) id, 't2 e2 m2 m3' title, 11 idd UNION \ SELECT CAST(0x1520 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x155f AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x1571 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x15c9 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0x15fe AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x161b AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x163d AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x1663 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0x1694 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x16cb AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x16ed AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x1747 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0x177d AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0x1794 AS UNSIGNED) id, 't2 e2 m2 m3' title, 11 idd UNION \ SELECT CAST(0x1799 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x1818 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x1835 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x183a AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0x1857 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x1867 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x18ac AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x18bb AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ SELECT CAST(0x18dd AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION SELECT CAST(0x1925 AS UNSIGNED) id, 'z2 m2 x2' title, 11 idd UNION \ /*term 0x3 getdocs (37)*/ \ SELECT CAST(0xe9f AS UNSIGNED) id, 'fe3 he3 ze3 m3' title, 11 idd UNION SELECT CAST(0xeec AS UNSIGNED) id, 'he3 ze3 m3' title, 11 idd UNION \ SELECT CAST(0x182f AS UNSIGNED) id, 'he3 ze3 m3' title, 11 idd UNION SELECT CAST(0x205f AS UNSIGNED) id, 'm3' title, 11 idd } index test4 { source = test4 path = /test4 charset_table = 0..9, a..z, A..Z->a..z dict = keywords } CREATE TABLE test_table ( document_id INT NOT NULL, title VARCHAR(255) NOT NULL, text VARCHAR(4096) NOT NULL ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table ( document_id, title, text ) VALUES ( 1, 'aaa bbb', 'ccc ddd' ), ( 2, 'xxx', 'ccc ddd eee fff ggg' ), ( 3, 'yyy', 'one one one two three' ), ( 4, 'zzz', 'one two three one three one two four one two three four' ), ( 5, '', 'a b c d e f g' ), ( 6, '', 'h1 h2 h3 h4 h5' ), ( 10, '', 'hi' ), ( 11, '', 'hi' ), ( 12, '', 'zi' ), ( 13, '', CONCAT(REPEAT('vi mi ', 530), ' vi mi hi' ) ), ( 14, '', 'vi mi' ), ( 15, '', 'lo' ), ( 16, '', 'New York New York, New York 10451' ); sphinx-2.2.11-release/test/test_052/model.bin0000644000175000017500000003610112743402012020176 0ustar alexeyalexeya:1:{i:0;a:30:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:3:"idd";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"aaa";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"ccc";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:" aaa << ccc ";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:3:"idd";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.003";s:5:"words";a:3:{s:3:"aaa";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"bbb";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"ccc";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:19:" aaa << bbb << ccc ";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:3:"idd";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.003";s:5:"words";a:3:{s:3:"aaa";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"ccc";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"ddd";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:19:" aaa << ccc << ddd ";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"2543";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"2543";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:3:"ccc";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"ddd";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:" ccc << ddd ";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"2529";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.003";s:5:"words";a:3:{s:3:"ccc";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"eee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"fff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:19:" ccc << eee << fff ";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"2529";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.003";s:5:"words";a:3:{s:3:"ccc";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"ddd";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"ggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:19:" ccc << ddd << ggg ";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:3:"idd";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.003";s:5:"words";a:3:{s:3:"ccc";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"ddd";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"xxx";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:19:" ccc << ddd << xxx ";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:3:"idd";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.003";s:5:"words";a:3:{s:3:"eee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"ddd";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"ggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:19:" eee << ddd << ggg ";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:4;a:2:{s:6:"weight";s:4:"3549";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2546";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.004";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"7";}s:3:"two";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:21:" one << two << three ";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:4;a:2:{s:6:"weight";s:4:"2574";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1569";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.003";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:" one << three ";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:4;a:2:{s:6:"weight";s:4:"2574";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"2569";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.004";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:21:" one << one << three ";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:3;a:2:{s:6:"weight";s:4:"3569";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1574";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.004";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:28:" one << one << one << three ";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1574";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.006";s:5:"words";a:2:{s:3:"one";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"7";}s:5:"three";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:35:" one << one << one << one << three ";}i:13;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"4537";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.004";s:5:"words";a:4:{s:3:"one";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"7";}s:3:"two";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"4";}s:4:"four";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:29:" one << two << three << four ";}i:14;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:3:"idd";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.005";s:5:"words";a:4:{s:1:"a";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"b";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"c";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"d";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:24:" "a b c" << b << c << d ";}i:15;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:3:"idd";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.005";s:5:"words";a:5:{s:1:"a";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"b";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"c";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"d";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"e";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:24:" "a b c" << c << d << e ";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"3602";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.005";s:5:"words";a:6:{s:1:"a";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"b";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"c";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"e";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"f";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"g";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:24:" "a b c" << e << f << g ";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"4540";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.005";s:5:"words";a:5:{s:1:"a";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"b";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"c";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"d";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"e";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:19:" a << "b c d" << e ";}i:18;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:3:"idd";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.006";s:5:"words";a:6:{s:1:"a";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"b";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"c";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"d";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"e";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"f";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:" "a b c d" << "d e f" ";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"4616";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.006";s:5:"words";a:7:{s:1:"a";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"b";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"c";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"d";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"e";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"f";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:1:"g";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:" "a b c d" << "e f g" ";}i:20;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1594";s:5:"attrs";a:0:{}}i:1;a:2:{s:6:"weight";s:4:"1521";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.004";s:5:"words";a:4:{s:3:"ccc";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"ddd";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"eee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"ggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:34:" (ccc | "ddd eee") << (ddd | ggg) ";}i:21;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"2543";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.003";s:5:"words";a:2:{s:3:"ccc";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:3:"ddd";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:" ccc << ddd$ ";}i:22;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"2546";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.004";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"7";}s:3:"two";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:23:" ^one << two << three$ ";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"5546";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.006";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"7";}s:3:"two";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"4";}s:5:"three";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:36:" ^one << "one one" << two << three$ ";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1568";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.003";s:5:"words";a:3:{s:3:"zzz";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"aaa";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"bbb";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:20:" "zzz aaa"/1 << bbb ";}i:25;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:3:"idd";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.003";s:5:"words";a:3:{s:3:"zzz";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"aaa";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"ddd";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:20:" "zzz aaa"/1 << ddd ";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"3500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.003";s:5:"words";a:5:{s:2:"h1";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"h2";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"h3";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"h4";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"h5";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:72:" ("h1 h2" NEAR/5 ( h3 | h4 | h5) ) << ("h1 h2" NEAR/5 ( h3 | h4 | h5) ) ";}i:27;a:3:{s:8:"sphinxql";s:87:" select * from test2 where match ( ' hi | ( vi << mi )' ) and id in ( 10, 11, 12, 15 ) ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:2:"10";}i:1;a:1:{s:2:"id";s:2:"11";}}}i:28;a:3:{s:8:"sphinxql";s:66:" select * from test3 where match ( '"New York, New York 10451"' ) ";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:2:"16";}}}i:29;a:3:{s:8:"sphinxql";s:55:" select * from test4 where match ( ' "m1 m2 m3$"/2 ' ) ";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:1:{s:2:"id";s:4:"5399";}i:1;a:1:{s:2:"id";s:4:"6036";}}}}}sphinx-2.2.11-release/test/test_051/0000755000175000017500000000000012743402012016402 5ustar alexeyalexeysphinx-2.2.11-release/test/test_051/test.xml0000644000175000017500000001512212743402012020104 0ustar alexeyalexey snippets vs exact_phrase + snippets vs passage duplication searchd { } source src { type = mysql sql_query = SELECT 1, 'text'; } index idx { source = src path = /test } index exact { source = src path = /exact morphology = stem_en index_exact_words = 1 blend_chars = (, ), - blend_mode = trim_none, trim_head, trim_tail, trim_both, skip_pure } index idx_ru { source = src path = /idx_ru min_word_len = 1 morphology = stem_enru } select 1; BuildExcerpts ( array($text), 'idx', $query, array('exact_phrase' => true) ); $results [] = $query; $results [] = $reply; } $text = 'A native of Honolulu, Hawaii, Obama is a graduate of Columbia University and Harvard Law School, where he waas the president of the Harvard Law Review. He was a community organizer in Chicago before earning his law degree. He worrked as a civil rights attorney in Chicago and taught constitutional law at the University of Chicago Law School from 19992 to 2004.Obama served three terms in the Illinois Senate from 1997 to 2004.'; $query = '"University and Harvard Law School" obama'; $reply = $client->BuildExcerpts ( array($text), 'idx', $query ,array('query_mode'=>true, 'around'=>2) ); $results [] = $query; $results [] = $reply; $text = 'This is a large house. Its a doggy house. The doggy house is most doggy here. There is no any doggy house around.'; $query = '"the doggy house"'; $reply = $client->BuildExcerpts ( array($text), 'idx', $query, array('query_mode'=>true, 'around'=> 2, 'weight_order'=>true, 'limit_words'=>20) ); $results [] = $query; $results [] = $reply; $query = 'the doggy house'; $reply = $client->BuildExcerpts ( array($text), 'idx', $query, array( 'around'=> 3, 'limit'=>100, 'limit_passages'=>1 ) ); $results [] = $query; $results [] = $reply; $reply = $client->BuildExcerpts ( array($text), 'idx', $query, array( 'around'=> 3, 'exact_phrase'=>true, 'limit'=>100, 'limit_passages'=>1 ) ); $results [] = $query; $results [] = $reply; $reply = $client->BuildExcerpts ( array($text), 'idx', $query, array('around'=> 3, 'limit_words'=>6, 'exact_phrase'=>true) ); $results [] = $query; $results [] = $reply; $query = 'is most'; $reply = $client->BuildExcerpts ( array($text), 'idx', $query, array('around'=> 2, 'limit_words'=>4) ); $results [] = $query; $results [] = $reply; $query = 'is house'; $reply = $client->BuildExcerpts ( array($text), 'idx', $query, array('around'=> 2, 'before_match'=>'', 'after_match'=>'<%PASSAGE_ID% ends>') ); $results [] = $query; $results [] = $reply; $query = 'is house'; $reply = $client->BuildExcerpts ( array($text), 'idx', $query, array('around'=> 2, 'limit_words'=>10, 'before_match'=>'%PASSAGE_ID% !-! ', 'after_match'=>' !-! %PASSAGE_ID%', 'start_passage_id'=>1000) ); $results [] = $query; $results [] = $reply; $query = 'is house'; $reply = $client->BuildExcerpts ( array($text), 'idx', $query, array('around'=> 2, 'limit_words'=>10, 'before_match'=>'', 'after_match'=>'', 'start_passage_id'=>1000) ); $results [] = $query; $results [] = $reply; $query = 'is house'; $reply = $client->BuildExcerpts ( array($text), 'idx', $query, array('around'=> 2, 'limit_words'=>10, 'before_match'=>'', 'after_match'=>'', 'start_passage_id'=>1000) ); $results [] = $query; $results [] = $reply; $query = '=welcome'; $reply = $client->BuildExcerpts ( array('=welcome', '=welcome'), 'exact', $query, array('query_mode'=>1) ); $results [] = "crash on exact words and 2 documents with '=' symbol"; $results [] = $reply; $query = ' =\(12b\-1\) '; $docs = array ( 'Distribution and Service (12b-1) fees' ); $opts =array ( 'query_mode'=>1, 'limit'=>15, 'around'=>2, 'allows_empty'=>1 ); $reply = $client->BuildExcerpts ( $docs, 'exact', $query, $opts ); $results [] = 'exact-blened: plain path'; $results [] = $reply; $opts =array ( 'query_mode'=>1, 'limit'=>0, 'around'=>0, 'allows_empty'=>1 ); $reply = $client->BuildExcerpts ( $docs, 'exact', $query, $opts ); $results [] = 'exact-blened: fast path'; $results [] = $reply; $query = 'word1 word2'; $docs = array ( 'Here are some word1 and word1 or word1, word1. More samples: word1, word1, word1. At the same time, there are more words like word2, word2, word2 and word2. But what should be highlighted is this: word1 or word2. Thats it.' ); $opts = array( 'around'=> 3, 'limit'=>60 ); $reply = $client->BuildExcerpts ( $docs, 'exact', $query, $opts ); $results [] = 'explicit uniq qword weighting'; $results [] = $reply; $results [] = $client->BuildExcerpts ( array('=welcome home'), 'exact', '=welcome', array('query_mode'=>1) ); $results [] = $client->BuildExcerpts ( array('=welcome home'), 'exact', '\=welcome', array('query_mode'=>1) ); $results [] = $client->BuildExcerpts ( array('=welcome home'), 'exact', '\=welcome', array('query_mode'=>0) ); // regression weight ordered passage generation $query = 'масляков'; $docs = array ( 'ждународного сeоюза КВН Александр Масляков и веедущий программы Премьл Лига КВН Александр Масляков младший ши Масляков никогда не принимал' ); $opts = array( 'around'=> 4, 'weight_order'=>true ); $results [] = $client->BuildExcerpts ( $docs, 'idx_ru', $query, $opts ); ]]> sphinx-2.2.11-release/test/test_051/model.bin0000644000175000017500000000557712743402012020212 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:36:{i:0;s:15:"cajuput invalid";i:1;a:1:{i:0;s:244:" ... whirligig INVALID three pilotfish promontory CAJUPUT INVALID CAJUPUT INVALID EXPOSITOR whirligig felspar disposition pilotfish ... humanism detestable promontory comforter chubby CAJUPUT INVALID humanism CAJUPUT";}i:2;s:25:"cajuput invalid expositor";i:3;a:1:{i:0;s:136:" ... three pilotfish promontory CAJUPUT INVALID CAJUPUT INVALID EXPOSITOR whirligig felspar disposition pilotfish chubby ... ";}i:4;s:41:""University and Harvard Law School" obama";i:5;a:1:{i:0;s:153:" ... Honolulu, Hawaii, Obama is a ... of Columbia University and Harvard Law School, where he ... to 2004.Obama served three ... ";}i:6;s:17:""the doggy house"";i:7;a:1:{i:0;s:55:" ... doggy house. The doggy house is most ... ";}i:8;s:15:"the doggy house";i:9;a:1:{i:0;s:126:" ... large house. Its a doggy house. The doggy house is most doggy here ... ";}i:10;s:15:"the doggy house";i:11;a:1:{i:0;s:62:" ... a doggy house. The doggy house is most doggy ... ";}i:12;s:15:"the doggy house";i:13;a:1:{i:0;s:48:" ... house. The doggy house is most ... ";}i:14;s:7:"is most";i:15;a:1:{i:0;s:44:" ... house is most doggy ... ";}i:16;s:8:"is house";i:17;a:1:{i:0;s:253:"This is<1 ends> a large house<2 ends>. Its a doggy house<3 ends>. The doggy house<4 ends> is<5 ends> most doggy here. There is<6 ends> no any doggy house<7 ends> around.";}i:18;s:8:"is house";i:19;a:1:{i:0;s:109:" ... a doggy 1000 !-! house !-! 1000. The doggy 1001 !-! house !-! 1001 1002 !-! is !-! 1002 most doggy ... ";}i:20;s:8:"is house";i:21;a:1:{i:0;s:91:" ... a doggy house. The doggy house is most doggy ... ";}i:22;s:8:"is house";i:23;a:1:{i:0;s:91:" ... a doggy house. The doggy house is most doggy ... ";}i:24;s:52:"crash on exact words and 2 documents with '=' symbol";i:25;a:2:{i:0;s:15:"=welcome";i:1;s:15:"=welcome";}i:26;s:24:"exact-blened: plain path";i:27;a:1:{i:0;s:25:" ... (12b-1) fees";}i:28;s:23:"exact-blened: fast path";i:29;a:1:{i:0;s:44:"Distribution and Service (12b-1) fees";}i:30;s:29:"explicit uniq qword weighting";i:31;a:1:{i:0;s:66:" ... highlighted is this: word1 or word2. Thats it.";}i:32;a:1:{i:0;s:20:"=welcome home";}i:33;a:1:{i:0;s:20:"=welcome home";}i:34;a:1:{i:0;s:20:"=welcome home";}i:35;a:1:{i:0;s:297:" ... Лига КВН Александр Масляков младший ши Масляков никогда не принимал ... ждународного сeоюза КВН Александр Масляков и веедущий программы Премьл ... ";}}}}sphinx-2.2.11-release/test/test_050/0000755000175000017500000000000012743402012016401 5ustar alexeyalexeysphinx-2.2.11-release/test/test_050/test.xml0000644000175000017500000000703412743402012020106 0ustar alexeyalexey bigint attrs indexer { mem_limit = 16M } searchd { } source test { type = mysql sql_query = SELECT id, a, n, text FROM test_table; sql_attr_uint = a sql_attr_bigint = n } index test { source = test path = /test } source test_flt { type = mysql sql_query = SELECT id, n/1000000 as f, text FROM test_table; sql_attr_float = f } index flt { source = test_flt path = /flt } CREATE TABLE test_table ( id INT NOT NULL, a INT UNSIGNED NOT NULL, n BIGINT NOT NULL, text VARCHAR(255) NOT NULL DEFAULT 'text' ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table (id, a, n) VALUES ( 1, 10, -70000000000 ), ( 2, 20, -60000000000 ), ( 3, 30, -50000000000 ), ( 4, 40, 50000000000 ), ( 5, 50, 60000000000 ), ( 6, 60, 70000000000 ), ( 7, 70, -4611686018427387903 ), ( 8, 80, -9223372036854775807 ), ( 9, 90, 4611686018427387903 ), ( 10, 100, 9223372036854775807 ), ( 11, 110, 250000000000000000 ), ( 101, 0, -1 ), ( 102, 0, -2 ); a n sel @groupby @count select *, -n as x from test order by x desc select a, n, n+a as sel from test select * from test group by n order by n desc select abs(n) as sel, * from test group by sel order by sel desc select idiv(abs(n), 10000000000) as sel, * from test where id between 1 and 6 group by sel select idiv(70000000000, 10000000000) as sel, * from test where id between 1 and 6 group by sel select min(a,n) as sel, * from test select * from test where n=-1 select * from test where n=-4611686018427387903 select * from test where n=4611686018427387903 select * from test where n between -100000000000 and 0 select * from test where n between 0 and 100000000000 select * from test where n between -4611686018427387903 and -4611686018427387900 select * from flt where f between -1.1 and 70001 select * from flt where f between 1 and 70000.1 sphinx-2.2.11-release/test/test_050/model.bin0000644000175000017500000005670112743402012020204 0ustar alexeyalexeya:1:{i:0;a:29:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:1:"a";i:1;s:1:"n";i:6;}s:7:"matches";a:13:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"a";i:10;s:1:"n";s:12:"-70000000000";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"a";i:20;s:1:"n";s:12:"-60000000000";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"a";i:30;s:1:"n";s:12:"-50000000000";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"a";i:40;s:1:"n";s:11:"50000000000";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"a";i:50;s:1:"n";s:11:"60000000000";}}i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"a";i:60;s:1:"n";s:11:"70000000000";}}i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"a";i:70;s:1:"n";s:20:"-4611686018427387903";}}i:8;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"a";i:80;s:1:"n";s:20:"-9223372036854775807";}}i:9;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"a";i:90;s:1:"n";s:19:"4611686018427387903";}}i:10;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"a";i:100;s:1:"n";s:19:"9223372036854775807";}}i:11;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"a";i:110;s:1:"n";s:18:"250000000000000000";}}i:101;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"a";i:0;s:1:"n";i:-1;}}i:102;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"a";i:0;s:1:"n";i:-2;}}}s:5:"total";s:2:"13";s:11:"total_found";s:2:"13";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:1:"a";i:1;s:1:"n";i:6;s:5:"@expr";i:5;}s:7:"matches";a:13:{i:8;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"a";i:80;s:1:"n";s:20:"-9223372036854775807";s:5:"@expr";d:9.2233720368547758E+18;}}i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"a";i:70;s:1:"n";s:20:"-4611686018427387903";s:5:"@expr";d:4.6116860184273879E+18;}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"n";s:12:"-70000000000";s:5:"@expr";d:70000001024;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"a";i:20;s:1:"n";s:12:"-60000000000";s:5:"@expr";d:60000002048;}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"a";i:30;s:1:"n";s:12:"-50000000000";s:5:"@expr";d:49999998976;}}i:102;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"a";i:0;s:1:"n";i:-2;s:5:"@expr";d:2;}}i:101;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"a";i:0;s:1:"n";i:-1;s:5:"@expr";d:1;}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"a";i:40;s:1:"n";s:11:"50000000000";s:5:"@expr";d:-49999998976;}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"a";i:50;s:1:"n";s:11:"60000000000";s:5:"@expr";d:-60000002048;}}i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"a";i:60;s:1:"n";s:11:"70000000000";s:5:"@expr";d:-70000001024;}}i:11;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"a";i:110;s:1:"n";s:18:"250000000000000000";s:5:"@expr";d:-2.4999999607668736E+17;}}i:9;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"a";i:90;s:1:"n";s:19:"4611686018427387903";s:5:"@expr";d:-4.6116860184273879E+18;}}i:10;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"a";i:100;s:1:"n";s:19:"9223372036854775807";s:5:"@expr";d:-9.2233720368547758E+18;}}}s:5:"total";s:2:"13";s:11:"total_found";s:2:"13";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:1:"a";i:1;s:1:"n";i:6;s:3:"sel";i:6;}s:7:"matches";a:13:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"n";s:12:"-70000000000";s:3:"sel";s:12:"-69999999990";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"a";i:20;s:1:"n";s:12:"-60000000000";s:3:"sel";s:12:"-59999999980";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"a";i:30;s:1:"n";s:12:"-50000000000";s:3:"sel";s:12:"-49999999970";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"a";i:40;s:1:"n";s:11:"50000000000";s:3:"sel";s:11:"50000000040";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"a";i:50;s:1:"n";s:11:"60000000000";s:3:"sel";s:11:"60000000050";}}i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"a";i:60;s:1:"n";s:11:"70000000000";s:3:"sel";s:11:"70000000060";}}i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"a";i:70;s:1:"n";s:20:"-4611686018427387903";s:3:"sel";s:20:"-4611686018427387833";}}i:8;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"a";i:80;s:1:"n";s:20:"-9223372036854775807";s:3:"sel";s:20:"-9223372036854775727";}}i:9;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"a";i:90;s:1:"n";s:19:"4611686018427387903";s:3:"sel";s:19:"4611686018427387993";}}i:10;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"a";i:100;s:1:"n";s:19:"9223372036854775807";s:3:"sel";s:20:"-9223372036854775709";}}i:11;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"a";i:110;s:1:"n";s:18:"250000000000000000";s:3:"sel";s:18:"250000000000000110";}}i:101;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"a";i:0;s:1:"n";i:-1;s:3:"sel";i:-1;}}i:102;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:1:"a";i:0;s:1:"n";i:-2;s:3:"sel";i:-2;}}}s:5:"total";s:2:"13";s:11:"total_found";s:2:"13";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:4:{s:1:"a";i:1;s:1:"n";i:6;s:8:"@groupby";i:6;s:6:"@count";i:1;}s:7:"matches";a:13:{i:10;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"a";i:100;s:1:"n";s:19:"9223372036854775807";s:8:"@groupby";s:19:"9223372036854775807";s:6:"@count";i:1;}}i:9;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"a";i:90;s:1:"n";s:19:"4611686018427387903";s:8:"@groupby";s:19:"4611686018427387903";s:6:"@count";i:1;}}i:11;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"a";i:110;s:1:"n";s:18:"250000000000000000";s:8:"@groupby";s:18:"250000000000000000";s:6:"@count";i:1;}}i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"a";i:60;s:1:"n";s:11:"70000000000";s:8:"@groupby";s:11:"70000000000";s:6:"@count";i:1;}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"a";i:50;s:1:"n";s:11:"60000000000";s:8:"@groupby";s:11:"60000000000";s:6:"@count";i:1;}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"a";i:40;s:1:"n";s:11:"50000000000";s:8:"@groupby";s:11:"50000000000";s:6:"@count";i:1;}}i:101;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"a";i:0;s:1:"n";i:-1;s:8:"@groupby";i:-1;s:6:"@count";i:1;}}i:102;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"a";i:0;s:1:"n";i:-2;s:8:"@groupby";i:-2;s:6:"@count";i:1;}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"a";i:30;s:1:"n";s:12:"-50000000000";s:8:"@groupby";s:12:"-50000000000";s:6:"@count";i:1;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"a";i:20;s:1:"n";s:12:"-60000000000";s:8:"@groupby";s:12:"-60000000000";s:6:"@count";i:1;}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"a";i:10;s:1:"n";s:12:"-70000000000";s:8:"@groupby";s:12:"-70000000000";s:6:"@count";i:1;}}i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"a";i:70;s:1:"n";s:20:"-4611686018427387903";s:8:"@groupby";s:20:"-4611686018427387903";s:6:"@count";i:1;}}i:8;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:1:"a";i:80;s:1:"n";s:20:"-9223372036854775807";s:8:"@groupby";s:20:"-9223372036854775807";s:6:"@count";i:1;}}}s:5:"total";s:2:"13";s:11:"total_found";s:2:"13";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:5:{s:3:"sel";i:6;s:1:"a";i:1;s:1:"n";i:6;s:8:"@groupby";i:6;s:6:"@count";i:1;}s:7:"matches";a:8:{i:8;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"sel";s:19:"9223372036854775807";s:1:"a";i:80;s:1:"n";s:20:"-9223372036854775807";s:8:"@groupby";s:19:"9223372036854775807";s:6:"@count";i:2;}}i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"sel";s:19:"4611686018427387903";s:1:"a";i:70;s:1:"n";s:20:"-4611686018427387903";s:8:"@groupby";s:19:"4611686018427387903";s:6:"@count";i:2;}}i:11;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"sel";s:18:"250000000000000000";s:1:"a";i:110;s:1:"n";s:18:"250000000000000000";s:8:"@groupby";s:18:"250000000000000000";s:6:"@count";i:1;}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"sel";s:11:"70000000000";s:1:"a";i:10;s:1:"n";s:12:"-70000000000";s:8:"@groupby";s:11:"70000000000";s:6:"@count";i:2;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"sel";s:11:"60000000000";s:1:"a";i:20;s:1:"n";s:12:"-60000000000";s:8:"@groupby";s:11:"60000000000";s:6:"@count";i:2;}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"sel";s:11:"50000000000";s:1:"a";i:30;s:1:"n";s:12:"-50000000000";s:8:"@groupby";s:11:"50000000000";s:6:"@count";i:2;}}i:102;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"sel";i:2;s:1:"a";i:0;s:1:"n";i:-2;s:8:"@groupby";i:2;s:6:"@count";i:1;}}i:101;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"sel";i:1;s:1:"a";i:0;s:1:"n";i:-1;s:8:"@groupby";i:1;s:6:"@count";i:1;}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:5:{s:3:"sel";i:6;s:1:"a";i:1;s:1:"n";i:6;s:8:"@groupby";i:6;s:6:"@count";i:1;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"sel";i:7;s:1:"a";i:10;s:1:"n";s:12:"-70000000000";s:8:"@groupby";i:7;s:6:"@count";i:2;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"sel";i:6;s:1:"a";i:20;s:1:"n";s:12:"-60000000000";s:8:"@groupby";i:6;s:6:"@count";i:2;}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"sel";i:5;s:1:"a";i:30;s:1:"n";s:12:"-50000000000";s:8:"@groupby";i:5;s:6:"@count";i:2;}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:5:{s:3:"sel";i:6;s:1:"a";i:1;s:1:"n";i:6;s:8:"@groupby";i:6;s:6:"@count";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"sel";i:7;s:1:"a";i:10;s:1:"n";s:12:"-70000000000";s:8:"@groupby";i:7;s:6:"@count";i:6;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:3:"sel";i:6;s:1:"a";i:1;s:1:"n";i:6;}s:7:"matches";a:13:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"sel";s:12:"-70000000000";s:1:"a";i:10;s:1:"n";s:12:"-70000000000";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"sel";s:12:"-60000000000";s:1:"a";i:20;s:1:"n";s:12:"-60000000000";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"sel";s:12:"-50000000000";s:1:"a";i:30;s:1:"n";s:12:"-50000000000";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"sel";i:40;s:1:"a";i:40;s:1:"n";s:11:"50000000000";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"sel";i:50;s:1:"a";i:50;s:1:"n";s:11:"60000000000";}}i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"sel";i:60;s:1:"a";i:60;s:1:"n";s:11:"70000000000";}}i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"sel";s:20:"-4611686018427387903";s:1:"a";i:70;s:1:"n";s:20:"-4611686018427387903";}}i:8;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"sel";s:20:"-9223372036854775807";s:1:"a";i:80;s:1:"n";s:20:"-9223372036854775807";}}i:9;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"sel";i:90;s:1:"a";i:90;s:1:"n";s:19:"4611686018427387903";}}i:10;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"sel";i:100;s:1:"a";i:100;s:1:"n";s:19:"9223372036854775807";}}i:11;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"sel";i:110;s:1:"a";i:110;s:1:"n";s:18:"250000000000000000";}}i:101;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"sel";i:-1;s:1:"a";i:0;s:1:"n";i:-1;}}i:102;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"sel";i:-2;s:1:"a";i:0;s:1:"n";i:-2;}}}s:5:"total";s:2:"13";s:11:"total_found";s:2:"13";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:1:"a";i:1;s:1:"n";i:6;}s:7:"matches";a:1:{i:101;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"a";i:0;s:1:"n";i:-1;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:1:"a";i:1;s:1:"n";i:6;}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"a";i:70;s:1:"n";s:20:"-4611686018427387903";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:10;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:1:"a";i:1;s:1:"n";i:6;}s:7:"matches";a:1:{i:9;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"a";i:90;s:1:"n";s:19:"4611686018427387903";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:11;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:1:"a";i:1;s:1:"n";i:6;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"a";i:10;s:1:"n";s:12:"-70000000000";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"a";i:20;s:1:"n";s:12:"-60000000000";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"a";i:30;s:1:"n";s:12:"-50000000000";}}i:101;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"a";i:0;s:1:"n";i:-1;}}i:102;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"a";i:0;s:1:"n";i:-2;}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:12;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:1:"a";i:1;s:1:"n";i:6;}s:7:"matches";a:3:{i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"a";i:40;s:1:"n";s:11:"50000000000";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"a";i:50;s:1:"n";s:11:"60000000000";}}i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"a";i:60;s:1:"n";s:11:"70000000000";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:13;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:1:"a";i:1;s:1:"n";i:6;}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:1:"a";i:70;s:1:"n";s:20:"-4611686018427387903";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:14;a:3:{s:8:"sphinxql";s:43:"select *, -n as x from test order by x desc";s:10:"total_rows";i:13;s:4:"rows";a:13:{i:0;a:4:{s:2:"id";s:1:"8";s:1:"a";s:2:"80";s:1:"n";s:20:"-9223372036854775807";s:1:"x";s:19:"9223372036854775807";}i:1;a:4:{s:2:"id";s:1:"7";s:1:"a";s:2:"70";s:1:"n";s:20:"-4611686018427387903";s:1:"x";s:19:"4611686018427387903";}i:2;a:4:{s:2:"id";s:1:"1";s:1:"a";s:2:"10";s:1:"n";s:12:"-70000000000";s:1:"x";s:11:"70000000000";}i:3;a:4:{s:2:"id";s:1:"2";s:1:"a";s:2:"20";s:1:"n";s:12:"-60000000000";s:1:"x";s:11:"60000000000";}i:4;a:4:{s:2:"id";s:1:"3";s:1:"a";s:2:"30";s:1:"n";s:12:"-50000000000";s:1:"x";s:11:"50000000000";}i:5;a:4:{s:2:"id";s:3:"102";s:1:"a";s:1:"0";s:1:"n";s:2:"-2";s:1:"x";s:1:"2";}i:6;a:4:{s:2:"id";s:3:"101";s:1:"a";s:1:"0";s:1:"n";s:2:"-1";s:1:"x";s:1:"1";}i:7;a:4:{s:2:"id";s:1:"4";s:1:"a";s:2:"40";s:1:"n";s:11:"50000000000";s:1:"x";s:12:"-50000000000";}i:8;a:4:{s:2:"id";s:1:"5";s:1:"a";s:2:"50";s:1:"n";s:11:"60000000000";s:1:"x";s:12:"-60000000000";}i:9;a:4:{s:2:"id";s:1:"6";s:1:"a";s:2:"60";s:1:"n";s:11:"70000000000";s:1:"x";s:12:"-70000000000";}i:10;a:4:{s:2:"id";s:2:"11";s:1:"a";s:3:"110";s:1:"n";s:18:"250000000000000000";s:1:"x";s:19:"-250000000000000000";}i:11;a:4:{s:2:"id";s:1:"9";s:1:"a";s:2:"90";s:1:"n";s:19:"4611686018427387903";s:1:"x";s:20:"-4611686018427387903";}i:12;a:4:{s:2:"id";s:2:"10";s:1:"a";s:3:"100";s:1:"n";s:19:"9223372036854775807";s:1:"x";s:20:"-9223372036854775807";}}}i:15;a:3:{s:8:"sphinxql";s:33:"select a, n, n+a as sel from test";s:10:"total_rows";i:13;s:4:"rows";a:13:{i:0;a:3:{s:1:"a";s:2:"10";s:1:"n";s:12:"-70000000000";s:3:"sel";s:12:"-69999999990";}i:1;a:3:{s:1:"a";s:2:"20";s:1:"n";s:12:"-60000000000";s:3:"sel";s:12:"-59999999980";}i:2;a:3:{s:1:"a";s:2:"30";s:1:"n";s:12:"-50000000000";s:3:"sel";s:12:"-49999999970";}i:3;a:3:{s:1:"a";s:2:"40";s:1:"n";s:11:"50000000000";s:3:"sel";s:11:"50000000040";}i:4;a:3:{s:1:"a";s:2:"50";s:1:"n";s:11:"60000000000";s:3:"sel";s:11:"60000000050";}i:5;a:3:{s:1:"a";s:2:"60";s:1:"n";s:11:"70000000000";s:3:"sel";s:11:"70000000060";}i:6;a:3:{s:1:"a";s:2:"70";s:1:"n";s:20:"-4611686018427387903";s:3:"sel";s:20:"-4611686018427387833";}i:7;a:3:{s:1:"a";s:2:"80";s:1:"n";s:20:"-9223372036854775807";s:3:"sel";s:20:"-9223372036854775727";}i:8;a:3:{s:1:"a";s:2:"90";s:1:"n";s:19:"4611686018427387903";s:3:"sel";s:19:"4611686018427387993";}i:9;a:3:{s:1:"a";s:3:"100";s:1:"n";s:19:"9223372036854775807";s:3:"sel";s:20:"-9223372036854775709";}i:10;a:3:{s:1:"a";s:3:"110";s:1:"n";s:18:"250000000000000000";s:3:"sel";s:18:"250000000000000110";}i:11;a:3:{s:1:"a";s:1:"0";s:1:"n";s:2:"-1";s:3:"sel";s:2:"-1";}i:12;a:3:{s:1:"a";s:1:"0";s:1:"n";s:2:"-2";s:3:"sel";s:2:"-2";}}}i:16;a:3:{s:8:"sphinxql";s:45:"select * from test group by n order by n desc";s:10:"total_rows";i:13;s:4:"rows";a:13:{i:0;a:3:{s:2:"id";s:2:"10";s:1:"a";s:3:"100";s:1:"n";s:19:"9223372036854775807";}i:1;a:3:{s:2:"id";s:1:"9";s:1:"a";s:2:"90";s:1:"n";s:19:"4611686018427387903";}i:2;a:3:{s:2:"id";s:2:"11";s:1:"a";s:3:"110";s:1:"n";s:18:"250000000000000000";}i:3;a:3:{s:2:"id";s:1:"6";s:1:"a";s:2:"60";s:1:"n";s:11:"70000000000";}i:4;a:3:{s:2:"id";s:1:"5";s:1:"a";s:2:"50";s:1:"n";s:11:"60000000000";}i:5;a:3:{s:2:"id";s:1:"4";s:1:"a";s:2:"40";s:1:"n";s:11:"50000000000";}i:6;a:3:{s:2:"id";s:3:"101";s:1:"a";s:1:"0";s:1:"n";s:2:"-1";}i:7;a:3:{s:2:"id";s:3:"102";s:1:"a";s:1:"0";s:1:"n";s:2:"-2";}i:8;a:3:{s:2:"id";s:1:"3";s:1:"a";s:2:"30";s:1:"n";s:12:"-50000000000";}i:9;a:3:{s:2:"id";s:1:"2";s:1:"a";s:2:"20";s:1:"n";s:12:"-60000000000";}i:10;a:3:{s:2:"id";s:1:"1";s:1:"a";s:2:"10";s:1:"n";s:12:"-70000000000";}i:11;a:3:{s:2:"id";s:1:"7";s:1:"a";s:2:"70";s:1:"n";s:20:"-4611686018427387903";}i:12;a:3:{s:2:"id";s:1:"8";s:1:"a";s:2:"80";s:1:"n";s:20:"-9223372036854775807";}}}i:17;a:3:{s:8:"sphinxql";s:64:"select abs(n) as sel, * from test group by sel order by sel desc";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:4:{s:3:"sel";s:19:"9223372036854775807";s:2:"id";s:1:"8";s:1:"a";s:2:"80";s:1:"n";s:20:"-9223372036854775807";}i:1;a:4:{s:3:"sel";s:19:"4611686018427387903";s:2:"id";s:1:"7";s:1:"a";s:2:"70";s:1:"n";s:20:"-4611686018427387903";}i:2;a:4:{s:3:"sel";s:18:"250000000000000000";s:2:"id";s:2:"11";s:1:"a";s:3:"110";s:1:"n";s:18:"250000000000000000";}i:3;a:4:{s:3:"sel";s:11:"70000000000";s:2:"id";s:1:"1";s:1:"a";s:2:"10";s:1:"n";s:12:"-70000000000";}i:4;a:4:{s:3:"sel";s:11:"60000000000";s:2:"id";s:1:"2";s:1:"a";s:2:"20";s:1:"n";s:12:"-60000000000";}i:5;a:4:{s:3:"sel";s:11:"50000000000";s:2:"id";s:1:"3";s:1:"a";s:2:"30";s:1:"n";s:12:"-50000000000";}i:6;a:4:{s:3:"sel";s:1:"2";s:2:"id";s:3:"102";s:1:"a";s:1:"0";s:1:"n";s:2:"-2";}i:7;a:4:{s:3:"sel";s:1:"1";s:2:"id";s:3:"101";s:1:"a";s:1:"0";s:1:"n";s:2:"-1";}}}i:18;a:3:{s:8:"sphinxql";s:90:"select idiv(abs(n), 10000000000) as sel, * from test where id between 1 and 6 group by sel";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:4:{s:3:"sel";s:1:"7";s:2:"id";s:1:"1";s:1:"a";s:2:"10";s:1:"n";s:12:"-70000000000";}i:1;a:4:{s:3:"sel";s:1:"6";s:2:"id";s:1:"2";s:1:"a";s:2:"20";s:1:"n";s:12:"-60000000000";}i:2;a:4:{s:3:"sel";s:1:"5";s:2:"id";s:1:"3";s:1:"a";s:2:"30";s:1:"n";s:12:"-50000000000";}}}i:19;a:3:{s:8:"sphinxql";s:95:"select idiv(70000000000, 10000000000) as sel, * from test where id between 1 and 6 group by sel";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:4:{s:3:"sel";s:1:"7";s:2:"id";s:1:"1";s:1:"a";s:2:"10";s:1:"n";s:12:"-70000000000";}}}i:20;a:3:{s:8:"sphinxql";s:35:"select min(a,n) as sel, * from test";s:10:"total_rows";i:13;s:4:"rows";a:13:{i:0;a:4:{s:3:"sel";s:12:"-70000000000";s:2:"id";s:1:"1";s:1:"a";s:2:"10";s:1:"n";s:12:"-70000000000";}i:1;a:4:{s:3:"sel";s:12:"-60000000000";s:2:"id";s:1:"2";s:1:"a";s:2:"20";s:1:"n";s:12:"-60000000000";}i:2;a:4:{s:3:"sel";s:12:"-50000000000";s:2:"id";s:1:"3";s:1:"a";s:2:"30";s:1:"n";s:12:"-50000000000";}i:3;a:4:{s:3:"sel";s:2:"40";s:2:"id";s:1:"4";s:1:"a";s:2:"40";s:1:"n";s:11:"50000000000";}i:4;a:4:{s:3:"sel";s:2:"50";s:2:"id";s:1:"5";s:1:"a";s:2:"50";s:1:"n";s:11:"60000000000";}i:5;a:4:{s:3:"sel";s:2:"60";s:2:"id";s:1:"6";s:1:"a";s:2:"60";s:1:"n";s:11:"70000000000";}i:6;a:4:{s:3:"sel";s:20:"-4611686018427387903";s:2:"id";s:1:"7";s:1:"a";s:2:"70";s:1:"n";s:20:"-4611686018427387903";}i:7;a:4:{s:3:"sel";s:20:"-9223372036854775807";s:2:"id";s:1:"8";s:1:"a";s:2:"80";s:1:"n";s:20:"-9223372036854775807";}i:8;a:4:{s:3:"sel";s:2:"90";s:2:"id";s:1:"9";s:1:"a";s:2:"90";s:1:"n";s:19:"4611686018427387903";}i:9;a:4:{s:3:"sel";s:3:"100";s:2:"id";s:2:"10";s:1:"a";s:3:"100";s:1:"n";s:19:"9223372036854775807";}i:10;a:4:{s:3:"sel";s:3:"110";s:2:"id";s:2:"11";s:1:"a";s:3:"110";s:1:"n";s:18:"250000000000000000";}i:11;a:4:{s:3:"sel";s:2:"-1";s:2:"id";s:3:"101";s:1:"a";s:1:"0";s:1:"n";s:2:"-1";}i:12;a:4:{s:3:"sel";s:2:"-2";s:2:"id";s:3:"102";s:1:"a";s:1:"0";s:1:"n";s:2:"-2";}}}i:21;a:3:{s:8:"sphinxql";s:29:"select * from test where n=-1";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:3:"101";s:1:"a";s:1:"0";s:1:"n";s:2:"-1";}}}i:22;a:3:{s:8:"sphinxql";s:47:"select * from test where n=-4611686018427387903";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"7";s:1:"a";s:2:"70";s:1:"n";s:20:"-4611686018427387903";}}}i:23;a:3:{s:8:"sphinxql";s:46:"select * from test where n=4611686018427387903";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"9";s:1:"a";s:2:"90";s:1:"n";s:19:"4611686018427387903";}}}i:24;a:3:{s:8:"sphinxql";s:54:"select * from test where n between -100000000000 and 0";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:3:{s:2:"id";s:1:"1";s:1:"a";s:2:"10";s:1:"n";s:12:"-70000000000";}i:1;a:3:{s:2:"id";s:1:"2";s:1:"a";s:2:"20";s:1:"n";s:12:"-60000000000";}i:2;a:3:{s:2:"id";s:1:"3";s:1:"a";s:2:"30";s:1:"n";s:12:"-50000000000";}i:3;a:3:{s:2:"id";s:3:"101";s:1:"a";s:1:"0";s:1:"n";s:2:"-1";}i:4;a:3:{s:2:"id";s:3:"102";s:1:"a";s:1:"0";s:1:"n";s:2:"-2";}}}i:25;a:3:{s:8:"sphinxql";s:53:"select * from test where n between 0 and 100000000000";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:3:{s:2:"id";s:1:"4";s:1:"a";s:2:"40";s:1:"n";s:11:"50000000000";}i:1;a:3:{s:2:"id";s:1:"5";s:1:"a";s:2:"50";s:1:"n";s:11:"60000000000";}i:2;a:3:{s:2:"id";s:1:"6";s:1:"a";s:2:"60";s:1:"n";s:11:"70000000000";}}}i:26;a:3:{s:8:"sphinxql";s:80:"select * from test where n between -4611686018427387903 and -4611686018427387900";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:2:"id";s:1:"7";s:1:"a";s:2:"70";s:1:"n";s:20:"-4611686018427387903";}}}i:27;a:3:{s:8:"sphinxql";s:48:"select * from flt where f between -1.1 and 70001";s:10:"total_rows";i:5;s:4:"rows";a:5:{i:0;a:2:{s:2:"id";s:1:"4";s:1:"f";s:12:"50000.000000";}i:1;a:2:{s:2:"id";s:1:"5";s:1:"f";s:12:"60000.000000";}i:2;a:2:{s:2:"id";s:1:"6";s:1:"f";s:12:"70000.000000";}i:3;a:2:{s:2:"id";s:3:"101";s:1:"f";s:8:"0.000000";}i:4;a:2:{s:2:"id";s:3:"102";s:1:"f";s:8:"0.000000";}}}i:28;a:3:{s:8:"sphinxql";s:47:"select * from flt where f between 1 and 70000.1";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"4";s:1:"f";s:12:"50000.000000";}i:1;a:2:{s:2:"id";s:1:"5";s:1:"f";s:12:"60000.000000";}i:2;a:2:{s:2:"id";s:1:"6";s:1:"f";s:12:"70000.000000";}}}}}sphinx-2.2.11-release/test/test_049/0000755000175000017500000000000012743402012016411 5ustar alexeyalexeysphinx-2.2.11-release/test/test_049/test.xml0000644000175000017500000000563012743402012020116 0ustar alexeyalexey multi-index queries vs index weights indexer { mem_limit = 16M } searchd { } source src_a { type = mysql sql_query = SELECT id, a, b, c, text FROM test_table WHERE idx = 'a'; sql_attr_uint = a sql_attr_uint = b sql_attr_uint = c:1 } source src_delta { type = mysql sql_query = SELECT id, b, a, c, text FROM test_table WHERE idx = 'delta'; sql_attr_uint = a sql_attr_uint = b sql_attr_uint = c:1 } source src_a2 { type = mysql sql_query = SELECT id, a, b, c, text FROM test_table WHERE idx = 'a'; sql_attr_uint = a sql_attr_uint = b sql_attr_uint = c:2 } source src_b { type = mysql sql_query = SELECT id, a, b, text FROM test_table WHERE idx = 'b'; sql_attr_uint = a sql_attr_uint = b } source src_c { type = mysql sql_query = SELECT id, mva as a, text FROM test_table WHERE idx = 'c'; sql_attr_multi = uint a from field sql_attr_multi = bigint a from field } index a { source = src_a path = /a } index delta { source = src_delta path = /delta } index a2 { source = src_a2 path = /a2 } index b { source = src_b path = /b } index c { source = src_c path = /c } CREATE TABLE test_table ( id INT NOT NULL, a INT NOT NULL, b INT NOT NULL, c INT NOT NULL, mva VARCHAR(255) NOT NULL, text VARCHAR(255) NOT NULL DEFAULT 'text', idx VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table (id, a, b, c, mva, idx) VALUES ( 1, 10, 20, 3, '', 'a' ), ( 2, 10, 20, 3, '', 'a' ), ( 3, 10, 20, 3, '', 'a' ), ( 4, 10, 20, 3, '', 'a' ), ( 1, 1, 21, 3, '', 'b' ), ( 2, 2, 22, 3, '', 'b' ), ( 3, 3, 23, 3, '', 'b' ), ( 4, 4, 24, 3, '', 'b' ), ( 1, 0, 0, 0, '1, 2, 3', 'c' ), ( 3, 0, 0, 0, '4', 'c' ), ( 10, 0, 0, 0, '5, 6', 'c' ), ( 1, 101, 201, 0, 5, 'delta' ), ( 2, 102, 202, 0, 5, 'delta' ), ( 12, 112, 212, 0, 5, 'delta' ); a b c text text text text text text text text text text text text text text text sphinx-2.2.11-release/test/test_049/model.bin0000644000175000017500000005207212743402012020211 0ustar alexeyalexeya:2:{i:0;a:15:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:1:"a";i:1;s:1:"b";i:1;s:1:"c";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:1;}}i:2;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:1;}}i:3;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:1;}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:1;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:1:"a";i:1;s:1:"b";i:1;s:1:"c";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:3;}}i:2;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:3;}}i:3;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:3;}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:3;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:1:"a";i:1;s:1:"b";i:1;s:1:"c";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:3;}}i:2;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:3;}}i:3;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:3;}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:3;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.002";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"8";s:4:"hits";s:1:"8";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:1:"a";i:1;s:1:"b";i:1;s:1:"c";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:1;}}i:2;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:1;}}i:3;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:1;}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:1;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"8";s:4:"hits";s:1:"8";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:1:"a";i:1;s:1:"b";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:2:{s:1:"a";i:1;s:1:"b";i:21;}}i:2;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:2:{s:1:"a";i:2;s:1:"b";i:22;}}i:3;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:2:{s:1:"a";i:3;s:1:"b";i:23;}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:2:{s:1:"a";i:4;s:1:"b";i:24;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"8";s:4:"hits";s:1:"8";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:1:"a";i:1;s:1:"b";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:2:{s:1:"a";i:10;s:1:"b";i:20;}}i:2;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:2:{s:1:"a";i:10;s:1:"b";i:20;}}i:3;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:2:{s:1:"a";i:10;s:1:"b";i:20;}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:2:{s:1:"a";i:10;s:1:"b";i:20;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.002";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"8";s:4:"hits";s:1:"8";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:1:"b";i:1;s:1:"a";i:1;s:1:"c";i:1;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:1:"b";i:201;s:1:"a";i:101;s:1:"c";i:0;}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:1:"b";i:202;s:1:"a";i:102;s:1:"c";i:0;}}i:12;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:1:"b";i:212;s:1:"a";i:112;s:1:"c";i:0;}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:1:"a";i:1;s:1:"b";i:1;s:1:"c";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:1:"a";i:101;s:1:"b";i:201;s:1:"c";i:0;}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:1:"a";i:102;s:1:"b";i:202;s:1:"c";i:0;}}i:12;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:1:"a";i:112;s:1:"b";i:212;s:1:"c";i:0;}}i:3;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:1;}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:1;}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"7";s:4:"hits";s:1:"7";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:1:"b";i:1;s:1:"a";i:1;s:1:"c";i:1;}s:7:"matches";a:5:{i:12;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:1:"b";i:212;s:1:"a";i:112;s:1:"c";i:0;}}i:1;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"b";i:20;s:1:"a";i:10;s:1:"c";i:1;}}i:2;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"b";i:20;s:1:"a";i:10;s:1:"c";i:1;}}i:3;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"b";i:20;s:1:"a";i:10;s:1:"c";i:1;}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"b";i:20;s:1:"a";i:10;s:1:"c";i:1;}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"7";s:4:"hits";s:1:"7";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:1:"a";i:1073741825;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:1:{s:1:"a";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:1:{s:1:"a";a:1:{i:0;i:4;}}}i:10;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:1:{s:1:"a";a:2:{i:0;i:5;i:1;i:6;}}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"7";s:11:"total_found";s:1:"7";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"7";s:4:"hits";s:1:"7";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:2:"11";s:11:"total_found";s:2:"11";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:2:"11";s:4:"hits";s:2:"11";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:0:{}}}s:5:"total";s:2:"11";s:11:"total_found";s:2:"11";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:2:"11";s:4:"hits";s:2:"11";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:13;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:1:"a";i:1;s:1:"b";i:1;s:1:"c";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:6:"131900";s:5:"attrs";a:3:{s:1:"a";i:101;s:1:"b";i:201;s:1:"c";i:0;}}i:2;a:2:{s:6:"weight";s:6:"131900";s:5:"attrs";a:3:{s:1:"a";i:102;s:1:"b";i:202;s:1:"c";i:0;}}i:3;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:1;}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:1;}}i:12;a:2:{s:6:"weight";s:6:"131900";s:5:"attrs";a:3:{s:1:"a";i:112;s:1:"b";i:212;s:1:"c";i:0;}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"7";s:4:"hits";s:1:"7";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:14;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:1:"b";i:1;s:1:"a";i:1;s:1:"c";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:6:"130400";s:5:"attrs";a:3:{s:1:"b";i:20;s:1:"a";i:10;s:1:"c";i:1;}}i:2;a:2:{s:6:"weight";s:6:"130400";s:5:"attrs";a:3:{s:1:"b";i:20;s:1:"a";i:10;s:1:"c";i:1;}}i:3;a:2:{s:6:"weight";s:6:"130400";s:5:"attrs";a:3:{s:1:"b";i:20;s:1:"a";i:10;s:1:"c";i:1;}}i:4;a:2:{s:6:"weight";s:6:"130400";s:5:"attrs";a:3:{s:1:"b";i:20;s:1:"a";i:10;s:1:"c";i:1;}}i:12;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:1:"b";i:212;s:1:"a";i:112;s:1:"c";i:0;}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"7";s:4:"hits";s:1:"7";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}}i:1;a:15:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:1:"a";i:1;s:1:"b";i:1;s:1:"c";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:1;}}i:2;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:1;}}i:3;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:1;}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:1;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:1:"a";i:1;s:1:"b";i:1;s:1:"c";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:3;}}i:2;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:3;}}i:3;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:3;}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:3;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:1:"a";i:1;s:1:"b";i:1;s:1:"c";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:3;}}i:2;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:3;}}i:3;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:3;}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:3;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"8";s:4:"hits";s:1:"8";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:1:"a";i:1;s:1:"b";i:1;s:1:"c";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:1;}}i:2;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:1;}}i:3;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:1;}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:1;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"8";s:4:"hits";s:1:"8";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:1:"a";i:1;s:1:"b";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:2:{s:1:"a";i:1;s:1:"b";i:21;}}i:2;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:2:{s:1:"a";i:2;s:1:"b";i:22;}}i:3;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:2:{s:1:"a";i:3;s:1:"b";i:23;}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:2:{s:1:"a";i:4;s:1:"b";i:24;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"8";s:4:"hits";s:1:"8";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:1:"a";i:1;s:1:"b";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:2:{s:1:"a";i:10;s:1:"b";i:20;}}i:2;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:2:{s:1:"a";i:10;s:1:"b";i:20;}}i:3;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:2:{s:1:"a";i:10;s:1:"b";i:20;}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:2:{s:1:"a";i:10;s:1:"b";i:20;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"8";s:4:"hits";s:1:"8";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:1:"b";i:1;s:1:"a";i:1;s:1:"c";i:1;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:1:"b";i:201;s:1:"a";i:101;s:1:"c";i:0;}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:1:"b";i:202;s:1:"a";i:102;s:1:"c";i:0;}}i:12;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:1:"b";i:212;s:1:"a";i:112;s:1:"c";i:0;}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:1:"a";i:1;s:1:"b";i:1;s:1:"c";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:1:"a";i:101;s:1:"b";i:201;s:1:"c";i:0;}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:1:"a";i:102;s:1:"b";i:202;s:1:"c";i:0;}}i:12;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:1:"a";i:112;s:1:"b";i:212;s:1:"c";i:0;}}i:3;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:1;}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:1;}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"7";s:4:"hits";s:1:"7";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:1:"b";i:1;s:1:"a";i:1;s:1:"c";i:1;}s:7:"matches";a:5:{i:12;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:1:"b";i:212;s:1:"a";i:112;s:1:"c";i:0;}}i:1;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"b";i:20;s:1:"a";i:10;s:1:"c";i:1;}}i:2;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"b";i:20;s:1:"a";i:10;s:1:"c";i:1;}}i:3;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"b";i:20;s:1:"a";i:10;s:1:"c";i:1;}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"b";i:20;s:1:"a";i:10;s:1:"c";i:1;}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"7";s:4:"hits";s:1:"7";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:1:"a";i:1073741826;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:1:{s:1:"a";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:1:{s:1:"a";a:1:{i:0;i:4;}}}i:10;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:1:{s:1:"a";a:2:{i:0;i:5;i:1;i:6;}}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"7";s:11:"total_found";s:1:"7";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"7";s:4:"hits";s:1:"7";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:2:"11";s:11:"total_found";s:2:"11";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:2:"11";s:4:"hits";s:2:"11";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:0:{}}}s:5:"total";s:2:"11";s:11:"total_found";s:2:"11";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:2:"11";s:4:"hits";s:2:"11";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:13;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:1:"a";i:1;s:1:"b";i:1;s:1:"c";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:6:"131900";s:5:"attrs";a:3:{s:1:"a";i:101;s:1:"b";i:201;s:1:"c";i:0;}}i:2;a:2:{s:6:"weight";s:6:"131900";s:5:"attrs";a:3:{s:1:"a";i:102;s:1:"b";i:202;s:1:"c";i:0;}}i:3;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:1;}}i:4;a:2:{s:6:"weight";s:4:"1304";s:5:"attrs";a:3:{s:1:"a";i:10;s:1:"b";i:20;s:1:"c";i:1;}}i:12;a:2:{s:6:"weight";s:6:"131900";s:5:"attrs";a:3:{s:1:"a";i:112;s:1:"b";i:212;s:1:"c";i:0;}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"7";s:4:"hits";s:1:"7";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}i:14;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:3:{s:1:"b";i:1;s:1:"a";i:1;s:1:"c";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:6:"130400";s:5:"attrs";a:3:{s:1:"b";i:20;s:1:"a";i:10;s:1:"c";i:1;}}i:2;a:2:{s:6:"weight";s:6:"130400";s:5:"attrs";a:3:{s:1:"b";i:20;s:1:"a";i:10;s:1:"c";i:1;}}i:3;a:2:{s:6:"weight";s:6:"130400";s:5:"attrs";a:3:{s:1:"b";i:20;s:1:"a";i:10;s:1:"c";i:1;}}i:4;a:2:{s:6:"weight";s:6:"130400";s:5:"attrs";a:3:{s:1:"b";i:20;s:1:"a";i:10;s:1:"c";i:1;}}i:12;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:3:{s:1:"b";i:212;s:1:"a";i:112;s:1:"c";i:0;}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"text";a:2:{s:4:"docs";s:1:"7";s:4:"hits";s:1:"7";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"text";}}}sphinx-2.2.11-release/test/test_047/0000755000175000017500000000000012743402012016407 5ustar alexeyalexeysphinx-2.2.11-release/test/test_047/test.xml0000644000175000017500000000314112743402012020107 0ustar alexeyalexey id64 indexer { mem_limit = 16M } searchd { } source test { type = mysql sql_query = SELECT id, n, text FROM test_table; sql_attr_uint = n } index test { source = test path = /test docinfo = extern } CREATE TABLE test_table ( id BIGINT UNSIGNED NOT NULL, n INT NOT NULL DEFAULT 42, text VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table (id, text) VALUES ( 50000000000, 'five' ), ( 50000000000, 'dup' ), ( 50000000001, 'five+1' ), ( 60000000000, 'six' ), ( 60000000001, 'six+1' ), ( 9223372036854775806, 'mid -1' ), ( 9223372036854775807, 'mid' ), ( 9223372036854775808, 'mid +1' ), ( 18446744073709551613, 'last' ), ( 18446744073709551614, 'last' ), ( 18446744073709551615, 'max (wont make it)' ); sel @groupby @count five last max mid sphinx-2.2.11-release/test/test_047/model.bin0000644000175000017500000001366212743402012020211 0ustar alexeyalexeya:1:{i:0;a:10:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:1:"n";i:1;}s:7:"matches";a:2:{s:11:"50000000000";a:2:{s:6:"weight";s:4:"1642";s:5:"attrs";a:1:{s:1:"n";i:42;}}s:11:"50000000001";a:2:{s:6:"weight";s:4:"1642";s:5:"attrs";a:1:{s:1:"n";i:42;}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"five";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"five";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:1:"n";i:1;}s:7:"matches";a:2:{s:20:"18446744073709551613";a:2:{s:6:"weight";s:4:"1642";s:5:"attrs";a:1:{s:1:"n";i:42;}}s:20:"18446744073709551614";a:2:{s:6:"weight";s:4:"1642";s:5:"attrs";a:1:{s:1:"n";i:42;}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"last";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"last";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:1:"n";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"max";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"max";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:1:"n";i:1;}s:7:"matches";a:3:{s:19:"9223372036854775806";a:2:{s:6:"weight";s:4:"1592";s:5:"attrs";a:1:{s:1:"n";i:42;}}s:19:"9223372036854775807";a:2:{s:6:"weight";s:4:"1592";s:5:"attrs";a:1:{s:1:"n";i:42;}}s:19:"9223372036854775808";a:2:{s:6:"weight";s:4:"1592";s:5:"attrs";a:1:{s:1:"n";i:42;}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"mid";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"mid";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:1:"n";i:1;}s:7:"matches";a:3:{s:11:"50000000000";a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:1:"n";i:42;}}s:11:"50000000001";a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:1:"n";i:42;}}s:11:"60000000000";a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:1:"n";i:42;}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:1:"n";i:1;}s:7:"matches";a:5:{s:19:"9223372036854775806";a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:1:"n";i:42;}}s:19:"9223372036854775807";a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:1:"n";i:42;}}s:19:"9223372036854775808";a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:1:"n";i:42;}}s:20:"18446744073709551613";a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:1:"n";i:42;}}s:20:"18446744073709551614";a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:1:"n";i:42;}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:1:"n";i:1;}s:7:"matches";a:1:{s:19:"9223372036854775807";a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:1:"n";i:42;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:4:{s:3:"sel";i:6;s:1:"n";i:1;s:8:"@groupby";i:6;s:6:"@count";i:1;}s:7:"matches";a:9:{s:19:"9223372036854775807";a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:3:"sel";s:19:"9223372036854775807";s:1:"n";i:42;s:8:"@groupby";s:19:"9223372036854775807";s:6:"@count";i:1;}}s:19:"9223372036854775806";a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:3:"sel";s:19:"9223372036854775806";s:1:"n";i:42;s:8:"@groupby";s:19:"9223372036854775806";s:6:"@count";i:1;}}s:11:"60000000001";a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:3:"sel";s:11:"60000000001";s:1:"n";i:42;s:8:"@groupby";s:11:"60000000001";s:6:"@count";i:1;}}s:11:"60000000000";a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:3:"sel";s:11:"60000000000";s:1:"n";i:42;s:8:"@groupby";s:11:"60000000000";s:6:"@count";i:1;}}s:11:"50000000001";a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:3:"sel";s:11:"50000000001";s:1:"n";i:42;s:8:"@groupby";s:11:"50000000001";s:6:"@count";i:1;}}s:11:"50000000000";a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:3:"sel";s:11:"50000000000";s:1:"n";i:42;s:8:"@groupby";s:11:"50000000000";s:6:"@count";i:1;}}s:20:"18446744073709551614";a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:3:"sel";i:-2;s:1:"n";i:42;s:8:"@groupby";i:-2;s:6:"@count";i:1;}}s:20:"18446744073709551613";a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:3:"sel";i:-3;s:1:"n";i:42;s:8:"@groupby";i:-3;s:6:"@count";i:1;}}s:19:"9223372036854775808";a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:4:{s:3:"sel";s:20:"-9223372036854775808";s:1:"n";i:42;s:8:"@groupby";s:20:"-9223372036854775808";s:6:"@count";i:1;}}}s:5:"total";s:1:"9";s:11:"total_found";s:1:"9";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:1:"n";i:1;}s:7:"matches";a:1:{s:11:"60000000001";a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:1:"n";i:42;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:9;a:3:{s:8:"sphinxql";s:41:" select * from test where id<60000000002 ";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:2:{s:2:"id";s:11:"50000000000";s:1:"n";s:2:"42";}i:1;a:2:{s:2:"id";s:11:"50000000001";s:1:"n";s:2:"42";}i:2;a:2:{s:2:"id";s:11:"60000000000";s:1:"n";s:2:"42";}i:3;a:2:{s:2:"id";s:11:"60000000001";s:1:"n";s:2:"42";}}}}}sphinx-2.2.11-release/test/test_046/0000755000175000017500000000000012743402012016406 5ustar alexeyalexeysphinx-2.2.11-release/test/test_046/test.xml0000644000175000017500000000542712743402012020117 0ustar alexeyalexey mva filtering indexer { mem_limit = 16M } searchd { } source test { type = mysql sql_query = SELECT id, text, mva FROM test_table; sql_attr_multi = uint mva from field sql_attr_multi = bigint mva from field } index test { source = test path = /test } CREATE TABLE test_table ( id INTEGER NOT NULL, text VARCHAR(255) NOT NULL DEFAULT 'text', mva VARCHAR(255) NOT NULL ) DROP TABLE IF EXISTS test_table INSERT INTO test_table (id, mva) VALUES ( 10, '' ), ( 1, '100' ), ( 2, '100, 200' ), ( 4, '6, 12, 17, 20') ResetFilters(); $client->SetFilter ( 'mva', $mva ); $result = $client->Query ( '' ); if ( !$result ) break; $len = array_key_exists ( 'matches', $result ) ? count ( $result['matches'] ) : 0; $pass = $len == $filter[$last] ? 1 : 0; if ( $len == 1) $pass = $pass and array_key_exists ( $ID, $result['matches'] ); $results [$key] [ join(', ', $mva ) ] = $pass ? 'OK' : 'FAILED'; } // interval $results [] = 'INTERVAL'; $results [] = array(); $filters = array( array( 1, 4, false), array( 1, 5, false), array( 1, 6, true), array( 1, 7, true), array( 1, 12, true), array( 1, 15, true), array( 6, 9, true), array( 7, 9, false), array( 8, 10, false), array( 9, 12, true), array( 9, 15, true), array( 9, 21, true), array( 16, 21, true), array( 17, 21, true), array( 18, 19, false), array( 18, 25, true), array( 19, 25, true), array( 20, 25, true), array( 21, 25, false), ); $key = count($results) - 1; foreach ( $filters as &$filter ) { $client->ResetFilters(); $client->SetFilterRange ( 'mva', $filter[0], $filter[1] ); $result = $client->Query ( '' ); if ( !$result ) break; $len = array_key_exists ( 'matches', $result ) ? count ( $result['matches'] ) : 0; $pass = $len == ( $filter[2] ? 1 : 0 ); if ( $len == 1) $pass = $pass and array_key_exists ( $ID, $result['matches'] ); $results [$key] [$filter[0] . ' - ' . $filter[1]] = $pass ? 'OK' : 'FAILED'; } ]]> sphinx-2.2.11-release/test/test_046/model.bin0000644000175000017500000000261012743402012020177 0ustar alexeyalexeya:2:{i:0;a:1:{i:0;a:4:{i:0;s:6:"VALUES";i:1;a:12:{i:0;s:2:"OK";i:7;s:2:"OK";i:15;s:2:"OK";i:21;s:2:"OK";s:8:"3, 8, 16";s:2:"OK";s:9:"7, 18, 21";s:2:"OK";i:6;s:2:"OK";i:12;s:2:"OK";i:20;s:2:"OK";s:5:"5, 12";s:2:"OK";s:5:"7, 17";s:2:"OK";s:6:"15, 20";s:2:"OK";}i:2;s:8:"INTERVAL";i:3;a:19:{s:5:"1 - 4";s:2:"OK";s:5:"1 - 5";s:2:"OK";s:5:"1 - 6";s:2:"OK";s:5:"1 - 7";s:2:"OK";s:6:"1 - 12";s:2:"OK";s:6:"1 - 15";s:2:"OK";s:5:"6 - 9";s:2:"OK";s:5:"7 - 9";s:2:"OK";s:6:"8 - 10";s:2:"OK";s:6:"9 - 12";s:2:"OK";s:6:"9 - 15";s:2:"OK";s:6:"9 - 21";s:2:"OK";s:7:"16 - 21";s:2:"OK";s:7:"17 - 21";s:2:"OK";s:7:"18 - 19";s:2:"OK";s:7:"18 - 25";s:2:"OK";s:7:"19 - 25";s:2:"OK";s:7:"20 - 25";s:2:"OK";s:7:"21 - 25";s:2:"OK";}}}i:1;a:1:{i:0;a:4:{i:0;s:6:"VALUES";i:1;a:12:{i:0;s:2:"OK";i:7;s:2:"OK";i:15;s:2:"OK";i:21;s:2:"OK";s:8:"3, 8, 16";s:2:"OK";s:9:"7, 18, 21";s:2:"OK";i:6;s:2:"OK";i:12;s:2:"OK";i:20;s:2:"OK";s:5:"5, 12";s:2:"OK";s:5:"7, 17";s:2:"OK";s:6:"15, 20";s:2:"OK";}i:2;s:8:"INTERVAL";i:3;a:19:{s:5:"1 - 4";s:2:"OK";s:5:"1 - 5";s:2:"OK";s:5:"1 - 6";s:2:"OK";s:5:"1 - 7";s:2:"OK";s:6:"1 - 12";s:2:"OK";s:6:"1 - 15";s:2:"OK";s:5:"6 - 9";s:2:"OK";s:5:"7 - 9";s:2:"OK";s:6:"8 - 10";s:2:"OK";s:6:"9 - 12";s:2:"OK";s:6:"9 - 15";s:2:"OK";s:6:"9 - 21";s:2:"OK";s:7:"16 - 21";s:2:"OK";s:7:"17 - 21";s:2:"OK";s:7:"18 - 19";s:2:"OK";s:7:"18 - 25";s:2:"OK";s:7:"19 - 25";s:2:"OK";s:7:"20 - 25";s:2:"OK";s:7:"21 - 25";s:2:"OK";}}}}sphinx-2.2.11-release/test/test_045/0000755000175000017500000000000012743402012016405 5ustar alexeyalexeysphinx-2.2.11-release/test/test_045/test.xml0000644000175000017500000000415112743402012020107 0ustar alexeyalexey kill-list (part 2) indexer { mem_limit = 16M } searchd { } source src_main { type = mysql sql_query = SELECT * FROM test_table } source src_delta1 { type = mysql sql_query = SELECT * FROM test_table WHERE document_id=6 sql_query_killlist = SELECT 1 } source src_delta2 { type = mysql sql_query = SELECT * FROM test_table WHERE document_id=7 sql_query_killlist = SELECT 2 } source src_delta3 { type = mysql sql_query = SELECT * FROM test_table WHERE document_id=8 sql_query_killlist = SELECT 3 } index idx_main { source = src_main path = /test_main } index idx_delta1 { source = src_delta1 path = /test_delta1 } index idx_delta2 { source = src_delta2 path = /test_delta2 } index idx_delta3 { source = src_delta3 path = /test_delta3 } CREATE TABLE test_table ( `document_id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table VALUES ( 1, 'test one' ), ( 2, 'test two' ), ( 3, 'test three' ), ( 4, 'test four' ), ( 5, 'test five' ), ( 6, 'test delta1' ), ( 7, 'test delta2' ), ( 8, 'test delta3' ) SetFilter ( "@id", array(1,2,3,4) ); $client->AddQuery ( "test", "idx_main idx_delta1 idx_delta2 idx_delta3" ); $client->ResetFilters (); $client->SetFilter ( "@id", array(5,6,7,8) ); $client->AddQuery ( "test", "idx_main idx_delta1 idx_delta2 idx_delta3" ); $client->ResetFilters (); $client->SetFilter ( "@id", array(1,2,3,4,5,6,7,8), "idx_main idx_delta1 idx_delta2 idx_delta3" ); $client->SetSortMode ( SPH_SORT_EXTENDED, "@id DESC" ); $client->AddQuery ( "test" ); $results = $client->RunQueries (); if ( is_array($results) ) for ( $i=0; $i sphinx-2.2.11-release/test/test_045/model.bin0000644000175000017500000000246112743402012020202 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:3:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:2:"11";s:4:"hits";s:2:"11";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:4:{i:5;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:6;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:7;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"7";s:11:"total_found";s:1:"7";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:2:"11";s:4:"hits";s:2:"11";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:8;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:7;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:6;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:2:"11";s:4:"hits";s:2:"11";}}}}}}sphinx-2.2.11-release/test/test_044/0000755000175000017500000000000012743402012016404 5ustar alexeyalexeysphinx-2.2.11-release/test/test_044/test.xml0000644000175000017500000000376612743402012020121 0ustar alexeyalexey kill-list (part 1) indexer { mem_limit = 16M } searchd { } source src_main { type = mysql sql_query = SELECT * FROM test_table } source src_delta1 { type = mysql sql_query = SELECT * FROM test_table WHERE document_id=6 sql_query_killlist = SELECT 1 } source src_delta2 { type = mysql sql_query = SELECT * FROM test_table WHERE document_id=7 sql_query_killlist = SELECT 2 } source src_delta3 { type = mysql sql_query = SELECT * FROM test_table WHERE document_id=8 sql_query_killlist = SELECT 3 } index idx_main { source = src_main path = /test_main } index idx_delta1 { source = src_delta1 path = /test_delta1 } index idx_delta2 { source = src_delta2 path = /test_delta2 } index idx_delta3 { source = src_delta3 path = /test_delta3 } CREATE TABLE test_table ( `document_id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table VALUES ( 1, 'test one' ), ( 2, 'test two' ), ( 3, 'test three' ), ( 4, 'test four' ), ( 5, 'test five' ), ( 6, 'test delta1' ), ( 7, 'test delta2' ), ( 8, 'test delta3' ) test test test test test test test test sphinx-2.2.11-release/test/test_044/model.bin0000644000175000017500000001246412743402012020205 0ustar alexeyalexeya:1:{i:0;a:8:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:1;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:6;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:7;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"8";s:4:"hits";s:1:"8";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"test";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:7:{i:2;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:6;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:7;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"test";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:7:{i:1;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:6;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:7;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"test";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:7:{i:8;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:7;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:6;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:1;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"test";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:6:{i:3;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:6;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:7;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"test";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:6:{i:8;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:7;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:6;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"test";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:4;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:6;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:7;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:2:"11";s:4:"hits";s:2:"11";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"test";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:5:{i:8;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:7;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:6;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1284";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:2:"11";s:4:"hits";s:2:"11";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"test";}}}sphinx-2.2.11-release/test/test_043/0000755000175000017500000000000012743402012016403 5ustar alexeyalexeysphinx-2.2.11-release/test/test_043/test.xml0000644000175000017500000000333212743402012020105 0ustar alexeyalexey unpack indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query = SELECT id, t_zlib, at_1, t_mysql, plain, at_2, at_3, t_mysql_2 FROM test_table unpack_zlib = t_zlib unpack_mysqlcompress = t_mysql unpack_mysqlcompress = t_mysql_2 sql_attr_uint = at_1 sql_attr_uint = at_2 sql_attr_uint = at_3 } index test_idx { source = srctest path = /test } CREATE TABLE test_table ( id integer primary key not null auto_increment, t_zlib blob, t_mysql blob, t_mysql_2 blob, plain varchar(256), at_1 int not null default 1, at_2 int not null default 2, at_3 int not null default 3 ) ENGINE=MYISAM DROP TABLE IF EXISTS test_table; INSERT INTO test_table (t_zlib, t_mysql, t_mysql_2, plain) VALUES ( substr(compress('zlib'), 5), NULL, NULL, 'plain' ), ( NULL, compress('mysql'), NULL, NULL ), ( substr(compress('test'), 5), compress('hello'), compress('world'), '' ), ( 'malformed', 'broken', NULL, NULL ), ( substr(COMPRESS ( REPEAT ( 'the dog with snoopy this book like ', 24000 ) ), 5), COMPRESS ( REPEAT ( 'spaceman is a hero not good mooman ', 24001 ) ), NULL, NULL ), ( COMPRESS ( REPEAT ( 'the dog with snoopy ', 16384 ) ), COMPRESS ( REPEAT ( 'spaceman is a hero not as we ', 16384 ) ), NULL, NULL ), ( NULL, 'a', NULL, NULL ), ( '', '', '', '' ); zlib mysql hello world plain malformed broken the a sphinx-2.2.11-release/test/test_043/model.bin0000644000175000017500000001031212743402012020172 0ustar alexeyalexeya:1:{i:0;a:8:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:4:{i:0;s:6:"t_zlib";i:1;s:7:"t_mysql";i:2;s:5:"plain";i:3;s:9:"t_mysql_2";}s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:1;s:4:"at_3";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1715";s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:2;s:4:"at_3";i:3;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"zlib";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"zlib";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:4:{i:0;s:6:"t_zlib";i:1;s:7:"t_mysql";i:2;s:5:"plain";i:3;s:9:"t_mysql_2";}s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:1;s:4:"at_3";i:1;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1715";s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:2;s:4:"at_3";i:3;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"mysql";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"mysql";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:4:{i:0;s:6:"t_zlib";i:1;s:7:"t_mysql";i:2;s:5:"plain";i:3;s:9:"t_mysql_2";}s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:1;s:4:"at_3";i:1;}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"2715";s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:2;s:4:"at_3";i:3;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"hello world";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:4:{i:0;s:6:"t_zlib";i:1;s:7:"t_mysql";i:2;s:5:"plain";i:3;s:9:"t_mysql_2";}s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:1;s:4:"at_3";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1715";s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:2;s:4:"at_3";i:3;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"plain";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"plain";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:4:{i:0;s:6:"t_zlib";i:1;s:7:"t_mysql";i:2;s:5:"plain";i:3;s:9:"t_mysql_2";}s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:1;s:4:"at_3";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:9:"malformed";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"malformed";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:4:{i:0;s:6:"t_zlib";i:1;s:7:"t_mysql";i:2;s:5:"plain";i:3;s:9:"t_mysql_2";}s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:1;s:4:"at_3";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"broken";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"broken";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:4:{i:0;s:6:"t_zlib";i:1;s:7:"t_mysql";i:2;s:5:"plain";i:3;s:9:"t_mysql_2";}s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:1;s:4:"at_3";i:1;}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1973";s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:2;s:4:"at_3";i:3;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"the";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:5:"24000";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"the";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:4:{i:0;s:6:"t_zlib";i:1;s:7:"t_mysql";i:2;s:5:"plain";i:3;s:9:"t_mysql_2";}s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:1;s:4:"at_3";i:1;}s:7:"matches";a:2:{i:5;a:2:{s:6:"weight";s:4:"1785";s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:2;s:4:"at_3";i:3;}}i:6;a:2:{s:6:"weight";s:4:"1785";s:5:"attrs";a:3:{s:4:"at_1";i:1;s:4:"at_2";i:2;s:4:"at_3";i:3;}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:1:"a";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:5:"40385";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}}}sphinx-2.2.11-release/test/test_042/0000755000175000017500000000000012743402012016402 5ustar alexeyalexeysphinx-2.2.11-release/test/test_042/test.xml0000644000175000017500000000225312743402012020105 0ustar alexeyalexey persistent connections indexer { mem_limit = 16M } searchd { client_timeout = 5 client_timeout = 1 workers = none workers = threads binlog_path = } source srctest { type = mysql sql_query = SELECT id, body FROM test_table } index test_idx { source = srctest path = /test } CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'test' ) Open(); $results [] = $client->Query ( 'test' ); $results [] = $client->GetLastError(); sleep ( 2 ); $results [] = $client->Query ( 'test' ); $results [] = $client->GetLastError(); $results [] = $client->Close(); foreach ( $results as &$r ) if ( is_array($r) ) unset ( $r['time'] ); ]]> sphinx-2.2.11-release/test/test_042/model.bin0000644000175000017500000000524612743402012020203 0ustar alexeyalexeya:4:{i:0;a:1:{i:0;a:6:{i:0;b:1;i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;s:0:"";i:3;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:4;s:0:"";i:5;b:1;}}i:1;a:1:{i:0;a:6:{i:0;b:1;i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;s:0:"";i:3;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:4;s:0:"";i:5;b:0;}}i:2;a:1:{i:0;a:6:{i:0;b:1;i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;s:0:"";i:3;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:4;s:0:"";i:5;b:1;}}i:3;a:1:{i:0;a:6:{i:0;b:1;i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:2;s:0:"";i:3;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}}i:4;s:0:"";i:5;b:0;}}}sphinx-2.2.11-release/test/test_041/0000755000175000017500000000000012743402012016401 5ustar alexeyalexeysphinx-2.2.11-release/test/test_041/wordforms.txt0000644000175000017500000000003112743402012021156 0ustar alexeyalexeyruns > run running > runsphinx-2.2.11-release/test/test_041/test.xml0000644000175000017500000003200212743402012020077 0ustar alexeyalexey index_exact_words indexer { mem_limit = 16M } searchd { workers = threads } source srctest { type = mysql sql_query = SELECT document_id, body FROM test_table } index test { source = srctest path = /test index_exact_words = 0 index_exact_words = 1 morphology = none morphology = stem_en } index rt { type = rt path = /rt rt_field = title rt_attr_uint = id1 index_exact_words = 1 morphology = stem_en } index rt_fix { type = rt path = /rt_fix rt_field = title rt_attr_uint = id1 min_infix_len = 1 dict = keywords morphology = stem_en } index wf { source = srctest path = /wf dict = keywords index_exact_words = 1 morphology = none wordforms = /wordforms.txt } source src_stem : srctest { sql_query = SELECT 1 id, 11 idd, 'busy' title UNION SELECT 2 id, 11 idd, 'busi' title UNION SELECT 3 id, 11 idd, 'feet' title UNION SELECT 4 id, 11 idd, 'foot' title UNION SELECT 5 id, 11 idd, 'fbusy' title UNION SELECT 6 id, 11 idd, 'fbusi' title sql_attr_uint = idd } index kw_p { source = src_stem path = /kw_p charset_table = 0..9, a..z, A..Z->a..z dict = keywords min_prefix_len = 3 morphology = stem_en index_exact_words = 1 } index kw_i { source = src_stem path = /kw_i charset_table = 0..9, a..z, A..Z->a..z dict = keywords min_infix_len = 3 morphology = stem_en index_exact_words = 1 } index rt_p { type = rt path = /rt_p rt_mem_limit = 128k rt_field = title rt_attr_uint = idd dict = keywords min_prefix_len = 3 morphology = stem_en index_exact_words = 1 } index rt_i { type = rt path = /rt_i rt_mem_limit = 128k rt_field = title rt_attr_uint = idd dict = keywords min_infix_len = 3 morphology = stem_en index_exact_words = 1 } source src_phrase : srctest { sql_query = SELECT 1 id, 11 idd, 'it running fast as you but can not' title UNION SELECT 2 id, 11 idd, 'as it runs me' title UNION SELECT 3 id, 11 idd, 'it run and has fun' title sql_attr_uint = idd } index phrase_idx { source = src_phrase path = /phrase_idx charset_table = 0..9, a..z, A..Z->a..z dict = keywords morphology = stem_en index_exact_words = 1 } source src_phrase_shift : srctest { sql_query = SELECT 1 id, 11 idd, 'that orange box might be and not yellow' title UNION SELECT 2 id, 11 idd, 'however that is a green box always apears here as usual' title UNION SELECT 3 id, 11 idd, 'that orange box might be not yellow' title sql_attr_uint = idd } index phrase_shift { source = src_phrase_shift path = /phrase_shift charset_table = 0..9, a..z, A..Z->a..z dict = keywords } index phrase_shift_star { source = src_phrase_shift path = /phrase_shift_star charset_table = 0..9, a..z, A..Z->a..z dict = keywords min_prefix_len = 1 } index phrase_shift_min_wlen { source = src_phrase_shift path = /phrase_shift_min_wlen charset_table = 0..9, a..z, A..Z->a..z dict = keywords min_word_len = 2 } index phrase_shift_stop { source = src_phrase_shift path = /phrase_shift_stop charset_table = 0..9, a..z, A..Z->a..z dict = keywords stopwords = stopwords.txt } source src_4codepoint : srctest { sql_query = SELECT 1 id, 5 idd, CONCAT ( 'the boxed state ', REPEAT( CHAR(0xf3be80bb), 7 ) ) as title sql_attr_uint = idd } index codepoint { source = src_4codepoint path = /codepoint dict = keywords min_infix_len = 3 morphology = stem_en index_exact_words = 1 enable_star = 1 charset_type = utf-8 } source src_nostar1 : srctest { sql_query = SELECT 1 id, 11 idd, 'cool test' title sql_attr_uint = idd } index plain_nostar1 { source = src_nostar1 path = /plain_nostar1 docinfo = extern charset_table = 0..9, a..z, A..Z->a..z dict = keywords min_prefix_len = 0 min_infix_len = 0 } index rt_nostar1 { type = rt path = /rt_nostar1 docinfo = extern rt_mem_limit = 32M rt_attr_uint = idd rt_field = title charset_table = 0..9, a..z, A..Z->a..z dict = keywords min_prefix_len = 0 min_infix_len = 0 } index dist { type = distributed local = plain_nostar1 local = rt_nostar1 } work worked worker =work =worked =worker run runs =run =runs REPLACE INTO rt (id, id1, title) VALUES ( 1, 1, 'work worked working workings worker works workers' ), ( 2, 1, 'run' ), ( 3, 1, 'runs' ), ( 4, 1, 'running' ) SELECT * FROM rt WHERE MATCH('work') show meta SELECT * FROM rt WHERE MATCH('worked') show meta SELECT * FROM rt WHERE MATCH('worker') show meta SELECT * FROM rt WHERE MATCH('=work') show meta SELECT * FROM rt WHERE MATCH('=worked') show meta SELECT * FROM rt WHERE MATCH('=worker') show meta SELECT * FROM rt WHERE MATCH('run') show meta SELECT * FROM rt WHERE MATCH('runs') show meta SELECT * FROM rt WHERE MATCH('=run') show meta SELECT * FROM rt WHERE MATCH('=runs') show meta REPLACE INTO rt_fix (id, id1, title) VALUES ( 1, 1, 'hi people how are you' ) SELECT * FROM rt_fix WHERE MATCH('ho*') show meta SELECT * FROM wf WHERE MATCH('run') show meta SELECT * FROM wf WHERE MATCH('runs') show meta SELECT * FROM wf WHERE MATCH('=run') show meta SELECT * FROM wf WHERE MATCH('=runs') show meta REPLACE INTO rt_fix (id, id1, title) VALUES ( 2, 1, 'howdy all around' ) SELECT * FROM rt_fix WHERE MATCH('*eop*') show meta SELECT * FROM rt_fix WHERE MATCH('*ar*') show meta SELECT * FROM rt_fix WHERE MATCH('ho*') show meta REPLACE INTO rt_p (id, idd, title) VALUES (1,11,'busy'), (2,11,'busi'), (3,11,'feet'), (4,11,'foot'), (5,11,'fbusy'), (6,11,'fbusi') REPLACE INTO rt_i (id, idd, title) VALUES (1,11,'busy'), (2,11,'busi'), (3,11,'feet'), (4,11,'foot'), (5,11,'fbusy'), (6,11,'fbusi') SELECT * FROM kw_p WHERE MATCH('busy*') show meta SELECT * FROM kw_i WHERE MATCH('busy*') show meta SELECT * FROM rt_p WHERE MATCH('busy*') show meta SELECT * FROM rt_i WHERE MATCH('busy*') show meta SELECT * FROM kw_p WHERE MATCH('busi*') show meta SELECT * FROM kw_i WHERE MATCH('busi*') show meta SELECT * FROM rt_p WHERE MATCH('busi*') show meta SELECT * FROM rt_i WHERE MATCH('busi*') show meta SELECT * FROM kw_i WHERE MATCH('*busy*') show meta SELECT * FROM rt_i WHERE MATCH('*busy*') show meta SELECT * FROM kw_i WHERE MATCH('*busi*') show meta SELECT * FROM rt_i WHERE MATCH('*busi*') show meta SELECT * FROM kw_p WHERE MATCH('foot*') show meta SELECT * FROM kw_i WHERE MATCH('foot*') show meta SELECT * FROM rt_p WHERE MATCH('foot*') show meta SELECT * FROM rt_i WHERE MATCH('foot*') show meta SELECT * FROM kw_p WHERE MATCH('feet*') show meta SELECT * FROM kw_i WHERE MATCH('feet*') show meta SELECT * FROM rt_p WHERE MATCH('feet*') show meta SELECT * FROM rt_i WHERE MATCH('feet*') show meta SELECT * FROM kw_i WHERE MATCH('*foot*') show meta SELECT * FROM rt_i WHERE MATCH('*foot*') show meta SELECT * FROM kw_i WHERE MATCH('*feet*') show meta SELECT * FROM rt_i WHERE MATCH('*feet*') show meta SELECT * FROM phrase_idx WHERE MATCH(' "it run" ') show meta SELECT * FROM phrase_idx WHERE MATCH(' ="it running" ') show meta SELECT * FROM phrase_idx WHERE MATCH(' ="it runs" ') show meta SELECT * FROM phrase_idx WHERE MATCH(' ="it run" ') show meta SELECT * FROM phrase_shift WHERE MATCH(' "that box" ') SELECT * FROM phrase_shift WHERE MATCH(' "that * box" ') SELECT * FROM phrase_shift WHERE MATCH(' "that * * * box" ') SELECT * FROM phrase_shift WHERE MATCH(' "that * box might * * not yellow" ') SELECT * FROM phrase_shift_star WHERE MATCH(' "that box" ') SELECT * FROM phrase_shift_star WHERE MATCH(' "that * box" ') SELECT * FROM phrase_shift_star WHERE MATCH(' "that * * * box" ') SELECT * FROM phrase_shift_star WHERE MATCH(' "that * box might * * not yellow" ') SELECT * FROM phrase_shift_min_wlen WHERE MATCH(' "that box" ') SELECT * FROM phrase_shift_min_wlen WHERE MATCH(' "that * box" ') SELECT * FROM phrase_shift_min_wlen WHERE MATCH(' "that * * * box" ') SELECT * FROM phrase_shift_min_wlen WHERE MATCH(' "that * box might * * not yellow" ') SELECT * FROM phrase_shift_stop WHERE MATCH(' "a the end that * box of" ') SELECT * FROM phrase_shift WHERE MATCH(' "* * * box always" ') SELECT * FROM phrase_shift_star WHERE MATCH(' "* * * box always" ') SELECT * FROM phrase_shift_min_wlen WHERE MATCH(' "* * * box always" ') REPLACE INTO rt_i (id, idd, title) VALUES (20,11,'long word ___________________________________________ that crashed') FLUSH RAMCHUNK rt_i SELECT * FROM codepoint WHERE MATCH('*box*') SELECT * FROM dist WHERE MATCH('test*') SHOW META CALL KEYWORDS ( 'test*', 'plain_nostar1') CALL KEYWORDS ( 'test*', 'rt_nostar1') CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'work worked working workings worker works workers' ), ( 2, 'run' ), ( 3, 'runs' ), ( 4, 'running' ) sphinx-2.2.11-release/test/test_041/model.bin0000644000175000017500000044214612743402012020206 0ustar alexeyalexeya:4:{i:0;a:130:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"work";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"work";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"worked";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"worked";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"worker";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"worker";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"work";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"=work";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"worked";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"=worked";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"worker";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"=worker";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"run";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"run";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"runs";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"runs";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"run";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"=run";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"runs";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"=runs";}i:10;a:2:{s:8:"sphinxql";s:159:" REPLACE INTO rt (id, id1, title) VALUES ( 1, 1, 'work worked working workings worker works workers' ), ( 2, 1, 'run' ), ( 3, 1, 'runs' ), ( 4, 1, 'running' ) ";s:14:"total_affected";i:4;}i:11;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM rt WHERE MATCH('work')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:12;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"work";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"5";}}}i:13;a:3:{s:8:"sphinxql";s:38:"SELECT * FROM rt WHERE MATCH('worked')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:14;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"work";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"5";}}}i:15;a:3:{s:8:"sphinxql";s:38:"SELECT * FROM rt WHERE MATCH('worker')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:16;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"worker";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:17;a:3:{s:8:"sphinxql";s:37:"SELECT * FROM rt WHERE MATCH('=work')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:18;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"=work";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:19;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt WHERE MATCH('=worked')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:20;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"=worked";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:21;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt WHERE MATCH('=worker')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:22;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"=worker";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:23;a:3:{s:8:"sphinxql";s:35:"SELECT * FROM rt WHERE MATCH('run')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"id1";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"id1";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"id1";s:1:"1";}}}i:24;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"run";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}}}i:25;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM rt WHERE MATCH('runs')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"id1";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"id1";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"id1";s:1:"1";}}}i:26;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"run";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}}}i:27;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM rt WHERE MATCH('=run')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"id1";s:1:"1";}}}i:28;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"=run";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:29;a:3:{s:8:"sphinxql";s:37:"SELECT * FROM rt WHERE MATCH('=runs')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"id1";s:1:"1";}}}i:30;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"=runs";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:31;a:2:{s:8:"sphinxql";s:77:"REPLACE INTO rt_fix (id, id1, title) VALUES ( 1, 1, 'hi people how are you' )";s:14:"total_affected";i:1;}i:32;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_fix WHERE MATCH('ho*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:33;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"ho*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:34;a:3:{s:8:"sphinxql";s:35:"SELECT * FROM wf WHERE MATCH('run')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"id";s:1:"2";}i:1;a:1:{s:2:"id";s:1:"3";}i:2;a:1:{s:2:"id";s:1:"4";}}}i:35;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"run";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}}}i:36;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM wf WHERE MATCH('runs')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"id";s:1:"2";}i:1;a:1:{s:2:"id";s:1:"3";}i:2;a:1:{s:2:"id";s:1:"4";}}}i:37;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"run";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}}}i:38;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM wf WHERE MATCH('=run')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"2";}}}i:39;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"=run";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:40;a:3:{s:8:"sphinxql";s:37:"SELECT * FROM wf WHERE MATCH('=runs')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"3";}}}i:41;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"=runs";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:42;a:2:{s:8:"sphinxql";s:72:"REPLACE INTO rt_fix (id, id1, title) VALUES ( 2, 1, 'howdy all around' )";s:14:"total_affected";i:1;}i:43;a:3:{s:8:"sphinxql";s:41:"SELECT * FROM rt_fix WHERE MATCH('*eop*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:44;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"*eop*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:45;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM rt_fix WHERE MATCH('*ar*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"id1";s:1:"1";}}}i:46;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"*ar*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:47;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_fix WHERE MATCH('ho*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"id1";s:1:"1";}}}i:48;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"ho*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:49;a:2:{s:8:"sphinxql";s:132:"REPLACE INTO rt_p (id, idd, title) VALUES (1,11,'busy'), (2,11,'busi'), (3,11,'feet'), (4,11,'foot'), (5,11,'fbusy'), (6,11,'fbusi')";s:14:"total_affected";i:6;}i:50;a:2:{s:8:"sphinxql";s:132:"REPLACE INTO rt_i (id, idd, title) VALUES (1,11,'busy'), (2,11,'busi'), (3,11,'feet'), (4,11,'foot'), (5,11,'fbusy'), (6,11,'fbusi')";s:14:"total_affected";i:6;}i:51;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_p WHERE MATCH('busy*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:52;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busy*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:53;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_i WHERE MATCH('busy*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:54;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busy*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:55;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_p WHERE MATCH('busy*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:56;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busy*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:57;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_i WHERE MATCH('busy*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:58;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busy*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:59;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_p WHERE MATCH('busi*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:60;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busi*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:61;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_i WHERE MATCH('busi*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:62;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busi*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:63;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_p WHERE MATCH('busi*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:64;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busi*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:65;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_i WHERE MATCH('busi*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:66;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busi*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:67;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM kw_i WHERE MATCH('*busy*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"5";s:3:"idd";s:2:"11";}}}i:68;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*busy*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:69;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM rt_i WHERE MATCH('*busy*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"5";s:3:"idd";s:2:"11";}}}i:70;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*busy*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:71;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM kw_i WHERE MATCH('*busi*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"6";s:3:"idd";s:2:"11";}}}i:72;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*busi*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:73;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM rt_i WHERE MATCH('*busi*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"6";s:3:"idd";s:2:"11";}}}i:74;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*busi*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:75;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_p WHERE MATCH('foot*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";}}}i:76;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"foot*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:77;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_i WHERE MATCH('foot*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";}}}i:78;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"foot*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:79;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_p WHERE MATCH('foot*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";}}}i:80;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"foot*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:81;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_i WHERE MATCH('foot*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";}}}i:82;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"foot*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:83;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_p WHERE MATCH('feet*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:84;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"feet*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:85;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_i WHERE MATCH('feet*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:86;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"feet*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:87;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_p WHERE MATCH('feet*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:88;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"feet*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:89;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_i WHERE MATCH('feet*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:90;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"feet*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:91;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM kw_i WHERE MATCH('*foot*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";}}}i:92;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*foot*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:93;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM rt_i WHERE MATCH('*foot*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";}}}i:94;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*foot*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:95;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM kw_i WHERE MATCH('*feet*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:96;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*feet*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:97;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM rt_i WHERE MATCH('*feet*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:98;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*feet*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:99;a:3:{s:8:"sphinxql";s:50:"SELECT * FROM phrase_idx WHERE MATCH(' "it run" ')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:100;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"it";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"run";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"3";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"3";}}}i:101;a:3:{s:8:"sphinxql";s:55:"SELECT * FROM phrase_idx WHERE MATCH(' ="it running" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:102;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"=it";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:8:"=running";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}}i:103;a:3:{s:8:"sphinxql";s:52:"SELECT * FROM phrase_idx WHERE MATCH(' ="it runs" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:104;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"=it";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:5:"=runs";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}}i:105;a:3:{s:8:"sphinxql";s:51:"SELECT * FROM phrase_idx WHERE MATCH(' ="it run" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:106;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"=it";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"=run";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}}i:107;a:2:{s:8:"sphinxql";s:54:"SELECT * FROM phrase_shift WHERE MATCH(' "that box" ')";s:10:"total_rows";i:0;}i:108;a:3:{s:8:"sphinxql";s:56:"SELECT * FROM phrase_shift WHERE MATCH(' "that * box" ')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:109;a:3:{s:8:"sphinxql";s:60:"SELECT * FROM phrase_shift WHERE MATCH(' "that * * * box" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:110;a:3:{s:8:"sphinxql";s:77:"SELECT * FROM phrase_shift WHERE MATCH(' "that * box might * * not yellow" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:111;a:2:{s:8:"sphinxql";s:59:"SELECT * FROM phrase_shift_star WHERE MATCH(' "that box" ')";s:10:"total_rows";i:0;}i:112;a:3:{s:8:"sphinxql";s:61:"SELECT * FROM phrase_shift_star WHERE MATCH(' "that * box" ')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:113;a:3:{s:8:"sphinxql";s:65:"SELECT * FROM phrase_shift_star WHERE MATCH(' "that * * * box" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:114;a:3:{s:8:"sphinxql";s:82:"SELECT * FROM phrase_shift_star WHERE MATCH(' "that * box might * * not yellow" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:115;a:2:{s:8:"sphinxql";s:63:"SELECT * FROM phrase_shift_min_wlen WHERE MATCH(' "that box" ')";s:10:"total_rows";i:0;}i:116;a:3:{s:8:"sphinxql";s:65:"SELECT * FROM phrase_shift_min_wlen WHERE MATCH(' "that * box" ')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:117;a:3:{s:8:"sphinxql";s:69:"SELECT * FROM phrase_shift_min_wlen WHERE MATCH(' "that * * * box" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:118;a:3:{s:8:"sphinxql";s:86:"SELECT * FROM phrase_shift_min_wlen WHERE MATCH(' "that * box might * * not yellow" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:119;a:2:{s:8:"sphinxql";s:74:"SELECT * FROM phrase_shift_stop WHERE MATCH(' "a the end that * box of" ')";s:10:"total_rows";i:0;}i:120;a:3:{s:8:"sphinxql";s:62:"SELECT * FROM phrase_shift WHERE MATCH(' "* * * box always" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:121;a:3:{s:8:"sphinxql";s:67:"SELECT * FROM phrase_shift_star WHERE MATCH(' "* * * box always" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:122;a:3:{s:8:"sphinxql";s:71:"SELECT * FROM phrase_shift_min_wlen WHERE MATCH(' "* * * box always" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:123;a:2:{s:8:"sphinxql";s:118:"REPLACE INTO rt_i (id, idd, title) VALUES (20,11,'long word ___________________________________________ that crashed')";s:14:"total_affected";i:1;}i:124;a:2:{s:8:"sphinxql";s:19:"FLUSH RAMCHUNK rt_i";s:14:"total_affected";i:0;}i:125;a:3:{s:8:"sphinxql";s:44:"SELECT * FROM codepoint WHERE MATCH('*box*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:1:"5";}}}i:126;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM dist WHERE MATCH('test*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:127;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"test";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:128;a:3:{s:8:"sphinxql";s:41:"CALL KEYWORDS ( 'test*', 'plain_nostar1')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:4:"test";s:10:"normalized";s:4:"test";}}}i:129;a:3:{s:8:"sphinxql";s:38:"CALL KEYWORDS ( 'test*', 'rt_nostar1')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:4:"test";s:10:"normalized";s:4:"test";}}}}i:1;a:130:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"work";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"work";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"worked";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"worked";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"worker";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"worker";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"work";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"=work";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"worked";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"=worked";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"worker";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"=worker";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"run";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"run";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"runs";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"runs";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"run";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"=run";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"runs";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"=runs";}i:10;a:2:{s:8:"sphinxql";s:159:" REPLACE INTO rt (id, id1, title) VALUES ( 1, 1, 'work worked working workings worker works workers' ), ( 2, 1, 'run' ), ( 3, 1, 'runs' ), ( 4, 1, 'running' ) ";s:14:"total_affected";i:4;}i:11;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM rt WHERE MATCH('work')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:12;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"work";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"5";}}}i:13;a:3:{s:8:"sphinxql";s:38:"SELECT * FROM rt WHERE MATCH('worked')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:14;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"work";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"5";}}}i:15;a:3:{s:8:"sphinxql";s:38:"SELECT * FROM rt WHERE MATCH('worker')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:16;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"worker";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:17;a:3:{s:8:"sphinxql";s:37:"SELECT * FROM rt WHERE MATCH('=work')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:18;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"=work";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:19;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt WHERE MATCH('=worked')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:20;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"=worked";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:21;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt WHERE MATCH('=worker')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:22;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"=worker";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:23;a:3:{s:8:"sphinxql";s:35:"SELECT * FROM rt WHERE MATCH('run')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"id1";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"id1";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"id1";s:1:"1";}}}i:24;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"run";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}}}i:25;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM rt WHERE MATCH('runs')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"id1";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"id1";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"id1";s:1:"1";}}}i:26;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"run";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}}}i:27;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM rt WHERE MATCH('=run')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"id1";s:1:"1";}}}i:28;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"=run";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:29;a:3:{s:8:"sphinxql";s:37:"SELECT * FROM rt WHERE MATCH('=runs')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"id1";s:1:"1";}}}i:30;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"=runs";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:31;a:2:{s:8:"sphinxql";s:77:"REPLACE INTO rt_fix (id, id1, title) VALUES ( 1, 1, 'hi people how are you' )";s:14:"total_affected";i:1;}i:32;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_fix WHERE MATCH('ho*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:33;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"ho*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:34;a:3:{s:8:"sphinxql";s:35:"SELECT * FROM wf WHERE MATCH('run')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"id";s:1:"2";}i:1;a:1:{s:2:"id";s:1:"3";}i:2;a:1:{s:2:"id";s:1:"4";}}}i:35;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"run";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}}}i:36;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM wf WHERE MATCH('runs')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"id";s:1:"2";}i:1;a:1:{s:2:"id";s:1:"3";}i:2;a:1:{s:2:"id";s:1:"4";}}}i:37;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"run";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}}}i:38;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM wf WHERE MATCH('=run')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"2";}}}i:39;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"=run";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:40;a:3:{s:8:"sphinxql";s:37:"SELECT * FROM wf WHERE MATCH('=runs')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"3";}}}i:41;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"=runs";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:42;a:2:{s:8:"sphinxql";s:72:"REPLACE INTO rt_fix (id, id1, title) VALUES ( 2, 1, 'howdy all around' )";s:14:"total_affected";i:1;}i:43;a:3:{s:8:"sphinxql";s:41:"SELECT * FROM rt_fix WHERE MATCH('*eop*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:44;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"*eop*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:45;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM rt_fix WHERE MATCH('*ar*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"id1";s:1:"1";}}}i:46;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"*ar*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:47;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_fix WHERE MATCH('ho*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"id1";s:1:"1";}}}i:48;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"ho*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:49;a:2:{s:8:"sphinxql";s:132:"REPLACE INTO rt_p (id, idd, title) VALUES (1,11,'busy'), (2,11,'busi'), (3,11,'feet'), (4,11,'foot'), (5,11,'fbusy'), (6,11,'fbusi')";s:14:"total_affected";i:6;}i:50;a:2:{s:8:"sphinxql";s:132:"REPLACE INTO rt_i (id, idd, title) VALUES (1,11,'busy'), (2,11,'busi'), (3,11,'feet'), (4,11,'foot'), (5,11,'fbusy'), (6,11,'fbusi')";s:14:"total_affected";i:6;}i:51;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_p WHERE MATCH('busy*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:52;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busy*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:53;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_i WHERE MATCH('busy*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:54;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busy*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:55;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_p WHERE MATCH('busy*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:56;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busy*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:57;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_i WHERE MATCH('busy*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:58;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busy*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:59;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_p WHERE MATCH('busi*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:60;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busi*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:61;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_i WHERE MATCH('busi*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:62;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busi*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:63;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_p WHERE MATCH('busi*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:64;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busi*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:65;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_i WHERE MATCH('busi*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:66;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busi*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:67;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM kw_i WHERE MATCH('*busy*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"5";s:3:"idd";s:2:"11";}}}i:68;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*busy*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:69;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM rt_i WHERE MATCH('*busy*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"5";s:3:"idd";s:2:"11";}}}i:70;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*busy*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:71;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM kw_i WHERE MATCH('*busi*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"6";s:3:"idd";s:2:"11";}}}i:72;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*busi*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:73;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM rt_i WHERE MATCH('*busi*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"6";s:3:"idd";s:2:"11";}}}i:74;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*busi*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:75;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_p WHERE MATCH('foot*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";}}}i:76;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"foot*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:77;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_i WHERE MATCH('foot*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";}}}i:78;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"foot*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:79;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_p WHERE MATCH('foot*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";}}}i:80;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"foot*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:81;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_i WHERE MATCH('foot*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";}}}i:82;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"foot*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:83;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_p WHERE MATCH('feet*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:84;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"feet*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:85;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_i WHERE MATCH('feet*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:86;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"feet*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:87;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_p WHERE MATCH('feet*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:88;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"feet*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:89;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_i WHERE MATCH('feet*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:90;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"feet*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:91;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM kw_i WHERE MATCH('*foot*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";}}}i:92;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*foot*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:93;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM rt_i WHERE MATCH('*foot*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";}}}i:94;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*foot*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:95;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM kw_i WHERE MATCH('*feet*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:96;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*feet*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:97;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM rt_i WHERE MATCH('*feet*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:98;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*feet*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:99;a:3:{s:8:"sphinxql";s:50:"SELECT * FROM phrase_idx WHERE MATCH(' "it run" ')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:100;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"it";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"run";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"3";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"3";}}}i:101;a:3:{s:8:"sphinxql";s:55:"SELECT * FROM phrase_idx WHERE MATCH(' ="it running" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:102;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"=it";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:8:"=running";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}}i:103;a:3:{s:8:"sphinxql";s:52:"SELECT * FROM phrase_idx WHERE MATCH(' ="it runs" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:104;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"=it";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:5:"=runs";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}}i:105;a:3:{s:8:"sphinxql";s:51:"SELECT * FROM phrase_idx WHERE MATCH(' ="it run" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:106;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"=it";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"=run";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}}i:107;a:2:{s:8:"sphinxql";s:54:"SELECT * FROM phrase_shift WHERE MATCH(' "that box" ')";s:10:"total_rows";i:0;}i:108;a:3:{s:8:"sphinxql";s:56:"SELECT * FROM phrase_shift WHERE MATCH(' "that * box" ')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:109;a:3:{s:8:"sphinxql";s:60:"SELECT * FROM phrase_shift WHERE MATCH(' "that * * * box" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:110;a:3:{s:8:"sphinxql";s:77:"SELECT * FROM phrase_shift WHERE MATCH(' "that * box might * * not yellow" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:111;a:2:{s:8:"sphinxql";s:59:"SELECT * FROM phrase_shift_star WHERE MATCH(' "that box" ')";s:10:"total_rows";i:0;}i:112;a:3:{s:8:"sphinxql";s:61:"SELECT * FROM phrase_shift_star WHERE MATCH(' "that * box" ')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:113;a:3:{s:8:"sphinxql";s:65:"SELECT * FROM phrase_shift_star WHERE MATCH(' "that * * * box" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:114;a:3:{s:8:"sphinxql";s:82:"SELECT * FROM phrase_shift_star WHERE MATCH(' "that * box might * * not yellow" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:115;a:2:{s:8:"sphinxql";s:63:"SELECT * FROM phrase_shift_min_wlen WHERE MATCH(' "that box" ')";s:10:"total_rows";i:0;}i:116;a:3:{s:8:"sphinxql";s:65:"SELECT * FROM phrase_shift_min_wlen WHERE MATCH(' "that * box" ')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:117;a:3:{s:8:"sphinxql";s:69:"SELECT * FROM phrase_shift_min_wlen WHERE MATCH(' "that * * * box" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:118;a:3:{s:8:"sphinxql";s:86:"SELECT * FROM phrase_shift_min_wlen WHERE MATCH(' "that * box might * * not yellow" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:119;a:2:{s:8:"sphinxql";s:74:"SELECT * FROM phrase_shift_stop WHERE MATCH(' "a the end that * box of" ')";s:10:"total_rows";i:0;}i:120;a:3:{s:8:"sphinxql";s:62:"SELECT * FROM phrase_shift WHERE MATCH(' "* * * box always" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:121;a:3:{s:8:"sphinxql";s:67:"SELECT * FROM phrase_shift_star WHERE MATCH(' "* * * box always" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:122;a:3:{s:8:"sphinxql";s:71:"SELECT * FROM phrase_shift_min_wlen WHERE MATCH(' "* * * box always" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:123;a:2:{s:8:"sphinxql";s:118:"REPLACE INTO rt_i (id, idd, title) VALUES (20,11,'long word ___________________________________________ that crashed')";s:14:"total_affected";i:1;}i:124;a:2:{s:8:"sphinxql";s:19:"FLUSH RAMCHUNK rt_i";s:14:"total_affected";i:0;}i:125;a:3:{s:8:"sphinxql";s:44:"SELECT * FROM codepoint WHERE MATCH('*box*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:1:"5";}}}i:126;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM dist WHERE MATCH('test*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:127;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"test";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:128;a:3:{s:8:"sphinxql";s:41:"CALL KEYWORDS ( 'test*', 'plain_nostar1')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:4:"test";s:10:"normalized";s:4:"test";}}}i:129;a:3:{s:8:"sphinxql";s:38:"CALL KEYWORDS ( 'test*', 'rt_nostar1')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:4:"test";s:10:"normalized";s:4:"test";}}}}i:2;a:130:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1847";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"work";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"work";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1847";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"work";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"worked";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1769";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"worker";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"worker";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1847";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"work";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"=work";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1847";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"work";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"=worked";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1769";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"worker";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"=worker";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"run";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"run";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"run";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"runs";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"run";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"=run";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"run";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"=runs";}i:10;a:2:{s:8:"sphinxql";s:159:" REPLACE INTO rt (id, id1, title) VALUES ( 1, 1, 'work worked working workings worker works workers' ), ( 2, 1, 'run' ), ( 3, 1, 'runs' ), ( 4, 1, 'running' ) ";s:14:"total_affected";i:4;}i:11;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM rt WHERE MATCH('work')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:12;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"work";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"5";}}}i:13;a:3:{s:8:"sphinxql";s:38:"SELECT * FROM rt WHERE MATCH('worked')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:14;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"work";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"5";}}}i:15;a:3:{s:8:"sphinxql";s:38:"SELECT * FROM rt WHERE MATCH('worker')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:16;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"worker";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:17;a:3:{s:8:"sphinxql";s:37:"SELECT * FROM rt WHERE MATCH('=work')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:18;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"=work";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:19;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt WHERE MATCH('=worked')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:20;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"=worked";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:21;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt WHERE MATCH('=worker')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:22;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"=worker";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:23;a:3:{s:8:"sphinxql";s:35:"SELECT * FROM rt WHERE MATCH('run')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"id1";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"id1";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"id1";s:1:"1";}}}i:24;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"run";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}}}i:25;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM rt WHERE MATCH('runs')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"id1";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"id1";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"id1";s:1:"1";}}}i:26;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"run";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}}}i:27;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM rt WHERE MATCH('=run')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"id1";s:1:"1";}}}i:28;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"=run";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:29;a:3:{s:8:"sphinxql";s:37:"SELECT * FROM rt WHERE MATCH('=runs')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"id1";s:1:"1";}}}i:30;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"=runs";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:31;a:2:{s:8:"sphinxql";s:77:"REPLACE INTO rt_fix (id, id1, title) VALUES ( 1, 1, 'hi people how are you' )";s:14:"total_affected";i:1;}i:32;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_fix WHERE MATCH('ho*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:33;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"ho*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:34;a:3:{s:8:"sphinxql";s:35:"SELECT * FROM wf WHERE MATCH('run')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"id";s:1:"2";}i:1;a:1:{s:2:"id";s:1:"3";}i:2;a:1:{s:2:"id";s:1:"4";}}}i:35;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"run";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}}}i:36;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM wf WHERE MATCH('runs')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"id";s:1:"2";}i:1;a:1:{s:2:"id";s:1:"3";}i:2;a:1:{s:2:"id";s:1:"4";}}}i:37;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"run";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}}}i:38;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM wf WHERE MATCH('=run')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"2";}}}i:39;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"=run";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:40;a:3:{s:8:"sphinxql";s:37:"SELECT * FROM wf WHERE MATCH('=runs')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"3";}}}i:41;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"=runs";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:42;a:2:{s:8:"sphinxql";s:72:"REPLACE INTO rt_fix (id, id1, title) VALUES ( 2, 1, 'howdy all around' )";s:14:"total_affected";i:1;}i:43;a:3:{s:8:"sphinxql";s:41:"SELECT * FROM rt_fix WHERE MATCH('*eop*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:44;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"*eop*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:45;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM rt_fix WHERE MATCH('*ar*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"id1";s:1:"1";}}}i:46;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"*ar*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:47;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_fix WHERE MATCH('ho*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"id1";s:1:"1";}}}i:48;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"ho*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:49;a:2:{s:8:"sphinxql";s:132:"REPLACE INTO rt_p (id, idd, title) VALUES (1,11,'busy'), (2,11,'busi'), (3,11,'feet'), (4,11,'foot'), (5,11,'fbusy'), (6,11,'fbusi')";s:14:"total_affected";i:6;}i:50;a:2:{s:8:"sphinxql";s:132:"REPLACE INTO rt_i (id, idd, title) VALUES (1,11,'busy'), (2,11,'busi'), (3,11,'feet'), (4,11,'foot'), (5,11,'fbusy'), (6,11,'fbusi')";s:14:"total_affected";i:6;}i:51;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_p WHERE MATCH('busy*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:52;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busy*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:53;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_i WHERE MATCH('busy*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:54;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busy*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:55;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_p WHERE MATCH('busy*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:56;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busy*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:57;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_i WHERE MATCH('busy*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:58;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busy*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:59;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_p WHERE MATCH('busi*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:60;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busi*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:61;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_i WHERE MATCH('busi*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:62;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busi*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:63;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_p WHERE MATCH('busi*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:64;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busi*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:65;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_i WHERE MATCH('busi*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:66;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busi*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:67;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM kw_i WHERE MATCH('*busy*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"5";s:3:"idd";s:2:"11";}}}i:68;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*busy*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:69;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM rt_i WHERE MATCH('*busy*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"5";s:3:"idd";s:2:"11";}}}i:70;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*busy*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:71;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM kw_i WHERE MATCH('*busi*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"6";s:3:"idd";s:2:"11";}}}i:72;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*busi*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:73;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM rt_i WHERE MATCH('*busi*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"6";s:3:"idd";s:2:"11";}}}i:74;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*busi*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:75;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_p WHERE MATCH('foot*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";}}}i:76;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"foot*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:77;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_i WHERE MATCH('foot*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";}}}i:78;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"foot*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:79;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_p WHERE MATCH('foot*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";}}}i:80;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"foot*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:81;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_i WHERE MATCH('foot*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";}}}i:82;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"foot*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:83;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_p WHERE MATCH('feet*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:84;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"feet*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:85;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_i WHERE MATCH('feet*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:86;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"feet*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:87;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_p WHERE MATCH('feet*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:88;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"feet*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:89;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_i WHERE MATCH('feet*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:90;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"feet*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:91;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM kw_i WHERE MATCH('*foot*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";}}}i:92;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*foot*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:93;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM rt_i WHERE MATCH('*foot*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";}}}i:94;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*foot*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:95;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM kw_i WHERE MATCH('*feet*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:96;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*feet*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:97;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM rt_i WHERE MATCH('*feet*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:98;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*feet*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:99;a:3:{s:8:"sphinxql";s:50:"SELECT * FROM phrase_idx WHERE MATCH(' "it run" ')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:100;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"it";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"run";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"3";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"3";}}}i:101;a:3:{s:8:"sphinxql";s:55:"SELECT * FROM phrase_idx WHERE MATCH(' ="it running" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:102;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"=it";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:8:"=running";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}}i:103;a:3:{s:8:"sphinxql";s:52:"SELECT * FROM phrase_idx WHERE MATCH(' ="it runs" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:104;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"=it";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:5:"=runs";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}}i:105;a:3:{s:8:"sphinxql";s:51:"SELECT * FROM phrase_idx WHERE MATCH(' ="it run" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:106;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"=it";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"=run";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}}i:107;a:2:{s:8:"sphinxql";s:54:"SELECT * FROM phrase_shift WHERE MATCH(' "that box" ')";s:10:"total_rows";i:0;}i:108;a:3:{s:8:"sphinxql";s:56:"SELECT * FROM phrase_shift WHERE MATCH(' "that * box" ')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:109;a:3:{s:8:"sphinxql";s:60:"SELECT * FROM phrase_shift WHERE MATCH(' "that * * * box" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:110;a:3:{s:8:"sphinxql";s:77:"SELECT * FROM phrase_shift WHERE MATCH(' "that * box might * * not yellow" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:111;a:2:{s:8:"sphinxql";s:59:"SELECT * FROM phrase_shift_star WHERE MATCH(' "that box" ')";s:10:"total_rows";i:0;}i:112;a:3:{s:8:"sphinxql";s:61:"SELECT * FROM phrase_shift_star WHERE MATCH(' "that * box" ')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:113;a:3:{s:8:"sphinxql";s:65:"SELECT * FROM phrase_shift_star WHERE MATCH(' "that * * * box" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:114;a:3:{s:8:"sphinxql";s:82:"SELECT * FROM phrase_shift_star WHERE MATCH(' "that * box might * * not yellow" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:115;a:2:{s:8:"sphinxql";s:63:"SELECT * FROM phrase_shift_min_wlen WHERE MATCH(' "that box" ')";s:10:"total_rows";i:0;}i:116;a:3:{s:8:"sphinxql";s:65:"SELECT * FROM phrase_shift_min_wlen WHERE MATCH(' "that * box" ')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:117;a:3:{s:8:"sphinxql";s:69:"SELECT * FROM phrase_shift_min_wlen WHERE MATCH(' "that * * * box" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:118;a:3:{s:8:"sphinxql";s:86:"SELECT * FROM phrase_shift_min_wlen WHERE MATCH(' "that * box might * * not yellow" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:119;a:2:{s:8:"sphinxql";s:74:"SELECT * FROM phrase_shift_stop WHERE MATCH(' "a the end that * box of" ')";s:10:"total_rows";i:0;}i:120;a:3:{s:8:"sphinxql";s:62:"SELECT * FROM phrase_shift WHERE MATCH(' "* * * box always" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:121;a:3:{s:8:"sphinxql";s:67:"SELECT * FROM phrase_shift_star WHERE MATCH(' "* * * box always" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:122;a:3:{s:8:"sphinxql";s:71:"SELECT * FROM phrase_shift_min_wlen WHERE MATCH(' "* * * box always" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:123;a:2:{s:8:"sphinxql";s:118:"REPLACE INTO rt_i (id, idd, title) VALUES (20,11,'long word ___________________________________________ that crashed')";s:14:"total_affected";i:1;}i:124;a:2:{s:8:"sphinxql";s:19:"FLUSH RAMCHUNK rt_i";s:14:"total_affected";i:0;}i:125;a:3:{s:8:"sphinxql";s:44:"SELECT * FROM codepoint WHERE MATCH('*box*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:1:"5";}}}i:126;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM dist WHERE MATCH('test*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:127;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"test";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:128;a:3:{s:8:"sphinxql";s:41:"CALL KEYWORDS ( 'test*', 'plain_nostar1')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:4:"test";s:10:"normalized";s:4:"test";}}}i:129;a:3:{s:8:"sphinxql";s:38:"CALL KEYWORDS ( 'test*', 'rt_nostar1')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:4:"test";s:10:"normalized";s:4:"test";}}}}i:3;a:130:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1847";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"work";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"work";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1847";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"work";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"worked";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1769";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"worker";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"worker";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"=work";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"=work";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"=worked";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"=worked";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"=worker";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"=worker";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"run";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"run";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"run";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"runs";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"=run";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"=run";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"=runs";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"=runs";}i:10;a:2:{s:8:"sphinxql";s:159:" REPLACE INTO rt (id, id1, title) VALUES ( 1, 1, 'work worked working workings worker works workers' ), ( 2, 1, 'run' ), ( 3, 1, 'runs' ), ( 4, 1, 'running' ) ";s:14:"total_affected";i:4;}i:11;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM rt WHERE MATCH('work')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:12;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"work";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"5";}}}i:13;a:3:{s:8:"sphinxql";s:38:"SELECT * FROM rt WHERE MATCH('worked')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:14;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"work";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"5";}}}i:15;a:3:{s:8:"sphinxql";s:38:"SELECT * FROM rt WHERE MATCH('worker')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:16;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"worker";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:17;a:3:{s:8:"sphinxql";s:37:"SELECT * FROM rt WHERE MATCH('=work')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:18;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"=work";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:19;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt WHERE MATCH('=worked')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:20;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"=worked";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:21;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt WHERE MATCH('=worker')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:22;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:7:"=worker";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:23;a:3:{s:8:"sphinxql";s:35:"SELECT * FROM rt WHERE MATCH('run')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"id1";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"id1";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"id1";s:1:"1";}}}i:24;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"run";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}}}i:25;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM rt WHERE MATCH('runs')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"id1";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"id1";s:1:"1";}i:2;a:2:{s:2:"id";s:1:"4";s:3:"id1";s:1:"1";}}}i:26;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"run";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}}}i:27;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM rt WHERE MATCH('=run')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"id1";s:1:"1";}}}i:28;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"=run";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:29;a:3:{s:8:"sphinxql";s:37:"SELECT * FROM rt WHERE MATCH('=runs')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"id1";s:1:"1";}}}i:30;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"=runs";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:31;a:2:{s:8:"sphinxql";s:77:"REPLACE INTO rt_fix (id, id1, title) VALUES ( 1, 1, 'hi people how are you' )";s:14:"total_affected";i:1;}i:32;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_fix WHERE MATCH('ho*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:33;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"ho*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:34;a:3:{s:8:"sphinxql";s:35:"SELECT * FROM wf WHERE MATCH('run')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"id";s:1:"2";}i:1;a:1:{s:2:"id";s:1:"3";}i:2;a:1:{s:2:"id";s:1:"4";}}}i:35;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"run";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}}}i:36;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM wf WHERE MATCH('runs')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:1:{s:2:"id";s:1:"2";}i:1;a:1:{s:2:"id";s:1:"3";}i:2;a:1:{s:2:"id";s:1:"4";}}}i:37;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"run";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}}}i:38;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM wf WHERE MATCH('=run')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"2";}}}i:39;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"=run";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:40;a:3:{s:8:"sphinxql";s:37:"SELECT * FROM wf WHERE MATCH('=runs')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:1:"3";}}}i:41;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"=runs";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:42;a:2:{s:8:"sphinxql";s:72:"REPLACE INTO rt_fix (id, id1, title) VALUES ( 2, 1, 'howdy all around' )";s:14:"total_affected";i:1;}i:43;a:3:{s:8:"sphinxql";s:41:"SELECT * FROM rt_fix WHERE MATCH('*eop*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}}}i:44;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"*eop*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:45;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM rt_fix WHERE MATCH('*ar*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"id1";s:1:"1";}}}i:46;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"*ar*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:47;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_fix WHERE MATCH('ho*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"id1";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"id1";s:1:"1";}}}i:48;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"ho*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:49;a:2:{s:8:"sphinxql";s:132:"REPLACE INTO rt_p (id, idd, title) VALUES (1,11,'busy'), (2,11,'busi'), (3,11,'feet'), (4,11,'foot'), (5,11,'fbusy'), (6,11,'fbusi')";s:14:"total_affected";i:6;}i:50;a:2:{s:8:"sphinxql";s:132:"REPLACE INTO rt_i (id, idd, title) VALUES (1,11,'busy'), (2,11,'busi'), (3,11,'feet'), (4,11,'foot'), (5,11,'fbusy'), (6,11,'fbusi')";s:14:"total_affected";i:6;}i:51;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_p WHERE MATCH('busy*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:52;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busy*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:53;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_i WHERE MATCH('busy*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:54;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busy*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:55;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_p WHERE MATCH('busy*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:56;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busy*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:57;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_i WHERE MATCH('busy*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:58;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busy*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:59;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_p WHERE MATCH('busi*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:60;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busi*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:61;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_i WHERE MATCH('busi*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:62;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busi*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:63;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_p WHERE MATCH('busi*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:64;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busi*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:65;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_i WHERE MATCH('busi*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:66;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"busi*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:67;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM kw_i WHERE MATCH('*busy*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"5";s:3:"idd";s:2:"11";}}}i:68;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*busy*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:69;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM rt_i WHERE MATCH('*busy*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"5";s:3:"idd";s:2:"11";}}}i:70;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*busy*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:71;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM kw_i WHERE MATCH('*busi*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"6";s:3:"idd";s:2:"11";}}}i:72;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*busi*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:73;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM rt_i WHERE MATCH('*busi*')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"6";s:3:"idd";s:2:"11";}}}i:74;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*busi*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:75;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_p WHERE MATCH('foot*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";}}}i:76;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"foot*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:77;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_i WHERE MATCH('foot*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";}}}i:78;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"foot*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:79;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_p WHERE MATCH('foot*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";}}}i:80;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"foot*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:81;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_i WHERE MATCH('foot*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";}}}i:82;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"foot*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:83;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_p WHERE MATCH('feet*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:84;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"feet*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:85;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM kw_i WHERE MATCH('feet*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:86;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"feet*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:87;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_p WHERE MATCH('feet*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:88;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"feet*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:89;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM rt_i WHERE MATCH('feet*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:90;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:5:"feet*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:91;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM kw_i WHERE MATCH('*foot*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";}}}i:92;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*foot*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:93;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM rt_i WHERE MATCH('*foot*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"4";s:3:"idd";s:2:"11";}}}i:94;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*foot*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:95;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM kw_i WHERE MATCH('*feet*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:96;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*feet*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:97;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM rt_i WHERE MATCH('*feet*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:98;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:6:"*feet*";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:99;a:3:{s:8:"sphinxql";s:50:"SELECT * FROM phrase_idx WHERE MATCH(' "it run" ')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:100;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"it";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"run";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"3";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"3";}}}i:101;a:3:{s:8:"sphinxql";s:55:"SELECT * FROM phrase_idx WHERE MATCH(' ="it running" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:102;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"=it";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:8:"=running";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}}i:103;a:3:{s:8:"sphinxql";s:52:"SELECT * FROM phrase_idx WHERE MATCH(' ="it runs" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:104;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"=it";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:5:"=runs";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}}i:105;a:3:{s:8:"sphinxql";s:51:"SELECT * FROM phrase_idx WHERE MATCH(' ="it run" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:106;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"=it";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"=run";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}}i:107;a:2:{s:8:"sphinxql";s:54:"SELECT * FROM phrase_shift WHERE MATCH(' "that box" ')";s:10:"total_rows";i:0;}i:108;a:3:{s:8:"sphinxql";s:56:"SELECT * FROM phrase_shift WHERE MATCH(' "that * box" ')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:109;a:3:{s:8:"sphinxql";s:60:"SELECT * FROM phrase_shift WHERE MATCH(' "that * * * box" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:110;a:3:{s:8:"sphinxql";s:77:"SELECT * FROM phrase_shift WHERE MATCH(' "that * box might * * not yellow" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:111;a:2:{s:8:"sphinxql";s:59:"SELECT * FROM phrase_shift_star WHERE MATCH(' "that box" ')";s:10:"total_rows";i:0;}i:112;a:3:{s:8:"sphinxql";s:61:"SELECT * FROM phrase_shift_star WHERE MATCH(' "that * box" ')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:113;a:3:{s:8:"sphinxql";s:65:"SELECT * FROM phrase_shift_star WHERE MATCH(' "that * * * box" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:114;a:3:{s:8:"sphinxql";s:82:"SELECT * FROM phrase_shift_star WHERE MATCH(' "that * box might * * not yellow" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:115;a:2:{s:8:"sphinxql";s:63:"SELECT * FROM phrase_shift_min_wlen WHERE MATCH(' "that box" ')";s:10:"total_rows";i:0;}i:116;a:3:{s:8:"sphinxql";s:65:"SELECT * FROM phrase_shift_min_wlen WHERE MATCH(' "that * box" ')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:117;a:3:{s:8:"sphinxql";s:69:"SELECT * FROM phrase_shift_min_wlen WHERE MATCH(' "that * * * box" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:118;a:3:{s:8:"sphinxql";s:86:"SELECT * FROM phrase_shift_min_wlen WHERE MATCH(' "that * box might * * not yellow" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:119;a:2:{s:8:"sphinxql";s:74:"SELECT * FROM phrase_shift_stop WHERE MATCH(' "a the end that * box of" ')";s:10:"total_rows";i:0;}i:120;a:3:{s:8:"sphinxql";s:62:"SELECT * FROM phrase_shift WHERE MATCH(' "* * * box always" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:121;a:3:{s:8:"sphinxql";s:67:"SELECT * FROM phrase_shift_star WHERE MATCH(' "* * * box always" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:122;a:3:{s:8:"sphinxql";s:71:"SELECT * FROM phrase_shift_min_wlen WHERE MATCH(' "* * * box always" ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:123;a:2:{s:8:"sphinxql";s:118:"REPLACE INTO rt_i (id, idd, title) VALUES (20,11,'long word ___________________________________________ that crashed')";s:14:"total_affected";i:1;}i:124;a:2:{s:8:"sphinxql";s:19:"FLUSH RAMCHUNK rt_i";s:14:"total_affected";i:0;}i:125;a:3:{s:8:"sphinxql";s:44:"SELECT * FROM codepoint WHERE MATCH('*box*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:1:"5";}}}i:126;a:3:{s:8:"sphinxql";s:39:"SELECT * FROM dist WHERE MATCH('test*')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:127;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"test";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:128;a:3:{s:8:"sphinxql";s:41:"CALL KEYWORDS ( 'test*', 'plain_nostar1')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:4:"test";s:10:"normalized";s:4:"test";}}}i:129;a:3:{s:8:"sphinxql";s:38:"CALL KEYWORDS ( 'test*', 'rt_nostar1')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:4:"test";s:10:"normalized";s:4:"test";}}}}}sphinx-2.2.11-release/test/test_040/0000755000175000017500000000000012743402012016400 5ustar alexeyalexeysphinx-2.2.11-release/test/test_040/test.xml0000644000175000017500000000435712743402012020112 0ustar alexeyalexey snippets vs wildcard matches indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query = SELECT id, body FROM test_table } index test_idx { source = srctest path = /test min_word_len = 1 min_infix_len = 1 } CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'test' ) $results = array (); $opts = array ( 'before_match' => '[B]', 'after_match' => '[A]', 'chunk_separator' => ' ... ', 'limit' => 100, 'around' => 2, ); $tests = array ( array ( 'docs' => array('He caught fish in deep pools with invisible fingers and ate them raw.'), 'q' => array ( 'he* fin*', '*gers *raw', 'fin* *gers', '*augh* *is*', '*pools*', ), ), // utf-8 array ( 'docs' => array('Невидимыми пальцами ловил он рыбу в глубоких омутах и ел её сырой.'), 'q' => array ( 'невидимыми* пальц*', '*цами *сырой', 'пальц* *цами', '*ови* *ы*', '*омутах*', ), ), ); foreach ( $tests as $test ) { foreach ( $test['q'] as $words ) { $results [] = $words; $res = $client->BuildExcerpts ( $test['docs'], 'test_idx', $words, $opts ); if ( !$res ) { $results = false; return; } $results [] = $res; } } CALL SNIPPETS ( 'test of testing case', 'test_idx', 't?st*', 1 AS query_mode, 0 as limit ) CALL SNIPPETS ( 'test of testing case', 'test_idx', 't?st*', 0 AS query_mode, 0 as limit ) CALL SNIPPETS ( 'some dummy words here test of testing case and long tail also here', 'test_idx', 't?st*', 1 AS query_mode, 30 as limit ) CALL SNIPPETS ( 'some dummy words here test of testing case and long tail also here', 'test_idx', 't?st*', 0 AS query_mode, 30 as limit ) sphinx-2.2.11-release/test/test_040/model.bin0000644000175000017500000000451712743402012020201 0ustar alexeyalexeya:1:{i:0;a:5:{i:0;a:20:{i:0;s:8:"he* fin*";i:1;a:1:{i:0;s:81:"[B]He[A] caught fish in deep pools with invisible [B]fingers[A] and ate them raw.";}i:2;s:10:"*gers *raw";i:3;a:1:{i:0;s:81:"He caught fish in deep pools with invisible [B]fingers[A] and ate them [B]raw[A].";}i:4;s:10:"fin* *gers";i:5;a:1:{i:0;s:75:"He caught fish in deep pools with invisible [B]fingers[A] and ate them raw.";}i:6;s:11:"*augh* *is*";i:7;a:1:{i:0;s:87:"He [B]caught[A] [B]fish[A] in deep pools with [B]invisible[A] fingers and ate them raw.";}i:8;s:7:"*pools*";i:9;a:1:{i:0;s:75:"He caught fish in deep [B]pools[A] with invisible fingers and ate them raw.";}i:10;s:33:"невидимыми* пальц*";i:11;a:1:{i:0;s:71:"[B]Невидимыми[A] [B]пальцами[A] ловил он ... ";}i:12;s:21:"*цами *сырой";i:13;a:1:{i:0;s:93:"Невидимыми [B]пальцами[A] ловил он ... ел её [B]сырой[A].";}i:14;s:21:"пальц* *цами";i:15;a:1:{i:0;s:65:"Невидимыми [B]пальцами[A] ловил он ... ";}i:16;s:13:"*ови* *ы*";i:17;a:1:{i:0;s:134:"[B]Невидимыми[A] пальцами [B]ловил[A] он [B]рыбу[A] в глубоких ... ел её [B]сырой[A].";}i:18;s:14:"*омутах*";i:19;a:1:{i:0;s:57:" ... в глубоких [B]омутах[A] и ел ... ";}}i:1;a:3:{s:8:"sphinxql";s:90:"CALL SNIPPETS ( 'test of testing case', 'test_idx', 't?st*', 1 AS query_mode, 0 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:34:"test of testing case";}}}i:2;a:3:{s:8:"sphinxql";s:90:"CALL SNIPPETS ( 'test of testing case', 'test_idx', 't?st*', 0 AS query_mode, 0 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:34:"test of testing case";}}}i:3;a:3:{s:8:"sphinxql";s:137:"CALL SNIPPETS ( 'some dummy words here test of testing case and long tail also here', 'test_idx', 't?st*', 1 AS query_mode, 30 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:50:" ... here test of testing case ... ";}}}i:4;a:3:{s:8:"sphinxql";s:137:"CALL SNIPPETS ( 'some dummy words here test of testing case and long tail also here', 'test_idx', 't?st*', 0 AS query_mode, 30 as limit )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:7:"snippet";s:50:" ... here test of testing case ... ";}}}}}sphinx-2.2.11-release/test/test_039/0000755000175000017500000000000012743402012016410 5ustar alexeyalexeysphinx-2.2.11-release/test/test_039/test.xml0000644000175000017500000062706112743402012020125 0ustar alexeyalexey distributed updates indexer { mem_limit = 16M } searchd { max_filter_values = 500000 max_packet_size = 18M dist_threads = 4 read_timeout = 1 workers = threads } source src1 { type = mysql sql_query = SELECT id, group_id, title, mva FROM test_table sql_attr_uint = group_id sql_attr_multi = uint mva from field } source src2 : src1 { sql_query = SELECT 10+id, group_id, title, mva FROM test_table } source src_i1 { type = mysql sql_query = SELECT id, title, group_id as gid FROM test_table sql_attr_uint = gid } source src_i2 { type = mysql sql_query = SELECT id + 100, title, group_id as gid FROM test_table sql_attr_uint = gid } index block1 { source = src1 path = /block1 docinfo = extern min_word_len = 1 } index block2 { source = src2 path = /block2 docinfo = extern min_word_len = 1 } index dist_agent_2 { source = src1 path = /dist_agent_2 docinfo = extern } index dist { type = distributed local = block1 agent = :block2 agent_connect_timeout = 1000 agent_query_timeout = 3000 } index dist2 { type = distributed agent = :dist_agent_2 agent_connect_timeout = 1000 agent_query_timeout = 3000 } index i1 { source = src_i1 path = /i1 docinfo = extern } index i2 { source = src_i2 path = /i2 docinfo = extern } index rt { type = rt path = /rt docinfo = extern rt_mem_limit = 128k rt_field = title rt_attr_uint = gid } 2 SELECT * FROM dist UPDATE dist SET group_id=123 WHERE id=11 SELECT * FROM dist INSERT INTO rt (id, gid, title) VALUES (1000, 11, 'x10000 x10001 x10002 x10003 x10004 x10005 x10006 x10007 x10008 x10009 x100010 x100011 x100012 x100013 x100014 x100015 x100016 x100017 x100018 x100019 x100020 x100021 x100022 x100023 x100024 x100025 x100026 x100027 x100028 x100029 ') INSERT INTO rt (id, gid, title) VALUES (1001, 11, 'x10010 x10011 x10012 x10013 x10014 x10015 x10016 x10017 x10018 x10019 x100110 x100111 x100112 x100113 x100114 x100115 x100116 x100117 x100118 x100119 x100120 x100121 x100122 x100123 x100124 x100125 x100126 x100127 x100128 x100129 ') INSERT INTO rt (id, gid, title) VALUES (1002, 11, 'x10020 x10021 x10022 x10023 x10024 x10025 x10026 x10027 x10028 x10029 x100210 x100211 x100212 x100213 x100214 x100215 x100216 x100217 x100218 x100219 x100220 x100221 x100222 x100223 x100224 x100225 x100226 x100227 x100228 x100229 ') INSERT INTO rt (id, gid, title) VALUES (1003, 11, 'x10030 x10031 x10032 x10033 x10034 x10035 x10036 x10037 x10038 x10039 x100310 x100311 x100312 x100313 x100314 x100315 x100316 x100317 x100318 x100319 x100320 x100321 x100322 x100323 x100324 x100325 x100326 x100327 x100328 x100329 ') INSERT INTO rt (id, gid, title) VALUES (1004, 11, 'x10040 x10041 x10042 x10043 x10044 x10045 x10046 x10047 x10048 x10049 x100410 x100411 x100412 x100413 x100414 x100415 x100416 x100417 x100418 x100419 x100420 x100421 x100422 x100423 x100424 x100425 x100426 x100427 x100428 x100429 ') INSERT INTO rt (id, gid, title) VALUES (1005, 11, 'x10050 x10051 x10052 x10053 x10054 x10055 x10056 x10057 x10058 x10059 x100510 x100511 x100512 x100513 x100514 x100515 x100516 x100517 x100518 x100519 x100520 x100521 x100522 x100523 x100524 x100525 x100526 x100527 x100528 x100529 ') INSERT INTO rt (id, gid, title) VALUES (1006, 11, 'x10060 x10061 x10062 x10063 x10064 x10065 x10066 x10067 x10068 x10069 x100610 x100611 x100612 x100613 x100614 x100615 x100616 x100617 x100618 x100619 x100620 x100621 x100622 x100623 x100624 x100625 x100626 x100627 x100628 x100629 ') INSERT INTO rt (id, gid, title) VALUES (1007, 11, 'x10070 x10071 x10072 x10073 x10074 x10075 x10076 x10077 x10078 x10079 x100710 x100711 x100712 x100713 x100714 x100715 x100716 x100717 x100718 x100719 x100720 x100721 x100722 x100723 x100724 x100725 x100726 x100727 x100728 x100729 ') INSERT INTO rt (id, gid, title) VALUES (1008, 11, 'x10080 x10081 x10082 x10083 x10084 x10085 x10086 x10087 x10088 x10089 x100810 x100811 x100812 x100813 x100814 x100815 x100816 x100817 x100818 x100819 x100820 x100821 x100822 x100823 x100824 x100825 x100826 x100827 x100828 x100829 ') INSERT INTO rt (id, gid, title) VALUES (1009, 11, 'x10090 x10091 x10092 x10093 x10094 x10095 x10096 x10097 x10098 x10099 x100910 x100911 x100912 x100913 x100914 x100915 x100916 x100917 x100918 x100919 x100920 x100921 x100922 x100923 x100924 x100925 x100926 x100927 x100928 x100929 ') INSERT INTO rt (id, gid, title) VALUES (1010, 11, 'x10100 x10101 x10102 x10103 x10104 x10105 x10106 x10107 x10108 x10109 x101010 x101011 x101012 x101013 x101014 x101015 x101016 x101017 x101018 x101019 x101020 x101021 x101022 x101023 x101024 x101025 x101026 x101027 x101028 x101029 ') INSERT INTO rt (id, gid, title) VALUES (1011, 11, 'x10110 x10111 x10112 x10113 x10114 x10115 x10116 x10117 x10118 x10119 x101110 x101111 x101112 x101113 x101114 x101115 x101116 x101117 x101118 x101119 x101120 x101121 x101122 x101123 x101124 x101125 x101126 x101127 x101128 x101129 ') INSERT INTO rt (id, gid, title) VALUES (1012, 11, 'x10120 x10121 x10122 x10123 x10124 x10125 x10126 x10127 x10128 x10129 x101210 x101211 x101212 x101213 x101214 x101215 x101216 x101217 x101218 x101219 x101220 x101221 x101222 x101223 x101224 x101225 x101226 x101227 x101228 x101229 ') INSERT INTO rt (id, gid, title) VALUES (1013, 11, 'x10130 x10131 x10132 x10133 x10134 x10135 x10136 x10137 x10138 x10139 x101310 x101311 x101312 x101313 x101314 x101315 x101316 x101317 x101318 x101319 x101320 x101321 x101322 x101323 x101324 x101325 x101326 x101327 x101328 x101329 ') INSERT INTO rt (id, gid, title) VALUES (1014, 11, 'x10140 x10141 x10142 x10143 x10144 x10145 x10146 x10147 x10148 x10149 x101410 x101411 x101412 x101413 x101414 x101415 x101416 x101417 x101418 x101419 x101420 x101421 x101422 x101423 x101424 x101425 x101426 x101427 x101428 x101429 ') INSERT INTO rt (id, gid, title) VALUES (1015, 11, 'x10150 x10151 x10152 x10153 x10154 x10155 x10156 x10157 x10158 x10159 x101510 x101511 x101512 x101513 x101514 x101515 x101516 x101517 x101518 x101519 x101520 x101521 x101522 x101523 x101524 x101525 x101526 x101527 x101528 x101529 ') INSERT INTO rt (id, gid, title) VALUES (1016, 11, 'x10160 x10161 x10162 x10163 x10164 x10165 x10166 x10167 x10168 x10169 x101610 x101611 x101612 x101613 x101614 x101615 x101616 x101617 x101618 x101619 x101620 x101621 x101622 x101623 x101624 x101625 x101626 x101627 x101628 x101629 ') INSERT INTO rt (id, gid, title) VALUES (1017, 11, 'x10170 x10171 x10172 x10173 x10174 x10175 x10176 x10177 x10178 x10179 x101710 x101711 x101712 x101713 x101714 x101715 x101716 x101717 x101718 x101719 x101720 x101721 x101722 x101723 x101724 x101725 x101726 x101727 x101728 x101729 ') INSERT INTO rt (id, gid, title) VALUES (1018, 11, 'x10180 x10181 x10182 x10183 x10184 x10185 x10186 x10187 x10188 x10189 x101810 x101811 x101812 x101813 x101814 x101815 x101816 x101817 x101818 x101819 x101820 x101821 x101822 x101823 x101824 x101825 x101826 x101827 x101828 x101829 ') INSERT INTO rt (id, gid, title) VALUES (1019, 11, 'x10190 x10191 x10192 x10193 x10194 x10195 x10196 x10197 x10198 x10199 x101910 x101911 x101912 x101913 x101914 x101915 x101916 x101917 x101918 x101919 x101920 x101921 x101922 x101923 x101924 x101925 x101926 x101927 x101928 x101929 ') INSERT INTO rt (id, gid, title) VALUES (1020, 11, 'x10200 x10201 x10202 x10203 x10204 x10205 x10206 x10207 x10208 x10209 x102010 x102011 x102012 x102013 x102014 x102015 x102016 x102017 x102018 x102019 x102020 x102021 x102022 x102023 x102024 x102025 x102026 x102027 x102028 x102029 ') INSERT INTO rt (id, gid, title) VALUES (1021, 11, 'x10210 x10211 x10212 x10213 x10214 x10215 x10216 x10217 x10218 x10219 x102110 x102111 x102112 x102113 x102114 x102115 x102116 x102117 x102118 x102119 x102120 x102121 x102122 x102123 x102124 x102125 x102126 x102127 x102128 x102129 ') INSERT INTO rt (id, gid, title) VALUES (1022, 11, 'x10220 x10221 x10222 x10223 x10224 x10225 x10226 x10227 x10228 x10229 x102210 x102211 x102212 x102213 x102214 x102215 x102216 x102217 x102218 x102219 x102220 x102221 x102222 x102223 x102224 x102225 x102226 x102227 x102228 x102229 ') INSERT INTO rt (id, gid, title) VALUES (1023, 11, 'x10230 x10231 x10232 x10233 x10234 x10235 x10236 x10237 x10238 x10239 x102310 x102311 x102312 x102313 x102314 x102315 x102316 x102317 x102318 x102319 x102320 x102321 x102322 x102323 x102324 x102325 x102326 x102327 x102328 x102329 ') INSERT INTO rt (id, gid, title) VALUES (1024, 11, 'x10240 x10241 x10242 x10243 x10244 x10245 x10246 x10247 x10248 x10249 x102410 x102411 x102412 x102413 x102414 x102415 x102416 x102417 x102418 x102419 x102420 x102421 x102422 x102423 x102424 x102425 x102426 x102427 x102428 x102429 ') INSERT INTO rt (id, gid, title) VALUES (1025, 11, 'x10250 x10251 x10252 x10253 x10254 x10255 x10256 x10257 x10258 x10259 x102510 x102511 x102512 x102513 x102514 x102515 x102516 x102517 x102518 x102519 x102520 x102521 x102522 x102523 x102524 x102525 x102526 x102527 x102528 x102529 ') INSERT INTO rt (id, gid, title) VALUES (1026, 11, 'x10260 x10261 x10262 x10263 x10264 x10265 x10266 x10267 x10268 x10269 x102610 x102611 x102612 x102613 x102614 x102615 x102616 x102617 x102618 x102619 x102620 x102621 x102622 x102623 x102624 x102625 x102626 x102627 x102628 x102629 ') INSERT INTO rt (id, gid, title) VALUES (1027, 11, 'x10270 x10271 x10272 x10273 x10274 x10275 x10276 x10277 x10278 x10279 x102710 x102711 x102712 x102713 x102714 x102715 x102716 x102717 x102718 x102719 x102720 x102721 x102722 x102723 x102724 x102725 x102726 x102727 x102728 x102729 ') INSERT INTO rt (id, gid, title) VALUES (1028, 11, 'x10280 x10281 x10282 x10283 x10284 x10285 x10286 x10287 x10288 x10289 x102810 x102811 x102812 x102813 x102814 x102815 x102816 x102817 x102818 x102819 x102820 x102821 x102822 x102823 x102824 x102825 x102826 x102827 x102828 x102829 ') INSERT INTO rt (id, gid, title) VALUES (1029, 11, 'x10290 x10291 x10292 x10293 x10294 x10295 x10296 x10297 x10298 x10299 x102910 x102911 x102912 x102913 x102914 x102915 x102916 x102917 x102918 x102919 x102920 x102921 x102922 x102923 x102924 x102925 x102926 x102927 x102928 x102929 ') INSERT INTO rt (id, gid, title) VALUES (1030, 11, 'x10300 x10301 x10302 x10303 x10304 x10305 x10306 x10307 x10308 x10309 x103010 x103011 x103012 x103013 x103014 x103015 x103016 x103017 x103018 x103019 x103020 x103021 x103022 x103023 x103024 x103025 x103026 x103027 x103028 x103029 ') INSERT INTO rt (id, gid, title) VALUES (1031, 11, 'x10310 x10311 x10312 x10313 x10314 x10315 x10316 x10317 x10318 x10319 x103110 x103111 x103112 x103113 x103114 x103115 x103116 x103117 x103118 x103119 x103120 x103121 x103122 x103123 x103124 x103125 x103126 x103127 x103128 x103129 ') INSERT INTO rt (id, gid, title) VALUES (1032, 11, 'x10320 x10321 x10322 x10323 x10324 x10325 x10326 x10327 x10328 x10329 x103210 x103211 x103212 x103213 x103214 x103215 x103216 x103217 x103218 x103219 x103220 x103221 x103222 x103223 x103224 x103225 x103226 x103227 x103228 x103229 ') INSERT INTO rt (id, gid, title) VALUES (1033, 11, 'x10330 x10331 x10332 x10333 x10334 x10335 x10336 x10337 x10338 x10339 x103310 x103311 x103312 x103313 x103314 x103315 x103316 x103317 x103318 x103319 x103320 x103321 x103322 x103323 x103324 x103325 x103326 x103327 x103328 x103329 ') INSERT INTO rt (id, gid, title) VALUES (1034, 11, 'x10340 x10341 x10342 x10343 x10344 x10345 x10346 x10347 x10348 x10349 x103410 x103411 x103412 x103413 x103414 x103415 x103416 x103417 x103418 x103419 x103420 x103421 x103422 x103423 x103424 x103425 x103426 x103427 x103428 x103429 ') INSERT INTO rt (id, gid, title) VALUES (1035, 11, 'x10350 x10351 x10352 x10353 x10354 x10355 x10356 x10357 x10358 x10359 x103510 x103511 x103512 x103513 x103514 x103515 x103516 x103517 x103518 x103519 x103520 x103521 x103522 x103523 x103524 x103525 x103526 x103527 x103528 x103529 ') INSERT INTO rt (id, gid, title) VALUES (1036, 11, 'x10360 x10361 x10362 x10363 x10364 x10365 x10366 x10367 x10368 x10369 x103610 x103611 x103612 x103613 x103614 x103615 x103616 x103617 x103618 x103619 x103620 x103621 x103622 x103623 x103624 x103625 x103626 x103627 x103628 x103629 ') INSERT INTO rt (id, gid, title) VALUES (1037, 11, 'x10370 x10371 x10372 x10373 x10374 x10375 x10376 x10377 x10378 x10379 x103710 x103711 x103712 x103713 x103714 x103715 x103716 x103717 x103718 x103719 x103720 x103721 x103722 x103723 x103724 x103725 x103726 x103727 x103728 x103729 ') INSERT INTO rt (id, gid, title) VALUES (1038, 11, 'x10380 x10381 x10382 x10383 x10384 x10385 x10386 x10387 x10388 x10389 x103810 x103811 x103812 x103813 x103814 x103815 x103816 x103817 x103818 x103819 x103820 x103821 x103822 x103823 x103824 x103825 x103826 x103827 x103828 x103829 ') INSERT INTO rt (id, gid, title) VALUES (1039, 11, 'x10390 x10391 x10392 x10393 x10394 x10395 x10396 x10397 x10398 x10399 x103910 x103911 x103912 x103913 x103914 x103915 x103916 x103917 x103918 x103919 x103920 x103921 x103922 x103923 x103924 x103925 x103926 x103927 x103928 x103929 ') INSERT INTO rt (id, gid, title) VALUES (1040, 11, 'x10400 x10401 x10402 x10403 x10404 x10405 x10406 x10407 x10408 x10409 x104010 x104011 x104012 x104013 x104014 x104015 x104016 x104017 x104018 x104019 x104020 x104021 x104022 x104023 x104024 x104025 x104026 x104027 x104028 x104029 ') INSERT INTO rt (id, gid, title) VALUES (1041, 11, 'x10410 x10411 x10412 x10413 x10414 x10415 x10416 x10417 x10418 x10419 x104110 x104111 x104112 x104113 x104114 x104115 x104116 x104117 x104118 x104119 x104120 x104121 x104122 x104123 x104124 x104125 x104126 x104127 x104128 x104129 ') INSERT INTO rt (id, gid, title) VALUES (1042, 11, 'x10420 x10421 x10422 x10423 x10424 x10425 x10426 x10427 x10428 x10429 x104210 x104211 x104212 x104213 x104214 x104215 x104216 x104217 x104218 x104219 x104220 x104221 x104222 x104223 x104224 x104225 x104226 x104227 x104228 x104229 ') INSERT INTO rt (id, gid, title) VALUES (1043, 11, 'x10430 x10431 x10432 x10433 x10434 x10435 x10436 x10437 x10438 x10439 x104310 x104311 x104312 x104313 x104314 x104315 x104316 x104317 x104318 x104319 x104320 x104321 x104322 x104323 x104324 x104325 x104326 x104327 x104328 x104329 ') INSERT INTO rt (id, gid, title) VALUES (1044, 11, 'x10440 x10441 x10442 x10443 x10444 x10445 x10446 x10447 x10448 x10449 x104410 x104411 x104412 x104413 x104414 x104415 x104416 x104417 x104418 x104419 x104420 x104421 x104422 x104423 x104424 x104425 x104426 x104427 x104428 x104429 ') INSERT INTO rt (id, gid, title) VALUES (1045, 11, 'x10450 x10451 x10452 x10453 x10454 x10455 x10456 x10457 x10458 x10459 x104510 x104511 x104512 x104513 x104514 x104515 x104516 x104517 x104518 x104519 x104520 x104521 x104522 x104523 x104524 x104525 x104526 x104527 x104528 x104529 ') INSERT INTO rt (id, gid, title) VALUES (1046, 11, 'x10460 x10461 x10462 x10463 x10464 x10465 x10466 x10467 x10468 x10469 x104610 x104611 x104612 x104613 x104614 x104615 x104616 x104617 x104618 x104619 x104620 x104621 x104622 x104623 x104624 x104625 x104626 x104627 x104628 x104629 ') INSERT INTO rt (id, gid, title) VALUES (1047, 11, 'x10470 x10471 x10472 x10473 x10474 x10475 x10476 x10477 x10478 x10479 x104710 x104711 x104712 x104713 x104714 x104715 x104716 x104717 x104718 x104719 x104720 x104721 x104722 x104723 x104724 x104725 x104726 x104727 x104728 x104729 ') INSERT INTO rt (id, gid, title) VALUES (1048, 11, 'x10480 x10481 x10482 x10483 x10484 x10485 x10486 x10487 x10488 x10489 x104810 x104811 x104812 x104813 x104814 x104815 x104816 x104817 x104818 x104819 x104820 x104821 x104822 x104823 x104824 x104825 x104826 x104827 x104828 x104829 ') INSERT INTO rt (id, gid, title) VALUES (1049, 11, 'x10490 x10491 x10492 x10493 x10494 x10495 x10496 x10497 x10498 x10499 x104910 x104911 x104912 x104913 x104914 x104915 x104916 x104917 x104918 x104919 x104920 x104921 x104922 x104923 x104924 x104925 x104926 x104927 x104928 x104929 ') INSERT INTO rt (id, gid, title) VALUES (1050, 11, 'x10500 x10501 x10502 x10503 x10504 x10505 x10506 x10507 x10508 x10509 x105010 x105011 x105012 x105013 x105014 x105015 x105016 x105017 x105018 x105019 x105020 x105021 x105022 x105023 x105024 x105025 x105026 x105027 x105028 x105029 ') INSERT INTO rt (id, gid, title) VALUES (1051, 11, 'x10510 x10511 x10512 x10513 x10514 x10515 x10516 x10517 x10518 x10519 x105110 x105111 x105112 x105113 x105114 x105115 x105116 x105117 x105118 x105119 x105120 x105121 x105122 x105123 x105124 x105125 x105126 x105127 x105128 x105129 ') INSERT INTO rt (id, gid, title) VALUES (1052, 11, 'x10520 x10521 x10522 x10523 x10524 x10525 x10526 x10527 x10528 x10529 x105210 x105211 x105212 x105213 x105214 x105215 x105216 x105217 x105218 x105219 x105220 x105221 x105222 x105223 x105224 x105225 x105226 x105227 x105228 x105229 ') INSERT INTO rt (id, gid, title) VALUES (1053, 11, 'x10530 x10531 x10532 x10533 x10534 x10535 x10536 x10537 x10538 x10539 x105310 x105311 x105312 x105313 x105314 x105315 x105316 x105317 x105318 x105319 x105320 x105321 x105322 x105323 x105324 x105325 x105326 x105327 x105328 x105329 ') INSERT INTO rt (id, gid, title) VALUES (1054, 11, 'x10540 x10541 x10542 x10543 x10544 x10545 x10546 x10547 x10548 x10549 x105410 x105411 x105412 x105413 x105414 x105415 x105416 x105417 x105418 x105419 x105420 x105421 x105422 x105423 x105424 x105425 x105426 x105427 x105428 x105429 ') INSERT INTO rt (id, gid, title) VALUES (1055, 11, 'x10550 x10551 x10552 x10553 x10554 x10555 x10556 x10557 x10558 x10559 x105510 x105511 x105512 x105513 x105514 x105515 x105516 x105517 x105518 x105519 x105520 x105521 x105522 x105523 x105524 x105525 x105526 x105527 x105528 x105529 ') INSERT INTO rt (id, gid, title) VALUES (1056, 11, 'x10560 x10561 x10562 x10563 x10564 x10565 x10566 x10567 x10568 x10569 x105610 x105611 x105612 x105613 x105614 x105615 x105616 x105617 x105618 x105619 x105620 x105621 x105622 x105623 x105624 x105625 x105626 x105627 x105628 x105629 ') INSERT INTO rt (id, gid, title) VALUES (1057, 11, 'x10570 x10571 x10572 x10573 x10574 x10575 x10576 x10577 x10578 x10579 x105710 x105711 x105712 x105713 x105714 x105715 x105716 x105717 x105718 x105719 x105720 x105721 x105722 x105723 x105724 x105725 x105726 x105727 x105728 x105729 ') INSERT INTO rt (id, gid, title) VALUES (1058, 11, 'x10580 x10581 x10582 x10583 x10584 x10585 x10586 x10587 x10588 x10589 x105810 x105811 x105812 x105813 x105814 x105815 x105816 x105817 x105818 x105819 x105820 x105821 x105822 x105823 x105824 x105825 x105826 x105827 x105828 x105829 ') INSERT INTO rt (id, gid, title) VALUES (1059, 11, 'x10590 x10591 x10592 x10593 x10594 x10595 x10596 x10597 x10598 x10599 x105910 x105911 x105912 x105913 x105914 x105915 x105916 x105917 x105918 x105919 x105920 x105921 x105922 x105923 x105924 x105925 x105926 x105927 x105928 x105929 ') INSERT INTO rt (id, gid, title) VALUES (1060, 11, 'x10600 x10601 x10602 x10603 x10604 x10605 x10606 x10607 x10608 x10609 x106010 x106011 x106012 x106013 x106014 x106015 x106016 x106017 x106018 x106019 x106020 x106021 x106022 x106023 x106024 x106025 x106026 x106027 x106028 x106029 ') INSERT INTO rt (id, gid, title) VALUES (1061, 11, 'x10610 x10611 x10612 x10613 x10614 x10615 x10616 x10617 x10618 x10619 x106110 x106111 x106112 x106113 x106114 x106115 x106116 x106117 x106118 x106119 x106120 x106121 x106122 x106123 x106124 x106125 x106126 x106127 x106128 x106129 ') INSERT INTO rt (id, gid, title) VALUES (1062, 11, 'x10620 x10621 x10622 x10623 x10624 x10625 x10626 x10627 x10628 x10629 x106210 x106211 x106212 x106213 x106214 x106215 x106216 x106217 x106218 x106219 x106220 x106221 x106222 x106223 x106224 x106225 x106226 x106227 x106228 x106229 ') INSERT INTO rt (id, gid, title) VALUES (1063, 11, 'x10630 x10631 x10632 x10633 x10634 x10635 x10636 x10637 x10638 x10639 x106310 x106311 x106312 x106313 x106314 x106315 x106316 x106317 x106318 x106319 x106320 x106321 x106322 x106323 x106324 x106325 x106326 x106327 x106328 x106329 ') INSERT INTO rt (id, gid, title) VALUES (1064, 11, 'x10640 x10641 x10642 x10643 x10644 x10645 x10646 x10647 x10648 x10649 x106410 x106411 x106412 x106413 x106414 x106415 x106416 x106417 x106418 x106419 x106420 x106421 x106422 x106423 x106424 x106425 x106426 x106427 x106428 x106429 ') INSERT INTO rt (id, gid, title) VALUES (1065, 11, 'x10650 x10651 x10652 x10653 x10654 x10655 x10656 x10657 x10658 x10659 x106510 x106511 x106512 x106513 x106514 x106515 x106516 x106517 x106518 x106519 x106520 x106521 x106522 x106523 x106524 x106525 x106526 x106527 x106528 x106529 ') INSERT INTO rt (id, gid, title) VALUES (1066, 11, 'x10660 x10661 x10662 x10663 x10664 x10665 x10666 x10667 x10668 x10669 x106610 x106611 x106612 x106613 x106614 x106615 x106616 x106617 x106618 x106619 x106620 x106621 x106622 x106623 x106624 x106625 x106626 x106627 x106628 x106629 ') INSERT INTO rt (id, gid, title) VALUES (1067, 11, 'x10670 x10671 x10672 x10673 x10674 x10675 x10676 x10677 x10678 x10679 x106710 x106711 x106712 x106713 x106714 x106715 x106716 x106717 x106718 x106719 x106720 x106721 x106722 x106723 x106724 x106725 x106726 x106727 x106728 x106729 ') INSERT INTO rt (id, gid, title) VALUES (1068, 11, 'x10680 x10681 x10682 x10683 x10684 x10685 x10686 x10687 x10688 x10689 x106810 x106811 x106812 x106813 x106814 x106815 x106816 x106817 x106818 x106819 x106820 x106821 x106822 x106823 x106824 x106825 x106826 x106827 x106828 x106829 ') INSERT INTO rt (id, gid, title) VALUES (1069, 11, 'x10690 x10691 x10692 x10693 x10694 x10695 x10696 x10697 x10698 x10699 x106910 x106911 x106912 x106913 x106914 x106915 x106916 x106917 x106918 x106919 x106920 x106921 x106922 x106923 x106924 x106925 x106926 x106927 x106928 x106929 ') INSERT INTO rt (id, gid, title) VALUES (1070, 11, 'x10700 x10701 x10702 x10703 x10704 x10705 x10706 x10707 x10708 x10709 x107010 x107011 x107012 x107013 x107014 x107015 x107016 x107017 x107018 x107019 x107020 x107021 x107022 x107023 x107024 x107025 x107026 x107027 x107028 x107029 ') INSERT INTO rt (id, gid, title) VALUES (1071, 11, 'x10710 x10711 x10712 x10713 x10714 x10715 x10716 x10717 x10718 x10719 x107110 x107111 x107112 x107113 x107114 x107115 x107116 x107117 x107118 x107119 x107120 x107121 x107122 x107123 x107124 x107125 x107126 x107127 x107128 x107129 ') INSERT INTO rt (id, gid, title) VALUES (1072, 11, 'x10720 x10721 x10722 x10723 x10724 x10725 x10726 x10727 x10728 x10729 x107210 x107211 x107212 x107213 x107214 x107215 x107216 x107217 x107218 x107219 x107220 x107221 x107222 x107223 x107224 x107225 x107226 x107227 x107228 x107229 ') INSERT INTO rt (id, gid, title) VALUES (1073, 11, 'x10730 x10731 x10732 x10733 x10734 x10735 x10736 x10737 x10738 x10739 x107310 x107311 x107312 x107313 x107314 x107315 x107316 x107317 x107318 x107319 x107320 x107321 x107322 x107323 x107324 x107325 x107326 x107327 x107328 x107329 ') INSERT INTO rt (id, gid, title) VALUES (1074, 11, 'x10740 x10741 x10742 x10743 x10744 x10745 x10746 x10747 x10748 x10749 x107410 x107411 x107412 x107413 x107414 x107415 x107416 x107417 x107418 x107419 x107420 x107421 x107422 x107423 x107424 x107425 x107426 x107427 x107428 x107429 ') INSERT INTO rt (id, gid, title) VALUES (1075, 11, 'x10750 x10751 x10752 x10753 x10754 x10755 x10756 x10757 x10758 x10759 x107510 x107511 x107512 x107513 x107514 x107515 x107516 x107517 x107518 x107519 x107520 x107521 x107522 x107523 x107524 x107525 x107526 x107527 x107528 x107529 ') INSERT INTO rt (id, gid, title) VALUES (1076, 11, 'x10760 x10761 x10762 x10763 x10764 x10765 x10766 x10767 x10768 x10769 x107610 x107611 x107612 x107613 x107614 x107615 x107616 x107617 x107618 x107619 x107620 x107621 x107622 x107623 x107624 x107625 x107626 x107627 x107628 x107629 ') INSERT INTO rt (id, gid, title) VALUES (1077, 11, 'x10770 x10771 x10772 x10773 x10774 x10775 x10776 x10777 x10778 x10779 x107710 x107711 x107712 x107713 x107714 x107715 x107716 x107717 x107718 x107719 x107720 x107721 x107722 x107723 x107724 x107725 x107726 x107727 x107728 x107729 ') INSERT INTO rt (id, gid, title) VALUES (1078, 11, 'x10780 x10781 x10782 x10783 x10784 x10785 x10786 x10787 x10788 x10789 x107810 x107811 x107812 x107813 x107814 x107815 x107816 x107817 x107818 x107819 x107820 x107821 x107822 x107823 x107824 x107825 x107826 x107827 x107828 x107829 ') INSERT INTO rt (id, gid, title) VALUES (1079, 11, 'x10790 x10791 x10792 x10793 x10794 x10795 x10796 x10797 x10798 x10799 x107910 x107911 x107912 x107913 x107914 x107915 x107916 x107917 x107918 x107919 x107920 x107921 x107922 x107923 x107924 x107925 x107926 x107927 x107928 x107929 ') INSERT INTO rt (id, gid, title) VALUES (1080, 11, 'x10800 x10801 x10802 x10803 x10804 x10805 x10806 x10807 x10808 x10809 x108010 x108011 x108012 x108013 x108014 x108015 x108016 x108017 x108018 x108019 x108020 x108021 x108022 x108023 x108024 x108025 x108026 x108027 x108028 x108029 ') INSERT INTO rt (id, gid, title) VALUES (1081, 11, 'x10810 x10811 x10812 x10813 x10814 x10815 x10816 x10817 x10818 x10819 x108110 x108111 x108112 x108113 x108114 x108115 x108116 x108117 x108118 x108119 x108120 x108121 x108122 x108123 x108124 x108125 x108126 x108127 x108128 x108129 ') INSERT INTO rt (id, gid, title) VALUES (1082, 11, 'x10820 x10821 x10822 x10823 x10824 x10825 x10826 x10827 x10828 x10829 x108210 x108211 x108212 x108213 x108214 x108215 x108216 x108217 x108218 x108219 x108220 x108221 x108222 x108223 x108224 x108225 x108226 x108227 x108228 x108229 ') INSERT INTO rt (id, gid, title) VALUES (1083, 11, 'x10830 x10831 x10832 x10833 x10834 x10835 x10836 x10837 x10838 x10839 x108310 x108311 x108312 x108313 x108314 x108315 x108316 x108317 x108318 x108319 x108320 x108321 x108322 x108323 x108324 x108325 x108326 x108327 x108328 x108329 ') INSERT INTO rt (id, gid, title) VALUES (1084, 11, 'x10840 x10841 x10842 x10843 x10844 x10845 x10846 x10847 x10848 x10849 x108410 x108411 x108412 x108413 x108414 x108415 x108416 x108417 x108418 x108419 x108420 x108421 x108422 x108423 x108424 x108425 x108426 x108427 x108428 x108429 ') INSERT INTO rt (id, gid, title) VALUES (1085, 11, 'x10850 x10851 x10852 x10853 x10854 x10855 x10856 x10857 x10858 x10859 x108510 x108511 x108512 x108513 x108514 x108515 x108516 x108517 x108518 x108519 x108520 x108521 x108522 x108523 x108524 x108525 x108526 x108527 x108528 x108529 ') INSERT INTO rt (id, gid, title) VALUES (1086, 11, 'x10860 x10861 x10862 x10863 x10864 x10865 x10866 x10867 x10868 x10869 x108610 x108611 x108612 x108613 x108614 x108615 x108616 x108617 x108618 x108619 x108620 x108621 x108622 x108623 x108624 x108625 x108626 x108627 x108628 x108629 ') INSERT INTO rt (id, gid, title) VALUES (1087, 11, 'x10870 x10871 x10872 x10873 x10874 x10875 x10876 x10877 x10878 x10879 x108710 x108711 x108712 x108713 x108714 x108715 x108716 x108717 x108718 x108719 x108720 x108721 x108722 x108723 x108724 x108725 x108726 x108727 x108728 x108729 ') INSERT INTO rt (id, gid, title) VALUES (1088, 11, 'x10880 x10881 x10882 x10883 x10884 x10885 x10886 x10887 x10888 x10889 x108810 x108811 x108812 x108813 x108814 x108815 x108816 x108817 x108818 x108819 x108820 x108821 x108822 x108823 x108824 x108825 x108826 x108827 x108828 x108829 ') INSERT INTO rt (id, gid, title) VALUES (1089, 11, 'x10890 x10891 x10892 x10893 x10894 x10895 x10896 x10897 x10898 x10899 x108910 x108911 x108912 x108913 x108914 x108915 x108916 x108917 x108918 x108919 x108920 x108921 x108922 x108923 x108924 x108925 x108926 x108927 x108928 x108929 ') INSERT INTO rt (id, gid, title) VALUES (1090, 11, 'x10900 x10901 x10902 x10903 x10904 x10905 x10906 x10907 x10908 x10909 x109010 x109011 x109012 x109013 x109014 x109015 x109016 x109017 x109018 x109019 x109020 x109021 x109022 x109023 x109024 x109025 x109026 x109027 x109028 x109029 ') INSERT INTO rt (id, gid, title) VALUES (1091, 11, 'x10910 x10911 x10912 x10913 x10914 x10915 x10916 x10917 x10918 x10919 x109110 x109111 x109112 x109113 x109114 x109115 x109116 x109117 x109118 x109119 x109120 x109121 x109122 x109123 x109124 x109125 x109126 x109127 x109128 x109129 ') INSERT INTO rt (id, gid, title) VALUES (1092, 11, 'x10920 x10921 x10922 x10923 x10924 x10925 x10926 x10927 x10928 x10929 x109210 x109211 x109212 x109213 x109214 x109215 x109216 x109217 x109218 x109219 x109220 x109221 x109222 x109223 x109224 x109225 x109226 x109227 x109228 x109229 ') INSERT INTO rt (id, gid, title) VALUES (1093, 11, 'x10930 x10931 x10932 x10933 x10934 x10935 x10936 x10937 x10938 x10939 x109310 x109311 x109312 x109313 x109314 x109315 x109316 x109317 x109318 x109319 x109320 x109321 x109322 x109323 x109324 x109325 x109326 x109327 x109328 x109329 ') INSERT INTO rt (id, gid, title) VALUES (1094, 11, 'x10940 x10941 x10942 x10943 x10944 x10945 x10946 x10947 x10948 x10949 x109410 x109411 x109412 x109413 x109414 x109415 x109416 x109417 x109418 x109419 x109420 x109421 x109422 x109423 x109424 x109425 x109426 x109427 x109428 x109429 ') INSERT INTO rt (id, gid, title) VALUES (1095, 11, 'x10950 x10951 x10952 x10953 x10954 x10955 x10956 x10957 x10958 x10959 x109510 x109511 x109512 x109513 x109514 x109515 x109516 x109517 x109518 x109519 x109520 x109521 x109522 x109523 x109524 x109525 x109526 x109527 x109528 x109529 ') INSERT INTO rt (id, gid, title) VALUES (1096, 11, 'x10960 x10961 x10962 x10963 x10964 x10965 x10966 x10967 x10968 x10969 x109610 x109611 x109612 x109613 x109614 x109615 x109616 x109617 x109618 x109619 x109620 x109621 x109622 x109623 x109624 x109625 x109626 x109627 x109628 x109629 ') INSERT INTO rt (id, gid, title) VALUES (1097, 11, 'x10970 x10971 x10972 x10973 x10974 x10975 x10976 x10977 x10978 x10979 x109710 x109711 x109712 x109713 x109714 x109715 x109716 x109717 x109718 x109719 x109720 x109721 x109722 x109723 x109724 x109725 x109726 x109727 x109728 x109729 ') INSERT INTO rt (id, gid, title) VALUES (1098, 11, 'x10980 x10981 x10982 x10983 x10984 x10985 x10986 x10987 x10988 x10989 x109810 x109811 x109812 x109813 x109814 x109815 x109816 x109817 x109818 x109819 x109820 x109821 x109822 x109823 x109824 x109825 x109826 x109827 x109828 x109829 ') INSERT INTO rt (id, gid, title) VALUES (1099, 11, 'x10990 x10991 x10992 x10993 x10994 x10995 x10996 x10997 x10998 x10999 x109910 x109911 x109912 x109913 x109914 x109915 x109916 x109917 x109918 x109919 x109920 x109921 x109922 x109923 x109924 x109925 x109926 x109927 x109928 x109929 ') INSERT INTO rt (id, gid, title) VALUES (1100, 11, 'x11000 x11001 x11002 x11003 x11004 x11005 x11006 x11007 x11008 x11009 x110010 x110011 x110012 x110013 x110014 x110015 x110016 x110017 x110018 x110019 x110020 x110021 x110022 x110023 x110024 x110025 x110026 x110027 x110028 x110029 ') INSERT INTO rt (id, gid, title) VALUES (1101, 11, 'x11010 x11011 x11012 x11013 x11014 x11015 x11016 x11017 x11018 x11019 x110110 x110111 x110112 x110113 x110114 x110115 x110116 x110117 x110118 x110119 x110120 x110121 x110122 x110123 x110124 x110125 x110126 x110127 x110128 x110129 ') INSERT INTO rt (id, gid, title) VALUES (1102, 11, 'x11020 x11021 x11022 x11023 x11024 x11025 x11026 x11027 x11028 x11029 x110210 x110211 x110212 x110213 x110214 x110215 x110216 x110217 x110218 x110219 x110220 x110221 x110222 x110223 x110224 x110225 x110226 x110227 x110228 x110229 ') INSERT INTO rt (id, gid, title) VALUES (1103, 11, 'x11030 x11031 x11032 x11033 x11034 x11035 x11036 x11037 x11038 x11039 x110310 x110311 x110312 x110313 x110314 x110315 x110316 x110317 x110318 x110319 x110320 x110321 x110322 x110323 x110324 x110325 x110326 x110327 x110328 x110329 ') INSERT INTO rt (id, gid, title) VALUES (1104, 11, 'x11040 x11041 x11042 x11043 x11044 x11045 x11046 x11047 x11048 x11049 x110410 x110411 x110412 x110413 x110414 x110415 x110416 x110417 x110418 x110419 x110420 x110421 x110422 x110423 x110424 x110425 x110426 x110427 x110428 x110429 ') INSERT INTO rt (id, gid, title) VALUES (1105, 11, 'x11050 x11051 x11052 x11053 x11054 x11055 x11056 x11057 x11058 x11059 x110510 x110511 x110512 x110513 x110514 x110515 x110516 x110517 x110518 x110519 x110520 x110521 x110522 x110523 x110524 x110525 x110526 x110527 x110528 x110529 ') INSERT INTO rt (id, gid, title) VALUES (1106, 11, 'x11060 x11061 x11062 x11063 x11064 x11065 x11066 x11067 x11068 x11069 x110610 x110611 x110612 x110613 x110614 x110615 x110616 x110617 x110618 x110619 x110620 x110621 x110622 x110623 x110624 x110625 x110626 x110627 x110628 x110629 ') INSERT INTO rt (id, gid, title) VALUES (1107, 11, 'x11070 x11071 x11072 x11073 x11074 x11075 x11076 x11077 x11078 x11079 x110710 x110711 x110712 x110713 x110714 x110715 x110716 x110717 x110718 x110719 x110720 x110721 x110722 x110723 x110724 x110725 x110726 x110727 x110728 x110729 ') INSERT INTO rt (id, gid, title) VALUES (1108, 11, 'x11080 x11081 x11082 x11083 x11084 x11085 x11086 x11087 x11088 x11089 x110810 x110811 x110812 x110813 x110814 x110815 x110816 x110817 x110818 x110819 x110820 x110821 x110822 x110823 x110824 x110825 x110826 x110827 x110828 x110829 ') INSERT INTO rt (id, gid, title) VALUES (1109, 11, 'x11090 x11091 x11092 x11093 x11094 x11095 x11096 x11097 x11098 x11099 x110910 x110911 x110912 x110913 x110914 x110915 x110916 x110917 x110918 x110919 x110920 x110921 x110922 x110923 x110924 x110925 x110926 x110927 x110928 x110929 ') INSERT INTO rt (id, gid, title) VALUES (1110, 11, 'x11100 x11101 x11102 x11103 x11104 x11105 x11106 x11107 x11108 x11109 x111010 x111011 x111012 x111013 x111014 x111015 x111016 x111017 x111018 x111019 x111020 x111021 x111022 x111023 x111024 x111025 x111026 x111027 x111028 x111029 ') INSERT INTO rt (id, gid, title) VALUES (1111, 11, 'x11110 x11111 x11112 x11113 x11114 x11115 x11116 x11117 x11118 x11119 x111110 x111111 x111112 x111113 x111114 x111115 x111116 x111117 x111118 x111119 x111120 x111121 x111122 x111123 x111124 x111125 x111126 x111127 x111128 x111129 ') INSERT INTO rt (id, gid, title) VALUES (1112, 11, 'x11120 x11121 x11122 x11123 x11124 x11125 x11126 x11127 x11128 x11129 x111210 x111211 x111212 x111213 x111214 x111215 x111216 x111217 x111218 x111219 x111220 x111221 x111222 x111223 x111224 x111225 x111226 x111227 x111228 x111229 ') INSERT INTO rt (id, gid, title) VALUES (1113, 11, 'x11130 x11131 x11132 x11133 x11134 x11135 x11136 x11137 x11138 x11139 x111310 x111311 x111312 x111313 x111314 x111315 x111316 x111317 x111318 x111319 x111320 x111321 x111322 x111323 x111324 x111325 x111326 x111327 x111328 x111329 ') INSERT INTO rt (id, gid, title) VALUES (1114, 11, 'x11140 x11141 x11142 x11143 x11144 x11145 x11146 x11147 x11148 x11149 x111410 x111411 x111412 x111413 x111414 x111415 x111416 x111417 x111418 x111419 x111420 x111421 x111422 x111423 x111424 x111425 x111426 x111427 x111428 x111429 ') INSERT INTO rt (id, gid, title) VALUES (1115, 11, 'x11150 x11151 x11152 x11153 x11154 x11155 x11156 x11157 x11158 x11159 x111510 x111511 x111512 x111513 x111514 x111515 x111516 x111517 x111518 x111519 x111520 x111521 x111522 x111523 x111524 x111525 x111526 x111527 x111528 x111529 ') INSERT INTO rt (id, gid, title) VALUES (1116, 11, 'x11160 x11161 x11162 x11163 x11164 x11165 x11166 x11167 x11168 x11169 x111610 x111611 x111612 x111613 x111614 x111615 x111616 x111617 x111618 x111619 x111620 x111621 x111622 x111623 x111624 x111625 x111626 x111627 x111628 x111629 ') INSERT INTO rt (id, gid, title) VALUES (1117, 11, 'x11170 x11171 x11172 x11173 x11174 x11175 x11176 x11177 x11178 x11179 x111710 x111711 x111712 x111713 x111714 x111715 x111716 x111717 x111718 x111719 x111720 x111721 x111722 x111723 x111724 x111725 x111726 x111727 x111728 x111729 ') INSERT INTO rt (id, gid, title) VALUES (1118, 11, 'x11180 x11181 x11182 x11183 x11184 x11185 x11186 x11187 x11188 x11189 x111810 x111811 x111812 x111813 x111814 x111815 x111816 x111817 x111818 x111819 x111820 x111821 x111822 x111823 x111824 x111825 x111826 x111827 x111828 x111829 ') INSERT INTO rt (id, gid, title) VALUES (1119, 11, 'x11190 x11191 x11192 x11193 x11194 x11195 x11196 x11197 x11198 x11199 x111910 x111911 x111912 x111913 x111914 x111915 x111916 x111917 x111918 x111919 x111920 x111921 x111922 x111923 x111924 x111925 x111926 x111927 x111928 x111929 ') INSERT INTO rt (id, gid, title) VALUES (1120, 11, 'x11200 x11201 x11202 x11203 x11204 x11205 x11206 x11207 x11208 x11209 x112010 x112011 x112012 x112013 x112014 x112015 x112016 x112017 x112018 x112019 x112020 x112021 x112022 x112023 x112024 x112025 x112026 x112027 x112028 x112029 ') INSERT INTO rt (id, gid, title) VALUES (1121, 11, 'x11210 x11211 x11212 x11213 x11214 x11215 x11216 x11217 x11218 x11219 x112110 x112111 x112112 x112113 x112114 x112115 x112116 x112117 x112118 x112119 x112120 x112121 x112122 x112123 x112124 x112125 x112126 x112127 x112128 x112129 ') INSERT INTO rt (id, gid, title) VALUES (1122, 11, 'x11220 x11221 x11222 x11223 x11224 x11225 x11226 x11227 x11228 x11229 x112210 x112211 x112212 x112213 x112214 x112215 x112216 x112217 x112218 x112219 x112220 x112221 x112222 x112223 x112224 x112225 x112226 x112227 x112228 x112229 ') INSERT INTO rt (id, gid, title) VALUES (1123, 11, 'x11230 x11231 x11232 x11233 x11234 x11235 x11236 x11237 x11238 x11239 x112310 x112311 x112312 x112313 x112314 x112315 x112316 x112317 x112318 x112319 x112320 x112321 x112322 x112323 x112324 x112325 x112326 x112327 x112328 x112329 ') INSERT INTO rt (id, gid, title) VALUES (1124, 11, 'x11240 x11241 x11242 x11243 x11244 x11245 x11246 x11247 x11248 x11249 x112410 x112411 x112412 x112413 x112414 x112415 x112416 x112417 x112418 x112419 x112420 x112421 x112422 x112423 x112424 x112425 x112426 x112427 x112428 x112429 ') INSERT INTO rt (id, gid, title) VALUES (1125, 11, 'x11250 x11251 x11252 x11253 x11254 x11255 x11256 x11257 x11258 x11259 x112510 x112511 x112512 x112513 x112514 x112515 x112516 x112517 x112518 x112519 x112520 x112521 x112522 x112523 x112524 x112525 x112526 x112527 x112528 x112529 ') INSERT INTO rt (id, gid, title) VALUES (1126, 11, 'x11260 x11261 x11262 x11263 x11264 x11265 x11266 x11267 x11268 x11269 x112610 x112611 x112612 x112613 x112614 x112615 x112616 x112617 x112618 x112619 x112620 x112621 x112622 x112623 x112624 x112625 x112626 x112627 x112628 x112629 ') INSERT INTO rt (id, gid, title) VALUES (1127, 11, 'x11270 x11271 x11272 x11273 x11274 x11275 x11276 x11277 x11278 x11279 x112710 x112711 x112712 x112713 x112714 x112715 x112716 x112717 x112718 x112719 x112720 x112721 x112722 x112723 x112724 x112725 x112726 x112727 x112728 x112729 ') INSERT INTO rt (id, gid, title) VALUES (1128, 11, 'x11280 x11281 x11282 x11283 x11284 x11285 x11286 x11287 x11288 x11289 x112810 x112811 x112812 x112813 x112814 x112815 x112816 x112817 x112818 x112819 x112820 x112821 x112822 x112823 x112824 x112825 x112826 x112827 x112828 x112829 ') INSERT INTO rt (id, gid, title) VALUES (1129, 11, 'x11290 x11291 x11292 x11293 x11294 x11295 x11296 x11297 x11298 x11299 x112910 x112911 x112912 x112913 x112914 x112915 x112916 x112917 x112918 x112919 x112920 x112921 x112922 x112923 x112924 x112925 x112926 x112927 x112928 x112929 ') INSERT INTO rt (id, gid, title) VALUES (1130, 11, 'x11300 x11301 x11302 x11303 x11304 x11305 x11306 x11307 x11308 x11309 x113010 x113011 x113012 x113013 x113014 x113015 x113016 x113017 x113018 x113019 x113020 x113021 x113022 x113023 x113024 x113025 x113026 x113027 x113028 x113029 ') INSERT INTO rt (id, gid, title) VALUES (1131, 11, 'x11310 x11311 x11312 x11313 x11314 x11315 x11316 x11317 x11318 x11319 x113110 x113111 x113112 x113113 x113114 x113115 x113116 x113117 x113118 x113119 x113120 x113121 x113122 x113123 x113124 x113125 x113126 x113127 x113128 x113129 ') INSERT INTO rt (id, gid, title) VALUES (1132, 11, 'x11320 x11321 x11322 x11323 x11324 x11325 x11326 x11327 x11328 x11329 x113210 x113211 x113212 x113213 x113214 x113215 x113216 x113217 x113218 x113219 x113220 x113221 x113222 x113223 x113224 x113225 x113226 x113227 x113228 x113229 ') INSERT INTO rt (id, gid, title) VALUES (1133, 11, 'x11330 x11331 x11332 x11333 x11334 x11335 x11336 x11337 x11338 x11339 x113310 x113311 x113312 x113313 x113314 x113315 x113316 x113317 x113318 x113319 x113320 x113321 x113322 x113323 x113324 x113325 x113326 x113327 x113328 x113329 ') INSERT INTO rt (id, gid, title) VALUES (1134, 11, 'x11340 x11341 x11342 x11343 x11344 x11345 x11346 x11347 x11348 x11349 x113410 x113411 x113412 x113413 x113414 x113415 x113416 x113417 x113418 x113419 x113420 x113421 x113422 x113423 x113424 x113425 x113426 x113427 x113428 x113429 ') INSERT INTO rt (id, gid, title) VALUES (1135, 11, 'x11350 x11351 x11352 x11353 x11354 x11355 x11356 x11357 x11358 x11359 x113510 x113511 x113512 x113513 x113514 x113515 x113516 x113517 x113518 x113519 x113520 x113521 x113522 x113523 x113524 x113525 x113526 x113527 x113528 x113529 ') INSERT INTO rt (id, gid, title) VALUES (1136, 11, 'x11360 x11361 x11362 x11363 x11364 x11365 x11366 x11367 x11368 x11369 x113610 x113611 x113612 x113613 x113614 x113615 x113616 x113617 x113618 x113619 x113620 x113621 x113622 x113623 x113624 x113625 x113626 x113627 x113628 x113629 ') INSERT INTO rt (id, gid, title) VALUES (1137, 11, 'x11370 x11371 x11372 x11373 x11374 x11375 x11376 x11377 x11378 x11379 x113710 x113711 x113712 x113713 x113714 x113715 x113716 x113717 x113718 x113719 x113720 x113721 x113722 x113723 x113724 x113725 x113726 x113727 x113728 x113729 ') INSERT INTO rt (id, gid, title) VALUES (1138, 11, 'x11380 x11381 x11382 x11383 x11384 x11385 x11386 x11387 x11388 x11389 x113810 x113811 x113812 x113813 x113814 x113815 x113816 x113817 x113818 x113819 x113820 x113821 x113822 x113823 x113824 x113825 x113826 x113827 x113828 x113829 ') INSERT INTO rt (id, gid, title) VALUES (1139, 11, 'x11390 x11391 x11392 x11393 x11394 x11395 x11396 x11397 x11398 x11399 x113910 x113911 x113912 x113913 x113914 x113915 x113916 x113917 x113918 x113919 x113920 x113921 x113922 x113923 x113924 x113925 x113926 x113927 x113928 x113929 ') INSERT INTO rt (id, gid, title) VALUES (1140, 11, 'x11400 x11401 x11402 x11403 x11404 x11405 x11406 x11407 x11408 x11409 x114010 x114011 x114012 x114013 x114014 x114015 x114016 x114017 x114018 x114019 x114020 x114021 x114022 x114023 x114024 x114025 x114026 x114027 x114028 x114029 ') INSERT INTO rt (id, gid, title) VALUES (1141, 11, 'x11410 x11411 x11412 x11413 x11414 x11415 x11416 x11417 x11418 x11419 x114110 x114111 x114112 x114113 x114114 x114115 x114116 x114117 x114118 x114119 x114120 x114121 x114122 x114123 x114124 x114125 x114126 x114127 x114128 x114129 ') INSERT INTO rt (id, gid, title) VALUES (1142, 11, 'x11420 x11421 x11422 x11423 x11424 x11425 x11426 x11427 x11428 x11429 x114210 x114211 x114212 x114213 x114214 x114215 x114216 x114217 x114218 x114219 x114220 x114221 x114222 x114223 x114224 x114225 x114226 x114227 x114228 x114229 ') INSERT INTO rt (id, gid, title) VALUES (1143, 11, 'x11430 x11431 x11432 x11433 x11434 x11435 x11436 x11437 x11438 x11439 x114310 x114311 x114312 x114313 x114314 x114315 x114316 x114317 x114318 x114319 x114320 x114321 x114322 x114323 x114324 x114325 x114326 x114327 x114328 x114329 ') INSERT INTO rt (id, gid, title) VALUES (1144, 11, 'x11440 x11441 x11442 x11443 x11444 x11445 x11446 x11447 x11448 x11449 x114410 x114411 x114412 x114413 x114414 x114415 x114416 x114417 x114418 x114419 x114420 x114421 x114422 x114423 x114424 x114425 x114426 x114427 x114428 x114429 ') INSERT INTO rt (id, gid, title) VALUES (1145, 11, 'x11450 x11451 x11452 x11453 x11454 x11455 x11456 x11457 x11458 x11459 x114510 x114511 x114512 x114513 x114514 x114515 x114516 x114517 x114518 x114519 x114520 x114521 x114522 x114523 x114524 x114525 x114526 x114527 x114528 x114529 ') INSERT INTO rt (id, gid, title) VALUES (1146, 11, 'x11460 x11461 x11462 x11463 x11464 x11465 x11466 x11467 x11468 x11469 x114610 x114611 x114612 x114613 x114614 x114615 x114616 x114617 x114618 x114619 x114620 x114621 x114622 x114623 x114624 x114625 x114626 x114627 x114628 x114629 ') INSERT INTO rt (id, gid, title) VALUES (1147, 11, 'x11470 x11471 x11472 x11473 x11474 x11475 x11476 x11477 x11478 x11479 x114710 x114711 x114712 x114713 x114714 x114715 x114716 x114717 x114718 x114719 x114720 x114721 x114722 x114723 x114724 x114725 x114726 x114727 x114728 x114729 ') INSERT INTO rt (id, gid, title) VALUES (1148, 11, 'x11480 x11481 x11482 x11483 x11484 x11485 x11486 x11487 x11488 x11489 x114810 x114811 x114812 x114813 x114814 x114815 x114816 x114817 x114818 x114819 x114820 x114821 x114822 x114823 x114824 x114825 x114826 x114827 x114828 x114829 ') INSERT INTO rt (id, gid, title) VALUES (1149, 11, 'x11490 x11491 x11492 x11493 x11494 x11495 x11496 x11497 x11498 x11499 x114910 x114911 x114912 x114913 x114914 x114915 x114916 x114917 x114918 x114919 x114920 x114921 x114922 x114923 x114924 x114925 x114926 x114927 x114928 x114929 ') INSERT INTO rt (id, gid, title) VALUES (1150, 11, 'x11500 x11501 x11502 x11503 x11504 x11505 x11506 x11507 x11508 x11509 x115010 x115011 x115012 x115013 x115014 x115015 x115016 x115017 x115018 x115019 x115020 x115021 x115022 x115023 x115024 x115025 x115026 x115027 x115028 x115029 ') INSERT INTO rt (id, gid, title) VALUES (1151, 11, 'x11510 x11511 x11512 x11513 x11514 x11515 x11516 x11517 x11518 x11519 x115110 x115111 x115112 x115113 x115114 x115115 x115116 x115117 x115118 x115119 x115120 x115121 x115122 x115123 x115124 x115125 x115126 x115127 x115128 x115129 ') INSERT INTO rt (id, gid, title) VALUES (1152, 11, 'x11520 x11521 x11522 x11523 x11524 x11525 x11526 x11527 x11528 x11529 x115210 x115211 x115212 x115213 x115214 x115215 x115216 x115217 x115218 x115219 x115220 x115221 x115222 x115223 x115224 x115225 x115226 x115227 x115228 x115229 ') INSERT INTO rt (id, gid, title) VALUES (1153, 11, 'x11530 x11531 x11532 x11533 x11534 x11535 x11536 x11537 x11538 x11539 x115310 x115311 x115312 x115313 x115314 x115315 x115316 x115317 x115318 x115319 x115320 x115321 x115322 x115323 x115324 x115325 x115326 x115327 x115328 x115329 ') INSERT INTO rt (id, gid, title) VALUES (1154, 11, 'x11540 x11541 x11542 x11543 x11544 x11545 x11546 x11547 x11548 x11549 x115410 x115411 x115412 x115413 x115414 x115415 x115416 x115417 x115418 x115419 x115420 x115421 x115422 x115423 x115424 x115425 x115426 x115427 x115428 x115429 ') INSERT INTO rt (id, gid, title) VALUES (1155, 11, 'x11550 x11551 x11552 x11553 x11554 x11555 x11556 x11557 x11558 x11559 x115510 x115511 x115512 x115513 x115514 x115515 x115516 x115517 x115518 x115519 x115520 x115521 x115522 x115523 x115524 x115525 x115526 x115527 x115528 x115529 ') INSERT INTO rt (id, gid, title) VALUES (1156, 11, 'x11560 x11561 x11562 x11563 x11564 x11565 x11566 x11567 x11568 x11569 x115610 x115611 x115612 x115613 x115614 x115615 x115616 x115617 x115618 x115619 x115620 x115621 x115622 x115623 x115624 x115625 x115626 x115627 x115628 x115629 ') INSERT INTO rt (id, gid, title) VALUES (1157, 11, 'x11570 x11571 x11572 x11573 x11574 x11575 x11576 x11577 x11578 x11579 x115710 x115711 x115712 x115713 x115714 x115715 x115716 x115717 x115718 x115719 x115720 x115721 x115722 x115723 x115724 x115725 x115726 x115727 x115728 x115729 ') INSERT INTO rt (id, gid, title) VALUES (1158, 11, 'x11580 x11581 x11582 x11583 x11584 x11585 x11586 x11587 x11588 x11589 x115810 x115811 x115812 x115813 x115814 x115815 x115816 x115817 x115818 x115819 x115820 x115821 x115822 x115823 x115824 x115825 x115826 x115827 x115828 x115829 ') INSERT INTO rt (id, gid, title) VALUES (1159, 11, 'x11590 x11591 x11592 x11593 x11594 x11595 x11596 x11597 x11598 x11599 x115910 x115911 x115912 x115913 x115914 x115915 x115916 x115917 x115918 x115919 x115920 x115921 x115922 x115923 x115924 x115925 x115926 x115927 x115928 x115929 ') INSERT INTO rt (id, gid, title) VALUES (1160, 11, 'x11600 x11601 x11602 x11603 x11604 x11605 x11606 x11607 x11608 x11609 x116010 x116011 x116012 x116013 x116014 x116015 x116016 x116017 x116018 x116019 x116020 x116021 x116022 x116023 x116024 x116025 x116026 x116027 x116028 x116029 ') INSERT INTO rt (id, gid, title) VALUES (1161, 11, 'x11610 x11611 x11612 x11613 x11614 x11615 x11616 x11617 x11618 x11619 x116110 x116111 x116112 x116113 x116114 x116115 x116116 x116117 x116118 x116119 x116120 x116121 x116122 x116123 x116124 x116125 x116126 x116127 x116128 x116129 ') INSERT INTO rt (id, gid, title) VALUES (1162, 11, 'x11620 x11621 x11622 x11623 x11624 x11625 x11626 x11627 x11628 x11629 x116210 x116211 x116212 x116213 x116214 x116215 x116216 x116217 x116218 x116219 x116220 x116221 x116222 x116223 x116224 x116225 x116226 x116227 x116228 x116229 ') INSERT INTO rt (id, gid, title) VALUES (1163, 11, 'x11630 x11631 x11632 x11633 x11634 x11635 x11636 x11637 x11638 x11639 x116310 x116311 x116312 x116313 x116314 x116315 x116316 x116317 x116318 x116319 x116320 x116321 x116322 x116323 x116324 x116325 x116326 x116327 x116328 x116329 ') INSERT INTO rt (id, gid, title) VALUES (1164, 11, 'x11640 x11641 x11642 x11643 x11644 x11645 x11646 x11647 x11648 x11649 x116410 x116411 x116412 x116413 x116414 x116415 x116416 x116417 x116418 x116419 x116420 x116421 x116422 x116423 x116424 x116425 x116426 x116427 x116428 x116429 ') INSERT INTO rt (id, gid, title) VALUES (1165, 11, 'x11650 x11651 x11652 x11653 x11654 x11655 x11656 x11657 x11658 x11659 x116510 x116511 x116512 x116513 x116514 x116515 x116516 x116517 x116518 x116519 x116520 x116521 x116522 x116523 x116524 x116525 x116526 x116527 x116528 x116529 ') INSERT INTO rt (id, gid, title) VALUES (1166, 11, 'x11660 x11661 x11662 x11663 x11664 x11665 x11666 x11667 x11668 x11669 x116610 x116611 x116612 x116613 x116614 x116615 x116616 x116617 x116618 x116619 x116620 x116621 x116622 x116623 x116624 x116625 x116626 x116627 x116628 x116629 ') INSERT INTO rt (id, gid, title) VALUES (1167, 11, 'x11670 x11671 x11672 x11673 x11674 x11675 x11676 x11677 x11678 x11679 x116710 x116711 x116712 x116713 x116714 x116715 x116716 x116717 x116718 x116719 x116720 x116721 x116722 x116723 x116724 x116725 x116726 x116727 x116728 x116729 ') INSERT INTO rt (id, gid, title) VALUES (1168, 11, 'x11680 x11681 x11682 x11683 x11684 x11685 x11686 x11687 x11688 x11689 x116810 x116811 x116812 x116813 x116814 x116815 x116816 x116817 x116818 x116819 x116820 x116821 x116822 x116823 x116824 x116825 x116826 x116827 x116828 x116829 ') INSERT INTO rt (id, gid, title) VALUES (1169, 11, 'x11690 x11691 x11692 x11693 x11694 x11695 x11696 x11697 x11698 x11699 x116910 x116911 x116912 x116913 x116914 x116915 x116916 x116917 x116918 x116919 x116920 x116921 x116922 x116923 x116924 x116925 x116926 x116927 x116928 x116929 ') INSERT INTO rt (id, gid, title) VALUES (1170, 11, 'x11700 x11701 x11702 x11703 x11704 x11705 x11706 x11707 x11708 x11709 x117010 x117011 x117012 x117013 x117014 x117015 x117016 x117017 x117018 x117019 x117020 x117021 x117022 x117023 x117024 x117025 x117026 x117027 x117028 x117029 ') INSERT INTO rt (id, gid, title) VALUES (1171, 11, 'x11710 x11711 x11712 x11713 x11714 x11715 x11716 x11717 x11718 x11719 x117110 x117111 x117112 x117113 x117114 x117115 x117116 x117117 x117118 x117119 x117120 x117121 x117122 x117123 x117124 x117125 x117126 x117127 x117128 x117129 ') INSERT INTO rt (id, gid, title) VALUES (1172, 11, 'x11720 x11721 x11722 x11723 x11724 x11725 x11726 x11727 x11728 x11729 x117210 x117211 x117212 x117213 x117214 x117215 x117216 x117217 x117218 x117219 x117220 x117221 x117222 x117223 x117224 x117225 x117226 x117227 x117228 x117229 ') INSERT INTO rt (id, gid, title) VALUES (1173, 11, 'x11730 x11731 x11732 x11733 x11734 x11735 x11736 x11737 x11738 x11739 x117310 x117311 x117312 x117313 x117314 x117315 x117316 x117317 x117318 x117319 x117320 x117321 x117322 x117323 x117324 x117325 x117326 x117327 x117328 x117329 ') INSERT INTO rt (id, gid, title) VALUES (1174, 11, 'x11740 x11741 x11742 x11743 x11744 x11745 x11746 x11747 x11748 x11749 x117410 x117411 x117412 x117413 x117414 x117415 x117416 x117417 x117418 x117419 x117420 x117421 x117422 x117423 x117424 x117425 x117426 x117427 x117428 x117429 ') INSERT INTO rt (id, gid, title) VALUES (1175, 11, 'x11750 x11751 x11752 x11753 x11754 x11755 x11756 x11757 x11758 x11759 x117510 x117511 x117512 x117513 x117514 x117515 x117516 x117517 x117518 x117519 x117520 x117521 x117522 x117523 x117524 x117525 x117526 x117527 x117528 x117529 ') INSERT INTO rt (id, gid, title) VALUES (1176, 11, 'x11760 x11761 x11762 x11763 x11764 x11765 x11766 x11767 x11768 x11769 x117610 x117611 x117612 x117613 x117614 x117615 x117616 x117617 x117618 x117619 x117620 x117621 x117622 x117623 x117624 x117625 x117626 x117627 x117628 x117629 ') INSERT INTO rt (id, gid, title) VALUES (1177, 11, 'x11770 x11771 x11772 x11773 x11774 x11775 x11776 x11777 x11778 x11779 x117710 x117711 x117712 x117713 x117714 x117715 x117716 x117717 x117718 x117719 x117720 x117721 x117722 x117723 x117724 x117725 x117726 x117727 x117728 x117729 ') INSERT INTO rt (id, gid, title) VALUES (1178, 11, 'x11780 x11781 x11782 x11783 x11784 x11785 x11786 x11787 x11788 x11789 x117810 x117811 x117812 x117813 x117814 x117815 x117816 x117817 x117818 x117819 x117820 x117821 x117822 x117823 x117824 x117825 x117826 x117827 x117828 x117829 ') INSERT INTO rt (id, gid, title) VALUES (1179, 11, 'x11790 x11791 x11792 x11793 x11794 x11795 x11796 x11797 x11798 x11799 x117910 x117911 x117912 x117913 x117914 x117915 x117916 x117917 x117918 x117919 x117920 x117921 x117922 x117923 x117924 x117925 x117926 x117927 x117928 x117929 ') INSERT INTO rt (id, gid, title) VALUES (1180, 11, 'x11800 x11801 x11802 x11803 x11804 x11805 x11806 x11807 x11808 x11809 x118010 x118011 x118012 x118013 x118014 x118015 x118016 x118017 x118018 x118019 x118020 x118021 x118022 x118023 x118024 x118025 x118026 x118027 x118028 x118029 ') INSERT INTO rt (id, gid, title) VALUES (1181, 11, 'x11810 x11811 x11812 x11813 x11814 x11815 x11816 x11817 x11818 x11819 x118110 x118111 x118112 x118113 x118114 x118115 x118116 x118117 x118118 x118119 x118120 x118121 x118122 x118123 x118124 x118125 x118126 x118127 x118128 x118129 ') INSERT INTO rt (id, gid, title) VALUES (1182, 11, 'x11820 x11821 x11822 x11823 x11824 x11825 x11826 x11827 x11828 x11829 x118210 x118211 x118212 x118213 x118214 x118215 x118216 x118217 x118218 x118219 x118220 x118221 x118222 x118223 x118224 x118225 x118226 x118227 x118228 x118229 ') INSERT INTO rt (id, gid, title) VALUES (1183, 11, 'x11830 x11831 x11832 x11833 x11834 x11835 x11836 x11837 x11838 x11839 x118310 x118311 x118312 x118313 x118314 x118315 x118316 x118317 x118318 x118319 x118320 x118321 x118322 x118323 x118324 x118325 x118326 x118327 x118328 x118329 ') INSERT INTO rt (id, gid, title) VALUES (1184, 11, 'x11840 x11841 x11842 x11843 x11844 x11845 x11846 x11847 x11848 x11849 x118410 x118411 x118412 x118413 x118414 x118415 x118416 x118417 x118418 x118419 x118420 x118421 x118422 x118423 x118424 x118425 x118426 x118427 x118428 x118429 ') INSERT INTO rt (id, gid, title) VALUES (1185, 11, 'x11850 x11851 x11852 x11853 x11854 x11855 x11856 x11857 x11858 x11859 x118510 x118511 x118512 x118513 x118514 x118515 x118516 x118517 x118518 x118519 x118520 x118521 x118522 x118523 x118524 x118525 x118526 x118527 x118528 x118529 ') INSERT INTO rt (id, gid, title) VALUES (1186, 11, 'x11860 x11861 x11862 x11863 x11864 x11865 x11866 x11867 x11868 x11869 x118610 x118611 x118612 x118613 x118614 x118615 x118616 x118617 x118618 x118619 x118620 x118621 x118622 x118623 x118624 x118625 x118626 x118627 x118628 x118629 ') INSERT INTO rt (id, gid, title) VALUES (1187, 11, 'x11870 x11871 x11872 x11873 x11874 x11875 x11876 x11877 x11878 x11879 x118710 x118711 x118712 x118713 x118714 x118715 x118716 x118717 x118718 x118719 x118720 x118721 x118722 x118723 x118724 x118725 x118726 x118727 x118728 x118729 ') INSERT INTO rt (id, gid, title) VALUES (1188, 11, 'x11880 x11881 x11882 x11883 x11884 x11885 x11886 x11887 x11888 x11889 x118810 x118811 x118812 x118813 x118814 x118815 x118816 x118817 x118818 x118819 x118820 x118821 x118822 x118823 x118824 x118825 x118826 x118827 x118828 x118829 ') INSERT INTO rt (id, gid, title) VALUES (1189, 11, 'x11890 x11891 x11892 x11893 x11894 x11895 x11896 x11897 x11898 x11899 x118910 x118911 x118912 x118913 x118914 x118915 x118916 x118917 x118918 x118919 x118920 x118921 x118922 x118923 x118924 x118925 x118926 x118927 x118928 x118929 ') INSERT INTO rt (id, gid, title) VALUES (1190, 11, 'x11900 x11901 x11902 x11903 x11904 x11905 x11906 x11907 x11908 x11909 x119010 x119011 x119012 x119013 x119014 x119015 x119016 x119017 x119018 x119019 x119020 x119021 x119022 x119023 x119024 x119025 x119026 x119027 x119028 x119029 ') INSERT INTO rt (id, gid, title) VALUES (1191, 11, 'x11910 x11911 x11912 x11913 x11914 x11915 x11916 x11917 x11918 x11919 x119110 x119111 x119112 x119113 x119114 x119115 x119116 x119117 x119118 x119119 x119120 x119121 x119122 x119123 x119124 x119125 x119126 x119127 x119128 x119129 ') INSERT INTO rt (id, gid, title) VALUES (1192, 11, 'x11920 x11921 x11922 x11923 x11924 x11925 x11926 x11927 x11928 x11929 x119210 x119211 x119212 x119213 x119214 x119215 x119216 x119217 x119218 x119219 x119220 x119221 x119222 x119223 x119224 x119225 x119226 x119227 x119228 x119229 ') INSERT INTO rt (id, gid, title) VALUES (1193, 11, 'x11930 x11931 x11932 x11933 x11934 x11935 x11936 x11937 x11938 x11939 x119310 x119311 x119312 x119313 x119314 x119315 x119316 x119317 x119318 x119319 x119320 x119321 x119322 x119323 x119324 x119325 x119326 x119327 x119328 x119329 ') INSERT INTO rt (id, gid, title) VALUES (1194, 11, 'x11940 x11941 x11942 x11943 x11944 x11945 x11946 x11947 x11948 x11949 x119410 x119411 x119412 x119413 x119414 x119415 x119416 x119417 x119418 x119419 x119420 x119421 x119422 x119423 x119424 x119425 x119426 x119427 x119428 x119429 ') INSERT INTO rt (id, gid, title) VALUES (1195, 11, 'x11950 x11951 x11952 x11953 x11954 x11955 x11956 x11957 x11958 x11959 x119510 x119511 x119512 x119513 x119514 x119515 x119516 x119517 x119518 x119519 x119520 x119521 x119522 x119523 x119524 x119525 x119526 x119527 x119528 x119529 ') INSERT INTO rt (id, gid, title) VALUES (1196, 11, 'x11960 x11961 x11962 x11963 x11964 x11965 x11966 x11967 x11968 x11969 x119610 x119611 x119612 x119613 x119614 x119615 x119616 x119617 x119618 x119619 x119620 x119621 x119622 x119623 x119624 x119625 x119626 x119627 x119628 x119629 ') INSERT INTO rt (id, gid, title) VALUES (1197, 11, 'x11970 x11971 x11972 x11973 x11974 x11975 x11976 x11977 x11978 x11979 x119710 x119711 x119712 x119713 x119714 x119715 x119716 x119717 x119718 x119719 x119720 x119721 x119722 x119723 x119724 x119725 x119726 x119727 x119728 x119729 ') INSERT INTO rt (id, gid, title) VALUES (1198, 11, 'x11980 x11981 x11982 x11983 x11984 x11985 x11986 x11987 x11988 x11989 x119810 x119811 x119812 x119813 x119814 x119815 x119816 x119817 x119818 x119819 x119820 x119821 x119822 x119823 x119824 x119825 x119826 x119827 x119828 x119829 ') INSERT INTO rt (id, gid, title) VALUES (1199, 11, 'x11990 x11991 x11992 x11993 x11994 x11995 x11996 x11997 x11998 x11999 x119910 x119911 x119912 x119913 x119914 x119915 x119916 x119917 x119918 x119919 x119920 x119921 x119922 x119923 x119924 x119925 x119926 x119927 x119928 x119929 ') INSERT INTO rt (id, gid, title) VALUES (1200, 11, 'x12000 x12001 x12002 x12003 x12004 x12005 x12006 x12007 x12008 x12009 x120010 x120011 x120012 x120013 x120014 x120015 x120016 x120017 x120018 x120019 x120020 x120021 x120022 x120023 x120024 x120025 x120026 x120027 x120028 x120029 ') INSERT INTO rt (id, gid, title) VALUES (1201, 11, 'x12010 x12011 x12012 x12013 x12014 x12015 x12016 x12017 x12018 x12019 x120110 x120111 x120112 x120113 x120114 x120115 x120116 x120117 x120118 x120119 x120120 x120121 x120122 x120123 x120124 x120125 x120126 x120127 x120128 x120129 ') INSERT INTO rt (id, gid, title) VALUES (1202, 11, 'x12020 x12021 x12022 x12023 x12024 x12025 x12026 x12027 x12028 x12029 x120210 x120211 x120212 x120213 x120214 x120215 x120216 x120217 x120218 x120219 x120220 x120221 x120222 x120223 x120224 x120225 x120226 x120227 x120228 x120229 ') INSERT INTO rt (id, gid, title) VALUES (1203, 11, 'x12030 x12031 x12032 x12033 x12034 x12035 x12036 x12037 x12038 x12039 x120310 x120311 x120312 x120313 x120314 x120315 x120316 x120317 x120318 x120319 x120320 x120321 x120322 x120323 x120324 x120325 x120326 x120327 x120328 x120329 ') INSERT INTO rt (id, gid, title) VALUES (1204, 11, 'x12040 x12041 x12042 x12043 x12044 x12045 x12046 x12047 x12048 x12049 x120410 x120411 x120412 x120413 x120414 x120415 x120416 x120417 x120418 x120419 x120420 x120421 x120422 x120423 x120424 x120425 x120426 x120427 x120428 x120429 ') INSERT INTO rt (id, gid, title) VALUES (1205, 11, 'x12050 x12051 x12052 x12053 x12054 x12055 x12056 x12057 x12058 x12059 x120510 x120511 x120512 x120513 x120514 x120515 x120516 x120517 x120518 x120519 x120520 x120521 x120522 x120523 x120524 x120525 x120526 x120527 x120528 x120529 ') INSERT INTO rt (id, gid, title) VALUES (1206, 11, 'x12060 x12061 x12062 x12063 x12064 x12065 x12066 x12067 x12068 x12069 x120610 x120611 x120612 x120613 x120614 x120615 x120616 x120617 x120618 x120619 x120620 x120621 x120622 x120623 x120624 x120625 x120626 x120627 x120628 x120629 ') INSERT INTO rt (id, gid, title) VALUES (1207, 11, 'x12070 x12071 x12072 x12073 x12074 x12075 x12076 x12077 x12078 x12079 x120710 x120711 x120712 x120713 x120714 x120715 x120716 x120717 x120718 x120719 x120720 x120721 x120722 x120723 x120724 x120725 x120726 x120727 x120728 x120729 ') INSERT INTO rt (id, gid, title) VALUES (1208, 11, 'x12080 x12081 x12082 x12083 x12084 x12085 x12086 x12087 x12088 x12089 x120810 x120811 x120812 x120813 x120814 x120815 x120816 x120817 x120818 x120819 x120820 x120821 x120822 x120823 x120824 x120825 x120826 x120827 x120828 x120829 ') INSERT INTO rt (id, gid, title) VALUES (1209, 11, 'x12090 x12091 x12092 x12093 x12094 x12095 x12096 x12097 x12098 x12099 x120910 x120911 x120912 x120913 x120914 x120915 x120916 x120917 x120918 x120919 x120920 x120921 x120922 x120923 x120924 x120925 x120926 x120927 x120928 x120929 ') INSERT INTO rt (id, gid, title) VALUES (1210, 11, 'x12100 x12101 x12102 x12103 x12104 x12105 x12106 x12107 x12108 x12109 x121010 x121011 x121012 x121013 x121014 x121015 x121016 x121017 x121018 x121019 x121020 x121021 x121022 x121023 x121024 x121025 x121026 x121027 x121028 x121029 ') INSERT INTO rt (id, gid, title) VALUES (1211, 11, 'x12110 x12111 x12112 x12113 x12114 x12115 x12116 x12117 x12118 x12119 x121110 x121111 x121112 x121113 x121114 x121115 x121116 x121117 x121118 x121119 x121120 x121121 x121122 x121123 x121124 x121125 x121126 x121127 x121128 x121129 ') INSERT INTO rt (id, gid, title) VALUES (1212, 11, 'x12120 x12121 x12122 x12123 x12124 x12125 x12126 x12127 x12128 x12129 x121210 x121211 x121212 x121213 x121214 x121215 x121216 x121217 x121218 x121219 x121220 x121221 x121222 x121223 x121224 x121225 x121226 x121227 x121228 x121229 ') INSERT INTO rt (id, gid, title) VALUES (1213, 11, 'x12130 x12131 x12132 x12133 x12134 x12135 x12136 x12137 x12138 x12139 x121310 x121311 x121312 x121313 x121314 x121315 x121316 x121317 x121318 x121319 x121320 x121321 x121322 x121323 x121324 x121325 x121326 x121327 x121328 x121329 ') INSERT INTO rt (id, gid, title) VALUES (1214, 11, 'x12140 x12141 x12142 x12143 x12144 x12145 x12146 x12147 x12148 x12149 x121410 x121411 x121412 x121413 x121414 x121415 x121416 x121417 x121418 x121419 x121420 x121421 x121422 x121423 x121424 x121425 x121426 x121427 x121428 x121429 ') INSERT INTO rt (id, gid, title) VALUES (1215, 11, 'x12150 x12151 x12152 x12153 x12154 x12155 x12156 x12157 x12158 x12159 x121510 x121511 x121512 x121513 x121514 x121515 x121516 x121517 x121518 x121519 x121520 x121521 x121522 x121523 x121524 x121525 x121526 x121527 x121528 x121529 ') INSERT INTO rt (id, gid, title) VALUES (1216, 11, 'x12160 x12161 x12162 x12163 x12164 x12165 x12166 x12167 x12168 x12169 x121610 x121611 x121612 x121613 x121614 x121615 x121616 x121617 x121618 x121619 x121620 x121621 x121622 x121623 x121624 x121625 x121626 x121627 x121628 x121629 ') INSERT INTO rt (id, gid, title) VALUES (1217, 11, 'x12170 x12171 x12172 x12173 x12174 x12175 x12176 x12177 x12178 x12179 x121710 x121711 x121712 x121713 x121714 x121715 x121716 x121717 x121718 x121719 x121720 x121721 x121722 x121723 x121724 x121725 x121726 x121727 x121728 x121729 ') INSERT INTO rt (id, gid, title) VALUES (1218, 11, 'x12180 x12181 x12182 x12183 x12184 x12185 x12186 x12187 x12188 x12189 x121810 x121811 x121812 x121813 x121814 x121815 x121816 x121817 x121818 x121819 x121820 x121821 x121822 x121823 x121824 x121825 x121826 x121827 x121828 x121829 ') INSERT INTO rt (id, gid, title) VALUES (1219, 11, 'x12190 x12191 x12192 x12193 x12194 x12195 x12196 x12197 x12198 x12199 x121910 x121911 x121912 x121913 x121914 x121915 x121916 x121917 x121918 x121919 x121920 x121921 x121922 x121923 x121924 x121925 x121926 x121927 x121928 x121929 ') INSERT INTO rt (id, gid, title) VALUES (1220, 11, 'x12200 x12201 x12202 x12203 x12204 x12205 x12206 x12207 x12208 x12209 x122010 x122011 x122012 x122013 x122014 x122015 x122016 x122017 x122018 x122019 x122020 x122021 x122022 x122023 x122024 x122025 x122026 x122027 x122028 x122029 ') INSERT INTO rt (id, gid, title) VALUES (1221, 11, 'x12210 x12211 x12212 x12213 x12214 x12215 x12216 x12217 x12218 x12219 x122110 x122111 x122112 x122113 x122114 x122115 x122116 x122117 x122118 x122119 x122120 x122121 x122122 x122123 x122124 x122125 x122126 x122127 x122128 x122129 ') INSERT INTO rt (id, gid, title) VALUES (1222, 11, 'x12220 x12221 x12222 x12223 x12224 x12225 x12226 x12227 x12228 x12229 x122210 x122211 x122212 x122213 x122214 x122215 x122216 x122217 x122218 x122219 x122220 x122221 x122222 x122223 x122224 x122225 x122226 x122227 x122228 x122229 ') INSERT INTO rt (id, gid, title) VALUES (1223, 11, 'x12230 x12231 x12232 x12233 x12234 x12235 x12236 x12237 x12238 x12239 x122310 x122311 x122312 x122313 x122314 x122315 x122316 x122317 x122318 x122319 x122320 x122321 x122322 x122323 x122324 x122325 x122326 x122327 x122328 x122329 ') INSERT INTO rt (id, gid, title) VALUES (1224, 11, 'x12240 x12241 x12242 x12243 x12244 x12245 x12246 x12247 x12248 x12249 x122410 x122411 x122412 x122413 x122414 x122415 x122416 x122417 x122418 x122419 x122420 x122421 x122422 x122423 x122424 x122425 x122426 x122427 x122428 x122429 ') INSERT INTO rt (id, gid, title) VALUES (1225, 11, 'x12250 x12251 x12252 x12253 x12254 x12255 x12256 x12257 x12258 x12259 x122510 x122511 x122512 x122513 x122514 x122515 x122516 x122517 x122518 x122519 x122520 x122521 x122522 x122523 x122524 x122525 x122526 x122527 x122528 x122529 ') INSERT INTO rt (id, gid, title) VALUES (1226, 11, 'x12260 x12261 x12262 x12263 x12264 x12265 x12266 x12267 x12268 x12269 x122610 x122611 x122612 x122613 x122614 x122615 x122616 x122617 x122618 x122619 x122620 x122621 x122622 x122623 x122624 x122625 x122626 x122627 x122628 x122629 ') INSERT INTO rt (id, gid, title) VALUES (1227, 11, 'x12270 x12271 x12272 x12273 x12274 x12275 x12276 x12277 x12278 x12279 x122710 x122711 x122712 x122713 x122714 x122715 x122716 x122717 x122718 x122719 x122720 x122721 x122722 x122723 x122724 x122725 x122726 x122727 x122728 x122729 ') INSERT INTO rt (id, gid, title) VALUES (1228, 11, 'x12280 x12281 x12282 x12283 x12284 x12285 x12286 x12287 x12288 x12289 x122810 x122811 x122812 x122813 x122814 x122815 x122816 x122817 x122818 x122819 x122820 x122821 x122822 x122823 x122824 x122825 x122826 x122827 x122828 x122829 ') INSERT INTO rt (id, gid, title) VALUES (1229, 11, 'x12290 x12291 x12292 x12293 x12294 x12295 x12296 x12297 x12298 x12299 x122910 x122911 x122912 x122913 x122914 x122915 x122916 x122917 x122918 x122919 x122920 x122921 x122922 x122923 x122924 x122925 x122926 x122927 x122928 x122929 ') INSERT INTO rt (id, gid, title) VALUES (1230, 11, 'x12300 x12301 x12302 x12303 x12304 x12305 x12306 x12307 x12308 x12309 x123010 x123011 x123012 x123013 x123014 x123015 x123016 x123017 x123018 x123019 x123020 x123021 x123022 x123023 x123024 x123025 x123026 x123027 x123028 x123029 ') INSERT INTO rt (id, gid, title) VALUES (1231, 11, 'x12310 x12311 x12312 x12313 x12314 x12315 x12316 x12317 x12318 x12319 x123110 x123111 x123112 x123113 x123114 x123115 x123116 x123117 x123118 x123119 x123120 x123121 x123122 x123123 x123124 x123125 x123126 x123127 x123128 x123129 ') INSERT INTO rt (id, gid, title) VALUES (1232, 11, 'x12320 x12321 x12322 x12323 x12324 x12325 x12326 x12327 x12328 x12329 x123210 x123211 x123212 x123213 x123214 x123215 x123216 x123217 x123218 x123219 x123220 x123221 x123222 x123223 x123224 x123225 x123226 x123227 x123228 x123229 ') INSERT INTO rt (id, gid, title) VALUES (1233, 11, 'x12330 x12331 x12332 x12333 x12334 x12335 x12336 x12337 x12338 x12339 x123310 x123311 x123312 x123313 x123314 x123315 x123316 x123317 x123318 x123319 x123320 x123321 x123322 x123323 x123324 x123325 x123326 x123327 x123328 x123329 ') INSERT INTO rt (id, gid, title) VALUES (1234, 11, 'x12340 x12341 x12342 x12343 x12344 x12345 x12346 x12347 x12348 x12349 x123410 x123411 x123412 x123413 x123414 x123415 x123416 x123417 x123418 x123419 x123420 x123421 x123422 x123423 x123424 x123425 x123426 x123427 x123428 x123429 ') INSERT INTO rt (id, gid, title) VALUES (1235, 11, 'x12350 x12351 x12352 x12353 x12354 x12355 x12356 x12357 x12358 x12359 x123510 x123511 x123512 x123513 x123514 x123515 x123516 x123517 x123518 x123519 x123520 x123521 x123522 x123523 x123524 x123525 x123526 x123527 x123528 x123529 ') INSERT INTO rt (id, gid, title) VALUES (1236, 11, 'x12360 x12361 x12362 x12363 x12364 x12365 x12366 x12367 x12368 x12369 x123610 x123611 x123612 x123613 x123614 x123615 x123616 x123617 x123618 x123619 x123620 x123621 x123622 x123623 x123624 x123625 x123626 x123627 x123628 x123629 ') INSERT INTO rt (id, gid, title) VALUES (1237, 11, 'x12370 x12371 x12372 x12373 x12374 x12375 x12376 x12377 x12378 x12379 x123710 x123711 x123712 x123713 x123714 x123715 x123716 x123717 x123718 x123719 x123720 x123721 x123722 x123723 x123724 x123725 x123726 x123727 x123728 x123729 ') INSERT INTO rt (id, gid, title) VALUES (1238, 11, 'x12380 x12381 x12382 x12383 x12384 x12385 x12386 x12387 x12388 x12389 x123810 x123811 x123812 x123813 x123814 x123815 x123816 x123817 x123818 x123819 x123820 x123821 x123822 x123823 x123824 x123825 x123826 x123827 x123828 x123829 ') INSERT INTO rt (id, gid, title) VALUES (1239, 11, 'x12390 x12391 x12392 x12393 x12394 x12395 x12396 x12397 x12398 x12399 x123910 x123911 x123912 x123913 x123914 x123915 x123916 x123917 x123918 x123919 x123920 x123921 x123922 x123923 x123924 x123925 x123926 x123927 x123928 x123929 ') INSERT INTO rt (id, gid, title) VALUES (1240, 11, 'x12400 x12401 x12402 x12403 x12404 x12405 x12406 x12407 x12408 x12409 x124010 x124011 x124012 x124013 x124014 x124015 x124016 x124017 x124018 x124019 x124020 x124021 x124022 x124023 x124024 x124025 x124026 x124027 x124028 x124029 ') INSERT INTO rt (id, gid, title) VALUES (1241, 11, 'x12410 x12411 x12412 x12413 x12414 x12415 x12416 x12417 x12418 x12419 x124110 x124111 x124112 x124113 x124114 x124115 x124116 x124117 x124118 x124119 x124120 x124121 x124122 x124123 x124124 x124125 x124126 x124127 x124128 x124129 ') INSERT INTO rt (id, gid, title) VALUES (1242, 11, 'x12420 x12421 x12422 x12423 x12424 x12425 x12426 x12427 x12428 x12429 x124210 x124211 x124212 x124213 x124214 x124215 x124216 x124217 x124218 x124219 x124220 x124221 x124222 x124223 x124224 x124225 x124226 x124227 x124228 x124229 ') INSERT INTO rt (id, gid, title) VALUES (1243, 11, 'x12430 x12431 x12432 x12433 x12434 x12435 x12436 x12437 x12438 x12439 x124310 x124311 x124312 x124313 x124314 x124315 x124316 x124317 x124318 x124319 x124320 x124321 x124322 x124323 x124324 x124325 x124326 x124327 x124328 x124329 ') INSERT INTO rt (id, gid, title) VALUES (1244, 11, 'x12440 x12441 x12442 x12443 x12444 x12445 x12446 x12447 x12448 x12449 x124410 x124411 x124412 x124413 x124414 x124415 x124416 x124417 x124418 x124419 x124420 x124421 x124422 x124423 x124424 x124425 x124426 x124427 x124428 x124429 ') INSERT INTO rt (id, gid, title) VALUES (1245, 11, 'x12450 x12451 x12452 x12453 x12454 x12455 x12456 x12457 x12458 x12459 x124510 x124511 x124512 x124513 x124514 x124515 x124516 x124517 x124518 x124519 x124520 x124521 x124522 x124523 x124524 x124525 x124526 x124527 x124528 x124529 ') INSERT INTO rt (id, gid, title) VALUES (1246, 11, 'x12460 x12461 x12462 x12463 x12464 x12465 x12466 x12467 x12468 x12469 x124610 x124611 x124612 x124613 x124614 x124615 x124616 x124617 x124618 x124619 x124620 x124621 x124622 x124623 x124624 x124625 x124626 x124627 x124628 x124629 ') INSERT INTO rt (id, gid, title) VALUES (1247, 11, 'x12470 x12471 x12472 x12473 x12474 x12475 x12476 x12477 x12478 x12479 x124710 x124711 x124712 x124713 x124714 x124715 x124716 x124717 x124718 x124719 x124720 x124721 x124722 x124723 x124724 x124725 x124726 x124727 x124728 x124729 ') INSERT INTO rt (id, gid, title) VALUES (1248, 11, 'x12480 x12481 x12482 x12483 x12484 x12485 x12486 x12487 x12488 x12489 x124810 x124811 x124812 x124813 x124814 x124815 x124816 x124817 x124818 x124819 x124820 x124821 x124822 x124823 x124824 x124825 x124826 x124827 x124828 x124829 ') INSERT INTO rt (id, gid, title) VALUES (1249, 11, 'x12490 x12491 x12492 x12493 x12494 x12495 x12496 x12497 x12498 x12499 x124910 x124911 x124912 x124913 x124914 x124915 x124916 x124917 x124918 x124919 x124920 x124921 x124922 x124923 x124924 x124925 x124926 x124927 x124928 x124929 ') INSERT INTO rt (id, gid, title) VALUES (1250, 11, 'x12500 x12501 x12502 x12503 x12504 x12505 x12506 x12507 x12508 x12509 x125010 x125011 x125012 x125013 x125014 x125015 x125016 x125017 x125018 x125019 x125020 x125021 x125022 x125023 x125024 x125025 x125026 x125027 x125028 x125029 ') INSERT INTO rt (id, gid, title) VALUES (1251, 11, 'x12510 x12511 x12512 x12513 x12514 x12515 x12516 x12517 x12518 x12519 x125110 x125111 x125112 x125113 x125114 x125115 x125116 x125117 x125118 x125119 x125120 x125121 x125122 x125123 x125124 x125125 x125126 x125127 x125128 x125129 ') INSERT INTO rt (id, gid, title) VALUES (1252, 11, 'x12520 x12521 x12522 x12523 x12524 x12525 x12526 x12527 x12528 x12529 x125210 x125211 x125212 x125213 x125214 x125215 x125216 x125217 x125218 x125219 x125220 x125221 x125222 x125223 x125224 x125225 x125226 x125227 x125228 x125229 ') INSERT INTO rt (id, gid, title) VALUES (1253, 11, 'x12530 x12531 x12532 x12533 x12534 x12535 x12536 x12537 x12538 x12539 x125310 x125311 x125312 x125313 x125314 x125315 x125316 x125317 x125318 x125319 x125320 x125321 x125322 x125323 x125324 x125325 x125326 x125327 x125328 x125329 ') INSERT INTO rt (id, gid, title) VALUES (1254, 11, 'x12540 x12541 x12542 x12543 x12544 x12545 x12546 x12547 x12548 x12549 x125410 x125411 x125412 x125413 x125414 x125415 x125416 x125417 x125418 x125419 x125420 x125421 x125422 x125423 x125424 x125425 x125426 x125427 x125428 x125429 ') INSERT INTO rt (id, gid, title) VALUES (1255, 11, 'x12550 x12551 x12552 x12553 x12554 x12555 x12556 x12557 x12558 x12559 x125510 x125511 x125512 x125513 x125514 x125515 x125516 x125517 x125518 x125519 x125520 x125521 x125522 x125523 x125524 x125525 x125526 x125527 x125528 x125529 ') INSERT INTO rt (id, gid, title) VALUES (1256, 11, 'x12560 x12561 x12562 x12563 x12564 x12565 x12566 x12567 x12568 x12569 x125610 x125611 x125612 x125613 x125614 x125615 x125616 x125617 x125618 x125619 x125620 x125621 x125622 x125623 x125624 x125625 x125626 x125627 x125628 x125629 ') INSERT INTO rt (id, gid, title) VALUES (1257, 11, 'x12570 x12571 x12572 x12573 x12574 x12575 x12576 x12577 x12578 x12579 x125710 x125711 x125712 x125713 x125714 x125715 x125716 x125717 x125718 x125719 x125720 x125721 x125722 x125723 x125724 x125725 x125726 x125727 x125728 x125729 ') INSERT INTO rt (id, gid, title) VALUES (1258, 11, 'x12580 x12581 x12582 x12583 x12584 x12585 x12586 x12587 x12588 x12589 x125810 x125811 x125812 x125813 x125814 x125815 x125816 x125817 x125818 x125819 x125820 x125821 x125822 x125823 x125824 x125825 x125826 x125827 x125828 x125829 ') INSERT INTO rt (id, gid, title) VALUES (1259, 11, 'x12590 x12591 x12592 x12593 x12594 x12595 x12596 x12597 x12598 x12599 x125910 x125911 x125912 x125913 x125914 x125915 x125916 x125917 x125918 x125919 x125920 x125921 x125922 x125923 x125924 x125925 x125926 x125927 x125928 x125929 ') INSERT INTO rt (id, gid, title) VALUES (1260, 11, 'x12600 x12601 x12602 x12603 x12604 x12605 x12606 x12607 x12608 x12609 x126010 x126011 x126012 x126013 x126014 x126015 x126016 x126017 x126018 x126019 x126020 x126021 x126022 x126023 x126024 x126025 x126026 x126027 x126028 x126029 ') INSERT INTO rt (id, gid, title) VALUES (1261, 11, 'x12610 x12611 x12612 x12613 x12614 x12615 x12616 x12617 x12618 x12619 x126110 x126111 x126112 x126113 x126114 x126115 x126116 x126117 x126118 x126119 x126120 x126121 x126122 x126123 x126124 x126125 x126126 x126127 x126128 x126129 ') INSERT INTO rt (id, gid, title) VALUES (1262, 11, 'x12620 x12621 x12622 x12623 x12624 x12625 x12626 x12627 x12628 x12629 x126210 x126211 x126212 x126213 x126214 x126215 x126216 x126217 x126218 x126219 x126220 x126221 x126222 x126223 x126224 x126225 x126226 x126227 x126228 x126229 ') INSERT INTO rt (id, gid, title) VALUES (1263, 11, 'x12630 x12631 x12632 x12633 x12634 x12635 x12636 x12637 x12638 x12639 x126310 x126311 x126312 x126313 x126314 x126315 x126316 x126317 x126318 x126319 x126320 x126321 x126322 x126323 x126324 x126325 x126326 x126327 x126328 x126329 ') INSERT INTO rt (id, gid, title) VALUES (1264, 11, 'x12640 x12641 x12642 x12643 x12644 x12645 x12646 x12647 x12648 x12649 x126410 x126411 x126412 x126413 x126414 x126415 x126416 x126417 x126418 x126419 x126420 x126421 x126422 x126423 x126424 x126425 x126426 x126427 x126428 x126429 ') INSERT INTO rt (id, gid, title) VALUES (1265, 11, 'x12650 x12651 x12652 x12653 x12654 x12655 x12656 x12657 x12658 x12659 x126510 x126511 x126512 x126513 x126514 x126515 x126516 x126517 x126518 x126519 x126520 x126521 x126522 x126523 x126524 x126525 x126526 x126527 x126528 x126529 ') INSERT INTO rt (id, gid, title) VALUES (1266, 11, 'x12660 x12661 x12662 x12663 x12664 x12665 x12666 x12667 x12668 x12669 x126610 x126611 x126612 x126613 x126614 x126615 x126616 x126617 x126618 x126619 x126620 x126621 x126622 x126623 x126624 x126625 x126626 x126627 x126628 x126629 ') INSERT INTO rt (id, gid, title) VALUES (1267, 11, 'x12670 x12671 x12672 x12673 x12674 x12675 x12676 x12677 x12678 x12679 x126710 x126711 x126712 x126713 x126714 x126715 x126716 x126717 x126718 x126719 x126720 x126721 x126722 x126723 x126724 x126725 x126726 x126727 x126728 x126729 ') INSERT INTO rt (id, gid, title) VALUES (1268, 11, 'x12680 x12681 x12682 x12683 x12684 x12685 x12686 x12687 x12688 x12689 x126810 x126811 x126812 x126813 x126814 x126815 x126816 x126817 x126818 x126819 x126820 x126821 x126822 x126823 x126824 x126825 x126826 x126827 x126828 x126829 ') INSERT INTO rt (id, gid, title) VALUES (1269, 11, 'x12690 x12691 x12692 x12693 x12694 x12695 x12696 x12697 x12698 x12699 x126910 x126911 x126912 x126913 x126914 x126915 x126916 x126917 x126918 x126919 x126920 x126921 x126922 x126923 x126924 x126925 x126926 x126927 x126928 x126929 ') INSERT INTO rt (id, gid, title) VALUES (1270, 11, 'x12700 x12701 x12702 x12703 x12704 x12705 x12706 x12707 x12708 x12709 x127010 x127011 x127012 x127013 x127014 x127015 x127016 x127017 x127018 x127019 x127020 x127021 x127022 x127023 x127024 x127025 x127026 x127027 x127028 x127029 ') INSERT INTO rt (id, gid, title) VALUES (1271, 11, 'x12710 x12711 x12712 x12713 x12714 x12715 x12716 x12717 x12718 x12719 x127110 x127111 x127112 x127113 x127114 x127115 x127116 x127117 x127118 x127119 x127120 x127121 x127122 x127123 x127124 x127125 x127126 x127127 x127128 x127129 ') INSERT INTO rt (id, gid, title) VALUES (1272, 11, 'x12720 x12721 x12722 x12723 x12724 x12725 x12726 x12727 x12728 x12729 x127210 x127211 x127212 x127213 x127214 x127215 x127216 x127217 x127218 x127219 x127220 x127221 x127222 x127223 x127224 x127225 x127226 x127227 x127228 x127229 ') INSERT INTO rt (id, gid, title) VALUES (1273, 11, 'x12730 x12731 x12732 x12733 x12734 x12735 x12736 x12737 x12738 x12739 x127310 x127311 x127312 x127313 x127314 x127315 x127316 x127317 x127318 x127319 x127320 x127321 x127322 x127323 x127324 x127325 x127326 x127327 x127328 x127329 ') INSERT INTO rt (id, gid, title) VALUES (1274, 11, 'x12740 x12741 x12742 x12743 x12744 x12745 x12746 x12747 x12748 x12749 x127410 x127411 x127412 x127413 x127414 x127415 x127416 x127417 x127418 x127419 x127420 x127421 x127422 x127423 x127424 x127425 x127426 x127427 x127428 x127429 ') INSERT INTO rt (id, gid, title) VALUES (1275, 11, 'x12750 x12751 x12752 x12753 x12754 x12755 x12756 x12757 x12758 x12759 x127510 x127511 x127512 x127513 x127514 x127515 x127516 x127517 x127518 x127519 x127520 x127521 x127522 x127523 x127524 x127525 x127526 x127527 x127528 x127529 ') INSERT INTO rt (id, gid, title) VALUES (1276, 11, 'x12760 x12761 x12762 x12763 x12764 x12765 x12766 x12767 x12768 x12769 x127610 x127611 x127612 x127613 x127614 x127615 x127616 x127617 x127618 x127619 x127620 x127621 x127622 x127623 x127624 x127625 x127626 x127627 x127628 x127629 ') INSERT INTO rt (id, gid, title) VALUES (1277, 11, 'x12770 x12771 x12772 x12773 x12774 x12775 x12776 x12777 x12778 x12779 x127710 x127711 x127712 x127713 x127714 x127715 x127716 x127717 x127718 x127719 x127720 x127721 x127722 x127723 x127724 x127725 x127726 x127727 x127728 x127729 ') INSERT INTO rt (id, gid, title) VALUES (1278, 11, 'x12780 x12781 x12782 x12783 x12784 x12785 x12786 x12787 x12788 x12789 x127810 x127811 x127812 x127813 x127814 x127815 x127816 x127817 x127818 x127819 x127820 x127821 x127822 x127823 x127824 x127825 x127826 x127827 x127828 x127829 ') INSERT INTO rt (id, gid, title) VALUES (1279, 11, 'x12790 x12791 x12792 x12793 x12794 x12795 x12796 x12797 x12798 x12799 x127910 x127911 x127912 x127913 x127914 x127915 x127916 x127917 x127918 x127919 x127920 x127921 x127922 x127923 x127924 x127925 x127926 x127927 x127928 x127929 ') INSERT INTO rt (id, gid, title) VALUES (1280, 11, 'x12800 x12801 x12802 x12803 x12804 x12805 x12806 x12807 x12808 x12809 x128010 x128011 x128012 x128013 x128014 x128015 x128016 x128017 x128018 x128019 x128020 x128021 x128022 x128023 x128024 x128025 x128026 x128027 x128028 x128029 ') INSERT INTO rt (id, gid, title) VALUES (1281, 11, 'x12810 x12811 x12812 x12813 x12814 x12815 x12816 x12817 x12818 x12819 x128110 x128111 x128112 x128113 x128114 x128115 x128116 x128117 x128118 x128119 x128120 x128121 x128122 x128123 x128124 x128125 x128126 x128127 x128128 x128129 ') INSERT INTO rt (id, gid, title) VALUES (1282, 11, 'x12820 x12821 x12822 x12823 x12824 x12825 x12826 x12827 x12828 x12829 x128210 x128211 x128212 x128213 x128214 x128215 x128216 x128217 x128218 x128219 x128220 x128221 x128222 x128223 x128224 x128225 x128226 x128227 x128228 x128229 ') INSERT INTO rt (id, gid, title) VALUES (1283, 11, 'x12830 x12831 x12832 x12833 x12834 x12835 x12836 x12837 x12838 x12839 x128310 x128311 x128312 x128313 x128314 x128315 x128316 x128317 x128318 x128319 x128320 x128321 x128322 x128323 x128324 x128325 x128326 x128327 x128328 x128329 ') INSERT INTO rt (id, gid, title) VALUES (1284, 11, 'x12840 x12841 x12842 x12843 x12844 x12845 x12846 x12847 x12848 x12849 x128410 x128411 x128412 x128413 x128414 x128415 x128416 x128417 x128418 x128419 x128420 x128421 x128422 x128423 x128424 x128425 x128426 x128427 x128428 x128429 ') INSERT INTO rt (id, gid, title) VALUES (1285, 11, 'x12850 x12851 x12852 x12853 x12854 x12855 x12856 x12857 x12858 x12859 x128510 x128511 x128512 x128513 x128514 x128515 x128516 x128517 x128518 x128519 x128520 x128521 x128522 x128523 x128524 x128525 x128526 x128527 x128528 x128529 ') INSERT INTO rt (id, gid, title) VALUES (1286, 11, 'x12860 x12861 x12862 x12863 x12864 x12865 x12866 x12867 x12868 x12869 x128610 x128611 x128612 x128613 x128614 x128615 x128616 x128617 x128618 x128619 x128620 x128621 x128622 x128623 x128624 x128625 x128626 x128627 x128628 x128629 ') INSERT INTO rt (id, gid, title) VALUES (1287, 11, 'x12870 x12871 x12872 x12873 x12874 x12875 x12876 x12877 x12878 x12879 x128710 x128711 x128712 x128713 x128714 x128715 x128716 x128717 x128718 x128719 x128720 x128721 x128722 x128723 x128724 x128725 x128726 x128727 x128728 x128729 ') INSERT INTO rt (id, gid, title) VALUES (1288, 11, 'x12880 x12881 x12882 x12883 x12884 x12885 x12886 x12887 x12888 x12889 x128810 x128811 x128812 x128813 x128814 x128815 x128816 x128817 x128818 x128819 x128820 x128821 x128822 x128823 x128824 x128825 x128826 x128827 x128828 x128829 ') INSERT INTO rt (id, gid, title) VALUES (1289, 11, 'x12890 x12891 x12892 x12893 x12894 x12895 x12896 x12897 x12898 x12899 x128910 x128911 x128912 x128913 x128914 x128915 x128916 x128917 x128918 x128919 x128920 x128921 x128922 x128923 x128924 x128925 x128926 x128927 x128928 x128929 ') INSERT INTO rt (id, gid, title) VALUES (1290, 11, 'x12900 x12901 x12902 x12903 x12904 x12905 x12906 x12907 x12908 x12909 x129010 x129011 x129012 x129013 x129014 x129015 x129016 x129017 x129018 x129019 x129020 x129021 x129022 x129023 x129024 x129025 x129026 x129027 x129028 x129029 ') INSERT INTO rt (id, gid, title) VALUES (1291, 11, 'x12910 x12911 x12912 x12913 x12914 x12915 x12916 x12917 x12918 x12919 x129110 x129111 x129112 x129113 x129114 x129115 x129116 x129117 x129118 x129119 x129120 x129121 x129122 x129123 x129124 x129125 x129126 x129127 x129128 x129129 ') INSERT INTO rt (id, gid, title) VALUES (1292, 11, 'x12920 x12921 x12922 x12923 x12924 x12925 x12926 x12927 x12928 x12929 x129210 x129211 x129212 x129213 x129214 x129215 x129216 x129217 x129218 x129219 x129220 x129221 x129222 x129223 x129224 x129225 x129226 x129227 x129228 x129229 ') INSERT INTO rt (id, gid, title) VALUES (1293, 11, 'x12930 x12931 x12932 x12933 x12934 x12935 x12936 x12937 x12938 x12939 x129310 x129311 x129312 x129313 x129314 x129315 x129316 x129317 x129318 x129319 x129320 x129321 x129322 x129323 x129324 x129325 x129326 x129327 x129328 x129329 ') INSERT INTO rt (id, gid, title) VALUES (1294, 11, 'x12940 x12941 x12942 x12943 x12944 x12945 x12946 x12947 x12948 x12949 x129410 x129411 x129412 x129413 x129414 x129415 x129416 x129417 x129418 x129419 x129420 x129421 x129422 x129423 x129424 x129425 x129426 x129427 x129428 x129429 ') INSERT INTO rt (id, gid, title) VALUES (1295, 11, 'x12950 x12951 x12952 x12953 x12954 x12955 x12956 x12957 x12958 x12959 x129510 x129511 x129512 x129513 x129514 x129515 x129516 x129517 x129518 x129519 x129520 x129521 x129522 x129523 x129524 x129525 x129526 x129527 x129528 x129529 ') INSERT INTO rt (id, gid, title) VALUES (1296, 11, 'x12960 x12961 x12962 x12963 x12964 x12965 x12966 x12967 x12968 x12969 x129610 x129611 x129612 x129613 x129614 x129615 x129616 x129617 x129618 x129619 x129620 x129621 x129622 x129623 x129624 x129625 x129626 x129627 x129628 x129629 ') INSERT INTO rt (id, gid, title) VALUES (1297, 11, 'x12970 x12971 x12972 x12973 x12974 x12975 x12976 x12977 x12978 x12979 x129710 x129711 x129712 x129713 x129714 x129715 x129716 x129717 x129718 x129719 x129720 x129721 x129722 x129723 x129724 x129725 x129726 x129727 x129728 x129729 ') INSERT INTO rt (id, gid, title) VALUES (1298, 11, 'x12980 x12981 x12982 x12983 x12984 x12985 x12986 x12987 x12988 x12989 x129810 x129811 x129812 x129813 x129814 x129815 x129816 x129817 x129818 x129819 x129820 x129821 x129822 x129823 x129824 x129825 x129826 x129827 x129828 x129829 ') INSERT INTO rt (id, gid, title) VALUES (1299, 11, 'x12990 x12991 x12992 x12993 x12994 x12995 x12996 x12997 x12998 x12999 x129910 x129911 x129912 x129913 x129914 x129915 x129916 x129917 x129918 x129919 x129920 x129921 x129922 x129923 x129924 x129925 x129926 x129927 x129928 x129929 ') INSERT INTO rt (id, gid, title) VALUES (1300, 11, 'x13000 x13001 x13002 x13003 x13004 x13005 x13006 x13007 x13008 x13009 x130010 x130011 x130012 x130013 x130014 x130015 x130016 x130017 x130018 x130019 x130020 x130021 x130022 x130023 x130024 x130025 x130026 x130027 x130028 x130029 ') INSERT INTO rt (id, gid, title) VALUES (1301, 11, 'x13010 x13011 x13012 x13013 x13014 x13015 x13016 x13017 x13018 x13019 x130110 x130111 x130112 x130113 x130114 x130115 x130116 x130117 x130118 x130119 x130120 x130121 x130122 x130123 x130124 x130125 x130126 x130127 x130128 x130129 ') INSERT INTO rt (id, gid, title) VALUES (1302, 11, 'x13020 x13021 x13022 x13023 x13024 x13025 x13026 x13027 x13028 x13029 x130210 x130211 x130212 x130213 x130214 x130215 x130216 x130217 x130218 x130219 x130220 x130221 x130222 x130223 x130224 x130225 x130226 x130227 x130228 x130229 ') INSERT INTO rt (id, gid, title) VALUES (1303, 11, 'x13030 x13031 x13032 x13033 x13034 x13035 x13036 x13037 x13038 x13039 x130310 x130311 x130312 x130313 x130314 x130315 x130316 x130317 x130318 x130319 x130320 x130321 x130322 x130323 x130324 x130325 x130326 x130327 x130328 x130329 ') INSERT INTO rt (id, gid, title) VALUES (1304, 11, 'x13040 x13041 x13042 x13043 x13044 x13045 x13046 x13047 x13048 x13049 x130410 x130411 x130412 x130413 x130414 x130415 x130416 x130417 x130418 x130419 x130420 x130421 x130422 x130423 x130424 x130425 x130426 x130427 x130428 x130429 ') INSERT INTO rt (id, gid, title) VALUES (1305, 11, 'x13050 x13051 x13052 x13053 x13054 x13055 x13056 x13057 x13058 x13059 x130510 x130511 x130512 x130513 x130514 x130515 x130516 x130517 x130518 x130519 x130520 x130521 x130522 x130523 x130524 x130525 x130526 x130527 x130528 x130529 ') INSERT INTO rt (id, gid, title) VALUES (1306, 11, 'x13060 x13061 x13062 x13063 x13064 x13065 x13066 x13067 x13068 x13069 x130610 x130611 x130612 x130613 x130614 x130615 x130616 x130617 x130618 x130619 x130620 x130621 x130622 x130623 x130624 x130625 x130626 x130627 x130628 x130629 ') INSERT INTO rt (id, gid, title) VALUES (1307, 11, 'x13070 x13071 x13072 x13073 x13074 x13075 x13076 x13077 x13078 x13079 x130710 x130711 x130712 x130713 x130714 x130715 x130716 x130717 x130718 x130719 x130720 x130721 x130722 x130723 x130724 x130725 x130726 x130727 x130728 x130729 ') INSERT INTO rt (id, gid, title) VALUES (1308, 11, 'x13080 x13081 x13082 x13083 x13084 x13085 x13086 x13087 x13088 x13089 x130810 x130811 x130812 x130813 x130814 x130815 x130816 x130817 x130818 x130819 x130820 x130821 x130822 x130823 x130824 x130825 x130826 x130827 x130828 x130829 ') INSERT INTO rt (id, gid, title) VALUES (1309, 11, 'x13090 x13091 x13092 x13093 x13094 x13095 x13096 x13097 x13098 x13099 x130910 x130911 x130912 x130913 x130914 x130915 x130916 x130917 x130918 x130919 x130920 x130921 x130922 x130923 x130924 x130925 x130926 x130927 x130928 x130929 ') INSERT INTO rt (id, gid, title) VALUES (1310, 11, 'x13100 x13101 x13102 x13103 x13104 x13105 x13106 x13107 x13108 x13109 x131010 x131011 x131012 x131013 x131014 x131015 x131016 x131017 x131018 x131019 x131020 x131021 x131022 x131023 x131024 x131025 x131026 x131027 x131028 x131029 ') INSERT INTO rt (id, gid, title) VALUES (1311, 11, 'x13110 x13111 x13112 x13113 x13114 x13115 x13116 x13117 x13118 x13119 x131110 x131111 x131112 x131113 x131114 x131115 x131116 x131117 x131118 x131119 x131120 x131121 x131122 x131123 x131124 x131125 x131126 x131127 x131128 x131129 ') INSERT INTO rt (id, gid, title) VALUES (1312, 11, 'x13120 x13121 x13122 x13123 x13124 x13125 x13126 x13127 x13128 x13129 x131210 x131211 x131212 x131213 x131214 x131215 x131216 x131217 x131218 x131219 x131220 x131221 x131222 x131223 x131224 x131225 x131226 x131227 x131228 x131229 ') INSERT INTO rt (id, gid, title) VALUES (1313, 11, 'x13130 x13131 x13132 x13133 x13134 x13135 x13136 x13137 x13138 x13139 x131310 x131311 x131312 x131313 x131314 x131315 x131316 x131317 x131318 x131319 x131320 x131321 x131322 x131323 x131324 x131325 x131326 x131327 x131328 x131329 ') INSERT INTO rt (id, gid, title) VALUES (1314, 11, 'x13140 x13141 x13142 x13143 x13144 x13145 x13146 x13147 x13148 x13149 x131410 x131411 x131412 x131413 x131414 x131415 x131416 x131417 x131418 x131419 x131420 x131421 x131422 x131423 x131424 x131425 x131426 x131427 x131428 x131429 ') INSERT INTO rt (id, gid, title) VALUES (1315, 11, 'x13150 x13151 x13152 x13153 x13154 x13155 x13156 x13157 x13158 x13159 x131510 x131511 x131512 x131513 x131514 x131515 x131516 x131517 x131518 x131519 x131520 x131521 x131522 x131523 x131524 x131525 x131526 x131527 x131528 x131529 ') INSERT INTO rt (id, gid, title) VALUES (1316, 11, 'x13160 x13161 x13162 x13163 x13164 x13165 x13166 x13167 x13168 x13169 x131610 x131611 x131612 x131613 x131614 x131615 x131616 x131617 x131618 x131619 x131620 x131621 x131622 x131623 x131624 x131625 x131626 x131627 x131628 x131629 ') INSERT INTO rt (id, gid, title) VALUES (1317, 11, 'x13170 x13171 x13172 x13173 x13174 x13175 x13176 x13177 x13178 x13179 x131710 x131711 x131712 x131713 x131714 x131715 x131716 x131717 x131718 x131719 x131720 x131721 x131722 x131723 x131724 x131725 x131726 x131727 x131728 x131729 ') INSERT INTO rt (id, gid, title) VALUES (1318, 11, 'x13180 x13181 x13182 x13183 x13184 x13185 x13186 x13187 x13188 x13189 x131810 x131811 x131812 x131813 x131814 x131815 x131816 x131817 x131818 x131819 x131820 x131821 x131822 x131823 x131824 x131825 x131826 x131827 x131828 x131829 ') INSERT INTO rt (id, gid, title) VALUES (1319, 11, 'x13190 x13191 x13192 x13193 x13194 x13195 x13196 x13197 x13198 x13199 x131910 x131911 x131912 x131913 x131914 x131915 x131916 x131917 x131918 x131919 x131920 x131921 x131922 x131923 x131924 x131925 x131926 x131927 x131928 x131929 ') INSERT INTO rt (id, gid, title) VALUES (1320, 11, 'x13200 x13201 x13202 x13203 x13204 x13205 x13206 x13207 x13208 x13209 x132010 x132011 x132012 x132013 x132014 x132015 x132016 x132017 x132018 x132019 x132020 x132021 x132022 x132023 x132024 x132025 x132026 x132027 x132028 x132029 ') INSERT INTO rt (id, gid, title) VALUES (1321, 11, 'x13210 x13211 x13212 x13213 x13214 x13215 x13216 x13217 x13218 x13219 x132110 x132111 x132112 x132113 x132114 x132115 x132116 x132117 x132118 x132119 x132120 x132121 x132122 x132123 x132124 x132125 x132126 x132127 x132128 x132129 ') INSERT INTO rt (id, gid, title) VALUES (1322, 11, 'x13220 x13221 x13222 x13223 x13224 x13225 x13226 x13227 x13228 x13229 x132210 x132211 x132212 x132213 x132214 x132215 x132216 x132217 x132218 x132219 x132220 x132221 x132222 x132223 x132224 x132225 x132226 x132227 x132228 x132229 ') INSERT INTO rt (id, gid, title) VALUES (1323, 11, 'x13230 x13231 x13232 x13233 x13234 x13235 x13236 x13237 x13238 x13239 x132310 x132311 x132312 x132313 x132314 x132315 x132316 x132317 x132318 x132319 x132320 x132321 x132322 x132323 x132324 x132325 x132326 x132327 x132328 x132329 ') INSERT INTO rt (id, gid, title) VALUES (1324, 11, 'x13240 x13241 x13242 x13243 x13244 x13245 x13246 x13247 x13248 x13249 x132410 x132411 x132412 x132413 x132414 x132415 x132416 x132417 x132418 x132419 x132420 x132421 x132422 x132423 x132424 x132425 x132426 x132427 x132428 x132429 ') INSERT INTO rt (id, gid, title) VALUES (1325, 11, 'x13250 x13251 x13252 x13253 x13254 x13255 x13256 x13257 x13258 x13259 x132510 x132511 x132512 x132513 x132514 x132515 x132516 x132517 x132518 x132519 x132520 x132521 x132522 x132523 x132524 x132525 x132526 x132527 x132528 x132529 ') INSERT INTO rt (id, gid, title) VALUES (1326, 11, 'x13260 x13261 x13262 x13263 x13264 x13265 x13266 x13267 x13268 x13269 x132610 x132611 x132612 x132613 x132614 x132615 x132616 x132617 x132618 x132619 x132620 x132621 x132622 x132623 x132624 x132625 x132626 x132627 x132628 x132629 ') INSERT INTO rt (id, gid, title) VALUES (1327, 11, 'x13270 x13271 x13272 x13273 x13274 x13275 x13276 x13277 x13278 x13279 x132710 x132711 x132712 x132713 x132714 x132715 x132716 x132717 x132718 x132719 x132720 x132721 x132722 x132723 x132724 x132725 x132726 x132727 x132728 x132729 ') INSERT INTO rt (id, gid, title) VALUES (1328, 11, 'x13280 x13281 x13282 x13283 x13284 x13285 x13286 x13287 x13288 x13289 x132810 x132811 x132812 x132813 x132814 x132815 x132816 x132817 x132818 x132819 x132820 x132821 x132822 x132823 x132824 x132825 x132826 x132827 x132828 x132829 ') INSERT INTO rt (id, gid, title) VALUES (1329, 11, 'x13290 x13291 x13292 x13293 x13294 x13295 x13296 x13297 x13298 x13299 x132910 x132911 x132912 x132913 x132914 x132915 x132916 x132917 x132918 x132919 x132920 x132921 x132922 x132923 x132924 x132925 x132926 x132927 x132928 x132929 ') INSERT INTO rt (id, gid, title) VALUES (1330, 11, 'x13300 x13301 x13302 x13303 x13304 x13305 x13306 x13307 x13308 x13309 x133010 x133011 x133012 x133013 x133014 x133015 x133016 x133017 x133018 x133019 x133020 x133021 x133022 x133023 x133024 x133025 x133026 x133027 x133028 x133029 ') INSERT INTO rt (id, gid, title) VALUES (1331, 11, 'x13310 x13311 x13312 x13313 x13314 x13315 x13316 x13317 x13318 x13319 x133110 x133111 x133112 x133113 x133114 x133115 x133116 x133117 x133118 x133119 x133120 x133121 x133122 x133123 x133124 x133125 x133126 x133127 x133128 x133129 ') INSERT INTO rt (id, gid, title) VALUES (1332, 11, 'x13320 x13321 x13322 x13323 x13324 x13325 x13326 x13327 x13328 x13329 x133210 x133211 x133212 x133213 x133214 x133215 x133216 x133217 x133218 x133219 x133220 x133221 x133222 x133223 x133224 x133225 x133226 x133227 x133228 x133229 ') INSERT INTO rt (id, gid, title) VALUES (1333, 11, 'x13330 x13331 x13332 x13333 x13334 x13335 x13336 x13337 x13338 x13339 x133310 x133311 x133312 x133313 x133314 x133315 x133316 x133317 x133318 x133319 x133320 x133321 x133322 x133323 x133324 x133325 x133326 x133327 x133328 x133329 ') INSERT INTO rt (id, gid, title) VALUES (1334, 11, 'x13340 x13341 x13342 x13343 x13344 x13345 x13346 x13347 x13348 x13349 x133410 x133411 x133412 x133413 x133414 x133415 x133416 x133417 x133418 x133419 x133420 x133421 x133422 x133423 x133424 x133425 x133426 x133427 x133428 x133429 ') INSERT INTO rt (id, gid, title) VALUES (1335, 11, 'x13350 x13351 x13352 x13353 x13354 x13355 x13356 x13357 x13358 x13359 x133510 x133511 x133512 x133513 x133514 x133515 x133516 x133517 x133518 x133519 x133520 x133521 x133522 x133523 x133524 x133525 x133526 x133527 x133528 x133529 ') INSERT INTO rt (id, gid, title) VALUES (1336, 11, 'x13360 x13361 x13362 x13363 x13364 x13365 x13366 x13367 x13368 x13369 x133610 x133611 x133612 x133613 x133614 x133615 x133616 x133617 x133618 x133619 x133620 x133621 x133622 x133623 x133624 x133625 x133626 x133627 x133628 x133629 ') INSERT INTO rt (id, gid, title) VALUES (1337, 11, 'x13370 x13371 x13372 x13373 x13374 x13375 x13376 x13377 x13378 x13379 x133710 x133711 x133712 x133713 x133714 x133715 x133716 x133717 x133718 x133719 x133720 x133721 x133722 x133723 x133724 x133725 x133726 x133727 x133728 x133729 ') INSERT INTO rt (id, gid, title) VALUES (1338, 11, 'x13380 x13381 x13382 x13383 x13384 x13385 x13386 x13387 x13388 x13389 x133810 x133811 x133812 x133813 x133814 x133815 x133816 x133817 x133818 x133819 x133820 x133821 x133822 x133823 x133824 x133825 x133826 x133827 x133828 x133829 ') INSERT INTO rt (id, gid, title) VALUES (1339, 11, 'x13390 x13391 x13392 x13393 x13394 x13395 x13396 x13397 x13398 x13399 x133910 x133911 x133912 x133913 x133914 x133915 x133916 x133917 x133918 x133919 x133920 x133921 x133922 x133923 x133924 x133925 x133926 x133927 x133928 x133929 ') INSERT INTO rt (id, gid, title) VALUES (1340, 11, 'x13400 x13401 x13402 x13403 x13404 x13405 x13406 x13407 x13408 x13409 x134010 x134011 x134012 x134013 x134014 x134015 x134016 x134017 x134018 x134019 x134020 x134021 x134022 x134023 x134024 x134025 x134026 x134027 x134028 x134029 ') INSERT INTO rt (id, gid, title) VALUES (1341, 11, 'x13410 x13411 x13412 x13413 x13414 x13415 x13416 x13417 x13418 x13419 x134110 x134111 x134112 x134113 x134114 x134115 x134116 x134117 x134118 x134119 x134120 x134121 x134122 x134123 x134124 x134125 x134126 x134127 x134128 x134129 ') INSERT INTO rt (id, gid, title) VALUES (1342, 11, 'x13420 x13421 x13422 x13423 x13424 x13425 x13426 x13427 x13428 x13429 x134210 x134211 x134212 x134213 x134214 x134215 x134216 x134217 x134218 x134219 x134220 x134221 x134222 x134223 x134224 x134225 x134226 x134227 x134228 x134229 ') INSERT INTO rt (id, gid, title) VALUES (1343, 11, 'x13430 x13431 x13432 x13433 x13434 x13435 x13436 x13437 x13438 x13439 x134310 x134311 x134312 x134313 x134314 x134315 x134316 x134317 x134318 x134319 x134320 x134321 x134322 x134323 x134324 x134325 x134326 x134327 x134328 x134329 ') INSERT INTO rt (id, gid, title) VALUES (1344, 11, 'x13440 x13441 x13442 x13443 x13444 x13445 x13446 x13447 x13448 x13449 x134410 x134411 x134412 x134413 x134414 x134415 x134416 x134417 x134418 x134419 x134420 x134421 x134422 x134423 x134424 x134425 x134426 x134427 x134428 x134429 ') INSERT INTO rt (id, gid, title) VALUES (1345, 11, 'x13450 x13451 x13452 x13453 x13454 x13455 x13456 x13457 x13458 x13459 x134510 x134511 x134512 x134513 x134514 x134515 x134516 x134517 x134518 x134519 x134520 x134521 x134522 x134523 x134524 x134525 x134526 x134527 x134528 x134529 ') INSERT INTO rt (id, gid, title) VALUES (1346, 11, 'x13460 x13461 x13462 x13463 x13464 x13465 x13466 x13467 x13468 x13469 x134610 x134611 x134612 x134613 x134614 x134615 x134616 x134617 x134618 x134619 x134620 x134621 x134622 x134623 x134624 x134625 x134626 x134627 x134628 x134629 ') INSERT INTO rt (id, gid, title) VALUES (1347, 11, 'x13470 x13471 x13472 x13473 x13474 x13475 x13476 x13477 x13478 x13479 x134710 x134711 x134712 x134713 x134714 x134715 x134716 x134717 x134718 x134719 x134720 x134721 x134722 x134723 x134724 x134725 x134726 x134727 x134728 x134729 ') INSERT INTO rt (id, gid, title) VALUES (1348, 11, 'x13480 x13481 x13482 x13483 x13484 x13485 x13486 x13487 x13488 x13489 x134810 x134811 x134812 x134813 x134814 x134815 x134816 x134817 x134818 x134819 x134820 x134821 x134822 x134823 x134824 x134825 x134826 x134827 x134828 x134829 ') INSERT INTO rt (id, gid, title) VALUES (1349, 11, 'x13490 x13491 x13492 x13493 x13494 x13495 x13496 x13497 x13498 x13499 x134910 x134911 x134912 x134913 x134914 x134915 x134916 x134917 x134918 x134919 x134920 x134921 x134922 x134923 x134924 x134925 x134926 x134927 x134928 x134929 ') INSERT INTO rt (id, gid, title) VALUES (1350, 11, 'x13500 x13501 x13502 x13503 x13504 x13505 x13506 x13507 x13508 x13509 x135010 x135011 x135012 x135013 x135014 x135015 x135016 x135017 x135018 x135019 x135020 x135021 x135022 x135023 x135024 x135025 x135026 x135027 x135028 x135029 ') INSERT INTO rt (id, gid, title) VALUES (1351, 11, 'x13510 x13511 x13512 x13513 x13514 x13515 x13516 x13517 x13518 x13519 x135110 x135111 x135112 x135113 x135114 x135115 x135116 x135117 x135118 x135119 x135120 x135121 x135122 x135123 x135124 x135125 x135126 x135127 x135128 x135129 ') INSERT INTO rt (id, gid, title) VALUES (1352, 11, 'x13520 x13521 x13522 x13523 x13524 x13525 x13526 x13527 x13528 x13529 x135210 x135211 x135212 x135213 x135214 x135215 x135216 x135217 x135218 x135219 x135220 x135221 x135222 x135223 x135224 x135225 x135226 x135227 x135228 x135229 ') INSERT INTO rt (id, gid, title) VALUES (1353, 11, 'x13530 x13531 x13532 x13533 x13534 x13535 x13536 x13537 x13538 x13539 x135310 x135311 x135312 x135313 x135314 x135315 x135316 x135317 x135318 x135319 x135320 x135321 x135322 x135323 x135324 x135325 x135326 x135327 x135328 x135329 ') INSERT INTO rt (id, gid, title) VALUES (1354, 11, 'x13540 x13541 x13542 x13543 x13544 x13545 x13546 x13547 x13548 x13549 x135410 x135411 x135412 x135413 x135414 x135415 x135416 x135417 x135418 x135419 x135420 x135421 x135422 x135423 x135424 x135425 x135426 x135427 x135428 x135429 ') INSERT INTO rt (id, gid, title) VALUES (1355, 11, 'x13550 x13551 x13552 x13553 x13554 x13555 x13556 x13557 x13558 x13559 x135510 x135511 x135512 x135513 x135514 x135515 x135516 x135517 x135518 x135519 x135520 x135521 x135522 x135523 x135524 x135525 x135526 x135527 x135528 x135529 ') INSERT INTO rt (id, gid, title) VALUES (1356, 11, 'x13560 x13561 x13562 x13563 x13564 x13565 x13566 x13567 x13568 x13569 x135610 x135611 x135612 x135613 x135614 x135615 x135616 x135617 x135618 x135619 x135620 x135621 x135622 x135623 x135624 x135625 x135626 x135627 x135628 x135629 ') INSERT INTO rt (id, gid, title) VALUES (1357, 11, 'x13570 x13571 x13572 x13573 x13574 x13575 x13576 x13577 x13578 x13579 x135710 x135711 x135712 x135713 x135714 x135715 x135716 x135717 x135718 x135719 x135720 x135721 x135722 x135723 x135724 x135725 x135726 x135727 x135728 x135729 ') INSERT INTO rt (id, gid, title) VALUES (1358, 11, 'x13580 x13581 x13582 x13583 x13584 x13585 x13586 x13587 x13588 x13589 x135810 x135811 x135812 x135813 x135814 x135815 x135816 x135817 x135818 x135819 x135820 x135821 x135822 x135823 x135824 x135825 x135826 x135827 x135828 x135829 ') INSERT INTO rt (id, gid, title) VALUES (1359, 11, 'x13590 x13591 x13592 x13593 x13594 x13595 x13596 x13597 x13598 x13599 x135910 x135911 x135912 x135913 x135914 x135915 x135916 x135917 x135918 x135919 x135920 x135921 x135922 x135923 x135924 x135925 x135926 x135927 x135928 x135929 ') INSERT INTO rt (id, gid, title) VALUES (1360, 11, 'x13600 x13601 x13602 x13603 x13604 x13605 x13606 x13607 x13608 x13609 x136010 x136011 x136012 x136013 x136014 x136015 x136016 x136017 x136018 x136019 x136020 x136021 x136022 x136023 x136024 x136025 x136026 x136027 x136028 x136029 ') INSERT INTO rt (id, gid, title) VALUES (1361, 11, 'x13610 x13611 x13612 x13613 x13614 x13615 x13616 x13617 x13618 x13619 x136110 x136111 x136112 x136113 x136114 x136115 x136116 x136117 x136118 x136119 x136120 x136121 x136122 x136123 x136124 x136125 x136126 x136127 x136128 x136129 ') INSERT INTO rt (id, gid, title) VALUES (1362, 11, 'x13620 x13621 x13622 x13623 x13624 x13625 x13626 x13627 x13628 x13629 x136210 x136211 x136212 x136213 x136214 x136215 x136216 x136217 x136218 x136219 x136220 x136221 x136222 x136223 x136224 x136225 x136226 x136227 x136228 x136229 ') INSERT INTO rt (id, gid, title) VALUES (1363, 11, 'x13630 x13631 x13632 x13633 x13634 x13635 x13636 x13637 x13638 x13639 x136310 x136311 x136312 x136313 x136314 x136315 x136316 x136317 x136318 x136319 x136320 x136321 x136322 x136323 x136324 x136325 x136326 x136327 x136328 x136329 ') INSERT INTO rt (id, gid, title) VALUES (1364, 11, 'x13640 x13641 x13642 x13643 x13644 x13645 x13646 x13647 x13648 x13649 x136410 x136411 x136412 x136413 x136414 x136415 x136416 x136417 x136418 x136419 x136420 x136421 x136422 x136423 x136424 x136425 x136426 x136427 x136428 x136429 ') INSERT INTO rt (id, gid, title) VALUES (1365, 11, 'x13650 x13651 x13652 x13653 x13654 x13655 x13656 x13657 x13658 x13659 x136510 x136511 x136512 x136513 x136514 x136515 x136516 x136517 x136518 x136519 x136520 x136521 x136522 x136523 x136524 x136525 x136526 x136527 x136528 x136529 ') INSERT INTO rt (id, gid, title) VALUES (1366, 11, 'x13660 x13661 x13662 x13663 x13664 x13665 x13666 x13667 x13668 x13669 x136610 x136611 x136612 x136613 x136614 x136615 x136616 x136617 x136618 x136619 x136620 x136621 x136622 x136623 x136624 x136625 x136626 x136627 x136628 x136629 ') INSERT INTO rt (id, gid, title) VALUES (1367, 11, 'x13670 x13671 x13672 x13673 x13674 x13675 x13676 x13677 x13678 x13679 x136710 x136711 x136712 x136713 x136714 x136715 x136716 x136717 x136718 x136719 x136720 x136721 x136722 x136723 x136724 x136725 x136726 x136727 x136728 x136729 ') INSERT INTO rt (id, gid, title) VALUES (1368, 11, 'x13680 x13681 x13682 x13683 x13684 x13685 x13686 x13687 x13688 x13689 x136810 x136811 x136812 x136813 x136814 x136815 x136816 x136817 x136818 x136819 x136820 x136821 x136822 x136823 x136824 x136825 x136826 x136827 x136828 x136829 ') INSERT INTO rt (id, gid, title) VALUES (1369, 11, 'x13690 x13691 x13692 x13693 x13694 x13695 x13696 x13697 x13698 x13699 x136910 x136911 x136912 x136913 x136914 x136915 x136916 x136917 x136918 x136919 x136920 x136921 x136922 x136923 x136924 x136925 x136926 x136927 x136928 x136929 ') INSERT INTO rt (id, gid, title) VALUES (1370, 11, 'x13700 x13701 x13702 x13703 x13704 x13705 x13706 x13707 x13708 x13709 x137010 x137011 x137012 x137013 x137014 x137015 x137016 x137017 x137018 x137019 x137020 x137021 x137022 x137023 x137024 x137025 x137026 x137027 x137028 x137029 ') INSERT INTO rt (id, gid, title) VALUES (1371, 11, 'x13710 x13711 x13712 x13713 x13714 x13715 x13716 x13717 x13718 x13719 x137110 x137111 x137112 x137113 x137114 x137115 x137116 x137117 x137118 x137119 x137120 x137121 x137122 x137123 x137124 x137125 x137126 x137127 x137128 x137129 ') INSERT INTO rt (id, gid, title) VALUES (1372, 11, 'x13720 x13721 x13722 x13723 x13724 x13725 x13726 x13727 x13728 x13729 x137210 x137211 x137212 x137213 x137214 x137215 x137216 x137217 x137218 x137219 x137220 x137221 x137222 x137223 x137224 x137225 x137226 x137227 x137228 x137229 ') INSERT INTO rt (id, gid, title) VALUES (1373, 11, 'x13730 x13731 x13732 x13733 x13734 x13735 x13736 x13737 x13738 x13739 x137310 x137311 x137312 x137313 x137314 x137315 x137316 x137317 x137318 x137319 x137320 x137321 x137322 x137323 x137324 x137325 x137326 x137327 x137328 x137329 ') INSERT INTO rt (id, gid, title) VALUES (1374, 11, 'x13740 x13741 x13742 x13743 x13744 x13745 x13746 x13747 x13748 x13749 x137410 x137411 x137412 x137413 x137414 x137415 x137416 x137417 x137418 x137419 x137420 x137421 x137422 x137423 x137424 x137425 x137426 x137427 x137428 x137429 ') INSERT INTO rt (id, gid, title) VALUES (1375, 11, 'x13750 x13751 x13752 x13753 x13754 x13755 x13756 x13757 x13758 x13759 x137510 x137511 x137512 x137513 x137514 x137515 x137516 x137517 x137518 x137519 x137520 x137521 x137522 x137523 x137524 x137525 x137526 x137527 x137528 x137529 ') INSERT INTO rt (id, gid, title) VALUES (1376, 11, 'x13760 x13761 x13762 x13763 x13764 x13765 x13766 x13767 x13768 x13769 x137610 x137611 x137612 x137613 x137614 x137615 x137616 x137617 x137618 x137619 x137620 x137621 x137622 x137623 x137624 x137625 x137626 x137627 x137628 x137629 ') INSERT INTO rt (id, gid, title) VALUES (1377, 11, 'x13770 x13771 x13772 x13773 x13774 x13775 x13776 x13777 x13778 x13779 x137710 x137711 x137712 x137713 x137714 x137715 x137716 x137717 x137718 x137719 x137720 x137721 x137722 x137723 x137724 x137725 x137726 x137727 x137728 x137729 ') INSERT INTO rt (id, gid, title) VALUES (1378, 11, 'x13780 x13781 x13782 x13783 x13784 x13785 x13786 x13787 x13788 x13789 x137810 x137811 x137812 x137813 x137814 x137815 x137816 x137817 x137818 x137819 x137820 x137821 x137822 x137823 x137824 x137825 x137826 x137827 x137828 x137829 ') INSERT INTO rt (id, gid, title) VALUES (1379, 11, 'x13790 x13791 x13792 x13793 x13794 x13795 x13796 x13797 x13798 x13799 x137910 x137911 x137912 x137913 x137914 x137915 x137916 x137917 x137918 x137919 x137920 x137921 x137922 x137923 x137924 x137925 x137926 x137927 x137928 x137929 ') INSERT INTO rt (id, gid, title) VALUES (1380, 11, 'x13800 x13801 x13802 x13803 x13804 x13805 x13806 x13807 x13808 x13809 x138010 x138011 x138012 x138013 x138014 x138015 x138016 x138017 x138018 x138019 x138020 x138021 x138022 x138023 x138024 x138025 x138026 x138027 x138028 x138029 ') INSERT INTO rt (id, gid, title) VALUES (1381, 11, 'x13810 x13811 x13812 x13813 x13814 x13815 x13816 x13817 x13818 x13819 x138110 x138111 x138112 x138113 x138114 x138115 x138116 x138117 x138118 x138119 x138120 x138121 x138122 x138123 x138124 x138125 x138126 x138127 x138128 x138129 ') INSERT INTO rt (id, gid, title) VALUES (1382, 11, 'x13820 x13821 x13822 x13823 x13824 x13825 x13826 x13827 x13828 x13829 x138210 x138211 x138212 x138213 x138214 x138215 x138216 x138217 x138218 x138219 x138220 x138221 x138222 x138223 x138224 x138225 x138226 x138227 x138228 x138229 ') INSERT INTO rt (id, gid, title) VALUES (1383, 11, 'x13830 x13831 x13832 x13833 x13834 x13835 x13836 x13837 x13838 x13839 x138310 x138311 x138312 x138313 x138314 x138315 x138316 x138317 x138318 x138319 x138320 x138321 x138322 x138323 x138324 x138325 x138326 x138327 x138328 x138329 ') INSERT INTO rt (id, gid, title) VALUES (1384, 11, 'x13840 x13841 x13842 x13843 x13844 x13845 x13846 x13847 x13848 x13849 x138410 x138411 x138412 x138413 x138414 x138415 x138416 x138417 x138418 x138419 x138420 x138421 x138422 x138423 x138424 x138425 x138426 x138427 x138428 x138429 ') INSERT INTO rt (id, gid, title) VALUES (1385, 11, 'x13850 x13851 x13852 x13853 x13854 x13855 x13856 x13857 x13858 x13859 x138510 x138511 x138512 x138513 x138514 x138515 x138516 x138517 x138518 x138519 x138520 x138521 x138522 x138523 x138524 x138525 x138526 x138527 x138528 x138529 ') INSERT INTO rt (id, gid, title) VALUES (1386, 11, 'x13860 x13861 x13862 x13863 x13864 x13865 x13866 x13867 x13868 x13869 x138610 x138611 x138612 x138613 x138614 x138615 x138616 x138617 x138618 x138619 x138620 x138621 x138622 x138623 x138624 x138625 x138626 x138627 x138628 x138629 ') INSERT INTO rt (id, gid, title) VALUES (1387, 11, 'x13870 x13871 x13872 x13873 x13874 x13875 x13876 x13877 x13878 x13879 x138710 x138711 x138712 x138713 x138714 x138715 x138716 x138717 x138718 x138719 x138720 x138721 x138722 x138723 x138724 x138725 x138726 x138727 x138728 x138729 ') INSERT INTO rt (id, gid, title) VALUES (1388, 11, 'x13880 x13881 x13882 x13883 x13884 x13885 x13886 x13887 x13888 x13889 x138810 x138811 x138812 x138813 x138814 x138815 x138816 x138817 x138818 x138819 x138820 x138821 x138822 x138823 x138824 x138825 x138826 x138827 x138828 x138829 ') INSERT INTO rt (id, gid, title) VALUES (1389, 11, 'x13890 x13891 x13892 x13893 x13894 x13895 x13896 x13897 x13898 x13899 x138910 x138911 x138912 x138913 x138914 x138915 x138916 x138917 x138918 x138919 x138920 x138921 x138922 x138923 x138924 x138925 x138926 x138927 x138928 x138929 ') INSERT INTO rt (id, gid, title) VALUES (1390, 11, 'x13900 x13901 x13902 x13903 x13904 x13905 x13906 x13907 x13908 x13909 x139010 x139011 x139012 x139013 x139014 x139015 x139016 x139017 x139018 x139019 x139020 x139021 x139022 x139023 x139024 x139025 x139026 x139027 x139028 x139029 ') INSERT INTO rt (id, gid, title) VALUES (1391, 11, 'x13910 x13911 x13912 x13913 x13914 x13915 x13916 x13917 x13918 x13919 x139110 x139111 x139112 x139113 x139114 x139115 x139116 x139117 x139118 x139119 x139120 x139121 x139122 x139123 x139124 x139125 x139126 x139127 x139128 x139129 ') INSERT INTO rt (id, gid, title) VALUES (1392, 11, 'x13920 x13921 x13922 x13923 x13924 x13925 x13926 x13927 x13928 x13929 x139210 x139211 x139212 x139213 x139214 x139215 x139216 x139217 x139218 x139219 x139220 x139221 x139222 x139223 x139224 x139225 x139226 x139227 x139228 x139229 ') INSERT INTO rt (id, gid, title) VALUES (1393, 11, 'x13930 x13931 x13932 x13933 x13934 x13935 x13936 x13937 x13938 x13939 x139310 x139311 x139312 x139313 x139314 x139315 x139316 x139317 x139318 x139319 x139320 x139321 x139322 x139323 x139324 x139325 x139326 x139327 x139328 x139329 ') INSERT INTO rt (id, gid, title) VALUES (1394, 11, 'x13940 x13941 x13942 x13943 x13944 x13945 x13946 x13947 x13948 x13949 x139410 x139411 x139412 x139413 x139414 x139415 x139416 x139417 x139418 x139419 x139420 x139421 x139422 x139423 x139424 x139425 x139426 x139427 x139428 x139429 ') INSERT INTO rt (id, gid, title) VALUES (1395, 11, 'x13950 x13951 x13952 x13953 x13954 x13955 x13956 x13957 x13958 x13959 x139510 x139511 x139512 x139513 x139514 x139515 x139516 x139517 x139518 x139519 x139520 x139521 x139522 x139523 x139524 x139525 x139526 x139527 x139528 x139529 ') INSERT INTO rt (id, gid, title) VALUES (1396, 11, 'x13960 x13961 x13962 x13963 x13964 x13965 x13966 x13967 x13968 x13969 x139610 x139611 x139612 x139613 x139614 x139615 x139616 x139617 x139618 x139619 x139620 x139621 x139622 x139623 x139624 x139625 x139626 x139627 x139628 x139629 ') INSERT INTO rt (id, gid, title) VALUES (1397, 11, 'x13970 x13971 x13972 x13973 x13974 x13975 x13976 x13977 x13978 x13979 x139710 x139711 x139712 x139713 x139714 x139715 x139716 x139717 x139718 x139719 x139720 x139721 x139722 x139723 x139724 x139725 x139726 x139727 x139728 x139729 ') INSERT INTO rt (id, gid, title) VALUES (1398, 11, 'x13980 x13981 x13982 x13983 x13984 x13985 x13986 x13987 x13988 x13989 x139810 x139811 x139812 x139813 x139814 x139815 x139816 x139817 x139818 x139819 x139820 x139821 x139822 x139823 x139824 x139825 x139826 x139827 x139828 x139829 ') INSERT INTO rt (id, gid, title) VALUES (1399, 11, 'x13990 x13991 x13992 x13993 x13994 x13995 x13996 x13997 x13998 x13999 x139910 x139911 x139912 x139913 x139914 x139915 x139916 x139917 x139918 x139919 x139920 x139921 x139922 x139923 x139924 x139925 x139926 x139927 x139928 x139929 ') INSERT INTO rt (id, gid, title) VALUES (1400, 11, 'x14000 x14001 x14002 x14003 x14004 x14005 x14006 x14007 x14008 x14009 x140010 x140011 x140012 x140013 x140014 x140015 x140016 x140017 x140018 x140019 x140020 x140021 x140022 x140023 x140024 x140025 x140026 x140027 x140028 x140029 ') INSERT INTO rt (id, gid, title) VALUES (1401, 11, 'x14010 x14011 x14012 x14013 x14014 x14015 x14016 x14017 x14018 x14019 x140110 x140111 x140112 x140113 x140114 x140115 x140116 x140117 x140118 x140119 x140120 x140121 x140122 x140123 x140124 x140125 x140126 x140127 x140128 x140129 ') INSERT INTO rt (id, gid, title) VALUES (1402, 11, 'x14020 x14021 x14022 x14023 x14024 x14025 x14026 x14027 x14028 x14029 x140210 x140211 x140212 x140213 x140214 x140215 x140216 x140217 x140218 x140219 x140220 x140221 x140222 x140223 x140224 x140225 x140226 x140227 x140228 x140229 ') INSERT INTO rt (id, gid, title) VALUES (1403, 11, 'x14030 x14031 x14032 x14033 x14034 x14035 x14036 x14037 x14038 x14039 x140310 x140311 x140312 x140313 x140314 x140315 x140316 x140317 x140318 x140319 x140320 x140321 x140322 x140323 x140324 x140325 x140326 x140327 x140328 x140329 ') INSERT INTO rt (id, gid, title) VALUES (1404, 11, 'x14040 x14041 x14042 x14043 x14044 x14045 x14046 x14047 x14048 x14049 x140410 x140411 x140412 x140413 x140414 x140415 x140416 x140417 x140418 x140419 x140420 x140421 x140422 x140423 x140424 x140425 x140426 x140427 x140428 x140429 ') INSERT INTO rt (id, gid, title) VALUES (1405, 11, 'x14050 x14051 x14052 x14053 x14054 x14055 x14056 x14057 x14058 x14059 x140510 x140511 x140512 x140513 x140514 x140515 x140516 x140517 x140518 x140519 x140520 x140521 x140522 x140523 x140524 x140525 x140526 x140527 x140528 x140529 ') INSERT INTO rt (id, gid, title) VALUES (1406, 11, 'x14060 x14061 x14062 x14063 x14064 x14065 x14066 x14067 x14068 x14069 x140610 x140611 x140612 x140613 x140614 x140615 x140616 x140617 x140618 x140619 x140620 x140621 x140622 x140623 x140624 x140625 x140626 x140627 x140628 x140629 ') INSERT INTO rt (id, gid, title) VALUES (1407, 11, 'x14070 x14071 x14072 x14073 x14074 x14075 x14076 x14077 x14078 x14079 x140710 x140711 x140712 x140713 x140714 x140715 x140716 x140717 x140718 x140719 x140720 x140721 x140722 x140723 x140724 x140725 x140726 x140727 x140728 x140729 ') INSERT INTO rt (id, gid, title) VALUES (1408, 11, 'x14080 x14081 x14082 x14083 x14084 x14085 x14086 x14087 x14088 x14089 x140810 x140811 x140812 x140813 x140814 x140815 x140816 x140817 x140818 x140819 x140820 x140821 x140822 x140823 x140824 x140825 x140826 x140827 x140828 x140829 ') INSERT INTO rt (id, gid, title) VALUES (1409, 11, 'x14090 x14091 x14092 x14093 x14094 x14095 x14096 x14097 x14098 x14099 x140910 x140911 x140912 x140913 x140914 x140915 x140916 x140917 x140918 x140919 x140920 x140921 x140922 x140923 x140924 x140925 x140926 x140927 x140928 x140929 ') INSERT INTO rt (id, gid, title) VALUES (1410, 11, 'x14100 x14101 x14102 x14103 x14104 x14105 x14106 x14107 x14108 x14109 x141010 x141011 x141012 x141013 x141014 x141015 x141016 x141017 x141018 x141019 x141020 x141021 x141022 x141023 x141024 x141025 x141026 x141027 x141028 x141029 ') INSERT INTO rt (id, gid, title) VALUES (1411, 11, 'x14110 x14111 x14112 x14113 x14114 x14115 x14116 x14117 x14118 x14119 x141110 x141111 x141112 x141113 x141114 x141115 x141116 x141117 x141118 x141119 x141120 x141121 x141122 x141123 x141124 x141125 x141126 x141127 x141128 x141129 ') INSERT INTO rt (id, gid, title) VALUES (1412, 11, 'x14120 x14121 x14122 x14123 x14124 x14125 x14126 x14127 x14128 x14129 x141210 x141211 x141212 x141213 x141214 x141215 x141216 x141217 x141218 x141219 x141220 x141221 x141222 x141223 x141224 x141225 x141226 x141227 x141228 x141229 ') INSERT INTO rt (id, gid, title) VALUES (1413, 11, 'x14130 x14131 x14132 x14133 x14134 x14135 x14136 x14137 x14138 x14139 x141310 x141311 x141312 x141313 x141314 x141315 x141316 x141317 x141318 x141319 x141320 x141321 x141322 x141323 x141324 x141325 x141326 x141327 x141328 x141329 ') INSERT INTO rt (id, gid, title) VALUES (1414, 11, 'x14140 x14141 x14142 x14143 x14144 x14145 x14146 x14147 x14148 x14149 x141410 x141411 x141412 x141413 x141414 x141415 x141416 x141417 x141418 x141419 x141420 x141421 x141422 x141423 x141424 x141425 x141426 x141427 x141428 x141429 ') INSERT INTO rt (id, gid, title) VALUES (1415, 11, 'x14150 x14151 x14152 x14153 x14154 x14155 x14156 x14157 x14158 x14159 x141510 x141511 x141512 x141513 x141514 x141515 x141516 x141517 x141518 x141519 x141520 x141521 x141522 x141523 x141524 x141525 x141526 x141527 x141528 x141529 ') INSERT INTO rt (id, gid, title) VALUES (1416, 11, 'x14160 x14161 x14162 x14163 x14164 x14165 x14166 x14167 x14168 x14169 x141610 x141611 x141612 x141613 x141614 x141615 x141616 x141617 x141618 x141619 x141620 x141621 x141622 x141623 x141624 x141625 x141626 x141627 x141628 x141629 ') INSERT INTO rt (id, gid, title) VALUES (1417, 11, 'x14170 x14171 x14172 x14173 x14174 x14175 x14176 x14177 x14178 x14179 x141710 x141711 x141712 x141713 x141714 x141715 x141716 x141717 x141718 x141719 x141720 x141721 x141722 x141723 x141724 x141725 x141726 x141727 x141728 x141729 ') INSERT INTO rt (id, gid, title) VALUES (1418, 11, 'x14180 x14181 x14182 x14183 x14184 x14185 x14186 x14187 x14188 x14189 x141810 x141811 x141812 x141813 x141814 x141815 x141816 x141817 x141818 x141819 x141820 x141821 x141822 x141823 x141824 x141825 x141826 x141827 x141828 x141829 ') INSERT INTO rt (id, gid, title) VALUES (1419, 11, 'x14190 x14191 x14192 x14193 x14194 x14195 x14196 x14197 x14198 x14199 x141910 x141911 x141912 x141913 x141914 x141915 x141916 x141917 x141918 x141919 x141920 x141921 x141922 x141923 x141924 x141925 x141926 x141927 x141928 x141929 ') INSERT INTO rt (id, gid, title) VALUES (1420, 11, 'x14200 x14201 x14202 x14203 x14204 x14205 x14206 x14207 x14208 x14209 x142010 x142011 x142012 x142013 x142014 x142015 x142016 x142017 x142018 x142019 x142020 x142021 x142022 x142023 x142024 x142025 x142026 x142027 x142028 x142029 ') INSERT INTO rt (id, gid, title) VALUES (1421, 11, 'x14210 x14211 x14212 x14213 x14214 x14215 x14216 x14217 x14218 x14219 x142110 x142111 x142112 x142113 x142114 x142115 x142116 x142117 x142118 x142119 x142120 x142121 x142122 x142123 x142124 x142125 x142126 x142127 x142128 x142129 ') INSERT INTO rt (id, gid, title) VALUES (1422, 11, 'x14220 x14221 x14222 x14223 x14224 x14225 x14226 x14227 x14228 x14229 x142210 x142211 x142212 x142213 x142214 x142215 x142216 x142217 x142218 x142219 x142220 x142221 x142222 x142223 x142224 x142225 x142226 x142227 x142228 x142229 ') INSERT INTO rt (id, gid, title) VALUES (1423, 11, 'x14230 x14231 x14232 x14233 x14234 x14235 x14236 x14237 x14238 x14239 x142310 x142311 x142312 x142313 x142314 x142315 x142316 x142317 x142318 x142319 x142320 x142321 x142322 x142323 x142324 x142325 x142326 x142327 x142328 x142329 ') INSERT INTO rt (id, gid, title) VALUES (1424, 11, 'x14240 x14241 x14242 x14243 x14244 x14245 x14246 x14247 x14248 x14249 x142410 x142411 x142412 x142413 x142414 x142415 x142416 x142417 x142418 x142419 x142420 x142421 x142422 x142423 x142424 x142425 x142426 x142427 x142428 x142429 ') INSERT INTO rt (id, gid, title) VALUES (1425, 11, 'x14250 x14251 x14252 x14253 x14254 x14255 x14256 x14257 x14258 x14259 x142510 x142511 x142512 x142513 x142514 x142515 x142516 x142517 x142518 x142519 x142520 x142521 x142522 x142523 x142524 x142525 x142526 x142527 x142528 x142529 ') INSERT INTO rt (id, gid, title) VALUES (1426, 11, 'x14260 x14261 x14262 x14263 x14264 x14265 x14266 x14267 x14268 x14269 x142610 x142611 x142612 x142613 x142614 x142615 x142616 x142617 x142618 x142619 x142620 x142621 x142622 x142623 x142624 x142625 x142626 x142627 x142628 x142629 ') INSERT INTO rt (id, gid, title) VALUES (1427, 11, 'x14270 x14271 x14272 x14273 x14274 x14275 x14276 x14277 x14278 x14279 x142710 x142711 x142712 x142713 x142714 x142715 x142716 x142717 x142718 x142719 x142720 x142721 x142722 x142723 x142724 x142725 x142726 x142727 x142728 x142729 ') INSERT INTO rt (id, gid, title) VALUES (1428, 11, 'x14280 x14281 x14282 x14283 x14284 x14285 x14286 x14287 x14288 x14289 x142810 x142811 x142812 x142813 x142814 x142815 x142816 x142817 x142818 x142819 x142820 x142821 x142822 x142823 x142824 x142825 x142826 x142827 x142828 x142829 ') INSERT INTO rt (id, gid, title) VALUES (1429, 11, 'x14290 x14291 x14292 x14293 x14294 x14295 x14296 x14297 x14298 x14299 x142910 x142911 x142912 x142913 x142914 x142915 x142916 x142917 x142918 x142919 x142920 x142921 x142922 x142923 x142924 x142925 x142926 x142927 x142928 x142929 ') INSERT INTO rt (id, gid, title) VALUES (1430, 11, 'x14300 x14301 x14302 x14303 x14304 x14305 x14306 x14307 x14308 x14309 x143010 x143011 x143012 x143013 x143014 x143015 x143016 x143017 x143018 x143019 x143020 x143021 x143022 x143023 x143024 x143025 x143026 x143027 x143028 x143029 ') INSERT INTO rt (id, gid, title) VALUES (1431, 11, 'x14310 x14311 x14312 x14313 x14314 x14315 x14316 x14317 x14318 x14319 x143110 x143111 x143112 x143113 x143114 x143115 x143116 x143117 x143118 x143119 x143120 x143121 x143122 x143123 x143124 x143125 x143126 x143127 x143128 x143129 ') INSERT INTO rt (id, gid, title) VALUES (1432, 11, 'x14320 x14321 x14322 x14323 x14324 x14325 x14326 x14327 x14328 x14329 x143210 x143211 x143212 x143213 x143214 x143215 x143216 x143217 x143218 x143219 x143220 x143221 x143222 x143223 x143224 x143225 x143226 x143227 x143228 x143229 ') INSERT INTO rt (id, gid, title) VALUES (1433, 11, 'x14330 x14331 x14332 x14333 x14334 x14335 x14336 x14337 x14338 x14339 x143310 x143311 x143312 x143313 x143314 x143315 x143316 x143317 x143318 x143319 x143320 x143321 x143322 x143323 x143324 x143325 x143326 x143327 x143328 x143329 ') INSERT INTO rt (id, gid, title) VALUES (1434, 11, 'x14340 x14341 x14342 x14343 x14344 x14345 x14346 x14347 x14348 x14349 x143410 x143411 x143412 x143413 x143414 x143415 x143416 x143417 x143418 x143419 x143420 x143421 x143422 x143423 x143424 x143425 x143426 x143427 x143428 x143429 ') INSERT INTO rt (id, gid, title) VALUES (1435, 11, 'x14350 x14351 x14352 x14353 x14354 x14355 x14356 x14357 x14358 x14359 x143510 x143511 x143512 x143513 x143514 x143515 x143516 x143517 x143518 x143519 x143520 x143521 x143522 x143523 x143524 x143525 x143526 x143527 x143528 x143529 ') INSERT INTO rt (id, gid, title) VALUES (1436, 11, 'x14360 x14361 x14362 x14363 x14364 x14365 x14366 x14367 x14368 x14369 x143610 x143611 x143612 x143613 x143614 x143615 x143616 x143617 x143618 x143619 x143620 x143621 x143622 x143623 x143624 x143625 x143626 x143627 x143628 x143629 ') INSERT INTO rt (id, gid, title) VALUES (1437, 11, 'x14370 x14371 x14372 x14373 x14374 x14375 x14376 x14377 x14378 x14379 x143710 x143711 x143712 x143713 x143714 x143715 x143716 x143717 x143718 x143719 x143720 x143721 x143722 x143723 x143724 x143725 x143726 x143727 x143728 x143729 ') INSERT INTO rt (id, gid, title) VALUES (1438, 11, 'x14380 x14381 x14382 x14383 x14384 x14385 x14386 x14387 x14388 x14389 x143810 x143811 x143812 x143813 x143814 x143815 x143816 x143817 x143818 x143819 x143820 x143821 x143822 x143823 x143824 x143825 x143826 x143827 x143828 x143829 ') INSERT INTO rt (id, gid, title) VALUES (1439, 11, 'x14390 x14391 x14392 x14393 x14394 x14395 x14396 x14397 x14398 x14399 x143910 x143911 x143912 x143913 x143914 x143915 x143916 x143917 x143918 x143919 x143920 x143921 x143922 x143923 x143924 x143925 x143926 x143927 x143928 x143929 ') INSERT INTO rt (id, gid, title) VALUES (1440, 11, 'x14400 x14401 x14402 x14403 x14404 x14405 x14406 x14407 x14408 x14409 x144010 x144011 x144012 x144013 x144014 x144015 x144016 x144017 x144018 x144019 x144020 x144021 x144022 x144023 x144024 x144025 x144026 x144027 x144028 x144029 ') INSERT INTO rt (id, gid, title) VALUES (1441, 11, 'x14410 x14411 x14412 x14413 x14414 x14415 x14416 x14417 x14418 x14419 x144110 x144111 x144112 x144113 x144114 x144115 x144116 x144117 x144118 x144119 x144120 x144121 x144122 x144123 x144124 x144125 x144126 x144127 x144128 x144129 ') INSERT INTO rt (id, gid, title) VALUES (1442, 11, 'x14420 x14421 x14422 x14423 x14424 x14425 x14426 x14427 x14428 x14429 x144210 x144211 x144212 x144213 x144214 x144215 x144216 x144217 x144218 x144219 x144220 x144221 x144222 x144223 x144224 x144225 x144226 x144227 x144228 x144229 ') INSERT INTO rt (id, gid, title) VALUES (1443, 11, 'x14430 x14431 x14432 x14433 x14434 x14435 x14436 x14437 x14438 x14439 x144310 x144311 x144312 x144313 x144314 x144315 x144316 x144317 x144318 x144319 x144320 x144321 x144322 x144323 x144324 x144325 x144326 x144327 x144328 x144329 ') INSERT INTO rt (id, gid, title) VALUES (1444, 11, 'x14440 x14441 x14442 x14443 x14444 x14445 x14446 x14447 x14448 x14449 x144410 x144411 x144412 x144413 x144414 x144415 x144416 x144417 x144418 x144419 x144420 x144421 x144422 x144423 x144424 x144425 x144426 x144427 x144428 x144429 ') INSERT INTO rt (id, gid, title) VALUES (1445, 11, 'x14450 x14451 x14452 x14453 x14454 x14455 x14456 x14457 x14458 x14459 x144510 x144511 x144512 x144513 x144514 x144515 x144516 x144517 x144518 x144519 x144520 x144521 x144522 x144523 x144524 x144525 x144526 x144527 x144528 x144529 ') INSERT INTO rt (id, gid, title) VALUES (1446, 11, 'x14460 x14461 x14462 x14463 x14464 x14465 x14466 x14467 x14468 x14469 x144610 x144611 x144612 x144613 x144614 x144615 x144616 x144617 x144618 x144619 x144620 x144621 x144622 x144623 x144624 x144625 x144626 x144627 x144628 x144629 ') INSERT INTO rt (id, gid, title) VALUES (1447, 11, 'x14470 x14471 x14472 x14473 x14474 x14475 x14476 x14477 x14478 x14479 x144710 x144711 x144712 x144713 x144714 x144715 x144716 x144717 x144718 x144719 x144720 x144721 x144722 x144723 x144724 x144725 x144726 x144727 x144728 x144729 ') INSERT INTO rt (id, gid, title) VALUES (1448, 11, 'x14480 x14481 x14482 x14483 x14484 x14485 x14486 x14487 x14488 x14489 x144810 x144811 x144812 x144813 x144814 x144815 x144816 x144817 x144818 x144819 x144820 x144821 x144822 x144823 x144824 x144825 x144826 x144827 x144828 x144829 ') INSERT INTO rt (id, gid, title) VALUES (1449, 11, 'x14490 x14491 x14492 x14493 x14494 x14495 x14496 x14497 x14498 x14499 x144910 x144911 x144912 x144913 x144914 x144915 x144916 x144917 x144918 x144919 x144920 x144921 x144922 x144923 x144924 x144925 x144926 x144927 x144928 x144929 ') INSERT INTO rt (id, gid, title) VALUES (1450, 11, 'x14500 x14501 x14502 x14503 x14504 x14505 x14506 x14507 x14508 x14509 x145010 x145011 x145012 x145013 x145014 x145015 x145016 x145017 x145018 x145019 x145020 x145021 x145022 x145023 x145024 x145025 x145026 x145027 x145028 x145029 ') INSERT INTO rt (id, gid, title) VALUES (1451, 11, 'x14510 x14511 x14512 x14513 x14514 x14515 x14516 x14517 x14518 x14519 x145110 x145111 x145112 x145113 x145114 x145115 x145116 x145117 x145118 x145119 x145120 x145121 x145122 x145123 x145124 x145125 x145126 x145127 x145128 x145129 ') INSERT INTO rt (id, gid, title) VALUES (1452, 11, 'x14520 x14521 x14522 x14523 x14524 x14525 x14526 x14527 x14528 x14529 x145210 x145211 x145212 x145213 x145214 x145215 x145216 x145217 x145218 x145219 x145220 x145221 x145222 x145223 x145224 x145225 x145226 x145227 x145228 x145229 ') INSERT INTO rt (id, gid, title) VALUES (1453, 11, 'x14530 x14531 x14532 x14533 x14534 x14535 x14536 x14537 x14538 x14539 x145310 x145311 x145312 x145313 x145314 x145315 x145316 x145317 x145318 x145319 x145320 x145321 x145322 x145323 x145324 x145325 x145326 x145327 x145328 x145329 ') INSERT INTO rt (id, gid, title) VALUES (1454, 11, 'x14540 x14541 x14542 x14543 x14544 x14545 x14546 x14547 x14548 x14549 x145410 x145411 x145412 x145413 x145414 x145415 x145416 x145417 x145418 x145419 x145420 x145421 x145422 x145423 x145424 x145425 x145426 x145427 x145428 x145429 ') INSERT INTO rt (id, gid, title) VALUES (1455, 11, 'x14550 x14551 x14552 x14553 x14554 x14555 x14556 x14557 x14558 x14559 x145510 x145511 x145512 x145513 x145514 x145515 x145516 x145517 x145518 x145519 x145520 x145521 x145522 x145523 x145524 x145525 x145526 x145527 x145528 x145529 ') INSERT INTO rt (id, gid, title) VALUES (1456, 11, 'x14560 x14561 x14562 x14563 x14564 x14565 x14566 x14567 x14568 x14569 x145610 x145611 x145612 x145613 x145614 x145615 x145616 x145617 x145618 x145619 x145620 x145621 x145622 x145623 x145624 x145625 x145626 x145627 x145628 x145629 ') INSERT INTO rt (id, gid, title) VALUES (1457, 11, 'x14570 x14571 x14572 x14573 x14574 x14575 x14576 x14577 x14578 x14579 x145710 x145711 x145712 x145713 x145714 x145715 x145716 x145717 x145718 x145719 x145720 x145721 x145722 x145723 x145724 x145725 x145726 x145727 x145728 x145729 ') INSERT INTO rt (id, gid, title) VALUES (1458, 11, 'x14580 x14581 x14582 x14583 x14584 x14585 x14586 x14587 x14588 x14589 x145810 x145811 x145812 x145813 x145814 x145815 x145816 x145817 x145818 x145819 x145820 x145821 x145822 x145823 x145824 x145825 x145826 x145827 x145828 x145829 ') INSERT INTO rt (id, gid, title) VALUES (1459, 11, 'x14590 x14591 x14592 x14593 x14594 x14595 x14596 x14597 x14598 x14599 x145910 x145911 x145912 x145913 x145914 x145915 x145916 x145917 x145918 x145919 x145920 x145921 x145922 x145923 x145924 x145925 x145926 x145927 x145928 x145929 ') INSERT INTO rt (id, gid, title) VALUES (1460, 11, 'x14600 x14601 x14602 x14603 x14604 x14605 x14606 x14607 x14608 x14609 x146010 x146011 x146012 x146013 x146014 x146015 x146016 x146017 x146018 x146019 x146020 x146021 x146022 x146023 x146024 x146025 x146026 x146027 x146028 x146029 ') INSERT INTO rt (id, gid, title) VALUES (1461, 11, 'x14610 x14611 x14612 x14613 x14614 x14615 x14616 x14617 x14618 x14619 x146110 x146111 x146112 x146113 x146114 x146115 x146116 x146117 x146118 x146119 x146120 x146121 x146122 x146123 x146124 x146125 x146126 x146127 x146128 x146129 ') INSERT INTO rt (id, gid, title) VALUES (1462, 11, 'x14620 x14621 x14622 x14623 x14624 x14625 x14626 x14627 x14628 x14629 x146210 x146211 x146212 x146213 x146214 x146215 x146216 x146217 x146218 x146219 x146220 x146221 x146222 x146223 x146224 x146225 x146226 x146227 x146228 x146229 ') INSERT INTO rt (id, gid, title) VALUES (1463, 11, 'x14630 x14631 x14632 x14633 x14634 x14635 x14636 x14637 x14638 x14639 x146310 x146311 x146312 x146313 x146314 x146315 x146316 x146317 x146318 x146319 x146320 x146321 x146322 x146323 x146324 x146325 x146326 x146327 x146328 x146329 ') INSERT INTO rt (id, gid, title) VALUES (1464, 11, 'x14640 x14641 x14642 x14643 x14644 x14645 x14646 x14647 x14648 x14649 x146410 x146411 x146412 x146413 x146414 x146415 x146416 x146417 x146418 x146419 x146420 x146421 x146422 x146423 x146424 x146425 x146426 x146427 x146428 x146429 ') INSERT INTO rt (id, gid, title) VALUES (1465, 11, 'x14650 x14651 x14652 x14653 x14654 x14655 x14656 x14657 x14658 x14659 x146510 x146511 x146512 x146513 x146514 x146515 x146516 x146517 x146518 x146519 x146520 x146521 x146522 x146523 x146524 x146525 x146526 x146527 x146528 x146529 ') INSERT INTO rt (id, gid, title) VALUES (1466, 11, 'x14660 x14661 x14662 x14663 x14664 x14665 x14666 x14667 x14668 x14669 x146610 x146611 x146612 x146613 x146614 x146615 x146616 x146617 x146618 x146619 x146620 x146621 x146622 x146623 x146624 x146625 x146626 x146627 x146628 x146629 ') INSERT INTO rt (id, gid, title) VALUES (1467, 11, 'x14670 x14671 x14672 x14673 x14674 x14675 x14676 x14677 x14678 x14679 x146710 x146711 x146712 x146713 x146714 x146715 x146716 x146717 x146718 x146719 x146720 x146721 x146722 x146723 x146724 x146725 x146726 x146727 x146728 x146729 ') INSERT INTO rt (id, gid, title) VALUES (1468, 11, 'x14680 x14681 x14682 x14683 x14684 x14685 x14686 x14687 x14688 x14689 x146810 x146811 x146812 x146813 x146814 x146815 x146816 x146817 x146818 x146819 x146820 x146821 x146822 x146823 x146824 x146825 x146826 x146827 x146828 x146829 ') INSERT INTO rt (id, gid, title) VALUES (1469, 11, 'x14690 x14691 x14692 x14693 x14694 x14695 x14696 x14697 x14698 x14699 x146910 x146911 x146912 x146913 x146914 x146915 x146916 x146917 x146918 x146919 x146920 x146921 x146922 x146923 x146924 x146925 x146926 x146927 x146928 x146929 ') INSERT INTO rt (id, gid, title) VALUES (1470, 11, 'x14700 x14701 x14702 x14703 x14704 x14705 x14706 x14707 x14708 x14709 x147010 x147011 x147012 x147013 x147014 x147015 x147016 x147017 x147018 x147019 x147020 x147021 x147022 x147023 x147024 x147025 x147026 x147027 x147028 x147029 ') INSERT INTO rt (id, gid, title) VALUES (1471, 11, 'x14710 x14711 x14712 x14713 x14714 x14715 x14716 x14717 x14718 x14719 x147110 x147111 x147112 x147113 x147114 x147115 x147116 x147117 x147118 x147119 x147120 x147121 x147122 x147123 x147124 x147125 x147126 x147127 x147128 x147129 ') INSERT INTO rt (id, gid, title) VALUES (1472, 11, 'x14720 x14721 x14722 x14723 x14724 x14725 x14726 x14727 x14728 x14729 x147210 x147211 x147212 x147213 x147214 x147215 x147216 x147217 x147218 x147219 x147220 x147221 x147222 x147223 x147224 x147225 x147226 x147227 x147228 x147229 ') INSERT INTO rt (id, gid, title) VALUES (1473, 11, 'x14730 x14731 x14732 x14733 x14734 x14735 x14736 x14737 x14738 x14739 x147310 x147311 x147312 x147313 x147314 x147315 x147316 x147317 x147318 x147319 x147320 x147321 x147322 x147323 x147324 x147325 x147326 x147327 x147328 x147329 ') INSERT INTO rt (id, gid, title) VALUES (1474, 11, 'x14740 x14741 x14742 x14743 x14744 x14745 x14746 x14747 x14748 x14749 x147410 x147411 x147412 x147413 x147414 x147415 x147416 x147417 x147418 x147419 x147420 x147421 x147422 x147423 x147424 x147425 x147426 x147427 x147428 x147429 ') INSERT INTO rt (id, gid, title) VALUES (1475, 11, 'x14750 x14751 x14752 x14753 x14754 x14755 x14756 x14757 x14758 x14759 x147510 x147511 x147512 x147513 x147514 x147515 x147516 x147517 x147518 x147519 x147520 x147521 x147522 x147523 x147524 x147525 x147526 x147527 x147528 x147529 ') INSERT INTO rt (id, gid, title) VALUES (1476, 11, 'x14760 x14761 x14762 x14763 x14764 x14765 x14766 x14767 x14768 x14769 x147610 x147611 x147612 x147613 x147614 x147615 x147616 x147617 x147618 x147619 x147620 x147621 x147622 x147623 x147624 x147625 x147626 x147627 x147628 x147629 ') INSERT INTO rt (id, gid, title) VALUES (1477, 11, 'x14770 x14771 x14772 x14773 x14774 x14775 x14776 x14777 x14778 x14779 x147710 x147711 x147712 x147713 x147714 x147715 x147716 x147717 x147718 x147719 x147720 x147721 x147722 x147723 x147724 x147725 x147726 x147727 x147728 x147729 ') INSERT INTO rt (id, gid, title) VALUES (1478, 11, 'x14780 x14781 x14782 x14783 x14784 x14785 x14786 x14787 x14788 x14789 x147810 x147811 x147812 x147813 x147814 x147815 x147816 x147817 x147818 x147819 x147820 x147821 x147822 x147823 x147824 x147825 x147826 x147827 x147828 x147829 ') INSERT INTO rt (id, gid, title) VALUES (1479, 11, 'x14790 x14791 x14792 x14793 x14794 x14795 x14796 x14797 x14798 x14799 x147910 x147911 x147912 x147913 x147914 x147915 x147916 x147917 x147918 x147919 x147920 x147921 x147922 x147923 x147924 x147925 x147926 x147927 x147928 x147929 ') INSERT INTO rt (id, gid, title) VALUES (1480, 11, 'x14800 x14801 x14802 x14803 x14804 x14805 x14806 x14807 x14808 x14809 x148010 x148011 x148012 x148013 x148014 x148015 x148016 x148017 x148018 x148019 x148020 x148021 x148022 x148023 x148024 x148025 x148026 x148027 x148028 x148029 ') INSERT INTO rt (id, gid, title) VALUES (1481, 11, 'x14810 x14811 x14812 x14813 x14814 x14815 x14816 x14817 x14818 x14819 x148110 x148111 x148112 x148113 x148114 x148115 x148116 x148117 x148118 x148119 x148120 x148121 x148122 x148123 x148124 x148125 x148126 x148127 x148128 x148129 ') INSERT INTO rt (id, gid, title) VALUES (1482, 11, 'x14820 x14821 x14822 x14823 x14824 x14825 x14826 x14827 x14828 x14829 x148210 x148211 x148212 x148213 x148214 x148215 x148216 x148217 x148218 x148219 x148220 x148221 x148222 x148223 x148224 x148225 x148226 x148227 x148228 x148229 ') INSERT INTO rt (id, gid, title) VALUES (1483, 11, 'x14830 x14831 x14832 x14833 x14834 x14835 x14836 x14837 x14838 x14839 x148310 x148311 x148312 x148313 x148314 x148315 x148316 x148317 x148318 x148319 x148320 x148321 x148322 x148323 x148324 x148325 x148326 x148327 x148328 x148329 ') INSERT INTO rt (id, gid, title) VALUES (1484, 11, 'x14840 x14841 x14842 x14843 x14844 x14845 x14846 x14847 x14848 x14849 x148410 x148411 x148412 x148413 x148414 x148415 x148416 x148417 x148418 x148419 x148420 x148421 x148422 x148423 x148424 x148425 x148426 x148427 x148428 x148429 ') INSERT INTO rt (id, gid, title) VALUES (1485, 11, 'x14850 x14851 x14852 x14853 x14854 x14855 x14856 x14857 x14858 x14859 x148510 x148511 x148512 x148513 x148514 x148515 x148516 x148517 x148518 x148519 x148520 x148521 x148522 x148523 x148524 x148525 x148526 x148527 x148528 x148529 ') INSERT INTO rt (id, gid, title) VALUES (1486, 11, 'x14860 x14861 x14862 x14863 x14864 x14865 x14866 x14867 x14868 x14869 x148610 x148611 x148612 x148613 x148614 x148615 x148616 x148617 x148618 x148619 x148620 x148621 x148622 x148623 x148624 x148625 x148626 x148627 x148628 x148629 ') INSERT INTO rt (id, gid, title) VALUES (1487, 11, 'x14870 x14871 x14872 x14873 x14874 x14875 x14876 x14877 x14878 x14879 x148710 x148711 x148712 x148713 x148714 x148715 x148716 x148717 x148718 x148719 x148720 x148721 x148722 x148723 x148724 x148725 x148726 x148727 x148728 x148729 ') INSERT INTO rt (id, gid, title) VALUES (1488, 11, 'x14880 x14881 x14882 x14883 x14884 x14885 x14886 x14887 x14888 x14889 x148810 x148811 x148812 x148813 x148814 x148815 x148816 x148817 x148818 x148819 x148820 x148821 x148822 x148823 x148824 x148825 x148826 x148827 x148828 x148829 ') INSERT INTO rt (id, gid, title) VALUES (1489, 11, 'x14890 x14891 x14892 x14893 x14894 x14895 x14896 x14897 x14898 x14899 x148910 x148911 x148912 x148913 x148914 x148915 x148916 x148917 x148918 x148919 x148920 x148921 x148922 x148923 x148924 x148925 x148926 x148927 x148928 x148929 ') INSERT INTO rt (id, gid, title) VALUES (1490, 11, 'x14900 x14901 x14902 x14903 x14904 x14905 x14906 x14907 x14908 x14909 x149010 x149011 x149012 x149013 x149014 x149015 x149016 x149017 x149018 x149019 x149020 x149021 x149022 x149023 x149024 x149025 x149026 x149027 x149028 x149029 ') INSERT INTO rt (id, gid, title) VALUES (1491, 11, 'x14910 x14911 x14912 x14913 x14914 x14915 x14916 x14917 x14918 x14919 x149110 x149111 x149112 x149113 x149114 x149115 x149116 x149117 x149118 x149119 x149120 x149121 x149122 x149123 x149124 x149125 x149126 x149127 x149128 x149129 ') INSERT INTO rt (id, gid, title) VALUES (1492, 11, 'x14920 x14921 x14922 x14923 x14924 x14925 x14926 x14927 x14928 x14929 x149210 x149211 x149212 x149213 x149214 x149215 x149216 x149217 x149218 x149219 x149220 x149221 x149222 x149223 x149224 x149225 x149226 x149227 x149228 x149229 ') INSERT INTO rt (id, gid, title) VALUES (1493, 11, 'x14930 x14931 x14932 x14933 x14934 x14935 x14936 x14937 x14938 x14939 x149310 x149311 x149312 x149313 x149314 x149315 x149316 x149317 x149318 x149319 x149320 x149321 x149322 x149323 x149324 x149325 x149326 x149327 x149328 x149329 ') INSERT INTO rt (id, gid, title) VALUES (1494, 11, 'x14940 x14941 x14942 x14943 x14944 x14945 x14946 x14947 x14948 x14949 x149410 x149411 x149412 x149413 x149414 x149415 x149416 x149417 x149418 x149419 x149420 x149421 x149422 x149423 x149424 x149425 x149426 x149427 x149428 x149429 ') INSERT INTO rt (id, gid, title) VALUES (1495, 11, 'x14950 x14951 x14952 x14953 x14954 x14955 x14956 x14957 x14958 x14959 x149510 x149511 x149512 x149513 x149514 x149515 x149516 x149517 x149518 x149519 x149520 x149521 x149522 x149523 x149524 x149525 x149526 x149527 x149528 x149529 ') INSERT INTO rt (id, gid, title) VALUES (1496, 11, 'x14960 x14961 x14962 x14963 x14964 x14965 x14966 x14967 x14968 x14969 x149610 x149611 x149612 x149613 x149614 x149615 x149616 x149617 x149618 x149619 x149620 x149621 x149622 x149623 x149624 x149625 x149626 x149627 x149628 x149629 ') INSERT INTO rt (id, gid, title) VALUES (1497, 11, 'x14970 x14971 x14972 x14973 x14974 x14975 x14976 x14977 x14978 x14979 x149710 x149711 x149712 x149713 x149714 x149715 x149716 x149717 x149718 x149719 x149720 x149721 x149722 x149723 x149724 x149725 x149726 x149727 x149728 x149729 ') INSERT INTO rt (id, gid, title) VALUES (1498, 11, 'x14980 x14981 x14982 x14983 x14984 x14985 x14986 x14987 x14988 x14989 x149810 x149811 x149812 x149813 x149814 x149815 x149816 x149817 x149818 x149819 x149820 x149821 x149822 x149823 x149824 x149825 x149826 x149827 x149828 x149829 ') INSERT INTO rt (id, gid, title) VALUES (1499, 11, 'x14990 x14991 x14992 x14993 x14994 x14995 x14996 x14997 x14998 x14999 x149910 x149911 x149912 x149913 x149914 x149915 x149916 x149917 x149918 x149919 x149920 x149921 x149922 x149923 x149924 x149925 x149926 x149927 x149928 x149929 ') INSERT INTO rt (id, gid, title) VALUES (1500, 11, 'x15000 x15001 x15002 x15003 x15004 x15005 x15006 x15007 x15008 x15009 x150010 x150011 x150012 x150013 x150014 x150015 x150016 x150017 x150018 x150019 x150020 x150021 x150022 x150023 x150024 x150025 x150026 x150027 x150028 x150029 ') INSERT INTO rt (id, gid, title) VALUES (1501, 11, 'x15010 x15011 x15012 x15013 x15014 x15015 x15016 x15017 x15018 x15019 x150110 x150111 x150112 x150113 x150114 x150115 x150116 x150117 x150118 x150119 x150120 x150121 x150122 x150123 x150124 x150125 x150126 x150127 x150128 x150129 ') INSERT INTO rt (id, gid, title) VALUES (1502, 11, 'x15020 x15021 x15022 x15023 x15024 x15025 x15026 x15027 x15028 x15029 x150210 x150211 x150212 x150213 x150214 x150215 x150216 x150217 x150218 x150219 x150220 x150221 x150222 x150223 x150224 x150225 x150226 x150227 x150228 x150229 ') INSERT INTO rt (id, gid, title) VALUES (1503, 11, 'x15030 x15031 x15032 x15033 x15034 x15035 x15036 x15037 x15038 x15039 x150310 x150311 x150312 x150313 x150314 x150315 x150316 x150317 x150318 x150319 x150320 x150321 x150322 x150323 x150324 x150325 x150326 x150327 x150328 x150329 ') INSERT INTO rt (id, gid, title) VALUES (1504, 11, 'x15040 x15041 x15042 x15043 x15044 x15045 x15046 x15047 x15048 x15049 x150410 x150411 x150412 x150413 x150414 x150415 x150416 x150417 x150418 x150419 x150420 x150421 x150422 x150423 x150424 x150425 x150426 x150427 x150428 x150429 ') INSERT INTO rt (id, gid, title) VALUES (1505, 11, 'x15050 x15051 x15052 x15053 x15054 x15055 x15056 x15057 x15058 x15059 x150510 x150511 x150512 x150513 x150514 x150515 x150516 x150517 x150518 x150519 x150520 x150521 x150522 x150523 x150524 x150525 x150526 x150527 x150528 x150529 ') INSERT INTO rt (id, gid, title) VALUES (1506, 11, 'x15060 x15061 x15062 x15063 x15064 x15065 x15066 x15067 x15068 x15069 x150610 x150611 x150612 x150613 x150614 x150615 x150616 x150617 x150618 x150619 x150620 x150621 x150622 x150623 x150624 x150625 x150626 x150627 x150628 x150629 ') INSERT INTO rt (id, gid, title) VALUES (1507, 11, 'x15070 x15071 x15072 x15073 x15074 x15075 x15076 x15077 x15078 x15079 x150710 x150711 x150712 x150713 x150714 x150715 x150716 x150717 x150718 x150719 x150720 x150721 x150722 x150723 x150724 x150725 x150726 x150727 x150728 x150729 ') INSERT INTO rt (id, gid, title) VALUES (1508, 11, 'x15080 x15081 x15082 x15083 x15084 x15085 x15086 x15087 x15088 x15089 x150810 x150811 x150812 x150813 x150814 x150815 x150816 x150817 x150818 x150819 x150820 x150821 x150822 x150823 x150824 x150825 x150826 x150827 x150828 x150829 ') INSERT INTO rt (id, gid, title) VALUES (1509, 11, 'x15090 x15091 x15092 x15093 x15094 x15095 x15096 x15097 x15098 x15099 x150910 x150911 x150912 x150913 x150914 x150915 x150916 x150917 x150918 x150919 x150920 x150921 x150922 x150923 x150924 x150925 x150926 x150927 x150928 x150929 ') INSERT INTO rt (id, gid, title) VALUES (1510, 11, 'x15100 x15101 x15102 x15103 x15104 x15105 x15106 x15107 x15108 x15109 x151010 x151011 x151012 x151013 x151014 x151015 x151016 x151017 x151018 x151019 x151020 x151021 x151022 x151023 x151024 x151025 x151026 x151027 x151028 x151029 ') INSERT INTO rt (id, gid, title) VALUES (1511, 11, 'x15110 x15111 x15112 x15113 x15114 x15115 x15116 x15117 x15118 x15119 x151110 x151111 x151112 x151113 x151114 x151115 x151116 x151117 x151118 x151119 x151120 x151121 x151122 x151123 x151124 x151125 x151126 x151127 x151128 x151129 ') INSERT INTO rt (id, gid, title) VALUES (1512, 11, 'x15120 x15121 x15122 x15123 x15124 x15125 x15126 x15127 x15128 x15129 x151210 x151211 x151212 x151213 x151214 x151215 x151216 x151217 x151218 x151219 x151220 x151221 x151222 x151223 x151224 x151225 x151226 x151227 x151228 x151229 ') INSERT INTO rt (id, gid, title) VALUES (1513, 11, 'x15130 x15131 x15132 x15133 x15134 x15135 x15136 x15137 x15138 x15139 x151310 x151311 x151312 x151313 x151314 x151315 x151316 x151317 x151318 x151319 x151320 x151321 x151322 x151323 x151324 x151325 x151326 x151327 x151328 x151329 ') INSERT INTO rt (id, gid, title) VALUES (1514, 11, 'x15140 x15141 x15142 x15143 x15144 x15145 x15146 x15147 x15148 x15149 x151410 x151411 x151412 x151413 x151414 x151415 x151416 x151417 x151418 x151419 x151420 x151421 x151422 x151423 x151424 x151425 x151426 x151427 x151428 x151429 ') INSERT INTO rt (id, gid, title) VALUES (1515, 11, 'x15150 x15151 x15152 x15153 x15154 x15155 x15156 x15157 x15158 x15159 x151510 x151511 x151512 x151513 x151514 x151515 x151516 x151517 x151518 x151519 x151520 x151521 x151522 x151523 x151524 x151525 x151526 x151527 x151528 x151529 ') INSERT INTO rt (id, gid, title) VALUES (1516, 11, 'x15160 x15161 x15162 x15163 x15164 x15165 x15166 x15167 x15168 x15169 x151610 x151611 x151612 x151613 x151614 x151615 x151616 x151617 x151618 x151619 x151620 x151621 x151622 x151623 x151624 x151625 x151626 x151627 x151628 x151629 ') INSERT INTO rt (id, gid, title) VALUES (1517, 11, 'x15170 x15171 x15172 x15173 x15174 x15175 x15176 x15177 x15178 x15179 x151710 x151711 x151712 x151713 x151714 x151715 x151716 x151717 x151718 x151719 x151720 x151721 x151722 x151723 x151724 x151725 x151726 x151727 x151728 x151729 ') INSERT INTO rt (id, gid, title) VALUES (1518, 11, 'x15180 x15181 x15182 x15183 x15184 x15185 x15186 x15187 x15188 x15189 x151810 x151811 x151812 x151813 x151814 x151815 x151816 x151817 x151818 x151819 x151820 x151821 x151822 x151823 x151824 x151825 x151826 x151827 x151828 x151829 ') INSERT INTO rt (id, gid, title) VALUES (1519, 11, 'x15190 x15191 x15192 x15193 x15194 x15195 x15196 x15197 x15198 x15199 x151910 x151911 x151912 x151913 x151914 x151915 x151916 x151917 x151918 x151919 x151920 x151921 x151922 x151923 x151924 x151925 x151926 x151927 x151928 x151929 ') INSERT INTO rt (id, gid, title) VALUES (1520, 11, 'x15200 x15201 x15202 x15203 x15204 x15205 x15206 x15207 x15208 x15209 x152010 x152011 x152012 x152013 x152014 x152015 x152016 x152017 x152018 x152019 x152020 x152021 x152022 x152023 x152024 x152025 x152026 x152027 x152028 x152029 ') INSERT INTO rt (id, gid, title) VALUES (1521, 11, 'x15210 x15211 x15212 x15213 x15214 x15215 x15216 x15217 x15218 x15219 x152110 x152111 x152112 x152113 x152114 x152115 x152116 x152117 x152118 x152119 x152120 x152121 x152122 x152123 x152124 x152125 x152126 x152127 x152128 x152129 ') INSERT INTO rt (id, gid, title) VALUES (1522, 11, 'x15220 x15221 x15222 x15223 x15224 x15225 x15226 x15227 x15228 x15229 x152210 x152211 x152212 x152213 x152214 x152215 x152216 x152217 x152218 x152219 x152220 x152221 x152222 x152223 x152224 x152225 x152226 x152227 x152228 x152229 ') INSERT INTO rt (id, gid, title) VALUES (1523, 11, 'x15230 x15231 x15232 x15233 x15234 x15235 x15236 x15237 x15238 x15239 x152310 x152311 x152312 x152313 x152314 x152315 x152316 x152317 x152318 x152319 x152320 x152321 x152322 x152323 x152324 x152325 x152326 x152327 x152328 x152329 ') INSERT INTO rt (id, gid, title) VALUES (1524, 11, 'x15240 x15241 x15242 x15243 x15244 x15245 x15246 x15247 x15248 x15249 x152410 x152411 x152412 x152413 x152414 x152415 x152416 x152417 x152418 x152419 x152420 x152421 x152422 x152423 x152424 x152425 x152426 x152427 x152428 x152429 ') INSERT INTO rt (id, gid, title) VALUES (1525, 11, 'x15250 x15251 x15252 x15253 x15254 x15255 x15256 x15257 x15258 x15259 x152510 x152511 x152512 x152513 x152514 x152515 x152516 x152517 x152518 x152519 x152520 x152521 x152522 x152523 x152524 x152525 x152526 x152527 x152528 x152529 ') INSERT INTO rt (id, gid, title) VALUES (1526, 11, 'x15260 x15261 x15262 x15263 x15264 x15265 x15266 x15267 x15268 x15269 x152610 x152611 x152612 x152613 x152614 x152615 x152616 x152617 x152618 x152619 x152620 x152621 x152622 x152623 x152624 x152625 x152626 x152627 x152628 x152629 ') INSERT INTO rt (id, gid, title) VALUES (1527, 11, 'x15270 x15271 x15272 x15273 x15274 x15275 x15276 x15277 x15278 x15279 x152710 x152711 x152712 x152713 x152714 x152715 x152716 x152717 x152718 x152719 x152720 x152721 x152722 x152723 x152724 x152725 x152726 x152727 x152728 x152729 ') INSERT INTO rt (id, gid, title) VALUES (1528, 11, 'x15280 x15281 x15282 x15283 x15284 x15285 x15286 x15287 x15288 x15289 x152810 x152811 x152812 x152813 x152814 x152815 x152816 x152817 x152818 x152819 x152820 x152821 x152822 x152823 x152824 x152825 x152826 x152827 x152828 x152829 ') INSERT INTO rt (id, gid, title) VALUES (1529, 11, 'x15290 x15291 x15292 x15293 x15294 x15295 x15296 x15297 x15298 x15299 x152910 x152911 x152912 x152913 x152914 x152915 x152916 x152917 x152918 x152919 x152920 x152921 x152922 x152923 x152924 x152925 x152926 x152927 x152928 x152929 ') INSERT INTO rt (id, gid, title) VALUES (1530, 11, 'x15300 x15301 x15302 x15303 x15304 x15305 x15306 x15307 x15308 x15309 x153010 x153011 x153012 x153013 x153014 x153015 x153016 x153017 x153018 x153019 x153020 x153021 x153022 x153023 x153024 x153025 x153026 x153027 x153028 x153029 ') INSERT INTO rt (id, gid, title) VALUES (1531, 11, 'x15310 x15311 x15312 x15313 x15314 x15315 x15316 x15317 x15318 x15319 x153110 x153111 x153112 x153113 x153114 x153115 x153116 x153117 x153118 x153119 x153120 x153121 x153122 x153123 x153124 x153125 x153126 x153127 x153128 x153129 ') INSERT INTO rt (id, gid, title) VALUES (1532, 11, 'x15320 x15321 x15322 x15323 x15324 x15325 x15326 x15327 x15328 x15329 x153210 x153211 x153212 x153213 x153214 x153215 x153216 x153217 x153218 x153219 x153220 x153221 x153222 x153223 x153224 x153225 x153226 x153227 x153228 x153229 ') INSERT INTO rt (id, gid, title) VALUES (1533, 11, 'x15330 x15331 x15332 x15333 x15334 x15335 x15336 x15337 x15338 x15339 x153310 x153311 x153312 x153313 x153314 x153315 x153316 x153317 x153318 x153319 x153320 x153321 x153322 x153323 x153324 x153325 x153326 x153327 x153328 x153329 ') INSERT INTO rt (id, gid, title) VALUES (1534, 11, 'x15340 x15341 x15342 x15343 x15344 x15345 x15346 x15347 x15348 x15349 x153410 x153411 x153412 x153413 x153414 x153415 x153416 x153417 x153418 x153419 x153420 x153421 x153422 x153423 x153424 x153425 x153426 x153427 x153428 x153429 ') INSERT INTO rt (id, gid, title) VALUES (1535, 11, 'x15350 x15351 x15352 x15353 x15354 x15355 x15356 x15357 x15358 x15359 x153510 x153511 x153512 x153513 x153514 x153515 x153516 x153517 x153518 x153519 x153520 x153521 x153522 x153523 x153524 x153525 x153526 x153527 x153528 x153529 ') INSERT INTO rt (id, gid, title) VALUES (1536, 11, 'x15360 x15361 x15362 x15363 x15364 x15365 x15366 x15367 x15368 x15369 x153610 x153611 x153612 x153613 x153614 x153615 x153616 x153617 x153618 x153619 x153620 x153621 x153622 x153623 x153624 x153625 x153626 x153627 x153628 x153629 ') INSERT INTO rt (id, gid, title) VALUES (1537, 11, 'x15370 x15371 x15372 x15373 x15374 x15375 x15376 x15377 x15378 x15379 x153710 x153711 x153712 x153713 x153714 x153715 x153716 x153717 x153718 x153719 x153720 x153721 x153722 x153723 x153724 x153725 x153726 x153727 x153728 x153729 ') INSERT INTO rt (id, gid, title) VALUES (1538, 11, 'x15380 x15381 x15382 x15383 x15384 x15385 x15386 x15387 x15388 x15389 x153810 x153811 x153812 x153813 x153814 x153815 x153816 x153817 x153818 x153819 x153820 x153821 x153822 x153823 x153824 x153825 x153826 x153827 x153828 x153829 ') INSERT INTO rt (id, gid, title) VALUES (1539, 11, 'x15390 x15391 x15392 x15393 x15394 x15395 x15396 x15397 x15398 x15399 x153910 x153911 x153912 x153913 x153914 x153915 x153916 x153917 x153918 x153919 x153920 x153921 x153922 x153923 x153924 x153925 x153926 x153927 x153928 x153929 ') INSERT INTO rt (id, gid, title) VALUES (1540, 11, 'x15400 x15401 x15402 x15403 x15404 x15405 x15406 x15407 x15408 x15409 x154010 x154011 x154012 x154013 x154014 x154015 x154016 x154017 x154018 x154019 x154020 x154021 x154022 x154023 x154024 x154025 x154026 x154027 x154028 x154029 ') INSERT INTO rt (id, gid, title) VALUES (1541, 11, 'x15410 x15411 x15412 x15413 x15414 x15415 x15416 x15417 x15418 x15419 x154110 x154111 x154112 x154113 x154114 x154115 x154116 x154117 x154118 x154119 x154120 x154121 x154122 x154123 x154124 x154125 x154126 x154127 x154128 x154129 ') INSERT INTO rt (id, gid, title) VALUES (1542, 11, 'x15420 x15421 x15422 x15423 x15424 x15425 x15426 x15427 x15428 x15429 x154210 x154211 x154212 x154213 x154214 x154215 x154216 x154217 x154218 x154219 x154220 x154221 x154222 x154223 x154224 x154225 x154226 x154227 x154228 x154229 ') INSERT INTO rt (id, gid, title) VALUES (1543, 11, 'x15430 x15431 x15432 x15433 x15434 x15435 x15436 x15437 x15438 x15439 x154310 x154311 x154312 x154313 x154314 x154315 x154316 x154317 x154318 x154319 x154320 x154321 x154322 x154323 x154324 x154325 x154326 x154327 x154328 x154329 ') INSERT INTO rt (id, gid, title) VALUES (1544, 11, 'x15440 x15441 x15442 x15443 x15444 x15445 x15446 x15447 x15448 x15449 x154410 x154411 x154412 x154413 x154414 x154415 x154416 x154417 x154418 x154419 x154420 x154421 x154422 x154423 x154424 x154425 x154426 x154427 x154428 x154429 ') INSERT INTO rt (id, gid, title) VALUES (1545, 11, 'x15450 x15451 x15452 x15453 x15454 x15455 x15456 x15457 x15458 x15459 x154510 x154511 x154512 x154513 x154514 x154515 x154516 x154517 x154518 x154519 x154520 x154521 x154522 x154523 x154524 x154525 x154526 x154527 x154528 x154529 ') INSERT INTO rt (id, gid, title) VALUES (1546, 11, 'x15460 x15461 x15462 x15463 x15464 x15465 x15466 x15467 x15468 x15469 x154610 x154611 x154612 x154613 x154614 x154615 x154616 x154617 x154618 x154619 x154620 x154621 x154622 x154623 x154624 x154625 x154626 x154627 x154628 x154629 ') INSERT INTO rt (id, gid, title) VALUES (1547, 11, 'x15470 x15471 x15472 x15473 x15474 x15475 x15476 x15477 x15478 x15479 x154710 x154711 x154712 x154713 x154714 x154715 x154716 x154717 x154718 x154719 x154720 x154721 x154722 x154723 x154724 x154725 x154726 x154727 x154728 x154729 ') INSERT INTO rt (id, gid, title) VALUES (1548, 11, 'x15480 x15481 x15482 x15483 x15484 x15485 x15486 x15487 x15488 x15489 x154810 x154811 x154812 x154813 x154814 x154815 x154816 x154817 x154818 x154819 x154820 x154821 x154822 x154823 x154824 x154825 x154826 x154827 x154828 x154829 ') INSERT INTO rt (id, gid, title) VALUES (1549, 11, 'x15490 x15491 x15492 x15493 x15494 x15495 x15496 x15497 x15498 x15499 x154910 x154911 x154912 x154913 x154914 x154915 x154916 x154917 x154918 x154919 x154920 x154921 x154922 x154923 x154924 x154925 x154926 x154927 x154928 x154929 ') INSERT INTO rt (id, gid, title) VALUES (1550, 11, 'x15500 x15501 x15502 x15503 x15504 x15505 x15506 x15507 x15508 x15509 x155010 x155011 x155012 x155013 x155014 x155015 x155016 x155017 x155018 x155019 x155020 x155021 x155022 x155023 x155024 x155025 x155026 x155027 x155028 x155029 ') INSERT INTO rt (id, gid, title) VALUES (1551, 11, 'x15510 x15511 x15512 x15513 x15514 x15515 x15516 x15517 x15518 x15519 x155110 x155111 x155112 x155113 x155114 x155115 x155116 x155117 x155118 x155119 x155120 x155121 x155122 x155123 x155124 x155125 x155126 x155127 x155128 x155129 ') INSERT INTO rt (id, gid, title) VALUES (1552, 11, 'x15520 x15521 x15522 x15523 x15524 x15525 x15526 x15527 x15528 x15529 x155210 x155211 x155212 x155213 x155214 x155215 x155216 x155217 x155218 x155219 x155220 x155221 x155222 x155223 x155224 x155225 x155226 x155227 x155228 x155229 ') INSERT INTO rt (id, gid, title) VALUES (1553, 11, 'x15530 x15531 x15532 x15533 x15534 x15535 x15536 x15537 x15538 x15539 x155310 x155311 x155312 x155313 x155314 x155315 x155316 x155317 x155318 x155319 x155320 x155321 x155322 x155323 x155324 x155325 x155326 x155327 x155328 x155329 ') INSERT INTO rt (id, gid, title) VALUES (1554, 11, 'x15540 x15541 x15542 x15543 x15544 x15545 x15546 x15547 x15548 x15549 x155410 x155411 x155412 x155413 x155414 x155415 x155416 x155417 x155418 x155419 x155420 x155421 x155422 x155423 x155424 x155425 x155426 x155427 x155428 x155429 ') INSERT INTO rt (id, gid, title) VALUES (1555, 11, 'x15550 x15551 x15552 x15553 x15554 x15555 x15556 x15557 x15558 x15559 x155510 x155511 x155512 x155513 x155514 x155515 x155516 x155517 x155518 x155519 x155520 x155521 x155522 x155523 x155524 x155525 x155526 x155527 x155528 x155529 ') INSERT INTO rt (id, gid, title) VALUES (1556, 11, 'x15560 x15561 x15562 x15563 x15564 x15565 x15566 x15567 x15568 x15569 x155610 x155611 x155612 x155613 x155614 x155615 x155616 x155617 x155618 x155619 x155620 x155621 x155622 x155623 x155624 x155625 x155626 x155627 x155628 x155629 ') INSERT INTO rt (id, gid, title) VALUES (1557, 11, 'x15570 x15571 x15572 x15573 x15574 x15575 x15576 x15577 x15578 x15579 x155710 x155711 x155712 x155713 x155714 x155715 x155716 x155717 x155718 x155719 x155720 x155721 x155722 x155723 x155724 x155725 x155726 x155727 x155728 x155729 ') INSERT INTO rt (id, gid, title) VALUES (1558, 11, 'x15580 x15581 x15582 x15583 x15584 x15585 x15586 x15587 x15588 x15589 x155810 x155811 x155812 x155813 x155814 x155815 x155816 x155817 x155818 x155819 x155820 x155821 x155822 x155823 x155824 x155825 x155826 x155827 x155828 x155829 ') INSERT INTO rt (id, gid, title) VALUES (1559, 11, 'x15590 x15591 x15592 x15593 x15594 x15595 x15596 x15597 x15598 x15599 x155910 x155911 x155912 x155913 x155914 x155915 x155916 x155917 x155918 x155919 x155920 x155921 x155922 x155923 x155924 x155925 x155926 x155927 x155928 x155929 ') INSERT INTO rt (id, gid, title) VALUES (1560, 11, 'x15600 x15601 x15602 x15603 x15604 x15605 x15606 x15607 x15608 x15609 x156010 x156011 x156012 x156013 x156014 x156015 x156016 x156017 x156018 x156019 x156020 x156021 x156022 x156023 x156024 x156025 x156026 x156027 x156028 x156029 ') INSERT INTO rt (id, gid, title) VALUES (1561, 11, 'x15610 x15611 x15612 x15613 x15614 x15615 x15616 x15617 x15618 x15619 x156110 x156111 x156112 x156113 x156114 x156115 x156116 x156117 x156118 x156119 x156120 x156121 x156122 x156123 x156124 x156125 x156126 x156127 x156128 x156129 ') INSERT INTO rt (id, gid, title) VALUES (1562, 11, 'x15620 x15621 x15622 x15623 x15624 x15625 x15626 x15627 x15628 x15629 x156210 x156211 x156212 x156213 x156214 x156215 x156216 x156217 x156218 x156219 x156220 x156221 x156222 x156223 x156224 x156225 x156226 x156227 x156228 x156229 ') INSERT INTO rt (id, gid, title) VALUES (1563, 11, 'x15630 x15631 x15632 x15633 x15634 x15635 x15636 x15637 x15638 x15639 x156310 x156311 x156312 x156313 x156314 x156315 x156316 x156317 x156318 x156319 x156320 x156321 x156322 x156323 x156324 x156325 x156326 x156327 x156328 x156329 ') INSERT INTO rt (id, gid, title) VALUES (1564, 11, 'x15640 x15641 x15642 x15643 x15644 x15645 x15646 x15647 x15648 x15649 x156410 x156411 x156412 x156413 x156414 x156415 x156416 x156417 x156418 x156419 x156420 x156421 x156422 x156423 x156424 x156425 x156426 x156427 x156428 x156429 ') INSERT INTO rt (id, gid, title) VALUES (1565, 11, 'x15650 x15651 x15652 x15653 x15654 x15655 x15656 x15657 x15658 x15659 x156510 x156511 x156512 x156513 x156514 x156515 x156516 x156517 x156518 x156519 x156520 x156521 x156522 x156523 x156524 x156525 x156526 x156527 x156528 x156529 ') INSERT INTO rt (id, gid, title) VALUES (1566, 11, 'x15660 x15661 x15662 x15663 x15664 x15665 x15666 x15667 x15668 x15669 x156610 x156611 x156612 x156613 x156614 x156615 x156616 x156617 x156618 x156619 x156620 x156621 x156622 x156623 x156624 x156625 x156626 x156627 x156628 x156629 ') INSERT INTO rt (id, gid, title) VALUES (1567, 11, 'x15670 x15671 x15672 x15673 x15674 x15675 x15676 x15677 x15678 x15679 x156710 x156711 x156712 x156713 x156714 x156715 x156716 x156717 x156718 x156719 x156720 x156721 x156722 x156723 x156724 x156725 x156726 x156727 x156728 x156729 ') INSERT INTO rt (id, gid, title) VALUES (1568, 11, 'x15680 x15681 x15682 x15683 x15684 x15685 x15686 x15687 x15688 x15689 x156810 x156811 x156812 x156813 x156814 x156815 x156816 x156817 x156818 x156819 x156820 x156821 x156822 x156823 x156824 x156825 x156826 x156827 x156828 x156829 ') INSERT INTO rt (id, gid, title) VALUES (1569, 11, 'x15690 x15691 x15692 x15693 x15694 x15695 x15696 x15697 x15698 x15699 x156910 x156911 x156912 x156913 x156914 x156915 x156916 x156917 x156918 x156919 x156920 x156921 x156922 x156923 x156924 x156925 x156926 x156927 x156928 x156929 ') INSERT INTO rt (id, gid, title) VALUES (1570, 11, 'x15700 x15701 x15702 x15703 x15704 x15705 x15706 x15707 x15708 x15709 x157010 x157011 x157012 x157013 x157014 x157015 x157016 x157017 x157018 x157019 x157020 x157021 x157022 x157023 x157024 x157025 x157026 x157027 x157028 x157029 ') INSERT INTO rt (id, gid, title) VALUES (1571, 11, 'x15710 x15711 x15712 x15713 x15714 x15715 x15716 x15717 x15718 x15719 x157110 x157111 x157112 x157113 x157114 x157115 x157116 x157117 x157118 x157119 x157120 x157121 x157122 x157123 x157124 x157125 x157126 x157127 x157128 x157129 ') INSERT INTO rt (id, gid, title) VALUES (1572, 11, 'x15720 x15721 x15722 x15723 x15724 x15725 x15726 x15727 x15728 x15729 x157210 x157211 x157212 x157213 x157214 x157215 x157216 x157217 x157218 x157219 x157220 x157221 x157222 x157223 x157224 x157225 x157226 x157227 x157228 x157229 ') INSERT INTO rt (id, gid, title) VALUES (1573, 11, 'x15730 x15731 x15732 x15733 x15734 x15735 x15736 x15737 x15738 x15739 x157310 x157311 x157312 x157313 x157314 x157315 x157316 x157317 x157318 x157319 x157320 x157321 x157322 x157323 x157324 x157325 x157326 x157327 x157328 x157329 ') INSERT INTO rt (id, gid, title) VALUES (1574, 11, 'x15740 x15741 x15742 x15743 x15744 x15745 x15746 x15747 x15748 x15749 x157410 x157411 x157412 x157413 x157414 x157415 x157416 x157417 x157418 x157419 x157420 x157421 x157422 x157423 x157424 x157425 x157426 x157427 x157428 x157429 ') INSERT INTO rt (id, gid, title) VALUES (1575, 11, 'x15750 x15751 x15752 x15753 x15754 x15755 x15756 x15757 x15758 x15759 x157510 x157511 x157512 x157513 x157514 x157515 x157516 x157517 x157518 x157519 x157520 x157521 x157522 x157523 x157524 x157525 x157526 x157527 x157528 x157529 ') INSERT INTO rt (id, gid, title) VALUES (1576, 11, 'x15760 x15761 x15762 x15763 x15764 x15765 x15766 x15767 x15768 x15769 x157610 x157611 x157612 x157613 x157614 x157615 x157616 x157617 x157618 x157619 x157620 x157621 x157622 x157623 x157624 x157625 x157626 x157627 x157628 x157629 ') INSERT INTO rt (id, gid, title) VALUES (1577, 11, 'x15770 x15771 x15772 x15773 x15774 x15775 x15776 x15777 x15778 x15779 x157710 x157711 x157712 x157713 x157714 x157715 x157716 x157717 x157718 x157719 x157720 x157721 x157722 x157723 x157724 x157725 x157726 x157727 x157728 x157729 ') INSERT INTO rt (id, gid, title) VALUES (1578, 11, 'x15780 x15781 x15782 x15783 x15784 x15785 x15786 x15787 x15788 x15789 x157810 x157811 x157812 x157813 x157814 x157815 x157816 x157817 x157818 x157819 x157820 x157821 x157822 x157823 x157824 x157825 x157826 x157827 x157828 x157829 ') INSERT INTO rt (id, gid, title) VALUES (1579, 11, 'x15790 x15791 x15792 x15793 x15794 x15795 x15796 x15797 x15798 x15799 x157910 x157911 x157912 x157913 x157914 x157915 x157916 x157917 x157918 x157919 x157920 x157921 x157922 x157923 x157924 x157925 x157926 x157927 x157928 x157929 ') INSERT INTO rt (id, gid, title) VALUES (1580, 11, 'x15800 x15801 x15802 x15803 x15804 x15805 x15806 x15807 x15808 x15809 x158010 x158011 x158012 x158013 x158014 x158015 x158016 x158017 x158018 x158019 x158020 x158021 x158022 x158023 x158024 x158025 x158026 x158027 x158028 x158029 ') INSERT INTO rt (id, gid, title) VALUES (1581, 11, 'x15810 x15811 x15812 x15813 x15814 x15815 x15816 x15817 x15818 x15819 x158110 x158111 x158112 x158113 x158114 x158115 x158116 x158117 x158118 x158119 x158120 x158121 x158122 x158123 x158124 x158125 x158126 x158127 x158128 x158129 ') INSERT INTO rt (id, gid, title) VALUES (1582, 11, 'x15820 x15821 x15822 x15823 x15824 x15825 x15826 x15827 x15828 x15829 x158210 x158211 x158212 x158213 x158214 x158215 x158216 x158217 x158218 x158219 x158220 x158221 x158222 x158223 x158224 x158225 x158226 x158227 x158228 x158229 ') INSERT INTO rt (id, gid, title) VALUES (1583, 11, 'x15830 x15831 x15832 x15833 x15834 x15835 x15836 x15837 x15838 x15839 x158310 x158311 x158312 x158313 x158314 x158315 x158316 x158317 x158318 x158319 x158320 x158321 x158322 x158323 x158324 x158325 x158326 x158327 x158328 x158329 ') INSERT INTO rt (id, gid, title) VALUES (1584, 11, 'x15840 x15841 x15842 x15843 x15844 x15845 x15846 x15847 x15848 x15849 x158410 x158411 x158412 x158413 x158414 x158415 x158416 x158417 x158418 x158419 x158420 x158421 x158422 x158423 x158424 x158425 x158426 x158427 x158428 x158429 ') INSERT INTO rt (id, gid, title) VALUES (1585, 11, 'x15850 x15851 x15852 x15853 x15854 x15855 x15856 x15857 x15858 x15859 x158510 x158511 x158512 x158513 x158514 x158515 x158516 x158517 x158518 x158519 x158520 x158521 x158522 x158523 x158524 x158525 x158526 x158527 x158528 x158529 ') INSERT INTO rt (id, gid, title) VALUES (1586, 11, 'x15860 x15861 x15862 x15863 x15864 x15865 x15866 x15867 x15868 x15869 x158610 x158611 x158612 x158613 x158614 x158615 x158616 x158617 x158618 x158619 x158620 x158621 x158622 x158623 x158624 x158625 x158626 x158627 x158628 x158629 ') INSERT INTO rt (id, gid, title) VALUES (1587, 11, 'x15870 x15871 x15872 x15873 x15874 x15875 x15876 x15877 x15878 x15879 x158710 x158711 x158712 x158713 x158714 x158715 x158716 x158717 x158718 x158719 x158720 x158721 x158722 x158723 x158724 x158725 x158726 x158727 x158728 x158729 ') INSERT INTO rt (id, gid, title) VALUES (1588, 11, 'x15880 x15881 x15882 x15883 x15884 x15885 x15886 x15887 x15888 x15889 x158810 x158811 x158812 x158813 x158814 x158815 x158816 x158817 x158818 x158819 x158820 x158821 x158822 x158823 x158824 x158825 x158826 x158827 x158828 x158829 ') INSERT INTO rt (id, gid, title) VALUES (1589, 11, 'x15890 x15891 x15892 x15893 x15894 x15895 x15896 x15897 x15898 x15899 x158910 x158911 x158912 x158913 x158914 x158915 x158916 x158917 x158918 x158919 x158920 x158921 x158922 x158923 x158924 x158925 x158926 x158927 x158928 x158929 ') INSERT INTO rt (id, gid, title) VALUES (1590, 11, 'x15900 x15901 x15902 x15903 x15904 x15905 x15906 x15907 x15908 x15909 x159010 x159011 x159012 x159013 x159014 x159015 x159016 x159017 x159018 x159019 x159020 x159021 x159022 x159023 x159024 x159025 x159026 x159027 x159028 x159029 ') INSERT INTO rt (id, gid, title) VALUES (1591, 11, 'x15910 x15911 x15912 x15913 x15914 x15915 x15916 x15917 x15918 x15919 x159110 x159111 x159112 x159113 x159114 x159115 x159116 x159117 x159118 x159119 x159120 x159121 x159122 x159123 x159124 x159125 x159126 x159127 x159128 x159129 ') INSERT INTO rt (id, gid, title) VALUES (1592, 11, 'x15920 x15921 x15922 x15923 x15924 x15925 x15926 x15927 x15928 x15929 x159210 x159211 x159212 x159213 x159214 x159215 x159216 x159217 x159218 x159219 x159220 x159221 x159222 x159223 x159224 x159225 x159226 x159227 x159228 x159229 ') INSERT INTO rt (id, gid, title) VALUES (1593, 11, 'x15930 x15931 x15932 x15933 x15934 x15935 x15936 x15937 x15938 x15939 x159310 x159311 x159312 x159313 x159314 x159315 x159316 x159317 x159318 x159319 x159320 x159321 x159322 x159323 x159324 x159325 x159326 x159327 x159328 x159329 ') INSERT INTO rt (id, gid, title) VALUES (1594, 11, 'x15940 x15941 x15942 x15943 x15944 x15945 x15946 x15947 x15948 x15949 x159410 x159411 x159412 x159413 x159414 x159415 x159416 x159417 x159418 x159419 x159420 x159421 x159422 x159423 x159424 x159425 x159426 x159427 x159428 x159429 ') INSERT INTO rt (id, gid, title) VALUES (1595, 11, 'x15950 x15951 x15952 x15953 x15954 x15955 x15956 x15957 x15958 x15959 x159510 x159511 x159512 x159513 x159514 x159515 x159516 x159517 x159518 x159519 x159520 x159521 x159522 x159523 x159524 x159525 x159526 x159527 x159528 x159529 ') INSERT INTO rt (id, gid, title) VALUES (1596, 11, 'x15960 x15961 x15962 x15963 x15964 x15965 x15966 x15967 x15968 x15969 x159610 x159611 x159612 x159613 x159614 x159615 x159616 x159617 x159618 x159619 x159620 x159621 x159622 x159623 x159624 x159625 x159626 x159627 x159628 x159629 ') INSERT INTO rt (id, gid, title) VALUES (1597, 11, 'x15970 x15971 x15972 x15973 x15974 x15975 x15976 x15977 x15978 x15979 x159710 x159711 x159712 x159713 x159714 x159715 x159716 x159717 x159718 x159719 x159720 x159721 x159722 x159723 x159724 x159725 x159726 x159727 x159728 x159729 ') INSERT INTO rt (id, gid, title) VALUES (1598, 11, 'x15980 x15981 x15982 x15983 x15984 x15985 x15986 x15987 x15988 x15989 x159810 x159811 x159812 x159813 x159814 x159815 x159816 x159817 x159818 x159819 x159820 x159821 x159822 x159823 x159824 x159825 x159826 x159827 x159828 x159829 ') INSERT INTO rt (id, gid, title) VALUES (1599, 11, 'x15990 x15991 x15992 x15993 x15994 x15995 x15996 x15997 x15998 x15999 x159910 x159911 x159912 x159913 x159914 x159915 x159916 x159917 x159918 x159919 x159920 x159921 x159922 x159923 x159924 x159925 x159926 x159927 x159928 x159929 ') INSERT INTO rt (id, gid, title) VALUES (1600, 11, 'x16000 x16001 x16002 x16003 x16004 x16005 x16006 x16007 x16008 x16009 x160010 x160011 x160012 x160013 x160014 x160015 x160016 x160017 x160018 x160019 x160020 x160021 x160022 x160023 x160024 x160025 x160026 x160027 x160028 x160029 ') INSERT INTO rt (id, gid, title) VALUES (1601, 11, 'x16010 x16011 x16012 x16013 x16014 x16015 x16016 x16017 x16018 x16019 x160110 x160111 x160112 x160113 x160114 x160115 x160116 x160117 x160118 x160119 x160120 x160121 x160122 x160123 x160124 x160125 x160126 x160127 x160128 x160129 ') INSERT INTO rt (id, gid, title) VALUES (1602, 11, 'x16020 x16021 x16022 x16023 x16024 x16025 x16026 x16027 x16028 x16029 x160210 x160211 x160212 x160213 x160214 x160215 x160216 x160217 x160218 x160219 x160220 x160221 x160222 x160223 x160224 x160225 x160226 x160227 x160228 x160229 ') INSERT INTO rt (id, gid, title) VALUES (1603, 11, 'x16030 x16031 x16032 x16033 x16034 x16035 x16036 x16037 x16038 x16039 x160310 x160311 x160312 x160313 x160314 x160315 x160316 x160317 x160318 x160319 x160320 x160321 x160322 x160323 x160324 x160325 x160326 x160327 x160328 x160329 ') INSERT INTO rt (id, gid, title) VALUES (1604, 11, 'x16040 x16041 x16042 x16043 x16044 x16045 x16046 x16047 x16048 x16049 x160410 x160411 x160412 x160413 x160414 x160415 x160416 x160417 x160418 x160419 x160420 x160421 x160422 x160423 x160424 x160425 x160426 x160427 x160428 x160429 ') INSERT INTO rt (id, gid, title) VALUES (1605, 11, 'x16050 x16051 x16052 x16053 x16054 x16055 x16056 x16057 x16058 x16059 x160510 x160511 x160512 x160513 x160514 x160515 x160516 x160517 x160518 x160519 x160520 x160521 x160522 x160523 x160524 x160525 x160526 x160527 x160528 x160529 ') INSERT INTO rt (id, gid, title) VALUES (1606, 11, 'x16060 x16061 x16062 x16063 x16064 x16065 x16066 x16067 x16068 x16069 x160610 x160611 x160612 x160613 x160614 x160615 x160616 x160617 x160618 x160619 x160620 x160621 x160622 x160623 x160624 x160625 x160626 x160627 x160628 x160629 ') INSERT INTO rt (id, gid, title) VALUES (1607, 11, 'x16070 x16071 x16072 x16073 x16074 x16075 x16076 x16077 x16078 x16079 x160710 x160711 x160712 x160713 x160714 x160715 x160716 x160717 x160718 x160719 x160720 x160721 x160722 x160723 x160724 x160725 x160726 x160727 x160728 x160729 ') INSERT INTO rt (id, gid, title) VALUES (1608, 11, 'x16080 x16081 x16082 x16083 x16084 x16085 x16086 x16087 x16088 x16089 x160810 x160811 x160812 x160813 x160814 x160815 x160816 x160817 x160818 x160819 x160820 x160821 x160822 x160823 x160824 x160825 x160826 x160827 x160828 x160829 ') INSERT INTO rt (id, gid, title) VALUES (1609, 11, 'x16090 x16091 x16092 x16093 x16094 x16095 x16096 x16097 x16098 x16099 x160910 x160911 x160912 x160913 x160914 x160915 x160916 x160917 x160918 x160919 x160920 x160921 x160922 x160923 x160924 x160925 x160926 x160927 x160928 x160929 ') INSERT INTO rt (id, gid, title) VALUES (1610, 11, 'x16100 x16101 x16102 x16103 x16104 x16105 x16106 x16107 x16108 x16109 x161010 x161011 x161012 x161013 x161014 x161015 x161016 x161017 x161018 x161019 x161020 x161021 x161022 x161023 x161024 x161025 x161026 x161027 x161028 x161029 ') INSERT INTO rt (id, gid, title) VALUES (1611, 11, 'x16110 x16111 x16112 x16113 x16114 x16115 x16116 x16117 x16118 x16119 x161110 x161111 x161112 x161113 x161114 x161115 x161116 x161117 x161118 x161119 x161120 x161121 x161122 x161123 x161124 x161125 x161126 x161127 x161128 x161129 ') INSERT INTO rt (id, gid, title) VALUES (1612, 11, 'x16120 x16121 x16122 x16123 x16124 x16125 x16126 x16127 x16128 x16129 x161210 x161211 x161212 x161213 x161214 x161215 x161216 x161217 x161218 x161219 x161220 x161221 x161222 x161223 x161224 x161225 x161226 x161227 x161228 x161229 ') INSERT INTO rt (id, gid, title) VALUES (1613, 11, 'x16130 x16131 x16132 x16133 x16134 x16135 x16136 x16137 x16138 x16139 x161310 x161311 x161312 x161313 x161314 x161315 x161316 x161317 x161318 x161319 x161320 x161321 x161322 x161323 x161324 x161325 x161326 x161327 x161328 x161329 ') INSERT INTO rt (id, gid, title) VALUES (1614, 11, 'x16140 x16141 x16142 x16143 x16144 x16145 x16146 x16147 x16148 x16149 x161410 x161411 x161412 x161413 x161414 x161415 x161416 x161417 x161418 x161419 x161420 x161421 x161422 x161423 x161424 x161425 x161426 x161427 x161428 x161429 ') INSERT INTO rt (id, gid, title) VALUES (1615, 11, 'x16150 x16151 x16152 x16153 x16154 x16155 x16156 x16157 x16158 x16159 x161510 x161511 x161512 x161513 x161514 x161515 x161516 x161517 x161518 x161519 x161520 x161521 x161522 x161523 x161524 x161525 x161526 x161527 x161528 x161529 ') INSERT INTO rt (id, gid, title) VALUES (1616, 11, 'x16160 x16161 x16162 x16163 x16164 x16165 x16166 x16167 x16168 x16169 x161610 x161611 x161612 x161613 x161614 x161615 x161616 x161617 x161618 x161619 x161620 x161621 x161622 x161623 x161624 x161625 x161626 x161627 x161628 x161629 ') INSERT INTO rt (id, gid, title) VALUES (1617, 11, 'x16170 x16171 x16172 x16173 x16174 x16175 x16176 x16177 x16178 x16179 x161710 x161711 x161712 x161713 x161714 x161715 x161716 x161717 x161718 x161719 x161720 x161721 x161722 x161723 x161724 x161725 x161726 x161727 x161728 x161729 ') INSERT INTO rt (id, gid, title) VALUES (1618, 11, 'x16180 x16181 x16182 x16183 x16184 x16185 x16186 x16187 x16188 x16189 x161810 x161811 x161812 x161813 x161814 x161815 x161816 x161817 x161818 x161819 x161820 x161821 x161822 x161823 x161824 x161825 x161826 x161827 x161828 x161829 ') INSERT INTO rt (id, gid, title) VALUES (1619, 11, 'x16190 x16191 x16192 x16193 x16194 x16195 x16196 x16197 x16198 x16199 x161910 x161911 x161912 x161913 x161914 x161915 x161916 x161917 x161918 x161919 x161920 x161921 x161922 x161923 x161924 x161925 x161926 x161927 x161928 x161929 ') INSERT INTO rt (id, gid, title) VALUES (1620, 11, 'x16200 x16201 x16202 x16203 x16204 x16205 x16206 x16207 x16208 x16209 x162010 x162011 x162012 x162013 x162014 x162015 x162016 x162017 x162018 x162019 x162020 x162021 x162022 x162023 x162024 x162025 x162026 x162027 x162028 x162029 ') INSERT INTO rt (id, gid, title) VALUES (1621, 11, 'x16210 x16211 x16212 x16213 x16214 x16215 x16216 x16217 x16218 x16219 x162110 x162111 x162112 x162113 x162114 x162115 x162116 x162117 x162118 x162119 x162120 x162121 x162122 x162123 x162124 x162125 x162126 x162127 x162128 x162129 ') INSERT INTO rt (id, gid, title) VALUES (1622, 11, 'x16220 x16221 x16222 x16223 x16224 x16225 x16226 x16227 x16228 x16229 x162210 x162211 x162212 x162213 x162214 x162215 x162216 x162217 x162218 x162219 x162220 x162221 x162222 x162223 x162224 x162225 x162226 x162227 x162228 x162229 ') INSERT INTO rt (id, gid, title) VALUES (1623, 11, 'x16230 x16231 x16232 x16233 x16234 x16235 x16236 x16237 x16238 x16239 x162310 x162311 x162312 x162313 x162314 x162315 x162316 x162317 x162318 x162319 x162320 x162321 x162322 x162323 x162324 x162325 x162326 x162327 x162328 x162329 ') INSERT INTO rt (id, gid, title) VALUES (1624, 11, 'x16240 x16241 x16242 x16243 x16244 x16245 x16246 x16247 x16248 x16249 x162410 x162411 x162412 x162413 x162414 x162415 x162416 x162417 x162418 x162419 x162420 x162421 x162422 x162423 x162424 x162425 x162426 x162427 x162428 x162429 ') INSERT INTO rt (id, gid, title) VALUES (1625, 11, 'x16250 x16251 x16252 x16253 x16254 x16255 x16256 x16257 x16258 x16259 x162510 x162511 x162512 x162513 x162514 x162515 x162516 x162517 x162518 x162519 x162520 x162521 x162522 x162523 x162524 x162525 x162526 x162527 x162528 x162529 ') INSERT INTO rt (id, gid, title) VALUES (1626, 11, 'x16260 x16261 x16262 x16263 x16264 x16265 x16266 x16267 x16268 x16269 x162610 x162611 x162612 x162613 x162614 x162615 x162616 x162617 x162618 x162619 x162620 x162621 x162622 x162623 x162624 x162625 x162626 x162627 x162628 x162629 ') INSERT INTO rt (id, gid, title) VALUES (1627, 11, 'x16270 x16271 x16272 x16273 x16274 x16275 x16276 x16277 x16278 x16279 x162710 x162711 x162712 x162713 x162714 x162715 x162716 x162717 x162718 x162719 x162720 x162721 x162722 x162723 x162724 x162725 x162726 x162727 x162728 x162729 ') INSERT INTO rt (id, gid, title) VALUES (1628, 11, 'x16280 x16281 x16282 x16283 x16284 x16285 x16286 x16287 x16288 x16289 x162810 x162811 x162812 x162813 x162814 x162815 x162816 x162817 x162818 x162819 x162820 x162821 x162822 x162823 x162824 x162825 x162826 x162827 x162828 x162829 ') INSERT INTO rt (id, gid, title) VALUES (1629, 11, 'x16290 x16291 x16292 x16293 x16294 x16295 x16296 x16297 x16298 x16299 x162910 x162911 x162912 x162913 x162914 x162915 x162916 x162917 x162918 x162919 x162920 x162921 x162922 x162923 x162924 x162925 x162926 x162927 x162928 x162929 ') INSERT INTO rt (id, gid, title) VALUES (1630, 11, 'x16300 x16301 x16302 x16303 x16304 x16305 x16306 x16307 x16308 x16309 x163010 x163011 x163012 x163013 x163014 x163015 x163016 x163017 x163018 x163019 x163020 x163021 x163022 x163023 x163024 x163025 x163026 x163027 x163028 x163029 ') INSERT INTO rt (id, gid, title) VALUES (1631, 11, 'x16310 x16311 x16312 x16313 x16314 x16315 x16316 x16317 x16318 x16319 x163110 x163111 x163112 x163113 x163114 x163115 x163116 x163117 x163118 x163119 x163120 x163121 x163122 x163123 x163124 x163125 x163126 x163127 x163128 x163129 ') INSERT INTO rt (id, gid, title) VALUES (1632, 11, 'x16320 x16321 x16322 x16323 x16324 x16325 x16326 x16327 x16328 x16329 x163210 x163211 x163212 x163213 x163214 x163215 x163216 x163217 x163218 x163219 x163220 x163221 x163222 x163223 x163224 x163225 x163226 x163227 x163228 x163229 ') INSERT INTO rt (id, gid, title) VALUES (1633, 11, 'x16330 x16331 x16332 x16333 x16334 x16335 x16336 x16337 x16338 x16339 x163310 x163311 x163312 x163313 x163314 x163315 x163316 x163317 x163318 x163319 x163320 x163321 x163322 x163323 x163324 x163325 x163326 x163327 x163328 x163329 ') INSERT INTO rt (id, gid, title) VALUES (1634, 11, 'x16340 x16341 x16342 x16343 x16344 x16345 x16346 x16347 x16348 x16349 x163410 x163411 x163412 x163413 x163414 x163415 x163416 x163417 x163418 x163419 x163420 x163421 x163422 x163423 x163424 x163425 x163426 x163427 x163428 x163429 ') INSERT INTO rt (id, gid, title) VALUES (1635, 11, 'x16350 x16351 x16352 x16353 x16354 x16355 x16356 x16357 x16358 x16359 x163510 x163511 x163512 x163513 x163514 x163515 x163516 x163517 x163518 x163519 x163520 x163521 x163522 x163523 x163524 x163525 x163526 x163527 x163528 x163529 ') INSERT INTO rt (id, gid, title) VALUES (1636, 11, 'x16360 x16361 x16362 x16363 x16364 x16365 x16366 x16367 x16368 x16369 x163610 x163611 x163612 x163613 x163614 x163615 x163616 x163617 x163618 x163619 x163620 x163621 x163622 x163623 x163624 x163625 x163626 x163627 x163628 x163629 ') INSERT INTO rt (id, gid, title) VALUES (1637, 11, 'x16370 x16371 x16372 x16373 x16374 x16375 x16376 x16377 x16378 x16379 x163710 x163711 x163712 x163713 x163714 x163715 x163716 x163717 x163718 x163719 x163720 x163721 x163722 x163723 x163724 x163725 x163726 x163727 x163728 x163729 ') INSERT INTO rt (id, gid, title) VALUES (1638, 11, 'x16380 x16381 x16382 x16383 x16384 x16385 x16386 x16387 x16388 x16389 x163810 x163811 x163812 x163813 x163814 x163815 x163816 x163817 x163818 x163819 x163820 x163821 x163822 x163823 x163824 x163825 x163826 x163827 x163828 x163829 ') INSERT INTO rt (id, gid, title) VALUES (1639, 11, 'x16390 x16391 x16392 x16393 x16394 x16395 x16396 x16397 x16398 x16399 x163910 x163911 x163912 x163913 x163914 x163915 x163916 x163917 x163918 x163919 x163920 x163921 x163922 x163923 x163924 x163925 x163926 x163927 x163928 x163929 ') INSERT INTO rt (id, gid, title) VALUES (1640, 11, 'x16400 x16401 x16402 x16403 x16404 x16405 x16406 x16407 x16408 x16409 x164010 x164011 x164012 x164013 x164014 x164015 x164016 x164017 x164018 x164019 x164020 x164021 x164022 x164023 x164024 x164025 x164026 x164027 x164028 x164029 ') INSERT INTO rt (id, gid, title) VALUES (1641, 11, 'x16410 x16411 x16412 x16413 x16414 x16415 x16416 x16417 x16418 x16419 x164110 x164111 x164112 x164113 x164114 x164115 x164116 x164117 x164118 x164119 x164120 x164121 x164122 x164123 x164124 x164125 x164126 x164127 x164128 x164129 ') INSERT INTO rt (id, gid, title) VALUES (1642, 11, 'x16420 x16421 x16422 x16423 x16424 x16425 x16426 x16427 x16428 x16429 x164210 x164211 x164212 x164213 x164214 x164215 x164216 x164217 x164218 x164219 x164220 x164221 x164222 x164223 x164224 x164225 x164226 x164227 x164228 x164229 ') INSERT INTO rt (id, gid, title) VALUES (1643, 11, 'x16430 x16431 x16432 x16433 x16434 x16435 x16436 x16437 x16438 x16439 x164310 x164311 x164312 x164313 x164314 x164315 x164316 x164317 x164318 x164319 x164320 x164321 x164322 x164323 x164324 x164325 x164326 x164327 x164328 x164329 ') INSERT INTO rt (id, gid, title) VALUES (1644, 11, 'x16440 x16441 x16442 x16443 x16444 x16445 x16446 x16447 x16448 x16449 x164410 x164411 x164412 x164413 x164414 x164415 x164416 x164417 x164418 x164419 x164420 x164421 x164422 x164423 x164424 x164425 x164426 x164427 x164428 x164429 ') INSERT INTO rt (id, gid, title) VALUES (1645, 11, 'x16450 x16451 x16452 x16453 x16454 x16455 x16456 x16457 x16458 x16459 x164510 x164511 x164512 x164513 x164514 x164515 x164516 x164517 x164518 x164519 x164520 x164521 x164522 x164523 x164524 x164525 x164526 x164527 x164528 x164529 ') INSERT INTO rt (id, gid, title) VALUES (1646, 11, 'x16460 x16461 x16462 x16463 x16464 x16465 x16466 x16467 x16468 x16469 x164610 x164611 x164612 x164613 x164614 x164615 x164616 x164617 x164618 x164619 x164620 x164621 x164622 x164623 x164624 x164625 x164626 x164627 x164628 x164629 ') INSERT INTO rt (id, gid, title) VALUES (1647, 11, 'x16470 x16471 x16472 x16473 x16474 x16475 x16476 x16477 x16478 x16479 x164710 x164711 x164712 x164713 x164714 x164715 x164716 x164717 x164718 x164719 x164720 x164721 x164722 x164723 x164724 x164725 x164726 x164727 x164728 x164729 ') INSERT INTO rt (id, gid, title) VALUES (1648, 11, 'x16480 x16481 x16482 x16483 x16484 x16485 x16486 x16487 x16488 x16489 x164810 x164811 x164812 x164813 x164814 x164815 x164816 x164817 x164818 x164819 x164820 x164821 x164822 x164823 x164824 x164825 x164826 x164827 x164828 x164829 ') INSERT INTO rt (id, gid, title) VALUES (1649, 11, 'x16490 x16491 x16492 x16493 x16494 x16495 x16496 x16497 x16498 x16499 x164910 x164911 x164912 x164913 x164914 x164915 x164916 x164917 x164918 x164919 x164920 x164921 x164922 x164923 x164924 x164925 x164926 x164927 x164928 x164929 ') INSERT INTO rt (id, gid, title) VALUES (1650, 11, 'x16500 x16501 x16502 x16503 x16504 x16505 x16506 x16507 x16508 x16509 x165010 x165011 x165012 x165013 x165014 x165015 x165016 x165017 x165018 x165019 x165020 x165021 x165022 x165023 x165024 x165025 x165026 x165027 x165028 x165029 ') INSERT INTO rt (id, gid, title) VALUES (1651, 11, 'x16510 x16511 x16512 x16513 x16514 x16515 x16516 x16517 x16518 x16519 x165110 x165111 x165112 x165113 x165114 x165115 x165116 x165117 x165118 x165119 x165120 x165121 x165122 x165123 x165124 x165125 x165126 x165127 x165128 x165129 ') INSERT INTO rt (id, gid, title) VALUES (1652, 11, 'x16520 x16521 x16522 x16523 x16524 x16525 x16526 x16527 x16528 x16529 x165210 x165211 x165212 x165213 x165214 x165215 x165216 x165217 x165218 x165219 x165220 x165221 x165222 x165223 x165224 x165225 x165226 x165227 x165228 x165229 ') INSERT INTO rt (id, gid, title) VALUES (1653, 11, 'x16530 x16531 x16532 x16533 x16534 x16535 x16536 x16537 x16538 x16539 x165310 x165311 x165312 x165313 x165314 x165315 x165316 x165317 x165318 x165319 x165320 x165321 x165322 x165323 x165324 x165325 x165326 x165327 x165328 x165329 ') INSERT INTO rt (id, gid, title) VALUES (1654, 11, 'x16540 x16541 x16542 x16543 x16544 x16545 x16546 x16547 x16548 x16549 x165410 x165411 x165412 x165413 x165414 x165415 x165416 x165417 x165418 x165419 x165420 x165421 x165422 x165423 x165424 x165425 x165426 x165427 x165428 x165429 ') INSERT INTO rt (id, gid, title) VALUES (1655, 11, 'x16550 x16551 x16552 x16553 x16554 x16555 x16556 x16557 x16558 x16559 x165510 x165511 x165512 x165513 x165514 x165515 x165516 x165517 x165518 x165519 x165520 x165521 x165522 x165523 x165524 x165525 x165526 x165527 x165528 x165529 ') INSERT INTO rt (id, gid, title) VALUES (1656, 11, 'x16560 x16561 x16562 x16563 x16564 x16565 x16566 x16567 x16568 x16569 x165610 x165611 x165612 x165613 x165614 x165615 x165616 x165617 x165618 x165619 x165620 x165621 x165622 x165623 x165624 x165625 x165626 x165627 x165628 x165629 ') INSERT INTO rt (id, gid, title) VALUES (1657, 11, 'x16570 x16571 x16572 x16573 x16574 x16575 x16576 x16577 x16578 x16579 x165710 x165711 x165712 x165713 x165714 x165715 x165716 x165717 x165718 x165719 x165720 x165721 x165722 x165723 x165724 x165725 x165726 x165727 x165728 x165729 ') INSERT INTO rt (id, gid, title) VALUES (1658, 11, 'x16580 x16581 x16582 x16583 x16584 x16585 x16586 x16587 x16588 x16589 x165810 x165811 x165812 x165813 x165814 x165815 x165816 x165817 x165818 x165819 x165820 x165821 x165822 x165823 x165824 x165825 x165826 x165827 x165828 x165829 ') INSERT INTO rt (id, gid, title) VALUES (1659, 11, 'x16590 x16591 x16592 x16593 x16594 x16595 x16596 x16597 x16598 x16599 x165910 x165911 x165912 x165913 x165914 x165915 x165916 x165917 x165918 x165919 x165920 x165921 x165922 x165923 x165924 x165925 x165926 x165927 x165928 x165929 ') UPDATE i1, i2 SET gid=333 WHERE id IN ( 2, 102 ) UPDATE i1, rt SET gid=333 WHERE id IN ( 3, 1003, 1333 ) SELECT * FROM i1, i2, rt WHERE id IN ( 1,2,3,4, 101,102,103,104, 1001,1002,1003,1004, 1331,1332,1333,1334, 2001, 2002, 2003, 2004 ) INSERT INTO rt (id, gid, title) VALUES (2000, 11, 'x20000 x20001 x20002 x20003 x20004 x20005 x20006 x20007 x20008 x20009 x200010 x200011 x200012 x200013 x200014 x200015 x200016 x200017 x200018 x200019 x200020 x200021 x200022 x200023 x200024 x200025 x200026 x200027 x200028 x200029 ') INSERT INTO rt (id, gid, title) VALUES (2001, 11, 'x20010 x20011 x20012 x20013 x20014 x20015 x20016 x20017 x20018 x20019 x200110 x200111 x200112 x200113 x200114 x200115 x200116 x200117 x200118 x200119 x200120 x200121 x200122 x200123 x200124 x200125 x200126 x200127 x200128 x200129 ') INSERT INTO rt (id, gid, title) VALUES (2002, 11, 'x20020 x20021 x20022 x20023 x20024 x20025 x20026 x20027 x20028 x20029 x200210 x200211 x200212 x200213 x200214 x200215 x200216 x200217 x200218 x200219 x200220 x200221 x200222 x200223 x200224 x200225 x200226 x200227 x200228 x200229 ') INSERT INTO rt (id, gid, title) VALUES (2003, 11, 'x20030 x20031 x20032 x20033 x20034 x20035 x20036 x20037 x20038 x20039 x200310 x200311 x200312 x200313 x200314 x200315 x200316 x200317 x200318 x200319 x200320 x200321 x200322 x200323 x200324 x200325 x200326 x200327 x200328 x200329 ') INSERT INTO rt (id, gid, title) VALUES (2004, 11, 'x20040 x20041 x20042 x20043 x20044 x20045 x20046 x20047 x20048 x20049 x200410 x200411 x200412 x200413 x200414 x200415 x200416 x200417 x200418 x200419 x200420 x200421 x200422 x200423 x200424 x200425 x200426 x200427 x200428 x200429 ') INSERT INTO rt (id, gid, title) VALUES (2005, 11, 'x20050 x20051 x20052 x20053 x20054 x20055 x20056 x20057 x20058 x20059 x200510 x200511 x200512 x200513 x200514 x200515 x200516 x200517 x200518 x200519 x200520 x200521 x200522 x200523 x200524 x200525 x200526 x200527 x200528 x200529 ') INSERT INTO rt (id, gid, title) VALUES (2006, 11, 'x20060 x20061 x20062 x20063 x20064 x20065 x20066 x20067 x20068 x20069 x200610 x200611 x200612 x200613 x200614 x200615 x200616 x200617 x200618 x200619 x200620 x200621 x200622 x200623 x200624 x200625 x200626 x200627 x200628 x200629 ') INSERT INTO rt (id, gid, title) VALUES (2007, 11, 'x20070 x20071 x20072 x20073 x20074 x20075 x20076 x20077 x20078 x20079 x200710 x200711 x200712 x200713 x200714 x200715 x200716 x200717 x200718 x200719 x200720 x200721 x200722 x200723 x200724 x200725 x200726 x200727 x200728 x200729 ') INSERT INTO rt (id, gid, title) VALUES (2008, 11, 'x20080 x20081 x20082 x20083 x20084 x20085 x20086 x20087 x20088 x20089 x200810 x200811 x200812 x200813 x200814 x200815 x200816 x200817 x200818 x200819 x200820 x200821 x200822 x200823 x200824 x200825 x200826 x200827 x200828 x200829 ') INSERT INTO rt (id, gid, title) VALUES (2009, 11, 'x20090 x20091 x20092 x20093 x20094 x20095 x20096 x20097 x20098 x20099 x200910 x200911 x200912 x200913 x200914 x200915 x200916 x200917 x200918 x200919 x200920 x200921 x200922 x200923 x200924 x200925 x200926 x200927 x200928 x200929 ') UPDATE rt SET gid=444 WHERE id IN ( 3, 1003, 1333, 2003 ) SELECT * FROM i1, i2, rt WHERE id IN ( 1,2,3,4, 101,102,103,104, 1001,1002,1003,1004, 1331,1332,1333,1334, 2001, 2002, 2003, 2004 ) SET GLOBAL @var1 = (3,4,12,13) SELECT * FROM dist SELECT * FROM dist WHERE id in @var1 RECONNECT SET GLOBAL @var1 = (3,4,12,13) RECONNECT SELECT * FROM dist WHERE id in @var1 SET GLOBAL @var1 = (1,4) RECONNECT SET GLOBAL @var1 = (11,12) RECONNECT SELECT * FROM dist WHERE id in @var1 SET INDEX dist2 GLOBAL @var2 = (1,4,11,12) SELECT * FROM dist2 WHERE id in @var2 SELECT * FROM block1 WHERE id in @var3 SET INDEX dist GLOBAL @var3 = (1,4,11,12) SELECT * FROM dist WHERE id in @var3 SELECT * FROM block1 WHERE id in @var3 CREATE TABLE test_table ( id INTEGER PRIMARY KEY NOT NULL AUTO_INCREMENT, group_id INTEGER NOT NULL, title VARCHAR(255) NOT NULL, mva VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table ( id, group_id, title, mva ) VALUES ( 1, 1, 'test one', '10 11' ), ( 2, 1, 'test two', '10 11' ), ( 3, 2, 'test three', '10 11' ), ( 4, 2, 'test four', '10 11' ) sphinx-2.2.11-release/test/test_039/model.bin0000644000175000017500000072132712743402012020216 0ustar alexeyalexeya:1:{i:0;a:696:{i:0;a:3:{s:8:"sphinxql";s:18:"SELECT * FROM dist";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:1:"1";s:8:"group_id";s:1:"1";s:3:"mva";s:5:"10,11";}i:1;a:3:{s:2:"id";s:1:"2";s:8:"group_id";s:1:"1";s:3:"mva";s:5:"10,11";}i:2;a:3:{s:2:"id";s:1:"3";s:8:"group_id";s:1:"2";s:3:"mva";s:5:"10,11";}i:3;a:3:{s:2:"id";s:1:"4";s:8:"group_id";s:1:"2";s:3:"mva";s:5:"10,11";}i:4;a:3:{s:2:"id";s:2:"11";s:8:"group_id";s:1:"1";s:3:"mva";s:5:"10,11";}i:5;a:3:{s:2:"id";s:2:"12";s:8:"group_id";s:1:"1";s:3:"mva";s:5:"10,11";}i:6;a:3:{s:2:"id";s:2:"13";s:8:"group_id";s:1:"2";s:3:"mva";s:5:"10,11";}i:7;a:3:{s:2:"id";s:2:"14";s:8:"group_id";s:1:"2";s:3:"mva";s:5:"10,11";}}}i:1;a:2:{s:8:"sphinxql";s:40:"UPDATE dist SET group_id=123 WHERE id=11";s:14:"total_affected";i:1;}i:2;a:3:{s:8:"sphinxql";s:18:"SELECT * FROM dist";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:1:"1";s:8:"group_id";s:1:"1";s:3:"mva";s:5:"10,11";}i:1;a:3:{s:2:"id";s:1:"2";s:8:"group_id";s:1:"1";s:3:"mva";s:5:"10,11";}i:2;a:3:{s:2:"id";s:1:"3";s:8:"group_id";s:1:"2";s:3:"mva";s:5:"10,11";}i:3;a:3:{s:2:"id";s:1:"4";s:8:"group_id";s:1:"2";s:3:"mva";s:5:"10,11";}i:4;a:3:{s:2:"id";s:2:"11";s:8:"group_id";s:3:"123";s:3:"mva";s:5:"10,11";}i:5;a:3:{s:2:"id";s:2:"12";s:8:"group_id";s:1:"1";s:3:"mva";s:5:"10,11";}i:6;a:3:{s:2:"id";s:2:"13";s:8:"group_id";s:1:"2";s:3:"mva";s:5:"10,11";}i:7;a:3:{s:2:"id";s:2:"14";s:8:"group_id";s:1:"2";s:3:"mva";s:5:"10,11";}}}i:3;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1000, 11, 'x10000 x10001 x10002 x10003 x10004 x10005 x10006 x10007 x10008 x10009 x100010 x100011 x100012 x100013 x100014 x100015 x100016 x100017 x100018 x100019 x100020 x100021 x100022 x100023 x100024 x100025 x100026 x100027 x100028 x100029 ')";s:14:"total_affected";i:1;}i:4;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1001, 11, 'x10010 x10011 x10012 x10013 x10014 x10015 x10016 x10017 x10018 x10019 x100110 x100111 x100112 x100113 x100114 x100115 x100116 x100117 x100118 x100119 x100120 x100121 x100122 x100123 x100124 x100125 x100126 x100127 x100128 x100129 ')";s:14:"total_affected";i:1;}i:5;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1002, 11, 'x10020 x10021 x10022 x10023 x10024 x10025 x10026 x10027 x10028 x10029 x100210 x100211 x100212 x100213 x100214 x100215 x100216 x100217 x100218 x100219 x100220 x100221 x100222 x100223 x100224 x100225 x100226 x100227 x100228 x100229 ')";s:14:"total_affected";i:1;}i:6;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1003, 11, 'x10030 x10031 x10032 x10033 x10034 x10035 x10036 x10037 x10038 x10039 x100310 x100311 x100312 x100313 x100314 x100315 x100316 x100317 x100318 x100319 x100320 x100321 x100322 x100323 x100324 x100325 x100326 x100327 x100328 x100329 ')";s:14:"total_affected";i:1;}i:7;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1004, 11, 'x10040 x10041 x10042 x10043 x10044 x10045 x10046 x10047 x10048 x10049 x100410 x100411 x100412 x100413 x100414 x100415 x100416 x100417 x100418 x100419 x100420 x100421 x100422 x100423 x100424 x100425 x100426 x100427 x100428 x100429 ')";s:14:"total_affected";i:1;}i:8;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1005, 11, 'x10050 x10051 x10052 x10053 x10054 x10055 x10056 x10057 x10058 x10059 x100510 x100511 x100512 x100513 x100514 x100515 x100516 x100517 x100518 x100519 x100520 x100521 x100522 x100523 x100524 x100525 x100526 x100527 x100528 x100529 ')";s:14:"total_affected";i:1;}i:9;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1006, 11, 'x10060 x10061 x10062 x10063 x10064 x10065 x10066 x10067 x10068 x10069 x100610 x100611 x100612 x100613 x100614 x100615 x100616 x100617 x100618 x100619 x100620 x100621 x100622 x100623 x100624 x100625 x100626 x100627 x100628 x100629 ')";s:14:"total_affected";i:1;}i:10;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1007, 11, 'x10070 x10071 x10072 x10073 x10074 x10075 x10076 x10077 x10078 x10079 x100710 x100711 x100712 x100713 x100714 x100715 x100716 x100717 x100718 x100719 x100720 x100721 x100722 x100723 x100724 x100725 x100726 x100727 x100728 x100729 ')";s:14:"total_affected";i:1;}i:11;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1008, 11, 'x10080 x10081 x10082 x10083 x10084 x10085 x10086 x10087 x10088 x10089 x100810 x100811 x100812 x100813 x100814 x100815 x100816 x100817 x100818 x100819 x100820 x100821 x100822 x100823 x100824 x100825 x100826 x100827 x100828 x100829 ')";s:14:"total_affected";i:1;}i:12;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1009, 11, 'x10090 x10091 x10092 x10093 x10094 x10095 x10096 x10097 x10098 x10099 x100910 x100911 x100912 x100913 x100914 x100915 x100916 x100917 x100918 x100919 x100920 x100921 x100922 x100923 x100924 x100925 x100926 x100927 x100928 x100929 ')";s:14:"total_affected";i:1;}i:13;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1010, 11, 'x10100 x10101 x10102 x10103 x10104 x10105 x10106 x10107 x10108 x10109 x101010 x101011 x101012 x101013 x101014 x101015 x101016 x101017 x101018 x101019 x101020 x101021 x101022 x101023 x101024 x101025 x101026 x101027 x101028 x101029 ')";s:14:"total_affected";i:1;}i:14;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1011, 11, 'x10110 x10111 x10112 x10113 x10114 x10115 x10116 x10117 x10118 x10119 x101110 x101111 x101112 x101113 x101114 x101115 x101116 x101117 x101118 x101119 x101120 x101121 x101122 x101123 x101124 x101125 x101126 x101127 x101128 x101129 ')";s:14:"total_affected";i:1;}i:15;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1012, 11, 'x10120 x10121 x10122 x10123 x10124 x10125 x10126 x10127 x10128 x10129 x101210 x101211 x101212 x101213 x101214 x101215 x101216 x101217 x101218 x101219 x101220 x101221 x101222 x101223 x101224 x101225 x101226 x101227 x101228 x101229 ')";s:14:"total_affected";i:1;}i:16;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1013, 11, 'x10130 x10131 x10132 x10133 x10134 x10135 x10136 x10137 x10138 x10139 x101310 x101311 x101312 x101313 x101314 x101315 x101316 x101317 x101318 x101319 x101320 x101321 x101322 x101323 x101324 x101325 x101326 x101327 x101328 x101329 ')";s:14:"total_affected";i:1;}i:17;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1014, 11, 'x10140 x10141 x10142 x10143 x10144 x10145 x10146 x10147 x10148 x10149 x101410 x101411 x101412 x101413 x101414 x101415 x101416 x101417 x101418 x101419 x101420 x101421 x101422 x101423 x101424 x101425 x101426 x101427 x101428 x101429 ')";s:14:"total_affected";i:1;}i:18;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1015, 11, 'x10150 x10151 x10152 x10153 x10154 x10155 x10156 x10157 x10158 x10159 x101510 x101511 x101512 x101513 x101514 x101515 x101516 x101517 x101518 x101519 x101520 x101521 x101522 x101523 x101524 x101525 x101526 x101527 x101528 x101529 ')";s:14:"total_affected";i:1;}i:19;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1016, 11, 'x10160 x10161 x10162 x10163 x10164 x10165 x10166 x10167 x10168 x10169 x101610 x101611 x101612 x101613 x101614 x101615 x101616 x101617 x101618 x101619 x101620 x101621 x101622 x101623 x101624 x101625 x101626 x101627 x101628 x101629 ')";s:14:"total_affected";i:1;}i:20;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1017, 11, 'x10170 x10171 x10172 x10173 x10174 x10175 x10176 x10177 x10178 x10179 x101710 x101711 x101712 x101713 x101714 x101715 x101716 x101717 x101718 x101719 x101720 x101721 x101722 x101723 x101724 x101725 x101726 x101727 x101728 x101729 ')";s:14:"total_affected";i:1;}i:21;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1018, 11, 'x10180 x10181 x10182 x10183 x10184 x10185 x10186 x10187 x10188 x10189 x101810 x101811 x101812 x101813 x101814 x101815 x101816 x101817 x101818 x101819 x101820 x101821 x101822 x101823 x101824 x101825 x101826 x101827 x101828 x101829 ')";s:14:"total_affected";i:1;}i:22;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1019, 11, 'x10190 x10191 x10192 x10193 x10194 x10195 x10196 x10197 x10198 x10199 x101910 x101911 x101912 x101913 x101914 x101915 x101916 x101917 x101918 x101919 x101920 x101921 x101922 x101923 x101924 x101925 x101926 x101927 x101928 x101929 ')";s:14:"total_affected";i:1;}i:23;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1020, 11, 'x10200 x10201 x10202 x10203 x10204 x10205 x10206 x10207 x10208 x10209 x102010 x102011 x102012 x102013 x102014 x102015 x102016 x102017 x102018 x102019 x102020 x102021 x102022 x102023 x102024 x102025 x102026 x102027 x102028 x102029 ')";s:14:"total_affected";i:1;}i:24;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1021, 11, 'x10210 x10211 x10212 x10213 x10214 x10215 x10216 x10217 x10218 x10219 x102110 x102111 x102112 x102113 x102114 x102115 x102116 x102117 x102118 x102119 x102120 x102121 x102122 x102123 x102124 x102125 x102126 x102127 x102128 x102129 ')";s:14:"total_affected";i:1;}i:25;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1022, 11, 'x10220 x10221 x10222 x10223 x10224 x10225 x10226 x10227 x10228 x10229 x102210 x102211 x102212 x102213 x102214 x102215 x102216 x102217 x102218 x102219 x102220 x102221 x102222 x102223 x102224 x102225 x102226 x102227 x102228 x102229 ')";s:14:"total_affected";i:1;}i:26;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1023, 11, 'x10230 x10231 x10232 x10233 x10234 x10235 x10236 x10237 x10238 x10239 x102310 x102311 x102312 x102313 x102314 x102315 x102316 x102317 x102318 x102319 x102320 x102321 x102322 x102323 x102324 x102325 x102326 x102327 x102328 x102329 ')";s:14:"total_affected";i:1;}i:27;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1024, 11, 'x10240 x10241 x10242 x10243 x10244 x10245 x10246 x10247 x10248 x10249 x102410 x102411 x102412 x102413 x102414 x102415 x102416 x102417 x102418 x102419 x102420 x102421 x102422 x102423 x102424 x102425 x102426 x102427 x102428 x102429 ')";s:14:"total_affected";i:1;}i:28;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1025, 11, 'x10250 x10251 x10252 x10253 x10254 x10255 x10256 x10257 x10258 x10259 x102510 x102511 x102512 x102513 x102514 x102515 x102516 x102517 x102518 x102519 x102520 x102521 x102522 x102523 x102524 x102525 x102526 x102527 x102528 x102529 ')";s:14:"total_affected";i:1;}i:29;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1026, 11, 'x10260 x10261 x10262 x10263 x10264 x10265 x10266 x10267 x10268 x10269 x102610 x102611 x102612 x102613 x102614 x102615 x102616 x102617 x102618 x102619 x102620 x102621 x102622 x102623 x102624 x102625 x102626 x102627 x102628 x102629 ')";s:14:"total_affected";i:1;}i:30;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1027, 11, 'x10270 x10271 x10272 x10273 x10274 x10275 x10276 x10277 x10278 x10279 x102710 x102711 x102712 x102713 x102714 x102715 x102716 x102717 x102718 x102719 x102720 x102721 x102722 x102723 x102724 x102725 x102726 x102727 x102728 x102729 ')";s:14:"total_affected";i:1;}i:31;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1028, 11, 'x10280 x10281 x10282 x10283 x10284 x10285 x10286 x10287 x10288 x10289 x102810 x102811 x102812 x102813 x102814 x102815 x102816 x102817 x102818 x102819 x102820 x102821 x102822 x102823 x102824 x102825 x102826 x102827 x102828 x102829 ')";s:14:"total_affected";i:1;}i:32;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1029, 11, 'x10290 x10291 x10292 x10293 x10294 x10295 x10296 x10297 x10298 x10299 x102910 x102911 x102912 x102913 x102914 x102915 x102916 x102917 x102918 x102919 x102920 x102921 x102922 x102923 x102924 x102925 x102926 x102927 x102928 x102929 ')";s:14:"total_affected";i:1;}i:33;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1030, 11, 'x10300 x10301 x10302 x10303 x10304 x10305 x10306 x10307 x10308 x10309 x103010 x103011 x103012 x103013 x103014 x103015 x103016 x103017 x103018 x103019 x103020 x103021 x103022 x103023 x103024 x103025 x103026 x103027 x103028 x103029 ')";s:14:"total_affected";i:1;}i:34;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1031, 11, 'x10310 x10311 x10312 x10313 x10314 x10315 x10316 x10317 x10318 x10319 x103110 x103111 x103112 x103113 x103114 x103115 x103116 x103117 x103118 x103119 x103120 x103121 x103122 x103123 x103124 x103125 x103126 x103127 x103128 x103129 ')";s:14:"total_affected";i:1;}i:35;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1032, 11, 'x10320 x10321 x10322 x10323 x10324 x10325 x10326 x10327 x10328 x10329 x103210 x103211 x103212 x103213 x103214 x103215 x103216 x103217 x103218 x103219 x103220 x103221 x103222 x103223 x103224 x103225 x103226 x103227 x103228 x103229 ')";s:14:"total_affected";i:1;}i:36;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1033, 11, 'x10330 x10331 x10332 x10333 x10334 x10335 x10336 x10337 x10338 x10339 x103310 x103311 x103312 x103313 x103314 x103315 x103316 x103317 x103318 x103319 x103320 x103321 x103322 x103323 x103324 x103325 x103326 x103327 x103328 x103329 ')";s:14:"total_affected";i:1;}i:37;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1034, 11, 'x10340 x10341 x10342 x10343 x10344 x10345 x10346 x10347 x10348 x10349 x103410 x103411 x103412 x103413 x103414 x103415 x103416 x103417 x103418 x103419 x103420 x103421 x103422 x103423 x103424 x103425 x103426 x103427 x103428 x103429 ')";s:14:"total_affected";i:1;}i:38;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1035, 11, 'x10350 x10351 x10352 x10353 x10354 x10355 x10356 x10357 x10358 x10359 x103510 x103511 x103512 x103513 x103514 x103515 x103516 x103517 x103518 x103519 x103520 x103521 x103522 x103523 x103524 x103525 x103526 x103527 x103528 x103529 ')";s:14:"total_affected";i:1;}i:39;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1036, 11, 'x10360 x10361 x10362 x10363 x10364 x10365 x10366 x10367 x10368 x10369 x103610 x103611 x103612 x103613 x103614 x103615 x103616 x103617 x103618 x103619 x103620 x103621 x103622 x103623 x103624 x103625 x103626 x103627 x103628 x103629 ')";s:14:"total_affected";i:1;}i:40;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1037, 11, 'x10370 x10371 x10372 x10373 x10374 x10375 x10376 x10377 x10378 x10379 x103710 x103711 x103712 x103713 x103714 x103715 x103716 x103717 x103718 x103719 x103720 x103721 x103722 x103723 x103724 x103725 x103726 x103727 x103728 x103729 ')";s:14:"total_affected";i:1;}i:41;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1038, 11, 'x10380 x10381 x10382 x10383 x10384 x10385 x10386 x10387 x10388 x10389 x103810 x103811 x103812 x103813 x103814 x103815 x103816 x103817 x103818 x103819 x103820 x103821 x103822 x103823 x103824 x103825 x103826 x103827 x103828 x103829 ')";s:14:"total_affected";i:1;}i:42;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1039, 11, 'x10390 x10391 x10392 x10393 x10394 x10395 x10396 x10397 x10398 x10399 x103910 x103911 x103912 x103913 x103914 x103915 x103916 x103917 x103918 x103919 x103920 x103921 x103922 x103923 x103924 x103925 x103926 x103927 x103928 x103929 ')";s:14:"total_affected";i:1;}i:43;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1040, 11, 'x10400 x10401 x10402 x10403 x10404 x10405 x10406 x10407 x10408 x10409 x104010 x104011 x104012 x104013 x104014 x104015 x104016 x104017 x104018 x104019 x104020 x104021 x104022 x104023 x104024 x104025 x104026 x104027 x104028 x104029 ')";s:14:"total_affected";i:1;}i:44;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1041, 11, 'x10410 x10411 x10412 x10413 x10414 x10415 x10416 x10417 x10418 x10419 x104110 x104111 x104112 x104113 x104114 x104115 x104116 x104117 x104118 x104119 x104120 x104121 x104122 x104123 x104124 x104125 x104126 x104127 x104128 x104129 ')";s:14:"total_affected";i:1;}i:45;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1042, 11, 'x10420 x10421 x10422 x10423 x10424 x10425 x10426 x10427 x10428 x10429 x104210 x104211 x104212 x104213 x104214 x104215 x104216 x104217 x104218 x104219 x104220 x104221 x104222 x104223 x104224 x104225 x104226 x104227 x104228 x104229 ')";s:14:"total_affected";i:1;}i:46;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1043, 11, 'x10430 x10431 x10432 x10433 x10434 x10435 x10436 x10437 x10438 x10439 x104310 x104311 x104312 x104313 x104314 x104315 x104316 x104317 x104318 x104319 x104320 x104321 x104322 x104323 x104324 x104325 x104326 x104327 x104328 x104329 ')";s:14:"total_affected";i:1;}i:47;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1044, 11, 'x10440 x10441 x10442 x10443 x10444 x10445 x10446 x10447 x10448 x10449 x104410 x104411 x104412 x104413 x104414 x104415 x104416 x104417 x104418 x104419 x104420 x104421 x104422 x104423 x104424 x104425 x104426 x104427 x104428 x104429 ')";s:14:"total_affected";i:1;}i:48;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1045, 11, 'x10450 x10451 x10452 x10453 x10454 x10455 x10456 x10457 x10458 x10459 x104510 x104511 x104512 x104513 x104514 x104515 x104516 x104517 x104518 x104519 x104520 x104521 x104522 x104523 x104524 x104525 x104526 x104527 x104528 x104529 ')";s:14:"total_affected";i:1;}i:49;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1046, 11, 'x10460 x10461 x10462 x10463 x10464 x10465 x10466 x10467 x10468 x10469 x104610 x104611 x104612 x104613 x104614 x104615 x104616 x104617 x104618 x104619 x104620 x104621 x104622 x104623 x104624 x104625 x104626 x104627 x104628 x104629 ')";s:14:"total_affected";i:1;}i:50;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1047, 11, 'x10470 x10471 x10472 x10473 x10474 x10475 x10476 x10477 x10478 x10479 x104710 x104711 x104712 x104713 x104714 x104715 x104716 x104717 x104718 x104719 x104720 x104721 x104722 x104723 x104724 x104725 x104726 x104727 x104728 x104729 ')";s:14:"total_affected";i:1;}i:51;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1048, 11, 'x10480 x10481 x10482 x10483 x10484 x10485 x10486 x10487 x10488 x10489 x104810 x104811 x104812 x104813 x104814 x104815 x104816 x104817 x104818 x104819 x104820 x104821 x104822 x104823 x104824 x104825 x104826 x104827 x104828 x104829 ')";s:14:"total_affected";i:1;}i:52;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1049, 11, 'x10490 x10491 x10492 x10493 x10494 x10495 x10496 x10497 x10498 x10499 x104910 x104911 x104912 x104913 x104914 x104915 x104916 x104917 x104918 x104919 x104920 x104921 x104922 x104923 x104924 x104925 x104926 x104927 x104928 x104929 ')";s:14:"total_affected";i:1;}i:53;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1050, 11, 'x10500 x10501 x10502 x10503 x10504 x10505 x10506 x10507 x10508 x10509 x105010 x105011 x105012 x105013 x105014 x105015 x105016 x105017 x105018 x105019 x105020 x105021 x105022 x105023 x105024 x105025 x105026 x105027 x105028 x105029 ')";s:14:"total_affected";i:1;}i:54;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1051, 11, 'x10510 x10511 x10512 x10513 x10514 x10515 x10516 x10517 x10518 x10519 x105110 x105111 x105112 x105113 x105114 x105115 x105116 x105117 x105118 x105119 x105120 x105121 x105122 x105123 x105124 x105125 x105126 x105127 x105128 x105129 ')";s:14:"total_affected";i:1;}i:55;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1052, 11, 'x10520 x10521 x10522 x10523 x10524 x10525 x10526 x10527 x10528 x10529 x105210 x105211 x105212 x105213 x105214 x105215 x105216 x105217 x105218 x105219 x105220 x105221 x105222 x105223 x105224 x105225 x105226 x105227 x105228 x105229 ')";s:14:"total_affected";i:1;}i:56;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1053, 11, 'x10530 x10531 x10532 x10533 x10534 x10535 x10536 x10537 x10538 x10539 x105310 x105311 x105312 x105313 x105314 x105315 x105316 x105317 x105318 x105319 x105320 x105321 x105322 x105323 x105324 x105325 x105326 x105327 x105328 x105329 ')";s:14:"total_affected";i:1;}i:57;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1054, 11, 'x10540 x10541 x10542 x10543 x10544 x10545 x10546 x10547 x10548 x10549 x105410 x105411 x105412 x105413 x105414 x105415 x105416 x105417 x105418 x105419 x105420 x105421 x105422 x105423 x105424 x105425 x105426 x105427 x105428 x105429 ')";s:14:"total_affected";i:1;}i:58;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1055, 11, 'x10550 x10551 x10552 x10553 x10554 x10555 x10556 x10557 x10558 x10559 x105510 x105511 x105512 x105513 x105514 x105515 x105516 x105517 x105518 x105519 x105520 x105521 x105522 x105523 x105524 x105525 x105526 x105527 x105528 x105529 ')";s:14:"total_affected";i:1;}i:59;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1056, 11, 'x10560 x10561 x10562 x10563 x10564 x10565 x10566 x10567 x10568 x10569 x105610 x105611 x105612 x105613 x105614 x105615 x105616 x105617 x105618 x105619 x105620 x105621 x105622 x105623 x105624 x105625 x105626 x105627 x105628 x105629 ')";s:14:"total_affected";i:1;}i:60;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1057, 11, 'x10570 x10571 x10572 x10573 x10574 x10575 x10576 x10577 x10578 x10579 x105710 x105711 x105712 x105713 x105714 x105715 x105716 x105717 x105718 x105719 x105720 x105721 x105722 x105723 x105724 x105725 x105726 x105727 x105728 x105729 ')";s:14:"total_affected";i:1;}i:61;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1058, 11, 'x10580 x10581 x10582 x10583 x10584 x10585 x10586 x10587 x10588 x10589 x105810 x105811 x105812 x105813 x105814 x105815 x105816 x105817 x105818 x105819 x105820 x105821 x105822 x105823 x105824 x105825 x105826 x105827 x105828 x105829 ')";s:14:"total_affected";i:1;}i:62;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1059, 11, 'x10590 x10591 x10592 x10593 x10594 x10595 x10596 x10597 x10598 x10599 x105910 x105911 x105912 x105913 x105914 x105915 x105916 x105917 x105918 x105919 x105920 x105921 x105922 x105923 x105924 x105925 x105926 x105927 x105928 x105929 ')";s:14:"total_affected";i:1;}i:63;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1060, 11, 'x10600 x10601 x10602 x10603 x10604 x10605 x10606 x10607 x10608 x10609 x106010 x106011 x106012 x106013 x106014 x106015 x106016 x106017 x106018 x106019 x106020 x106021 x106022 x106023 x106024 x106025 x106026 x106027 x106028 x106029 ')";s:14:"total_affected";i:1;}i:64;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1061, 11, 'x10610 x10611 x10612 x10613 x10614 x10615 x10616 x10617 x10618 x10619 x106110 x106111 x106112 x106113 x106114 x106115 x106116 x106117 x106118 x106119 x106120 x106121 x106122 x106123 x106124 x106125 x106126 x106127 x106128 x106129 ')";s:14:"total_affected";i:1;}i:65;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1062, 11, 'x10620 x10621 x10622 x10623 x10624 x10625 x10626 x10627 x10628 x10629 x106210 x106211 x106212 x106213 x106214 x106215 x106216 x106217 x106218 x106219 x106220 x106221 x106222 x106223 x106224 x106225 x106226 x106227 x106228 x106229 ')";s:14:"total_affected";i:1;}i:66;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1063, 11, 'x10630 x10631 x10632 x10633 x10634 x10635 x10636 x10637 x10638 x10639 x106310 x106311 x106312 x106313 x106314 x106315 x106316 x106317 x106318 x106319 x106320 x106321 x106322 x106323 x106324 x106325 x106326 x106327 x106328 x106329 ')";s:14:"total_affected";i:1;}i:67;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1064, 11, 'x10640 x10641 x10642 x10643 x10644 x10645 x10646 x10647 x10648 x10649 x106410 x106411 x106412 x106413 x106414 x106415 x106416 x106417 x106418 x106419 x106420 x106421 x106422 x106423 x106424 x106425 x106426 x106427 x106428 x106429 ')";s:14:"total_affected";i:1;}i:68;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1065, 11, 'x10650 x10651 x10652 x10653 x10654 x10655 x10656 x10657 x10658 x10659 x106510 x106511 x106512 x106513 x106514 x106515 x106516 x106517 x106518 x106519 x106520 x106521 x106522 x106523 x106524 x106525 x106526 x106527 x106528 x106529 ')";s:14:"total_affected";i:1;}i:69;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1066, 11, 'x10660 x10661 x10662 x10663 x10664 x10665 x10666 x10667 x10668 x10669 x106610 x106611 x106612 x106613 x106614 x106615 x106616 x106617 x106618 x106619 x106620 x106621 x106622 x106623 x106624 x106625 x106626 x106627 x106628 x106629 ')";s:14:"total_affected";i:1;}i:70;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1067, 11, 'x10670 x10671 x10672 x10673 x10674 x10675 x10676 x10677 x10678 x10679 x106710 x106711 x106712 x106713 x106714 x106715 x106716 x106717 x106718 x106719 x106720 x106721 x106722 x106723 x106724 x106725 x106726 x106727 x106728 x106729 ')";s:14:"total_affected";i:1;}i:71;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1068, 11, 'x10680 x10681 x10682 x10683 x10684 x10685 x10686 x10687 x10688 x10689 x106810 x106811 x106812 x106813 x106814 x106815 x106816 x106817 x106818 x106819 x106820 x106821 x106822 x106823 x106824 x106825 x106826 x106827 x106828 x106829 ')";s:14:"total_affected";i:1;}i:72;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1069, 11, 'x10690 x10691 x10692 x10693 x10694 x10695 x10696 x10697 x10698 x10699 x106910 x106911 x106912 x106913 x106914 x106915 x106916 x106917 x106918 x106919 x106920 x106921 x106922 x106923 x106924 x106925 x106926 x106927 x106928 x106929 ')";s:14:"total_affected";i:1;}i:73;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1070, 11, 'x10700 x10701 x10702 x10703 x10704 x10705 x10706 x10707 x10708 x10709 x107010 x107011 x107012 x107013 x107014 x107015 x107016 x107017 x107018 x107019 x107020 x107021 x107022 x107023 x107024 x107025 x107026 x107027 x107028 x107029 ')";s:14:"total_affected";i:1;}i:74;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1071, 11, 'x10710 x10711 x10712 x10713 x10714 x10715 x10716 x10717 x10718 x10719 x107110 x107111 x107112 x107113 x107114 x107115 x107116 x107117 x107118 x107119 x107120 x107121 x107122 x107123 x107124 x107125 x107126 x107127 x107128 x107129 ')";s:14:"total_affected";i:1;}i:75;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1072, 11, 'x10720 x10721 x10722 x10723 x10724 x10725 x10726 x10727 x10728 x10729 x107210 x107211 x107212 x107213 x107214 x107215 x107216 x107217 x107218 x107219 x107220 x107221 x107222 x107223 x107224 x107225 x107226 x107227 x107228 x107229 ')";s:14:"total_affected";i:1;}i:76;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1073, 11, 'x10730 x10731 x10732 x10733 x10734 x10735 x10736 x10737 x10738 x10739 x107310 x107311 x107312 x107313 x107314 x107315 x107316 x107317 x107318 x107319 x107320 x107321 x107322 x107323 x107324 x107325 x107326 x107327 x107328 x107329 ')";s:14:"total_affected";i:1;}i:77;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1074, 11, 'x10740 x10741 x10742 x10743 x10744 x10745 x10746 x10747 x10748 x10749 x107410 x107411 x107412 x107413 x107414 x107415 x107416 x107417 x107418 x107419 x107420 x107421 x107422 x107423 x107424 x107425 x107426 x107427 x107428 x107429 ')";s:14:"total_affected";i:1;}i:78;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1075, 11, 'x10750 x10751 x10752 x10753 x10754 x10755 x10756 x10757 x10758 x10759 x107510 x107511 x107512 x107513 x107514 x107515 x107516 x107517 x107518 x107519 x107520 x107521 x107522 x107523 x107524 x107525 x107526 x107527 x107528 x107529 ')";s:14:"total_affected";i:1;}i:79;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1076, 11, 'x10760 x10761 x10762 x10763 x10764 x10765 x10766 x10767 x10768 x10769 x107610 x107611 x107612 x107613 x107614 x107615 x107616 x107617 x107618 x107619 x107620 x107621 x107622 x107623 x107624 x107625 x107626 x107627 x107628 x107629 ')";s:14:"total_affected";i:1;}i:80;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1077, 11, 'x10770 x10771 x10772 x10773 x10774 x10775 x10776 x10777 x10778 x10779 x107710 x107711 x107712 x107713 x107714 x107715 x107716 x107717 x107718 x107719 x107720 x107721 x107722 x107723 x107724 x107725 x107726 x107727 x107728 x107729 ')";s:14:"total_affected";i:1;}i:81;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1078, 11, 'x10780 x10781 x10782 x10783 x10784 x10785 x10786 x10787 x10788 x10789 x107810 x107811 x107812 x107813 x107814 x107815 x107816 x107817 x107818 x107819 x107820 x107821 x107822 x107823 x107824 x107825 x107826 x107827 x107828 x107829 ')";s:14:"total_affected";i:1;}i:82;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1079, 11, 'x10790 x10791 x10792 x10793 x10794 x10795 x10796 x10797 x10798 x10799 x107910 x107911 x107912 x107913 x107914 x107915 x107916 x107917 x107918 x107919 x107920 x107921 x107922 x107923 x107924 x107925 x107926 x107927 x107928 x107929 ')";s:14:"total_affected";i:1;}i:83;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1080, 11, 'x10800 x10801 x10802 x10803 x10804 x10805 x10806 x10807 x10808 x10809 x108010 x108011 x108012 x108013 x108014 x108015 x108016 x108017 x108018 x108019 x108020 x108021 x108022 x108023 x108024 x108025 x108026 x108027 x108028 x108029 ')";s:14:"total_affected";i:1;}i:84;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1081, 11, 'x10810 x10811 x10812 x10813 x10814 x10815 x10816 x10817 x10818 x10819 x108110 x108111 x108112 x108113 x108114 x108115 x108116 x108117 x108118 x108119 x108120 x108121 x108122 x108123 x108124 x108125 x108126 x108127 x108128 x108129 ')";s:14:"total_affected";i:1;}i:85;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1082, 11, 'x10820 x10821 x10822 x10823 x10824 x10825 x10826 x10827 x10828 x10829 x108210 x108211 x108212 x108213 x108214 x108215 x108216 x108217 x108218 x108219 x108220 x108221 x108222 x108223 x108224 x108225 x108226 x108227 x108228 x108229 ')";s:14:"total_affected";i:1;}i:86;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1083, 11, 'x10830 x10831 x10832 x10833 x10834 x10835 x10836 x10837 x10838 x10839 x108310 x108311 x108312 x108313 x108314 x108315 x108316 x108317 x108318 x108319 x108320 x108321 x108322 x108323 x108324 x108325 x108326 x108327 x108328 x108329 ')";s:14:"total_affected";i:1;}i:87;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1084, 11, 'x10840 x10841 x10842 x10843 x10844 x10845 x10846 x10847 x10848 x10849 x108410 x108411 x108412 x108413 x108414 x108415 x108416 x108417 x108418 x108419 x108420 x108421 x108422 x108423 x108424 x108425 x108426 x108427 x108428 x108429 ')";s:14:"total_affected";i:1;}i:88;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1085, 11, 'x10850 x10851 x10852 x10853 x10854 x10855 x10856 x10857 x10858 x10859 x108510 x108511 x108512 x108513 x108514 x108515 x108516 x108517 x108518 x108519 x108520 x108521 x108522 x108523 x108524 x108525 x108526 x108527 x108528 x108529 ')";s:14:"total_affected";i:1;}i:89;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1086, 11, 'x10860 x10861 x10862 x10863 x10864 x10865 x10866 x10867 x10868 x10869 x108610 x108611 x108612 x108613 x108614 x108615 x108616 x108617 x108618 x108619 x108620 x108621 x108622 x108623 x108624 x108625 x108626 x108627 x108628 x108629 ')";s:14:"total_affected";i:1;}i:90;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1087, 11, 'x10870 x10871 x10872 x10873 x10874 x10875 x10876 x10877 x10878 x10879 x108710 x108711 x108712 x108713 x108714 x108715 x108716 x108717 x108718 x108719 x108720 x108721 x108722 x108723 x108724 x108725 x108726 x108727 x108728 x108729 ')";s:14:"total_affected";i:1;}i:91;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1088, 11, 'x10880 x10881 x10882 x10883 x10884 x10885 x10886 x10887 x10888 x10889 x108810 x108811 x108812 x108813 x108814 x108815 x108816 x108817 x108818 x108819 x108820 x108821 x108822 x108823 x108824 x108825 x108826 x108827 x108828 x108829 ')";s:14:"total_affected";i:1;}i:92;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1089, 11, 'x10890 x10891 x10892 x10893 x10894 x10895 x10896 x10897 x10898 x10899 x108910 x108911 x108912 x108913 x108914 x108915 x108916 x108917 x108918 x108919 x108920 x108921 x108922 x108923 x108924 x108925 x108926 x108927 x108928 x108929 ')";s:14:"total_affected";i:1;}i:93;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1090, 11, 'x10900 x10901 x10902 x10903 x10904 x10905 x10906 x10907 x10908 x10909 x109010 x109011 x109012 x109013 x109014 x109015 x109016 x109017 x109018 x109019 x109020 x109021 x109022 x109023 x109024 x109025 x109026 x109027 x109028 x109029 ')";s:14:"total_affected";i:1;}i:94;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1091, 11, 'x10910 x10911 x10912 x10913 x10914 x10915 x10916 x10917 x10918 x10919 x109110 x109111 x109112 x109113 x109114 x109115 x109116 x109117 x109118 x109119 x109120 x109121 x109122 x109123 x109124 x109125 x109126 x109127 x109128 x109129 ')";s:14:"total_affected";i:1;}i:95;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1092, 11, 'x10920 x10921 x10922 x10923 x10924 x10925 x10926 x10927 x10928 x10929 x109210 x109211 x109212 x109213 x109214 x109215 x109216 x109217 x109218 x109219 x109220 x109221 x109222 x109223 x109224 x109225 x109226 x109227 x109228 x109229 ')";s:14:"total_affected";i:1;}i:96;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1093, 11, 'x10930 x10931 x10932 x10933 x10934 x10935 x10936 x10937 x10938 x10939 x109310 x109311 x109312 x109313 x109314 x109315 x109316 x109317 x109318 x109319 x109320 x109321 x109322 x109323 x109324 x109325 x109326 x109327 x109328 x109329 ')";s:14:"total_affected";i:1;}i:97;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1094, 11, 'x10940 x10941 x10942 x10943 x10944 x10945 x10946 x10947 x10948 x10949 x109410 x109411 x109412 x109413 x109414 x109415 x109416 x109417 x109418 x109419 x109420 x109421 x109422 x109423 x109424 x109425 x109426 x109427 x109428 x109429 ')";s:14:"total_affected";i:1;}i:98;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1095, 11, 'x10950 x10951 x10952 x10953 x10954 x10955 x10956 x10957 x10958 x10959 x109510 x109511 x109512 x109513 x109514 x109515 x109516 x109517 x109518 x109519 x109520 x109521 x109522 x109523 x109524 x109525 x109526 x109527 x109528 x109529 ')";s:14:"total_affected";i:1;}i:99;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1096, 11, 'x10960 x10961 x10962 x10963 x10964 x10965 x10966 x10967 x10968 x10969 x109610 x109611 x109612 x109613 x109614 x109615 x109616 x109617 x109618 x109619 x109620 x109621 x109622 x109623 x109624 x109625 x109626 x109627 x109628 x109629 ')";s:14:"total_affected";i:1;}i:100;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1097, 11, 'x10970 x10971 x10972 x10973 x10974 x10975 x10976 x10977 x10978 x10979 x109710 x109711 x109712 x109713 x109714 x109715 x109716 x109717 x109718 x109719 x109720 x109721 x109722 x109723 x109724 x109725 x109726 x109727 x109728 x109729 ')";s:14:"total_affected";i:1;}i:101;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1098, 11, 'x10980 x10981 x10982 x10983 x10984 x10985 x10986 x10987 x10988 x10989 x109810 x109811 x109812 x109813 x109814 x109815 x109816 x109817 x109818 x109819 x109820 x109821 x109822 x109823 x109824 x109825 x109826 x109827 x109828 x109829 ')";s:14:"total_affected";i:1;}i:102;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1099, 11, 'x10990 x10991 x10992 x10993 x10994 x10995 x10996 x10997 x10998 x10999 x109910 x109911 x109912 x109913 x109914 x109915 x109916 x109917 x109918 x109919 x109920 x109921 x109922 x109923 x109924 x109925 x109926 x109927 x109928 x109929 ')";s:14:"total_affected";i:1;}i:103;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1100, 11, 'x11000 x11001 x11002 x11003 x11004 x11005 x11006 x11007 x11008 x11009 x110010 x110011 x110012 x110013 x110014 x110015 x110016 x110017 x110018 x110019 x110020 x110021 x110022 x110023 x110024 x110025 x110026 x110027 x110028 x110029 ')";s:14:"total_affected";i:1;}i:104;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1101, 11, 'x11010 x11011 x11012 x11013 x11014 x11015 x11016 x11017 x11018 x11019 x110110 x110111 x110112 x110113 x110114 x110115 x110116 x110117 x110118 x110119 x110120 x110121 x110122 x110123 x110124 x110125 x110126 x110127 x110128 x110129 ')";s:14:"total_affected";i:1;}i:105;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1102, 11, 'x11020 x11021 x11022 x11023 x11024 x11025 x11026 x11027 x11028 x11029 x110210 x110211 x110212 x110213 x110214 x110215 x110216 x110217 x110218 x110219 x110220 x110221 x110222 x110223 x110224 x110225 x110226 x110227 x110228 x110229 ')";s:14:"total_affected";i:1;}i:106;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1103, 11, 'x11030 x11031 x11032 x11033 x11034 x11035 x11036 x11037 x11038 x11039 x110310 x110311 x110312 x110313 x110314 x110315 x110316 x110317 x110318 x110319 x110320 x110321 x110322 x110323 x110324 x110325 x110326 x110327 x110328 x110329 ')";s:14:"total_affected";i:1;}i:107;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1104, 11, 'x11040 x11041 x11042 x11043 x11044 x11045 x11046 x11047 x11048 x11049 x110410 x110411 x110412 x110413 x110414 x110415 x110416 x110417 x110418 x110419 x110420 x110421 x110422 x110423 x110424 x110425 x110426 x110427 x110428 x110429 ')";s:14:"total_affected";i:1;}i:108;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1105, 11, 'x11050 x11051 x11052 x11053 x11054 x11055 x11056 x11057 x11058 x11059 x110510 x110511 x110512 x110513 x110514 x110515 x110516 x110517 x110518 x110519 x110520 x110521 x110522 x110523 x110524 x110525 x110526 x110527 x110528 x110529 ')";s:14:"total_affected";i:1;}i:109;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1106, 11, 'x11060 x11061 x11062 x11063 x11064 x11065 x11066 x11067 x11068 x11069 x110610 x110611 x110612 x110613 x110614 x110615 x110616 x110617 x110618 x110619 x110620 x110621 x110622 x110623 x110624 x110625 x110626 x110627 x110628 x110629 ')";s:14:"total_affected";i:1;}i:110;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1107, 11, 'x11070 x11071 x11072 x11073 x11074 x11075 x11076 x11077 x11078 x11079 x110710 x110711 x110712 x110713 x110714 x110715 x110716 x110717 x110718 x110719 x110720 x110721 x110722 x110723 x110724 x110725 x110726 x110727 x110728 x110729 ')";s:14:"total_affected";i:1;}i:111;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1108, 11, 'x11080 x11081 x11082 x11083 x11084 x11085 x11086 x11087 x11088 x11089 x110810 x110811 x110812 x110813 x110814 x110815 x110816 x110817 x110818 x110819 x110820 x110821 x110822 x110823 x110824 x110825 x110826 x110827 x110828 x110829 ')";s:14:"total_affected";i:1;}i:112;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1109, 11, 'x11090 x11091 x11092 x11093 x11094 x11095 x11096 x11097 x11098 x11099 x110910 x110911 x110912 x110913 x110914 x110915 x110916 x110917 x110918 x110919 x110920 x110921 x110922 x110923 x110924 x110925 x110926 x110927 x110928 x110929 ')";s:14:"total_affected";i:1;}i:113;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1110, 11, 'x11100 x11101 x11102 x11103 x11104 x11105 x11106 x11107 x11108 x11109 x111010 x111011 x111012 x111013 x111014 x111015 x111016 x111017 x111018 x111019 x111020 x111021 x111022 x111023 x111024 x111025 x111026 x111027 x111028 x111029 ')";s:14:"total_affected";i:1;}i:114;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1111, 11, 'x11110 x11111 x11112 x11113 x11114 x11115 x11116 x11117 x11118 x11119 x111110 x111111 x111112 x111113 x111114 x111115 x111116 x111117 x111118 x111119 x111120 x111121 x111122 x111123 x111124 x111125 x111126 x111127 x111128 x111129 ')";s:14:"total_affected";i:1;}i:115;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1112, 11, 'x11120 x11121 x11122 x11123 x11124 x11125 x11126 x11127 x11128 x11129 x111210 x111211 x111212 x111213 x111214 x111215 x111216 x111217 x111218 x111219 x111220 x111221 x111222 x111223 x111224 x111225 x111226 x111227 x111228 x111229 ')";s:14:"total_affected";i:1;}i:116;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1113, 11, 'x11130 x11131 x11132 x11133 x11134 x11135 x11136 x11137 x11138 x11139 x111310 x111311 x111312 x111313 x111314 x111315 x111316 x111317 x111318 x111319 x111320 x111321 x111322 x111323 x111324 x111325 x111326 x111327 x111328 x111329 ')";s:14:"total_affected";i:1;}i:117;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1114, 11, 'x11140 x11141 x11142 x11143 x11144 x11145 x11146 x11147 x11148 x11149 x111410 x111411 x111412 x111413 x111414 x111415 x111416 x111417 x111418 x111419 x111420 x111421 x111422 x111423 x111424 x111425 x111426 x111427 x111428 x111429 ')";s:14:"total_affected";i:1;}i:118;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1115, 11, 'x11150 x11151 x11152 x11153 x11154 x11155 x11156 x11157 x11158 x11159 x111510 x111511 x111512 x111513 x111514 x111515 x111516 x111517 x111518 x111519 x111520 x111521 x111522 x111523 x111524 x111525 x111526 x111527 x111528 x111529 ')";s:14:"total_affected";i:1;}i:119;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1116, 11, 'x11160 x11161 x11162 x11163 x11164 x11165 x11166 x11167 x11168 x11169 x111610 x111611 x111612 x111613 x111614 x111615 x111616 x111617 x111618 x111619 x111620 x111621 x111622 x111623 x111624 x111625 x111626 x111627 x111628 x111629 ')";s:14:"total_affected";i:1;}i:120;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1117, 11, 'x11170 x11171 x11172 x11173 x11174 x11175 x11176 x11177 x11178 x11179 x111710 x111711 x111712 x111713 x111714 x111715 x111716 x111717 x111718 x111719 x111720 x111721 x111722 x111723 x111724 x111725 x111726 x111727 x111728 x111729 ')";s:14:"total_affected";i:1;}i:121;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1118, 11, 'x11180 x11181 x11182 x11183 x11184 x11185 x11186 x11187 x11188 x11189 x111810 x111811 x111812 x111813 x111814 x111815 x111816 x111817 x111818 x111819 x111820 x111821 x111822 x111823 x111824 x111825 x111826 x111827 x111828 x111829 ')";s:14:"total_affected";i:1;}i:122;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1119, 11, 'x11190 x11191 x11192 x11193 x11194 x11195 x11196 x11197 x11198 x11199 x111910 x111911 x111912 x111913 x111914 x111915 x111916 x111917 x111918 x111919 x111920 x111921 x111922 x111923 x111924 x111925 x111926 x111927 x111928 x111929 ')";s:14:"total_affected";i:1;}i:123;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1120, 11, 'x11200 x11201 x11202 x11203 x11204 x11205 x11206 x11207 x11208 x11209 x112010 x112011 x112012 x112013 x112014 x112015 x112016 x112017 x112018 x112019 x112020 x112021 x112022 x112023 x112024 x112025 x112026 x112027 x112028 x112029 ')";s:14:"total_affected";i:1;}i:124;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1121, 11, 'x11210 x11211 x11212 x11213 x11214 x11215 x11216 x11217 x11218 x11219 x112110 x112111 x112112 x112113 x112114 x112115 x112116 x112117 x112118 x112119 x112120 x112121 x112122 x112123 x112124 x112125 x112126 x112127 x112128 x112129 ')";s:14:"total_affected";i:1;}i:125;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1122, 11, 'x11220 x11221 x11222 x11223 x11224 x11225 x11226 x11227 x11228 x11229 x112210 x112211 x112212 x112213 x112214 x112215 x112216 x112217 x112218 x112219 x112220 x112221 x112222 x112223 x112224 x112225 x112226 x112227 x112228 x112229 ')";s:14:"total_affected";i:1;}i:126;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1123, 11, 'x11230 x11231 x11232 x11233 x11234 x11235 x11236 x11237 x11238 x11239 x112310 x112311 x112312 x112313 x112314 x112315 x112316 x112317 x112318 x112319 x112320 x112321 x112322 x112323 x112324 x112325 x112326 x112327 x112328 x112329 ')";s:14:"total_affected";i:1;}i:127;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1124, 11, 'x11240 x11241 x11242 x11243 x11244 x11245 x11246 x11247 x11248 x11249 x112410 x112411 x112412 x112413 x112414 x112415 x112416 x112417 x112418 x112419 x112420 x112421 x112422 x112423 x112424 x112425 x112426 x112427 x112428 x112429 ')";s:14:"total_affected";i:1;}i:128;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1125, 11, 'x11250 x11251 x11252 x11253 x11254 x11255 x11256 x11257 x11258 x11259 x112510 x112511 x112512 x112513 x112514 x112515 x112516 x112517 x112518 x112519 x112520 x112521 x112522 x112523 x112524 x112525 x112526 x112527 x112528 x112529 ')";s:14:"total_affected";i:1;}i:129;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1126, 11, 'x11260 x11261 x11262 x11263 x11264 x11265 x11266 x11267 x11268 x11269 x112610 x112611 x112612 x112613 x112614 x112615 x112616 x112617 x112618 x112619 x112620 x112621 x112622 x112623 x112624 x112625 x112626 x112627 x112628 x112629 ')";s:14:"total_affected";i:1;}i:130;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1127, 11, 'x11270 x11271 x11272 x11273 x11274 x11275 x11276 x11277 x11278 x11279 x112710 x112711 x112712 x112713 x112714 x112715 x112716 x112717 x112718 x112719 x112720 x112721 x112722 x112723 x112724 x112725 x112726 x112727 x112728 x112729 ')";s:14:"total_affected";i:1;}i:131;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1128, 11, 'x11280 x11281 x11282 x11283 x11284 x11285 x11286 x11287 x11288 x11289 x112810 x112811 x112812 x112813 x112814 x112815 x112816 x112817 x112818 x112819 x112820 x112821 x112822 x112823 x112824 x112825 x112826 x112827 x112828 x112829 ')";s:14:"total_affected";i:1;}i:132;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1129, 11, 'x11290 x11291 x11292 x11293 x11294 x11295 x11296 x11297 x11298 x11299 x112910 x112911 x112912 x112913 x112914 x112915 x112916 x112917 x112918 x112919 x112920 x112921 x112922 x112923 x112924 x112925 x112926 x112927 x112928 x112929 ')";s:14:"total_affected";i:1;}i:133;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1130, 11, 'x11300 x11301 x11302 x11303 x11304 x11305 x11306 x11307 x11308 x11309 x113010 x113011 x113012 x113013 x113014 x113015 x113016 x113017 x113018 x113019 x113020 x113021 x113022 x113023 x113024 x113025 x113026 x113027 x113028 x113029 ')";s:14:"total_affected";i:1;}i:134;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1131, 11, 'x11310 x11311 x11312 x11313 x11314 x11315 x11316 x11317 x11318 x11319 x113110 x113111 x113112 x113113 x113114 x113115 x113116 x113117 x113118 x113119 x113120 x113121 x113122 x113123 x113124 x113125 x113126 x113127 x113128 x113129 ')";s:14:"total_affected";i:1;}i:135;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1132, 11, 'x11320 x11321 x11322 x11323 x11324 x11325 x11326 x11327 x11328 x11329 x113210 x113211 x113212 x113213 x113214 x113215 x113216 x113217 x113218 x113219 x113220 x113221 x113222 x113223 x113224 x113225 x113226 x113227 x113228 x113229 ')";s:14:"total_affected";i:1;}i:136;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1133, 11, 'x11330 x11331 x11332 x11333 x11334 x11335 x11336 x11337 x11338 x11339 x113310 x113311 x113312 x113313 x113314 x113315 x113316 x113317 x113318 x113319 x113320 x113321 x113322 x113323 x113324 x113325 x113326 x113327 x113328 x113329 ')";s:14:"total_affected";i:1;}i:137;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1134, 11, 'x11340 x11341 x11342 x11343 x11344 x11345 x11346 x11347 x11348 x11349 x113410 x113411 x113412 x113413 x113414 x113415 x113416 x113417 x113418 x113419 x113420 x113421 x113422 x113423 x113424 x113425 x113426 x113427 x113428 x113429 ')";s:14:"total_affected";i:1;}i:138;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1135, 11, 'x11350 x11351 x11352 x11353 x11354 x11355 x11356 x11357 x11358 x11359 x113510 x113511 x113512 x113513 x113514 x113515 x113516 x113517 x113518 x113519 x113520 x113521 x113522 x113523 x113524 x113525 x113526 x113527 x113528 x113529 ')";s:14:"total_affected";i:1;}i:139;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1136, 11, 'x11360 x11361 x11362 x11363 x11364 x11365 x11366 x11367 x11368 x11369 x113610 x113611 x113612 x113613 x113614 x113615 x113616 x113617 x113618 x113619 x113620 x113621 x113622 x113623 x113624 x113625 x113626 x113627 x113628 x113629 ')";s:14:"total_affected";i:1;}i:140;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1137, 11, 'x11370 x11371 x11372 x11373 x11374 x11375 x11376 x11377 x11378 x11379 x113710 x113711 x113712 x113713 x113714 x113715 x113716 x113717 x113718 x113719 x113720 x113721 x113722 x113723 x113724 x113725 x113726 x113727 x113728 x113729 ')";s:14:"total_affected";i:1;}i:141;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1138, 11, 'x11380 x11381 x11382 x11383 x11384 x11385 x11386 x11387 x11388 x11389 x113810 x113811 x113812 x113813 x113814 x113815 x113816 x113817 x113818 x113819 x113820 x113821 x113822 x113823 x113824 x113825 x113826 x113827 x113828 x113829 ')";s:14:"total_affected";i:1;}i:142;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1139, 11, 'x11390 x11391 x11392 x11393 x11394 x11395 x11396 x11397 x11398 x11399 x113910 x113911 x113912 x113913 x113914 x113915 x113916 x113917 x113918 x113919 x113920 x113921 x113922 x113923 x113924 x113925 x113926 x113927 x113928 x113929 ')";s:14:"total_affected";i:1;}i:143;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1140, 11, 'x11400 x11401 x11402 x11403 x11404 x11405 x11406 x11407 x11408 x11409 x114010 x114011 x114012 x114013 x114014 x114015 x114016 x114017 x114018 x114019 x114020 x114021 x114022 x114023 x114024 x114025 x114026 x114027 x114028 x114029 ')";s:14:"total_affected";i:1;}i:144;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1141, 11, 'x11410 x11411 x11412 x11413 x11414 x11415 x11416 x11417 x11418 x11419 x114110 x114111 x114112 x114113 x114114 x114115 x114116 x114117 x114118 x114119 x114120 x114121 x114122 x114123 x114124 x114125 x114126 x114127 x114128 x114129 ')";s:14:"total_affected";i:1;}i:145;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1142, 11, 'x11420 x11421 x11422 x11423 x11424 x11425 x11426 x11427 x11428 x11429 x114210 x114211 x114212 x114213 x114214 x114215 x114216 x114217 x114218 x114219 x114220 x114221 x114222 x114223 x114224 x114225 x114226 x114227 x114228 x114229 ')";s:14:"total_affected";i:1;}i:146;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1143, 11, 'x11430 x11431 x11432 x11433 x11434 x11435 x11436 x11437 x11438 x11439 x114310 x114311 x114312 x114313 x114314 x114315 x114316 x114317 x114318 x114319 x114320 x114321 x114322 x114323 x114324 x114325 x114326 x114327 x114328 x114329 ')";s:14:"total_affected";i:1;}i:147;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1144, 11, 'x11440 x11441 x11442 x11443 x11444 x11445 x11446 x11447 x11448 x11449 x114410 x114411 x114412 x114413 x114414 x114415 x114416 x114417 x114418 x114419 x114420 x114421 x114422 x114423 x114424 x114425 x114426 x114427 x114428 x114429 ')";s:14:"total_affected";i:1;}i:148;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1145, 11, 'x11450 x11451 x11452 x11453 x11454 x11455 x11456 x11457 x11458 x11459 x114510 x114511 x114512 x114513 x114514 x114515 x114516 x114517 x114518 x114519 x114520 x114521 x114522 x114523 x114524 x114525 x114526 x114527 x114528 x114529 ')";s:14:"total_affected";i:1;}i:149;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1146, 11, 'x11460 x11461 x11462 x11463 x11464 x11465 x11466 x11467 x11468 x11469 x114610 x114611 x114612 x114613 x114614 x114615 x114616 x114617 x114618 x114619 x114620 x114621 x114622 x114623 x114624 x114625 x114626 x114627 x114628 x114629 ')";s:14:"total_affected";i:1;}i:150;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1147, 11, 'x11470 x11471 x11472 x11473 x11474 x11475 x11476 x11477 x11478 x11479 x114710 x114711 x114712 x114713 x114714 x114715 x114716 x114717 x114718 x114719 x114720 x114721 x114722 x114723 x114724 x114725 x114726 x114727 x114728 x114729 ')";s:14:"total_affected";i:1;}i:151;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1148, 11, 'x11480 x11481 x11482 x11483 x11484 x11485 x11486 x11487 x11488 x11489 x114810 x114811 x114812 x114813 x114814 x114815 x114816 x114817 x114818 x114819 x114820 x114821 x114822 x114823 x114824 x114825 x114826 x114827 x114828 x114829 ')";s:14:"total_affected";i:1;}i:152;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1149, 11, 'x11490 x11491 x11492 x11493 x11494 x11495 x11496 x11497 x11498 x11499 x114910 x114911 x114912 x114913 x114914 x114915 x114916 x114917 x114918 x114919 x114920 x114921 x114922 x114923 x114924 x114925 x114926 x114927 x114928 x114929 ')";s:14:"total_affected";i:1;}i:153;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1150, 11, 'x11500 x11501 x11502 x11503 x11504 x11505 x11506 x11507 x11508 x11509 x115010 x115011 x115012 x115013 x115014 x115015 x115016 x115017 x115018 x115019 x115020 x115021 x115022 x115023 x115024 x115025 x115026 x115027 x115028 x115029 ')";s:14:"total_affected";i:1;}i:154;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1151, 11, 'x11510 x11511 x11512 x11513 x11514 x11515 x11516 x11517 x11518 x11519 x115110 x115111 x115112 x115113 x115114 x115115 x115116 x115117 x115118 x115119 x115120 x115121 x115122 x115123 x115124 x115125 x115126 x115127 x115128 x115129 ')";s:14:"total_affected";i:1;}i:155;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1152, 11, 'x11520 x11521 x11522 x11523 x11524 x11525 x11526 x11527 x11528 x11529 x115210 x115211 x115212 x115213 x115214 x115215 x115216 x115217 x115218 x115219 x115220 x115221 x115222 x115223 x115224 x115225 x115226 x115227 x115228 x115229 ')";s:14:"total_affected";i:1;}i:156;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1153, 11, 'x11530 x11531 x11532 x11533 x11534 x11535 x11536 x11537 x11538 x11539 x115310 x115311 x115312 x115313 x115314 x115315 x115316 x115317 x115318 x115319 x115320 x115321 x115322 x115323 x115324 x115325 x115326 x115327 x115328 x115329 ')";s:14:"total_affected";i:1;}i:157;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1154, 11, 'x11540 x11541 x11542 x11543 x11544 x11545 x11546 x11547 x11548 x11549 x115410 x115411 x115412 x115413 x115414 x115415 x115416 x115417 x115418 x115419 x115420 x115421 x115422 x115423 x115424 x115425 x115426 x115427 x115428 x115429 ')";s:14:"total_affected";i:1;}i:158;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1155, 11, 'x11550 x11551 x11552 x11553 x11554 x11555 x11556 x11557 x11558 x11559 x115510 x115511 x115512 x115513 x115514 x115515 x115516 x115517 x115518 x115519 x115520 x115521 x115522 x115523 x115524 x115525 x115526 x115527 x115528 x115529 ')";s:14:"total_affected";i:1;}i:159;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1156, 11, 'x11560 x11561 x11562 x11563 x11564 x11565 x11566 x11567 x11568 x11569 x115610 x115611 x115612 x115613 x115614 x115615 x115616 x115617 x115618 x115619 x115620 x115621 x115622 x115623 x115624 x115625 x115626 x115627 x115628 x115629 ')";s:14:"total_affected";i:1;}i:160;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1157, 11, 'x11570 x11571 x11572 x11573 x11574 x11575 x11576 x11577 x11578 x11579 x115710 x115711 x115712 x115713 x115714 x115715 x115716 x115717 x115718 x115719 x115720 x115721 x115722 x115723 x115724 x115725 x115726 x115727 x115728 x115729 ')";s:14:"total_affected";i:1;}i:161;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1158, 11, 'x11580 x11581 x11582 x11583 x11584 x11585 x11586 x11587 x11588 x11589 x115810 x115811 x115812 x115813 x115814 x115815 x115816 x115817 x115818 x115819 x115820 x115821 x115822 x115823 x115824 x115825 x115826 x115827 x115828 x115829 ')";s:14:"total_affected";i:1;}i:162;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1159, 11, 'x11590 x11591 x11592 x11593 x11594 x11595 x11596 x11597 x11598 x11599 x115910 x115911 x115912 x115913 x115914 x115915 x115916 x115917 x115918 x115919 x115920 x115921 x115922 x115923 x115924 x115925 x115926 x115927 x115928 x115929 ')";s:14:"total_affected";i:1;}i:163;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1160, 11, 'x11600 x11601 x11602 x11603 x11604 x11605 x11606 x11607 x11608 x11609 x116010 x116011 x116012 x116013 x116014 x116015 x116016 x116017 x116018 x116019 x116020 x116021 x116022 x116023 x116024 x116025 x116026 x116027 x116028 x116029 ')";s:14:"total_affected";i:1;}i:164;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1161, 11, 'x11610 x11611 x11612 x11613 x11614 x11615 x11616 x11617 x11618 x11619 x116110 x116111 x116112 x116113 x116114 x116115 x116116 x116117 x116118 x116119 x116120 x116121 x116122 x116123 x116124 x116125 x116126 x116127 x116128 x116129 ')";s:14:"total_affected";i:1;}i:165;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1162, 11, 'x11620 x11621 x11622 x11623 x11624 x11625 x11626 x11627 x11628 x11629 x116210 x116211 x116212 x116213 x116214 x116215 x116216 x116217 x116218 x116219 x116220 x116221 x116222 x116223 x116224 x116225 x116226 x116227 x116228 x116229 ')";s:14:"total_affected";i:1;}i:166;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1163, 11, 'x11630 x11631 x11632 x11633 x11634 x11635 x11636 x11637 x11638 x11639 x116310 x116311 x116312 x116313 x116314 x116315 x116316 x116317 x116318 x116319 x116320 x116321 x116322 x116323 x116324 x116325 x116326 x116327 x116328 x116329 ')";s:14:"total_affected";i:1;}i:167;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1164, 11, 'x11640 x11641 x11642 x11643 x11644 x11645 x11646 x11647 x11648 x11649 x116410 x116411 x116412 x116413 x116414 x116415 x116416 x116417 x116418 x116419 x116420 x116421 x116422 x116423 x116424 x116425 x116426 x116427 x116428 x116429 ')";s:14:"total_affected";i:1;}i:168;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1165, 11, 'x11650 x11651 x11652 x11653 x11654 x11655 x11656 x11657 x11658 x11659 x116510 x116511 x116512 x116513 x116514 x116515 x116516 x116517 x116518 x116519 x116520 x116521 x116522 x116523 x116524 x116525 x116526 x116527 x116528 x116529 ')";s:14:"total_affected";i:1;}i:169;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1166, 11, 'x11660 x11661 x11662 x11663 x11664 x11665 x11666 x11667 x11668 x11669 x116610 x116611 x116612 x116613 x116614 x116615 x116616 x116617 x116618 x116619 x116620 x116621 x116622 x116623 x116624 x116625 x116626 x116627 x116628 x116629 ')";s:14:"total_affected";i:1;}i:170;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1167, 11, 'x11670 x11671 x11672 x11673 x11674 x11675 x11676 x11677 x11678 x11679 x116710 x116711 x116712 x116713 x116714 x116715 x116716 x116717 x116718 x116719 x116720 x116721 x116722 x116723 x116724 x116725 x116726 x116727 x116728 x116729 ')";s:14:"total_affected";i:1;}i:171;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1168, 11, 'x11680 x11681 x11682 x11683 x11684 x11685 x11686 x11687 x11688 x11689 x116810 x116811 x116812 x116813 x116814 x116815 x116816 x116817 x116818 x116819 x116820 x116821 x116822 x116823 x116824 x116825 x116826 x116827 x116828 x116829 ')";s:14:"total_affected";i:1;}i:172;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1169, 11, 'x11690 x11691 x11692 x11693 x11694 x11695 x11696 x11697 x11698 x11699 x116910 x116911 x116912 x116913 x116914 x116915 x116916 x116917 x116918 x116919 x116920 x116921 x116922 x116923 x116924 x116925 x116926 x116927 x116928 x116929 ')";s:14:"total_affected";i:1;}i:173;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1170, 11, 'x11700 x11701 x11702 x11703 x11704 x11705 x11706 x11707 x11708 x11709 x117010 x117011 x117012 x117013 x117014 x117015 x117016 x117017 x117018 x117019 x117020 x117021 x117022 x117023 x117024 x117025 x117026 x117027 x117028 x117029 ')";s:14:"total_affected";i:1;}i:174;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1171, 11, 'x11710 x11711 x11712 x11713 x11714 x11715 x11716 x11717 x11718 x11719 x117110 x117111 x117112 x117113 x117114 x117115 x117116 x117117 x117118 x117119 x117120 x117121 x117122 x117123 x117124 x117125 x117126 x117127 x117128 x117129 ')";s:14:"total_affected";i:1;}i:175;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1172, 11, 'x11720 x11721 x11722 x11723 x11724 x11725 x11726 x11727 x11728 x11729 x117210 x117211 x117212 x117213 x117214 x117215 x117216 x117217 x117218 x117219 x117220 x117221 x117222 x117223 x117224 x117225 x117226 x117227 x117228 x117229 ')";s:14:"total_affected";i:1;}i:176;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1173, 11, 'x11730 x11731 x11732 x11733 x11734 x11735 x11736 x11737 x11738 x11739 x117310 x117311 x117312 x117313 x117314 x117315 x117316 x117317 x117318 x117319 x117320 x117321 x117322 x117323 x117324 x117325 x117326 x117327 x117328 x117329 ')";s:14:"total_affected";i:1;}i:177;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1174, 11, 'x11740 x11741 x11742 x11743 x11744 x11745 x11746 x11747 x11748 x11749 x117410 x117411 x117412 x117413 x117414 x117415 x117416 x117417 x117418 x117419 x117420 x117421 x117422 x117423 x117424 x117425 x117426 x117427 x117428 x117429 ')";s:14:"total_affected";i:1;}i:178;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1175, 11, 'x11750 x11751 x11752 x11753 x11754 x11755 x11756 x11757 x11758 x11759 x117510 x117511 x117512 x117513 x117514 x117515 x117516 x117517 x117518 x117519 x117520 x117521 x117522 x117523 x117524 x117525 x117526 x117527 x117528 x117529 ')";s:14:"total_affected";i:1;}i:179;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1176, 11, 'x11760 x11761 x11762 x11763 x11764 x11765 x11766 x11767 x11768 x11769 x117610 x117611 x117612 x117613 x117614 x117615 x117616 x117617 x117618 x117619 x117620 x117621 x117622 x117623 x117624 x117625 x117626 x117627 x117628 x117629 ')";s:14:"total_affected";i:1;}i:180;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1177, 11, 'x11770 x11771 x11772 x11773 x11774 x11775 x11776 x11777 x11778 x11779 x117710 x117711 x117712 x117713 x117714 x117715 x117716 x117717 x117718 x117719 x117720 x117721 x117722 x117723 x117724 x117725 x117726 x117727 x117728 x117729 ')";s:14:"total_affected";i:1;}i:181;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1178, 11, 'x11780 x11781 x11782 x11783 x11784 x11785 x11786 x11787 x11788 x11789 x117810 x117811 x117812 x117813 x117814 x117815 x117816 x117817 x117818 x117819 x117820 x117821 x117822 x117823 x117824 x117825 x117826 x117827 x117828 x117829 ')";s:14:"total_affected";i:1;}i:182;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1179, 11, 'x11790 x11791 x11792 x11793 x11794 x11795 x11796 x11797 x11798 x11799 x117910 x117911 x117912 x117913 x117914 x117915 x117916 x117917 x117918 x117919 x117920 x117921 x117922 x117923 x117924 x117925 x117926 x117927 x117928 x117929 ')";s:14:"total_affected";i:1;}i:183;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1180, 11, 'x11800 x11801 x11802 x11803 x11804 x11805 x11806 x11807 x11808 x11809 x118010 x118011 x118012 x118013 x118014 x118015 x118016 x118017 x118018 x118019 x118020 x118021 x118022 x118023 x118024 x118025 x118026 x118027 x118028 x118029 ')";s:14:"total_affected";i:1;}i:184;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1181, 11, 'x11810 x11811 x11812 x11813 x11814 x11815 x11816 x11817 x11818 x11819 x118110 x118111 x118112 x118113 x118114 x118115 x118116 x118117 x118118 x118119 x118120 x118121 x118122 x118123 x118124 x118125 x118126 x118127 x118128 x118129 ')";s:14:"total_affected";i:1;}i:185;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1182, 11, 'x11820 x11821 x11822 x11823 x11824 x11825 x11826 x11827 x11828 x11829 x118210 x118211 x118212 x118213 x118214 x118215 x118216 x118217 x118218 x118219 x118220 x118221 x118222 x118223 x118224 x118225 x118226 x118227 x118228 x118229 ')";s:14:"total_affected";i:1;}i:186;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1183, 11, 'x11830 x11831 x11832 x11833 x11834 x11835 x11836 x11837 x11838 x11839 x118310 x118311 x118312 x118313 x118314 x118315 x118316 x118317 x118318 x118319 x118320 x118321 x118322 x118323 x118324 x118325 x118326 x118327 x118328 x118329 ')";s:14:"total_affected";i:1;}i:187;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1184, 11, 'x11840 x11841 x11842 x11843 x11844 x11845 x11846 x11847 x11848 x11849 x118410 x118411 x118412 x118413 x118414 x118415 x118416 x118417 x118418 x118419 x118420 x118421 x118422 x118423 x118424 x118425 x118426 x118427 x118428 x118429 ')";s:14:"total_affected";i:1;}i:188;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1185, 11, 'x11850 x11851 x11852 x11853 x11854 x11855 x11856 x11857 x11858 x11859 x118510 x118511 x118512 x118513 x118514 x118515 x118516 x118517 x118518 x118519 x118520 x118521 x118522 x118523 x118524 x118525 x118526 x118527 x118528 x118529 ')";s:14:"total_affected";i:1;}i:189;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1186, 11, 'x11860 x11861 x11862 x11863 x11864 x11865 x11866 x11867 x11868 x11869 x118610 x118611 x118612 x118613 x118614 x118615 x118616 x118617 x118618 x118619 x118620 x118621 x118622 x118623 x118624 x118625 x118626 x118627 x118628 x118629 ')";s:14:"total_affected";i:1;}i:190;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1187, 11, 'x11870 x11871 x11872 x11873 x11874 x11875 x11876 x11877 x11878 x11879 x118710 x118711 x118712 x118713 x118714 x118715 x118716 x118717 x118718 x118719 x118720 x118721 x118722 x118723 x118724 x118725 x118726 x118727 x118728 x118729 ')";s:14:"total_affected";i:1;}i:191;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1188, 11, 'x11880 x11881 x11882 x11883 x11884 x11885 x11886 x11887 x11888 x11889 x118810 x118811 x118812 x118813 x118814 x118815 x118816 x118817 x118818 x118819 x118820 x118821 x118822 x118823 x118824 x118825 x118826 x118827 x118828 x118829 ')";s:14:"total_affected";i:1;}i:192;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1189, 11, 'x11890 x11891 x11892 x11893 x11894 x11895 x11896 x11897 x11898 x11899 x118910 x118911 x118912 x118913 x118914 x118915 x118916 x118917 x118918 x118919 x118920 x118921 x118922 x118923 x118924 x118925 x118926 x118927 x118928 x118929 ')";s:14:"total_affected";i:1;}i:193;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1190, 11, 'x11900 x11901 x11902 x11903 x11904 x11905 x11906 x11907 x11908 x11909 x119010 x119011 x119012 x119013 x119014 x119015 x119016 x119017 x119018 x119019 x119020 x119021 x119022 x119023 x119024 x119025 x119026 x119027 x119028 x119029 ')";s:14:"total_affected";i:1;}i:194;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1191, 11, 'x11910 x11911 x11912 x11913 x11914 x11915 x11916 x11917 x11918 x11919 x119110 x119111 x119112 x119113 x119114 x119115 x119116 x119117 x119118 x119119 x119120 x119121 x119122 x119123 x119124 x119125 x119126 x119127 x119128 x119129 ')";s:14:"total_affected";i:1;}i:195;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1192, 11, 'x11920 x11921 x11922 x11923 x11924 x11925 x11926 x11927 x11928 x11929 x119210 x119211 x119212 x119213 x119214 x119215 x119216 x119217 x119218 x119219 x119220 x119221 x119222 x119223 x119224 x119225 x119226 x119227 x119228 x119229 ')";s:14:"total_affected";i:1;}i:196;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1193, 11, 'x11930 x11931 x11932 x11933 x11934 x11935 x11936 x11937 x11938 x11939 x119310 x119311 x119312 x119313 x119314 x119315 x119316 x119317 x119318 x119319 x119320 x119321 x119322 x119323 x119324 x119325 x119326 x119327 x119328 x119329 ')";s:14:"total_affected";i:1;}i:197;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1194, 11, 'x11940 x11941 x11942 x11943 x11944 x11945 x11946 x11947 x11948 x11949 x119410 x119411 x119412 x119413 x119414 x119415 x119416 x119417 x119418 x119419 x119420 x119421 x119422 x119423 x119424 x119425 x119426 x119427 x119428 x119429 ')";s:14:"total_affected";i:1;}i:198;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1195, 11, 'x11950 x11951 x11952 x11953 x11954 x11955 x11956 x11957 x11958 x11959 x119510 x119511 x119512 x119513 x119514 x119515 x119516 x119517 x119518 x119519 x119520 x119521 x119522 x119523 x119524 x119525 x119526 x119527 x119528 x119529 ')";s:14:"total_affected";i:1;}i:199;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1196, 11, 'x11960 x11961 x11962 x11963 x11964 x11965 x11966 x11967 x11968 x11969 x119610 x119611 x119612 x119613 x119614 x119615 x119616 x119617 x119618 x119619 x119620 x119621 x119622 x119623 x119624 x119625 x119626 x119627 x119628 x119629 ')";s:14:"total_affected";i:1;}i:200;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1197, 11, 'x11970 x11971 x11972 x11973 x11974 x11975 x11976 x11977 x11978 x11979 x119710 x119711 x119712 x119713 x119714 x119715 x119716 x119717 x119718 x119719 x119720 x119721 x119722 x119723 x119724 x119725 x119726 x119727 x119728 x119729 ')";s:14:"total_affected";i:1;}i:201;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1198, 11, 'x11980 x11981 x11982 x11983 x11984 x11985 x11986 x11987 x11988 x11989 x119810 x119811 x119812 x119813 x119814 x119815 x119816 x119817 x119818 x119819 x119820 x119821 x119822 x119823 x119824 x119825 x119826 x119827 x119828 x119829 ')";s:14:"total_affected";i:1;}i:202;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1199, 11, 'x11990 x11991 x11992 x11993 x11994 x11995 x11996 x11997 x11998 x11999 x119910 x119911 x119912 x119913 x119914 x119915 x119916 x119917 x119918 x119919 x119920 x119921 x119922 x119923 x119924 x119925 x119926 x119927 x119928 x119929 ')";s:14:"total_affected";i:1;}i:203;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1200, 11, 'x12000 x12001 x12002 x12003 x12004 x12005 x12006 x12007 x12008 x12009 x120010 x120011 x120012 x120013 x120014 x120015 x120016 x120017 x120018 x120019 x120020 x120021 x120022 x120023 x120024 x120025 x120026 x120027 x120028 x120029 ')";s:14:"total_affected";i:1;}i:204;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1201, 11, 'x12010 x12011 x12012 x12013 x12014 x12015 x12016 x12017 x12018 x12019 x120110 x120111 x120112 x120113 x120114 x120115 x120116 x120117 x120118 x120119 x120120 x120121 x120122 x120123 x120124 x120125 x120126 x120127 x120128 x120129 ')";s:14:"total_affected";i:1;}i:205;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1202, 11, 'x12020 x12021 x12022 x12023 x12024 x12025 x12026 x12027 x12028 x12029 x120210 x120211 x120212 x120213 x120214 x120215 x120216 x120217 x120218 x120219 x120220 x120221 x120222 x120223 x120224 x120225 x120226 x120227 x120228 x120229 ')";s:14:"total_affected";i:1;}i:206;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1203, 11, 'x12030 x12031 x12032 x12033 x12034 x12035 x12036 x12037 x12038 x12039 x120310 x120311 x120312 x120313 x120314 x120315 x120316 x120317 x120318 x120319 x120320 x120321 x120322 x120323 x120324 x120325 x120326 x120327 x120328 x120329 ')";s:14:"total_affected";i:1;}i:207;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1204, 11, 'x12040 x12041 x12042 x12043 x12044 x12045 x12046 x12047 x12048 x12049 x120410 x120411 x120412 x120413 x120414 x120415 x120416 x120417 x120418 x120419 x120420 x120421 x120422 x120423 x120424 x120425 x120426 x120427 x120428 x120429 ')";s:14:"total_affected";i:1;}i:208;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1205, 11, 'x12050 x12051 x12052 x12053 x12054 x12055 x12056 x12057 x12058 x12059 x120510 x120511 x120512 x120513 x120514 x120515 x120516 x120517 x120518 x120519 x120520 x120521 x120522 x120523 x120524 x120525 x120526 x120527 x120528 x120529 ')";s:14:"total_affected";i:1;}i:209;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1206, 11, 'x12060 x12061 x12062 x12063 x12064 x12065 x12066 x12067 x12068 x12069 x120610 x120611 x120612 x120613 x120614 x120615 x120616 x120617 x120618 x120619 x120620 x120621 x120622 x120623 x120624 x120625 x120626 x120627 x120628 x120629 ')";s:14:"total_affected";i:1;}i:210;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1207, 11, 'x12070 x12071 x12072 x12073 x12074 x12075 x12076 x12077 x12078 x12079 x120710 x120711 x120712 x120713 x120714 x120715 x120716 x120717 x120718 x120719 x120720 x120721 x120722 x120723 x120724 x120725 x120726 x120727 x120728 x120729 ')";s:14:"total_affected";i:1;}i:211;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1208, 11, 'x12080 x12081 x12082 x12083 x12084 x12085 x12086 x12087 x12088 x12089 x120810 x120811 x120812 x120813 x120814 x120815 x120816 x120817 x120818 x120819 x120820 x120821 x120822 x120823 x120824 x120825 x120826 x120827 x120828 x120829 ')";s:14:"total_affected";i:1;}i:212;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1209, 11, 'x12090 x12091 x12092 x12093 x12094 x12095 x12096 x12097 x12098 x12099 x120910 x120911 x120912 x120913 x120914 x120915 x120916 x120917 x120918 x120919 x120920 x120921 x120922 x120923 x120924 x120925 x120926 x120927 x120928 x120929 ')";s:14:"total_affected";i:1;}i:213;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1210, 11, 'x12100 x12101 x12102 x12103 x12104 x12105 x12106 x12107 x12108 x12109 x121010 x121011 x121012 x121013 x121014 x121015 x121016 x121017 x121018 x121019 x121020 x121021 x121022 x121023 x121024 x121025 x121026 x121027 x121028 x121029 ')";s:14:"total_affected";i:1;}i:214;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1211, 11, 'x12110 x12111 x12112 x12113 x12114 x12115 x12116 x12117 x12118 x12119 x121110 x121111 x121112 x121113 x121114 x121115 x121116 x121117 x121118 x121119 x121120 x121121 x121122 x121123 x121124 x121125 x121126 x121127 x121128 x121129 ')";s:14:"total_affected";i:1;}i:215;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1212, 11, 'x12120 x12121 x12122 x12123 x12124 x12125 x12126 x12127 x12128 x12129 x121210 x121211 x121212 x121213 x121214 x121215 x121216 x121217 x121218 x121219 x121220 x121221 x121222 x121223 x121224 x121225 x121226 x121227 x121228 x121229 ')";s:14:"total_affected";i:1;}i:216;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1213, 11, 'x12130 x12131 x12132 x12133 x12134 x12135 x12136 x12137 x12138 x12139 x121310 x121311 x121312 x121313 x121314 x121315 x121316 x121317 x121318 x121319 x121320 x121321 x121322 x121323 x121324 x121325 x121326 x121327 x121328 x121329 ')";s:14:"total_affected";i:1;}i:217;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1214, 11, 'x12140 x12141 x12142 x12143 x12144 x12145 x12146 x12147 x12148 x12149 x121410 x121411 x121412 x121413 x121414 x121415 x121416 x121417 x121418 x121419 x121420 x121421 x121422 x121423 x121424 x121425 x121426 x121427 x121428 x121429 ')";s:14:"total_affected";i:1;}i:218;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1215, 11, 'x12150 x12151 x12152 x12153 x12154 x12155 x12156 x12157 x12158 x12159 x121510 x121511 x121512 x121513 x121514 x121515 x121516 x121517 x121518 x121519 x121520 x121521 x121522 x121523 x121524 x121525 x121526 x121527 x121528 x121529 ')";s:14:"total_affected";i:1;}i:219;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1216, 11, 'x12160 x12161 x12162 x12163 x12164 x12165 x12166 x12167 x12168 x12169 x121610 x121611 x121612 x121613 x121614 x121615 x121616 x121617 x121618 x121619 x121620 x121621 x121622 x121623 x121624 x121625 x121626 x121627 x121628 x121629 ')";s:14:"total_affected";i:1;}i:220;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1217, 11, 'x12170 x12171 x12172 x12173 x12174 x12175 x12176 x12177 x12178 x12179 x121710 x121711 x121712 x121713 x121714 x121715 x121716 x121717 x121718 x121719 x121720 x121721 x121722 x121723 x121724 x121725 x121726 x121727 x121728 x121729 ')";s:14:"total_affected";i:1;}i:221;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1218, 11, 'x12180 x12181 x12182 x12183 x12184 x12185 x12186 x12187 x12188 x12189 x121810 x121811 x121812 x121813 x121814 x121815 x121816 x121817 x121818 x121819 x121820 x121821 x121822 x121823 x121824 x121825 x121826 x121827 x121828 x121829 ')";s:14:"total_affected";i:1;}i:222;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1219, 11, 'x12190 x12191 x12192 x12193 x12194 x12195 x12196 x12197 x12198 x12199 x121910 x121911 x121912 x121913 x121914 x121915 x121916 x121917 x121918 x121919 x121920 x121921 x121922 x121923 x121924 x121925 x121926 x121927 x121928 x121929 ')";s:14:"total_affected";i:1;}i:223;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1220, 11, 'x12200 x12201 x12202 x12203 x12204 x12205 x12206 x12207 x12208 x12209 x122010 x122011 x122012 x122013 x122014 x122015 x122016 x122017 x122018 x122019 x122020 x122021 x122022 x122023 x122024 x122025 x122026 x122027 x122028 x122029 ')";s:14:"total_affected";i:1;}i:224;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1221, 11, 'x12210 x12211 x12212 x12213 x12214 x12215 x12216 x12217 x12218 x12219 x122110 x122111 x122112 x122113 x122114 x122115 x122116 x122117 x122118 x122119 x122120 x122121 x122122 x122123 x122124 x122125 x122126 x122127 x122128 x122129 ')";s:14:"total_affected";i:1;}i:225;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1222, 11, 'x12220 x12221 x12222 x12223 x12224 x12225 x12226 x12227 x12228 x12229 x122210 x122211 x122212 x122213 x122214 x122215 x122216 x122217 x122218 x122219 x122220 x122221 x122222 x122223 x122224 x122225 x122226 x122227 x122228 x122229 ')";s:14:"total_affected";i:1;}i:226;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1223, 11, 'x12230 x12231 x12232 x12233 x12234 x12235 x12236 x12237 x12238 x12239 x122310 x122311 x122312 x122313 x122314 x122315 x122316 x122317 x122318 x122319 x122320 x122321 x122322 x122323 x122324 x122325 x122326 x122327 x122328 x122329 ')";s:14:"total_affected";i:1;}i:227;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1224, 11, 'x12240 x12241 x12242 x12243 x12244 x12245 x12246 x12247 x12248 x12249 x122410 x122411 x122412 x122413 x122414 x122415 x122416 x122417 x122418 x122419 x122420 x122421 x122422 x122423 x122424 x122425 x122426 x122427 x122428 x122429 ')";s:14:"total_affected";i:1;}i:228;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1225, 11, 'x12250 x12251 x12252 x12253 x12254 x12255 x12256 x12257 x12258 x12259 x122510 x122511 x122512 x122513 x122514 x122515 x122516 x122517 x122518 x122519 x122520 x122521 x122522 x122523 x122524 x122525 x122526 x122527 x122528 x122529 ')";s:14:"total_affected";i:1;}i:229;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1226, 11, 'x12260 x12261 x12262 x12263 x12264 x12265 x12266 x12267 x12268 x12269 x122610 x122611 x122612 x122613 x122614 x122615 x122616 x122617 x122618 x122619 x122620 x122621 x122622 x122623 x122624 x122625 x122626 x122627 x122628 x122629 ')";s:14:"total_affected";i:1;}i:230;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1227, 11, 'x12270 x12271 x12272 x12273 x12274 x12275 x12276 x12277 x12278 x12279 x122710 x122711 x122712 x122713 x122714 x122715 x122716 x122717 x122718 x122719 x122720 x122721 x122722 x122723 x122724 x122725 x122726 x122727 x122728 x122729 ')";s:14:"total_affected";i:1;}i:231;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1228, 11, 'x12280 x12281 x12282 x12283 x12284 x12285 x12286 x12287 x12288 x12289 x122810 x122811 x122812 x122813 x122814 x122815 x122816 x122817 x122818 x122819 x122820 x122821 x122822 x122823 x122824 x122825 x122826 x122827 x122828 x122829 ')";s:14:"total_affected";i:1;}i:232;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1229, 11, 'x12290 x12291 x12292 x12293 x12294 x12295 x12296 x12297 x12298 x12299 x122910 x122911 x122912 x122913 x122914 x122915 x122916 x122917 x122918 x122919 x122920 x122921 x122922 x122923 x122924 x122925 x122926 x122927 x122928 x122929 ')";s:14:"total_affected";i:1;}i:233;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1230, 11, 'x12300 x12301 x12302 x12303 x12304 x12305 x12306 x12307 x12308 x12309 x123010 x123011 x123012 x123013 x123014 x123015 x123016 x123017 x123018 x123019 x123020 x123021 x123022 x123023 x123024 x123025 x123026 x123027 x123028 x123029 ')";s:14:"total_affected";i:1;}i:234;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1231, 11, 'x12310 x12311 x12312 x12313 x12314 x12315 x12316 x12317 x12318 x12319 x123110 x123111 x123112 x123113 x123114 x123115 x123116 x123117 x123118 x123119 x123120 x123121 x123122 x123123 x123124 x123125 x123126 x123127 x123128 x123129 ')";s:14:"total_affected";i:1;}i:235;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1232, 11, 'x12320 x12321 x12322 x12323 x12324 x12325 x12326 x12327 x12328 x12329 x123210 x123211 x123212 x123213 x123214 x123215 x123216 x123217 x123218 x123219 x123220 x123221 x123222 x123223 x123224 x123225 x123226 x123227 x123228 x123229 ')";s:14:"total_affected";i:1;}i:236;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1233, 11, 'x12330 x12331 x12332 x12333 x12334 x12335 x12336 x12337 x12338 x12339 x123310 x123311 x123312 x123313 x123314 x123315 x123316 x123317 x123318 x123319 x123320 x123321 x123322 x123323 x123324 x123325 x123326 x123327 x123328 x123329 ')";s:14:"total_affected";i:1;}i:237;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1234, 11, 'x12340 x12341 x12342 x12343 x12344 x12345 x12346 x12347 x12348 x12349 x123410 x123411 x123412 x123413 x123414 x123415 x123416 x123417 x123418 x123419 x123420 x123421 x123422 x123423 x123424 x123425 x123426 x123427 x123428 x123429 ')";s:14:"total_affected";i:1;}i:238;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1235, 11, 'x12350 x12351 x12352 x12353 x12354 x12355 x12356 x12357 x12358 x12359 x123510 x123511 x123512 x123513 x123514 x123515 x123516 x123517 x123518 x123519 x123520 x123521 x123522 x123523 x123524 x123525 x123526 x123527 x123528 x123529 ')";s:14:"total_affected";i:1;}i:239;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1236, 11, 'x12360 x12361 x12362 x12363 x12364 x12365 x12366 x12367 x12368 x12369 x123610 x123611 x123612 x123613 x123614 x123615 x123616 x123617 x123618 x123619 x123620 x123621 x123622 x123623 x123624 x123625 x123626 x123627 x123628 x123629 ')";s:14:"total_affected";i:1;}i:240;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1237, 11, 'x12370 x12371 x12372 x12373 x12374 x12375 x12376 x12377 x12378 x12379 x123710 x123711 x123712 x123713 x123714 x123715 x123716 x123717 x123718 x123719 x123720 x123721 x123722 x123723 x123724 x123725 x123726 x123727 x123728 x123729 ')";s:14:"total_affected";i:1;}i:241;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1238, 11, 'x12380 x12381 x12382 x12383 x12384 x12385 x12386 x12387 x12388 x12389 x123810 x123811 x123812 x123813 x123814 x123815 x123816 x123817 x123818 x123819 x123820 x123821 x123822 x123823 x123824 x123825 x123826 x123827 x123828 x123829 ')";s:14:"total_affected";i:1;}i:242;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1239, 11, 'x12390 x12391 x12392 x12393 x12394 x12395 x12396 x12397 x12398 x12399 x123910 x123911 x123912 x123913 x123914 x123915 x123916 x123917 x123918 x123919 x123920 x123921 x123922 x123923 x123924 x123925 x123926 x123927 x123928 x123929 ')";s:14:"total_affected";i:1;}i:243;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1240, 11, 'x12400 x12401 x12402 x12403 x12404 x12405 x12406 x12407 x12408 x12409 x124010 x124011 x124012 x124013 x124014 x124015 x124016 x124017 x124018 x124019 x124020 x124021 x124022 x124023 x124024 x124025 x124026 x124027 x124028 x124029 ')";s:14:"total_affected";i:1;}i:244;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1241, 11, 'x12410 x12411 x12412 x12413 x12414 x12415 x12416 x12417 x12418 x12419 x124110 x124111 x124112 x124113 x124114 x124115 x124116 x124117 x124118 x124119 x124120 x124121 x124122 x124123 x124124 x124125 x124126 x124127 x124128 x124129 ')";s:14:"total_affected";i:1;}i:245;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1242, 11, 'x12420 x12421 x12422 x12423 x12424 x12425 x12426 x12427 x12428 x12429 x124210 x124211 x124212 x124213 x124214 x124215 x124216 x124217 x124218 x124219 x124220 x124221 x124222 x124223 x124224 x124225 x124226 x124227 x124228 x124229 ')";s:14:"total_affected";i:1;}i:246;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1243, 11, 'x12430 x12431 x12432 x12433 x12434 x12435 x12436 x12437 x12438 x12439 x124310 x124311 x124312 x124313 x124314 x124315 x124316 x124317 x124318 x124319 x124320 x124321 x124322 x124323 x124324 x124325 x124326 x124327 x124328 x124329 ')";s:14:"total_affected";i:1;}i:247;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1244, 11, 'x12440 x12441 x12442 x12443 x12444 x12445 x12446 x12447 x12448 x12449 x124410 x124411 x124412 x124413 x124414 x124415 x124416 x124417 x124418 x124419 x124420 x124421 x124422 x124423 x124424 x124425 x124426 x124427 x124428 x124429 ')";s:14:"total_affected";i:1;}i:248;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1245, 11, 'x12450 x12451 x12452 x12453 x12454 x12455 x12456 x12457 x12458 x12459 x124510 x124511 x124512 x124513 x124514 x124515 x124516 x124517 x124518 x124519 x124520 x124521 x124522 x124523 x124524 x124525 x124526 x124527 x124528 x124529 ')";s:14:"total_affected";i:1;}i:249;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1246, 11, 'x12460 x12461 x12462 x12463 x12464 x12465 x12466 x12467 x12468 x12469 x124610 x124611 x124612 x124613 x124614 x124615 x124616 x124617 x124618 x124619 x124620 x124621 x124622 x124623 x124624 x124625 x124626 x124627 x124628 x124629 ')";s:14:"total_affected";i:1;}i:250;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1247, 11, 'x12470 x12471 x12472 x12473 x12474 x12475 x12476 x12477 x12478 x12479 x124710 x124711 x124712 x124713 x124714 x124715 x124716 x124717 x124718 x124719 x124720 x124721 x124722 x124723 x124724 x124725 x124726 x124727 x124728 x124729 ')";s:14:"total_affected";i:1;}i:251;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1248, 11, 'x12480 x12481 x12482 x12483 x12484 x12485 x12486 x12487 x12488 x12489 x124810 x124811 x124812 x124813 x124814 x124815 x124816 x124817 x124818 x124819 x124820 x124821 x124822 x124823 x124824 x124825 x124826 x124827 x124828 x124829 ')";s:14:"total_affected";i:1;}i:252;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1249, 11, 'x12490 x12491 x12492 x12493 x12494 x12495 x12496 x12497 x12498 x12499 x124910 x124911 x124912 x124913 x124914 x124915 x124916 x124917 x124918 x124919 x124920 x124921 x124922 x124923 x124924 x124925 x124926 x124927 x124928 x124929 ')";s:14:"total_affected";i:1;}i:253;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1250, 11, 'x12500 x12501 x12502 x12503 x12504 x12505 x12506 x12507 x12508 x12509 x125010 x125011 x125012 x125013 x125014 x125015 x125016 x125017 x125018 x125019 x125020 x125021 x125022 x125023 x125024 x125025 x125026 x125027 x125028 x125029 ')";s:14:"total_affected";i:1;}i:254;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1251, 11, 'x12510 x12511 x12512 x12513 x12514 x12515 x12516 x12517 x12518 x12519 x125110 x125111 x125112 x125113 x125114 x125115 x125116 x125117 x125118 x125119 x125120 x125121 x125122 x125123 x125124 x125125 x125126 x125127 x125128 x125129 ')";s:14:"total_affected";i:1;}i:255;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1252, 11, 'x12520 x12521 x12522 x12523 x12524 x12525 x12526 x12527 x12528 x12529 x125210 x125211 x125212 x125213 x125214 x125215 x125216 x125217 x125218 x125219 x125220 x125221 x125222 x125223 x125224 x125225 x125226 x125227 x125228 x125229 ')";s:14:"total_affected";i:1;}i:256;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1253, 11, 'x12530 x12531 x12532 x12533 x12534 x12535 x12536 x12537 x12538 x12539 x125310 x125311 x125312 x125313 x125314 x125315 x125316 x125317 x125318 x125319 x125320 x125321 x125322 x125323 x125324 x125325 x125326 x125327 x125328 x125329 ')";s:14:"total_affected";i:1;}i:257;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1254, 11, 'x12540 x12541 x12542 x12543 x12544 x12545 x12546 x12547 x12548 x12549 x125410 x125411 x125412 x125413 x125414 x125415 x125416 x125417 x125418 x125419 x125420 x125421 x125422 x125423 x125424 x125425 x125426 x125427 x125428 x125429 ')";s:14:"total_affected";i:1;}i:258;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1255, 11, 'x12550 x12551 x12552 x12553 x12554 x12555 x12556 x12557 x12558 x12559 x125510 x125511 x125512 x125513 x125514 x125515 x125516 x125517 x125518 x125519 x125520 x125521 x125522 x125523 x125524 x125525 x125526 x125527 x125528 x125529 ')";s:14:"total_affected";i:1;}i:259;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1256, 11, 'x12560 x12561 x12562 x12563 x12564 x12565 x12566 x12567 x12568 x12569 x125610 x125611 x125612 x125613 x125614 x125615 x125616 x125617 x125618 x125619 x125620 x125621 x125622 x125623 x125624 x125625 x125626 x125627 x125628 x125629 ')";s:14:"total_affected";i:1;}i:260;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1257, 11, 'x12570 x12571 x12572 x12573 x12574 x12575 x12576 x12577 x12578 x12579 x125710 x125711 x125712 x125713 x125714 x125715 x125716 x125717 x125718 x125719 x125720 x125721 x125722 x125723 x125724 x125725 x125726 x125727 x125728 x125729 ')";s:14:"total_affected";i:1;}i:261;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1258, 11, 'x12580 x12581 x12582 x12583 x12584 x12585 x12586 x12587 x12588 x12589 x125810 x125811 x125812 x125813 x125814 x125815 x125816 x125817 x125818 x125819 x125820 x125821 x125822 x125823 x125824 x125825 x125826 x125827 x125828 x125829 ')";s:14:"total_affected";i:1;}i:262;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1259, 11, 'x12590 x12591 x12592 x12593 x12594 x12595 x12596 x12597 x12598 x12599 x125910 x125911 x125912 x125913 x125914 x125915 x125916 x125917 x125918 x125919 x125920 x125921 x125922 x125923 x125924 x125925 x125926 x125927 x125928 x125929 ')";s:14:"total_affected";i:1;}i:263;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1260, 11, 'x12600 x12601 x12602 x12603 x12604 x12605 x12606 x12607 x12608 x12609 x126010 x126011 x126012 x126013 x126014 x126015 x126016 x126017 x126018 x126019 x126020 x126021 x126022 x126023 x126024 x126025 x126026 x126027 x126028 x126029 ')";s:14:"total_affected";i:1;}i:264;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1261, 11, 'x12610 x12611 x12612 x12613 x12614 x12615 x12616 x12617 x12618 x12619 x126110 x126111 x126112 x126113 x126114 x126115 x126116 x126117 x126118 x126119 x126120 x126121 x126122 x126123 x126124 x126125 x126126 x126127 x126128 x126129 ')";s:14:"total_affected";i:1;}i:265;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1262, 11, 'x12620 x12621 x12622 x12623 x12624 x12625 x12626 x12627 x12628 x12629 x126210 x126211 x126212 x126213 x126214 x126215 x126216 x126217 x126218 x126219 x126220 x126221 x126222 x126223 x126224 x126225 x126226 x126227 x126228 x126229 ')";s:14:"total_affected";i:1;}i:266;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1263, 11, 'x12630 x12631 x12632 x12633 x12634 x12635 x12636 x12637 x12638 x12639 x126310 x126311 x126312 x126313 x126314 x126315 x126316 x126317 x126318 x126319 x126320 x126321 x126322 x126323 x126324 x126325 x126326 x126327 x126328 x126329 ')";s:14:"total_affected";i:1;}i:267;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1264, 11, 'x12640 x12641 x12642 x12643 x12644 x12645 x12646 x12647 x12648 x12649 x126410 x126411 x126412 x126413 x126414 x126415 x126416 x126417 x126418 x126419 x126420 x126421 x126422 x126423 x126424 x126425 x126426 x126427 x126428 x126429 ')";s:14:"total_affected";i:1;}i:268;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1265, 11, 'x12650 x12651 x12652 x12653 x12654 x12655 x12656 x12657 x12658 x12659 x126510 x126511 x126512 x126513 x126514 x126515 x126516 x126517 x126518 x126519 x126520 x126521 x126522 x126523 x126524 x126525 x126526 x126527 x126528 x126529 ')";s:14:"total_affected";i:1;}i:269;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1266, 11, 'x12660 x12661 x12662 x12663 x12664 x12665 x12666 x12667 x12668 x12669 x126610 x126611 x126612 x126613 x126614 x126615 x126616 x126617 x126618 x126619 x126620 x126621 x126622 x126623 x126624 x126625 x126626 x126627 x126628 x126629 ')";s:14:"total_affected";i:1;}i:270;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1267, 11, 'x12670 x12671 x12672 x12673 x12674 x12675 x12676 x12677 x12678 x12679 x126710 x126711 x126712 x126713 x126714 x126715 x126716 x126717 x126718 x126719 x126720 x126721 x126722 x126723 x126724 x126725 x126726 x126727 x126728 x126729 ')";s:14:"total_affected";i:1;}i:271;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1268, 11, 'x12680 x12681 x12682 x12683 x12684 x12685 x12686 x12687 x12688 x12689 x126810 x126811 x126812 x126813 x126814 x126815 x126816 x126817 x126818 x126819 x126820 x126821 x126822 x126823 x126824 x126825 x126826 x126827 x126828 x126829 ')";s:14:"total_affected";i:1;}i:272;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1269, 11, 'x12690 x12691 x12692 x12693 x12694 x12695 x12696 x12697 x12698 x12699 x126910 x126911 x126912 x126913 x126914 x126915 x126916 x126917 x126918 x126919 x126920 x126921 x126922 x126923 x126924 x126925 x126926 x126927 x126928 x126929 ')";s:14:"total_affected";i:1;}i:273;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1270, 11, 'x12700 x12701 x12702 x12703 x12704 x12705 x12706 x12707 x12708 x12709 x127010 x127011 x127012 x127013 x127014 x127015 x127016 x127017 x127018 x127019 x127020 x127021 x127022 x127023 x127024 x127025 x127026 x127027 x127028 x127029 ')";s:14:"total_affected";i:1;}i:274;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1271, 11, 'x12710 x12711 x12712 x12713 x12714 x12715 x12716 x12717 x12718 x12719 x127110 x127111 x127112 x127113 x127114 x127115 x127116 x127117 x127118 x127119 x127120 x127121 x127122 x127123 x127124 x127125 x127126 x127127 x127128 x127129 ')";s:14:"total_affected";i:1;}i:275;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1272, 11, 'x12720 x12721 x12722 x12723 x12724 x12725 x12726 x12727 x12728 x12729 x127210 x127211 x127212 x127213 x127214 x127215 x127216 x127217 x127218 x127219 x127220 x127221 x127222 x127223 x127224 x127225 x127226 x127227 x127228 x127229 ')";s:14:"total_affected";i:1;}i:276;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1273, 11, 'x12730 x12731 x12732 x12733 x12734 x12735 x12736 x12737 x12738 x12739 x127310 x127311 x127312 x127313 x127314 x127315 x127316 x127317 x127318 x127319 x127320 x127321 x127322 x127323 x127324 x127325 x127326 x127327 x127328 x127329 ')";s:14:"total_affected";i:1;}i:277;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1274, 11, 'x12740 x12741 x12742 x12743 x12744 x12745 x12746 x12747 x12748 x12749 x127410 x127411 x127412 x127413 x127414 x127415 x127416 x127417 x127418 x127419 x127420 x127421 x127422 x127423 x127424 x127425 x127426 x127427 x127428 x127429 ')";s:14:"total_affected";i:1;}i:278;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1275, 11, 'x12750 x12751 x12752 x12753 x12754 x12755 x12756 x12757 x12758 x12759 x127510 x127511 x127512 x127513 x127514 x127515 x127516 x127517 x127518 x127519 x127520 x127521 x127522 x127523 x127524 x127525 x127526 x127527 x127528 x127529 ')";s:14:"total_affected";i:1;}i:279;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1276, 11, 'x12760 x12761 x12762 x12763 x12764 x12765 x12766 x12767 x12768 x12769 x127610 x127611 x127612 x127613 x127614 x127615 x127616 x127617 x127618 x127619 x127620 x127621 x127622 x127623 x127624 x127625 x127626 x127627 x127628 x127629 ')";s:14:"total_affected";i:1;}i:280;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1277, 11, 'x12770 x12771 x12772 x12773 x12774 x12775 x12776 x12777 x12778 x12779 x127710 x127711 x127712 x127713 x127714 x127715 x127716 x127717 x127718 x127719 x127720 x127721 x127722 x127723 x127724 x127725 x127726 x127727 x127728 x127729 ')";s:14:"total_affected";i:1;}i:281;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1278, 11, 'x12780 x12781 x12782 x12783 x12784 x12785 x12786 x12787 x12788 x12789 x127810 x127811 x127812 x127813 x127814 x127815 x127816 x127817 x127818 x127819 x127820 x127821 x127822 x127823 x127824 x127825 x127826 x127827 x127828 x127829 ')";s:14:"total_affected";i:1;}i:282;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1279, 11, 'x12790 x12791 x12792 x12793 x12794 x12795 x12796 x12797 x12798 x12799 x127910 x127911 x127912 x127913 x127914 x127915 x127916 x127917 x127918 x127919 x127920 x127921 x127922 x127923 x127924 x127925 x127926 x127927 x127928 x127929 ')";s:14:"total_affected";i:1;}i:283;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1280, 11, 'x12800 x12801 x12802 x12803 x12804 x12805 x12806 x12807 x12808 x12809 x128010 x128011 x128012 x128013 x128014 x128015 x128016 x128017 x128018 x128019 x128020 x128021 x128022 x128023 x128024 x128025 x128026 x128027 x128028 x128029 ')";s:14:"total_affected";i:1;}i:284;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1281, 11, 'x12810 x12811 x12812 x12813 x12814 x12815 x12816 x12817 x12818 x12819 x128110 x128111 x128112 x128113 x128114 x128115 x128116 x128117 x128118 x128119 x128120 x128121 x128122 x128123 x128124 x128125 x128126 x128127 x128128 x128129 ')";s:14:"total_affected";i:1;}i:285;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1282, 11, 'x12820 x12821 x12822 x12823 x12824 x12825 x12826 x12827 x12828 x12829 x128210 x128211 x128212 x128213 x128214 x128215 x128216 x128217 x128218 x128219 x128220 x128221 x128222 x128223 x128224 x128225 x128226 x128227 x128228 x128229 ')";s:14:"total_affected";i:1;}i:286;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1283, 11, 'x12830 x12831 x12832 x12833 x12834 x12835 x12836 x12837 x12838 x12839 x128310 x128311 x128312 x128313 x128314 x128315 x128316 x128317 x128318 x128319 x128320 x128321 x128322 x128323 x128324 x128325 x128326 x128327 x128328 x128329 ')";s:14:"total_affected";i:1;}i:287;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1284, 11, 'x12840 x12841 x12842 x12843 x12844 x12845 x12846 x12847 x12848 x12849 x128410 x128411 x128412 x128413 x128414 x128415 x128416 x128417 x128418 x128419 x128420 x128421 x128422 x128423 x128424 x128425 x128426 x128427 x128428 x128429 ')";s:14:"total_affected";i:1;}i:288;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1285, 11, 'x12850 x12851 x12852 x12853 x12854 x12855 x12856 x12857 x12858 x12859 x128510 x128511 x128512 x128513 x128514 x128515 x128516 x128517 x128518 x128519 x128520 x128521 x128522 x128523 x128524 x128525 x128526 x128527 x128528 x128529 ')";s:14:"total_affected";i:1;}i:289;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1286, 11, 'x12860 x12861 x12862 x12863 x12864 x12865 x12866 x12867 x12868 x12869 x128610 x128611 x128612 x128613 x128614 x128615 x128616 x128617 x128618 x128619 x128620 x128621 x128622 x128623 x128624 x128625 x128626 x128627 x128628 x128629 ')";s:14:"total_affected";i:1;}i:290;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1287, 11, 'x12870 x12871 x12872 x12873 x12874 x12875 x12876 x12877 x12878 x12879 x128710 x128711 x128712 x128713 x128714 x128715 x128716 x128717 x128718 x128719 x128720 x128721 x128722 x128723 x128724 x128725 x128726 x128727 x128728 x128729 ')";s:14:"total_affected";i:1;}i:291;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1288, 11, 'x12880 x12881 x12882 x12883 x12884 x12885 x12886 x12887 x12888 x12889 x128810 x128811 x128812 x128813 x128814 x128815 x128816 x128817 x128818 x128819 x128820 x128821 x128822 x128823 x128824 x128825 x128826 x128827 x128828 x128829 ')";s:14:"total_affected";i:1;}i:292;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1289, 11, 'x12890 x12891 x12892 x12893 x12894 x12895 x12896 x12897 x12898 x12899 x128910 x128911 x128912 x128913 x128914 x128915 x128916 x128917 x128918 x128919 x128920 x128921 x128922 x128923 x128924 x128925 x128926 x128927 x128928 x128929 ')";s:14:"total_affected";i:1;}i:293;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1290, 11, 'x12900 x12901 x12902 x12903 x12904 x12905 x12906 x12907 x12908 x12909 x129010 x129011 x129012 x129013 x129014 x129015 x129016 x129017 x129018 x129019 x129020 x129021 x129022 x129023 x129024 x129025 x129026 x129027 x129028 x129029 ')";s:14:"total_affected";i:1;}i:294;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1291, 11, 'x12910 x12911 x12912 x12913 x12914 x12915 x12916 x12917 x12918 x12919 x129110 x129111 x129112 x129113 x129114 x129115 x129116 x129117 x129118 x129119 x129120 x129121 x129122 x129123 x129124 x129125 x129126 x129127 x129128 x129129 ')";s:14:"total_affected";i:1;}i:295;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1292, 11, 'x12920 x12921 x12922 x12923 x12924 x12925 x12926 x12927 x12928 x12929 x129210 x129211 x129212 x129213 x129214 x129215 x129216 x129217 x129218 x129219 x129220 x129221 x129222 x129223 x129224 x129225 x129226 x129227 x129228 x129229 ')";s:14:"total_affected";i:1;}i:296;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1293, 11, 'x12930 x12931 x12932 x12933 x12934 x12935 x12936 x12937 x12938 x12939 x129310 x129311 x129312 x129313 x129314 x129315 x129316 x129317 x129318 x129319 x129320 x129321 x129322 x129323 x129324 x129325 x129326 x129327 x129328 x129329 ')";s:14:"total_affected";i:1;}i:297;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1294, 11, 'x12940 x12941 x12942 x12943 x12944 x12945 x12946 x12947 x12948 x12949 x129410 x129411 x129412 x129413 x129414 x129415 x129416 x129417 x129418 x129419 x129420 x129421 x129422 x129423 x129424 x129425 x129426 x129427 x129428 x129429 ')";s:14:"total_affected";i:1;}i:298;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1295, 11, 'x12950 x12951 x12952 x12953 x12954 x12955 x12956 x12957 x12958 x12959 x129510 x129511 x129512 x129513 x129514 x129515 x129516 x129517 x129518 x129519 x129520 x129521 x129522 x129523 x129524 x129525 x129526 x129527 x129528 x129529 ')";s:14:"total_affected";i:1;}i:299;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1296, 11, 'x12960 x12961 x12962 x12963 x12964 x12965 x12966 x12967 x12968 x12969 x129610 x129611 x129612 x129613 x129614 x129615 x129616 x129617 x129618 x129619 x129620 x129621 x129622 x129623 x129624 x129625 x129626 x129627 x129628 x129629 ')";s:14:"total_affected";i:1;}i:300;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1297, 11, 'x12970 x12971 x12972 x12973 x12974 x12975 x12976 x12977 x12978 x12979 x129710 x129711 x129712 x129713 x129714 x129715 x129716 x129717 x129718 x129719 x129720 x129721 x129722 x129723 x129724 x129725 x129726 x129727 x129728 x129729 ')";s:14:"total_affected";i:1;}i:301;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1298, 11, 'x12980 x12981 x12982 x12983 x12984 x12985 x12986 x12987 x12988 x12989 x129810 x129811 x129812 x129813 x129814 x129815 x129816 x129817 x129818 x129819 x129820 x129821 x129822 x129823 x129824 x129825 x129826 x129827 x129828 x129829 ')";s:14:"total_affected";i:1;}i:302;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1299, 11, 'x12990 x12991 x12992 x12993 x12994 x12995 x12996 x12997 x12998 x12999 x129910 x129911 x129912 x129913 x129914 x129915 x129916 x129917 x129918 x129919 x129920 x129921 x129922 x129923 x129924 x129925 x129926 x129927 x129928 x129929 ')";s:14:"total_affected";i:1;}i:303;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1300, 11, 'x13000 x13001 x13002 x13003 x13004 x13005 x13006 x13007 x13008 x13009 x130010 x130011 x130012 x130013 x130014 x130015 x130016 x130017 x130018 x130019 x130020 x130021 x130022 x130023 x130024 x130025 x130026 x130027 x130028 x130029 ')";s:14:"total_affected";i:1;}i:304;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1301, 11, 'x13010 x13011 x13012 x13013 x13014 x13015 x13016 x13017 x13018 x13019 x130110 x130111 x130112 x130113 x130114 x130115 x130116 x130117 x130118 x130119 x130120 x130121 x130122 x130123 x130124 x130125 x130126 x130127 x130128 x130129 ')";s:14:"total_affected";i:1;}i:305;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1302, 11, 'x13020 x13021 x13022 x13023 x13024 x13025 x13026 x13027 x13028 x13029 x130210 x130211 x130212 x130213 x130214 x130215 x130216 x130217 x130218 x130219 x130220 x130221 x130222 x130223 x130224 x130225 x130226 x130227 x130228 x130229 ')";s:14:"total_affected";i:1;}i:306;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1303, 11, 'x13030 x13031 x13032 x13033 x13034 x13035 x13036 x13037 x13038 x13039 x130310 x130311 x130312 x130313 x130314 x130315 x130316 x130317 x130318 x130319 x130320 x130321 x130322 x130323 x130324 x130325 x130326 x130327 x130328 x130329 ')";s:14:"total_affected";i:1;}i:307;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1304, 11, 'x13040 x13041 x13042 x13043 x13044 x13045 x13046 x13047 x13048 x13049 x130410 x130411 x130412 x130413 x130414 x130415 x130416 x130417 x130418 x130419 x130420 x130421 x130422 x130423 x130424 x130425 x130426 x130427 x130428 x130429 ')";s:14:"total_affected";i:1;}i:308;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1305, 11, 'x13050 x13051 x13052 x13053 x13054 x13055 x13056 x13057 x13058 x13059 x130510 x130511 x130512 x130513 x130514 x130515 x130516 x130517 x130518 x130519 x130520 x130521 x130522 x130523 x130524 x130525 x130526 x130527 x130528 x130529 ')";s:14:"total_affected";i:1;}i:309;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1306, 11, 'x13060 x13061 x13062 x13063 x13064 x13065 x13066 x13067 x13068 x13069 x130610 x130611 x130612 x130613 x130614 x130615 x130616 x130617 x130618 x130619 x130620 x130621 x130622 x130623 x130624 x130625 x130626 x130627 x130628 x130629 ')";s:14:"total_affected";i:1;}i:310;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1307, 11, 'x13070 x13071 x13072 x13073 x13074 x13075 x13076 x13077 x13078 x13079 x130710 x130711 x130712 x130713 x130714 x130715 x130716 x130717 x130718 x130719 x130720 x130721 x130722 x130723 x130724 x130725 x130726 x130727 x130728 x130729 ')";s:14:"total_affected";i:1;}i:311;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1308, 11, 'x13080 x13081 x13082 x13083 x13084 x13085 x13086 x13087 x13088 x13089 x130810 x130811 x130812 x130813 x130814 x130815 x130816 x130817 x130818 x130819 x130820 x130821 x130822 x130823 x130824 x130825 x130826 x130827 x130828 x130829 ')";s:14:"total_affected";i:1;}i:312;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1309, 11, 'x13090 x13091 x13092 x13093 x13094 x13095 x13096 x13097 x13098 x13099 x130910 x130911 x130912 x130913 x130914 x130915 x130916 x130917 x130918 x130919 x130920 x130921 x130922 x130923 x130924 x130925 x130926 x130927 x130928 x130929 ')";s:14:"total_affected";i:1;}i:313;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1310, 11, 'x13100 x13101 x13102 x13103 x13104 x13105 x13106 x13107 x13108 x13109 x131010 x131011 x131012 x131013 x131014 x131015 x131016 x131017 x131018 x131019 x131020 x131021 x131022 x131023 x131024 x131025 x131026 x131027 x131028 x131029 ')";s:14:"total_affected";i:1;}i:314;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1311, 11, 'x13110 x13111 x13112 x13113 x13114 x13115 x13116 x13117 x13118 x13119 x131110 x131111 x131112 x131113 x131114 x131115 x131116 x131117 x131118 x131119 x131120 x131121 x131122 x131123 x131124 x131125 x131126 x131127 x131128 x131129 ')";s:14:"total_affected";i:1;}i:315;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1312, 11, 'x13120 x13121 x13122 x13123 x13124 x13125 x13126 x13127 x13128 x13129 x131210 x131211 x131212 x131213 x131214 x131215 x131216 x131217 x131218 x131219 x131220 x131221 x131222 x131223 x131224 x131225 x131226 x131227 x131228 x131229 ')";s:14:"total_affected";i:1;}i:316;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1313, 11, 'x13130 x13131 x13132 x13133 x13134 x13135 x13136 x13137 x13138 x13139 x131310 x131311 x131312 x131313 x131314 x131315 x131316 x131317 x131318 x131319 x131320 x131321 x131322 x131323 x131324 x131325 x131326 x131327 x131328 x131329 ')";s:14:"total_affected";i:1;}i:317;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1314, 11, 'x13140 x13141 x13142 x13143 x13144 x13145 x13146 x13147 x13148 x13149 x131410 x131411 x131412 x131413 x131414 x131415 x131416 x131417 x131418 x131419 x131420 x131421 x131422 x131423 x131424 x131425 x131426 x131427 x131428 x131429 ')";s:14:"total_affected";i:1;}i:318;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1315, 11, 'x13150 x13151 x13152 x13153 x13154 x13155 x13156 x13157 x13158 x13159 x131510 x131511 x131512 x131513 x131514 x131515 x131516 x131517 x131518 x131519 x131520 x131521 x131522 x131523 x131524 x131525 x131526 x131527 x131528 x131529 ')";s:14:"total_affected";i:1;}i:319;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1316, 11, 'x13160 x13161 x13162 x13163 x13164 x13165 x13166 x13167 x13168 x13169 x131610 x131611 x131612 x131613 x131614 x131615 x131616 x131617 x131618 x131619 x131620 x131621 x131622 x131623 x131624 x131625 x131626 x131627 x131628 x131629 ')";s:14:"total_affected";i:1;}i:320;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1317, 11, 'x13170 x13171 x13172 x13173 x13174 x13175 x13176 x13177 x13178 x13179 x131710 x131711 x131712 x131713 x131714 x131715 x131716 x131717 x131718 x131719 x131720 x131721 x131722 x131723 x131724 x131725 x131726 x131727 x131728 x131729 ')";s:14:"total_affected";i:1;}i:321;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1318, 11, 'x13180 x13181 x13182 x13183 x13184 x13185 x13186 x13187 x13188 x13189 x131810 x131811 x131812 x131813 x131814 x131815 x131816 x131817 x131818 x131819 x131820 x131821 x131822 x131823 x131824 x131825 x131826 x131827 x131828 x131829 ')";s:14:"total_affected";i:1;}i:322;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1319, 11, 'x13190 x13191 x13192 x13193 x13194 x13195 x13196 x13197 x13198 x13199 x131910 x131911 x131912 x131913 x131914 x131915 x131916 x131917 x131918 x131919 x131920 x131921 x131922 x131923 x131924 x131925 x131926 x131927 x131928 x131929 ')";s:14:"total_affected";i:1;}i:323;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1320, 11, 'x13200 x13201 x13202 x13203 x13204 x13205 x13206 x13207 x13208 x13209 x132010 x132011 x132012 x132013 x132014 x132015 x132016 x132017 x132018 x132019 x132020 x132021 x132022 x132023 x132024 x132025 x132026 x132027 x132028 x132029 ')";s:14:"total_affected";i:1;}i:324;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1321, 11, 'x13210 x13211 x13212 x13213 x13214 x13215 x13216 x13217 x13218 x13219 x132110 x132111 x132112 x132113 x132114 x132115 x132116 x132117 x132118 x132119 x132120 x132121 x132122 x132123 x132124 x132125 x132126 x132127 x132128 x132129 ')";s:14:"total_affected";i:1;}i:325;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1322, 11, 'x13220 x13221 x13222 x13223 x13224 x13225 x13226 x13227 x13228 x13229 x132210 x132211 x132212 x132213 x132214 x132215 x132216 x132217 x132218 x132219 x132220 x132221 x132222 x132223 x132224 x132225 x132226 x132227 x132228 x132229 ')";s:14:"total_affected";i:1;}i:326;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1323, 11, 'x13230 x13231 x13232 x13233 x13234 x13235 x13236 x13237 x13238 x13239 x132310 x132311 x132312 x132313 x132314 x132315 x132316 x132317 x132318 x132319 x132320 x132321 x132322 x132323 x132324 x132325 x132326 x132327 x132328 x132329 ')";s:14:"total_affected";i:1;}i:327;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1324, 11, 'x13240 x13241 x13242 x13243 x13244 x13245 x13246 x13247 x13248 x13249 x132410 x132411 x132412 x132413 x132414 x132415 x132416 x132417 x132418 x132419 x132420 x132421 x132422 x132423 x132424 x132425 x132426 x132427 x132428 x132429 ')";s:14:"total_affected";i:1;}i:328;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1325, 11, 'x13250 x13251 x13252 x13253 x13254 x13255 x13256 x13257 x13258 x13259 x132510 x132511 x132512 x132513 x132514 x132515 x132516 x132517 x132518 x132519 x132520 x132521 x132522 x132523 x132524 x132525 x132526 x132527 x132528 x132529 ')";s:14:"total_affected";i:1;}i:329;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1326, 11, 'x13260 x13261 x13262 x13263 x13264 x13265 x13266 x13267 x13268 x13269 x132610 x132611 x132612 x132613 x132614 x132615 x132616 x132617 x132618 x132619 x132620 x132621 x132622 x132623 x132624 x132625 x132626 x132627 x132628 x132629 ')";s:14:"total_affected";i:1;}i:330;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1327, 11, 'x13270 x13271 x13272 x13273 x13274 x13275 x13276 x13277 x13278 x13279 x132710 x132711 x132712 x132713 x132714 x132715 x132716 x132717 x132718 x132719 x132720 x132721 x132722 x132723 x132724 x132725 x132726 x132727 x132728 x132729 ')";s:14:"total_affected";i:1;}i:331;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1328, 11, 'x13280 x13281 x13282 x13283 x13284 x13285 x13286 x13287 x13288 x13289 x132810 x132811 x132812 x132813 x132814 x132815 x132816 x132817 x132818 x132819 x132820 x132821 x132822 x132823 x132824 x132825 x132826 x132827 x132828 x132829 ')";s:14:"total_affected";i:1;}i:332;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1329, 11, 'x13290 x13291 x13292 x13293 x13294 x13295 x13296 x13297 x13298 x13299 x132910 x132911 x132912 x132913 x132914 x132915 x132916 x132917 x132918 x132919 x132920 x132921 x132922 x132923 x132924 x132925 x132926 x132927 x132928 x132929 ')";s:14:"total_affected";i:1;}i:333;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1330, 11, 'x13300 x13301 x13302 x13303 x13304 x13305 x13306 x13307 x13308 x13309 x133010 x133011 x133012 x133013 x133014 x133015 x133016 x133017 x133018 x133019 x133020 x133021 x133022 x133023 x133024 x133025 x133026 x133027 x133028 x133029 ')";s:14:"total_affected";i:1;}i:334;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1331, 11, 'x13310 x13311 x13312 x13313 x13314 x13315 x13316 x13317 x13318 x13319 x133110 x133111 x133112 x133113 x133114 x133115 x133116 x133117 x133118 x133119 x133120 x133121 x133122 x133123 x133124 x133125 x133126 x133127 x133128 x133129 ')";s:14:"total_affected";i:1;}i:335;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1332, 11, 'x13320 x13321 x13322 x13323 x13324 x13325 x13326 x13327 x13328 x13329 x133210 x133211 x133212 x133213 x133214 x133215 x133216 x133217 x133218 x133219 x133220 x133221 x133222 x133223 x133224 x133225 x133226 x133227 x133228 x133229 ')";s:14:"total_affected";i:1;}i:336;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1333, 11, 'x13330 x13331 x13332 x13333 x13334 x13335 x13336 x13337 x13338 x13339 x133310 x133311 x133312 x133313 x133314 x133315 x133316 x133317 x133318 x133319 x133320 x133321 x133322 x133323 x133324 x133325 x133326 x133327 x133328 x133329 ')";s:14:"total_affected";i:1;}i:337;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1334, 11, 'x13340 x13341 x13342 x13343 x13344 x13345 x13346 x13347 x13348 x13349 x133410 x133411 x133412 x133413 x133414 x133415 x133416 x133417 x133418 x133419 x133420 x133421 x133422 x133423 x133424 x133425 x133426 x133427 x133428 x133429 ')";s:14:"total_affected";i:1;}i:338;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1335, 11, 'x13350 x13351 x13352 x13353 x13354 x13355 x13356 x13357 x13358 x13359 x133510 x133511 x133512 x133513 x133514 x133515 x133516 x133517 x133518 x133519 x133520 x133521 x133522 x133523 x133524 x133525 x133526 x133527 x133528 x133529 ')";s:14:"total_affected";i:1;}i:339;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1336, 11, 'x13360 x13361 x13362 x13363 x13364 x13365 x13366 x13367 x13368 x13369 x133610 x133611 x133612 x133613 x133614 x133615 x133616 x133617 x133618 x133619 x133620 x133621 x133622 x133623 x133624 x133625 x133626 x133627 x133628 x133629 ')";s:14:"total_affected";i:1;}i:340;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1337, 11, 'x13370 x13371 x13372 x13373 x13374 x13375 x13376 x13377 x13378 x13379 x133710 x133711 x133712 x133713 x133714 x133715 x133716 x133717 x133718 x133719 x133720 x133721 x133722 x133723 x133724 x133725 x133726 x133727 x133728 x133729 ')";s:14:"total_affected";i:1;}i:341;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1338, 11, 'x13380 x13381 x13382 x13383 x13384 x13385 x13386 x13387 x13388 x13389 x133810 x133811 x133812 x133813 x133814 x133815 x133816 x133817 x133818 x133819 x133820 x133821 x133822 x133823 x133824 x133825 x133826 x133827 x133828 x133829 ')";s:14:"total_affected";i:1;}i:342;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1339, 11, 'x13390 x13391 x13392 x13393 x13394 x13395 x13396 x13397 x13398 x13399 x133910 x133911 x133912 x133913 x133914 x133915 x133916 x133917 x133918 x133919 x133920 x133921 x133922 x133923 x133924 x133925 x133926 x133927 x133928 x133929 ')";s:14:"total_affected";i:1;}i:343;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1340, 11, 'x13400 x13401 x13402 x13403 x13404 x13405 x13406 x13407 x13408 x13409 x134010 x134011 x134012 x134013 x134014 x134015 x134016 x134017 x134018 x134019 x134020 x134021 x134022 x134023 x134024 x134025 x134026 x134027 x134028 x134029 ')";s:14:"total_affected";i:1;}i:344;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1341, 11, 'x13410 x13411 x13412 x13413 x13414 x13415 x13416 x13417 x13418 x13419 x134110 x134111 x134112 x134113 x134114 x134115 x134116 x134117 x134118 x134119 x134120 x134121 x134122 x134123 x134124 x134125 x134126 x134127 x134128 x134129 ')";s:14:"total_affected";i:1;}i:345;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1342, 11, 'x13420 x13421 x13422 x13423 x13424 x13425 x13426 x13427 x13428 x13429 x134210 x134211 x134212 x134213 x134214 x134215 x134216 x134217 x134218 x134219 x134220 x134221 x134222 x134223 x134224 x134225 x134226 x134227 x134228 x134229 ')";s:14:"total_affected";i:1;}i:346;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1343, 11, 'x13430 x13431 x13432 x13433 x13434 x13435 x13436 x13437 x13438 x13439 x134310 x134311 x134312 x134313 x134314 x134315 x134316 x134317 x134318 x134319 x134320 x134321 x134322 x134323 x134324 x134325 x134326 x134327 x134328 x134329 ')";s:14:"total_affected";i:1;}i:347;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1344, 11, 'x13440 x13441 x13442 x13443 x13444 x13445 x13446 x13447 x13448 x13449 x134410 x134411 x134412 x134413 x134414 x134415 x134416 x134417 x134418 x134419 x134420 x134421 x134422 x134423 x134424 x134425 x134426 x134427 x134428 x134429 ')";s:14:"total_affected";i:1;}i:348;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1345, 11, 'x13450 x13451 x13452 x13453 x13454 x13455 x13456 x13457 x13458 x13459 x134510 x134511 x134512 x134513 x134514 x134515 x134516 x134517 x134518 x134519 x134520 x134521 x134522 x134523 x134524 x134525 x134526 x134527 x134528 x134529 ')";s:14:"total_affected";i:1;}i:349;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1346, 11, 'x13460 x13461 x13462 x13463 x13464 x13465 x13466 x13467 x13468 x13469 x134610 x134611 x134612 x134613 x134614 x134615 x134616 x134617 x134618 x134619 x134620 x134621 x134622 x134623 x134624 x134625 x134626 x134627 x134628 x134629 ')";s:14:"total_affected";i:1;}i:350;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1347, 11, 'x13470 x13471 x13472 x13473 x13474 x13475 x13476 x13477 x13478 x13479 x134710 x134711 x134712 x134713 x134714 x134715 x134716 x134717 x134718 x134719 x134720 x134721 x134722 x134723 x134724 x134725 x134726 x134727 x134728 x134729 ')";s:14:"total_affected";i:1;}i:351;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1348, 11, 'x13480 x13481 x13482 x13483 x13484 x13485 x13486 x13487 x13488 x13489 x134810 x134811 x134812 x134813 x134814 x134815 x134816 x134817 x134818 x134819 x134820 x134821 x134822 x134823 x134824 x134825 x134826 x134827 x134828 x134829 ')";s:14:"total_affected";i:1;}i:352;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1349, 11, 'x13490 x13491 x13492 x13493 x13494 x13495 x13496 x13497 x13498 x13499 x134910 x134911 x134912 x134913 x134914 x134915 x134916 x134917 x134918 x134919 x134920 x134921 x134922 x134923 x134924 x134925 x134926 x134927 x134928 x134929 ')";s:14:"total_affected";i:1;}i:353;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1350, 11, 'x13500 x13501 x13502 x13503 x13504 x13505 x13506 x13507 x13508 x13509 x135010 x135011 x135012 x135013 x135014 x135015 x135016 x135017 x135018 x135019 x135020 x135021 x135022 x135023 x135024 x135025 x135026 x135027 x135028 x135029 ')";s:14:"total_affected";i:1;}i:354;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1351, 11, 'x13510 x13511 x13512 x13513 x13514 x13515 x13516 x13517 x13518 x13519 x135110 x135111 x135112 x135113 x135114 x135115 x135116 x135117 x135118 x135119 x135120 x135121 x135122 x135123 x135124 x135125 x135126 x135127 x135128 x135129 ')";s:14:"total_affected";i:1;}i:355;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1352, 11, 'x13520 x13521 x13522 x13523 x13524 x13525 x13526 x13527 x13528 x13529 x135210 x135211 x135212 x135213 x135214 x135215 x135216 x135217 x135218 x135219 x135220 x135221 x135222 x135223 x135224 x135225 x135226 x135227 x135228 x135229 ')";s:14:"total_affected";i:1;}i:356;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1353, 11, 'x13530 x13531 x13532 x13533 x13534 x13535 x13536 x13537 x13538 x13539 x135310 x135311 x135312 x135313 x135314 x135315 x135316 x135317 x135318 x135319 x135320 x135321 x135322 x135323 x135324 x135325 x135326 x135327 x135328 x135329 ')";s:14:"total_affected";i:1;}i:357;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1354, 11, 'x13540 x13541 x13542 x13543 x13544 x13545 x13546 x13547 x13548 x13549 x135410 x135411 x135412 x135413 x135414 x135415 x135416 x135417 x135418 x135419 x135420 x135421 x135422 x135423 x135424 x135425 x135426 x135427 x135428 x135429 ')";s:14:"total_affected";i:1;}i:358;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1355, 11, 'x13550 x13551 x13552 x13553 x13554 x13555 x13556 x13557 x13558 x13559 x135510 x135511 x135512 x135513 x135514 x135515 x135516 x135517 x135518 x135519 x135520 x135521 x135522 x135523 x135524 x135525 x135526 x135527 x135528 x135529 ')";s:14:"total_affected";i:1;}i:359;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1356, 11, 'x13560 x13561 x13562 x13563 x13564 x13565 x13566 x13567 x13568 x13569 x135610 x135611 x135612 x135613 x135614 x135615 x135616 x135617 x135618 x135619 x135620 x135621 x135622 x135623 x135624 x135625 x135626 x135627 x135628 x135629 ')";s:14:"total_affected";i:1;}i:360;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1357, 11, 'x13570 x13571 x13572 x13573 x13574 x13575 x13576 x13577 x13578 x13579 x135710 x135711 x135712 x135713 x135714 x135715 x135716 x135717 x135718 x135719 x135720 x135721 x135722 x135723 x135724 x135725 x135726 x135727 x135728 x135729 ')";s:14:"total_affected";i:1;}i:361;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1358, 11, 'x13580 x13581 x13582 x13583 x13584 x13585 x13586 x13587 x13588 x13589 x135810 x135811 x135812 x135813 x135814 x135815 x135816 x135817 x135818 x135819 x135820 x135821 x135822 x135823 x135824 x135825 x135826 x135827 x135828 x135829 ')";s:14:"total_affected";i:1;}i:362;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1359, 11, 'x13590 x13591 x13592 x13593 x13594 x13595 x13596 x13597 x13598 x13599 x135910 x135911 x135912 x135913 x135914 x135915 x135916 x135917 x135918 x135919 x135920 x135921 x135922 x135923 x135924 x135925 x135926 x135927 x135928 x135929 ')";s:14:"total_affected";i:1;}i:363;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1360, 11, 'x13600 x13601 x13602 x13603 x13604 x13605 x13606 x13607 x13608 x13609 x136010 x136011 x136012 x136013 x136014 x136015 x136016 x136017 x136018 x136019 x136020 x136021 x136022 x136023 x136024 x136025 x136026 x136027 x136028 x136029 ')";s:14:"total_affected";i:1;}i:364;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1361, 11, 'x13610 x13611 x13612 x13613 x13614 x13615 x13616 x13617 x13618 x13619 x136110 x136111 x136112 x136113 x136114 x136115 x136116 x136117 x136118 x136119 x136120 x136121 x136122 x136123 x136124 x136125 x136126 x136127 x136128 x136129 ')";s:14:"total_affected";i:1;}i:365;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1362, 11, 'x13620 x13621 x13622 x13623 x13624 x13625 x13626 x13627 x13628 x13629 x136210 x136211 x136212 x136213 x136214 x136215 x136216 x136217 x136218 x136219 x136220 x136221 x136222 x136223 x136224 x136225 x136226 x136227 x136228 x136229 ')";s:14:"total_affected";i:1;}i:366;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1363, 11, 'x13630 x13631 x13632 x13633 x13634 x13635 x13636 x13637 x13638 x13639 x136310 x136311 x136312 x136313 x136314 x136315 x136316 x136317 x136318 x136319 x136320 x136321 x136322 x136323 x136324 x136325 x136326 x136327 x136328 x136329 ')";s:14:"total_affected";i:1;}i:367;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1364, 11, 'x13640 x13641 x13642 x13643 x13644 x13645 x13646 x13647 x13648 x13649 x136410 x136411 x136412 x136413 x136414 x136415 x136416 x136417 x136418 x136419 x136420 x136421 x136422 x136423 x136424 x136425 x136426 x136427 x136428 x136429 ')";s:14:"total_affected";i:1;}i:368;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1365, 11, 'x13650 x13651 x13652 x13653 x13654 x13655 x13656 x13657 x13658 x13659 x136510 x136511 x136512 x136513 x136514 x136515 x136516 x136517 x136518 x136519 x136520 x136521 x136522 x136523 x136524 x136525 x136526 x136527 x136528 x136529 ')";s:14:"total_affected";i:1;}i:369;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1366, 11, 'x13660 x13661 x13662 x13663 x13664 x13665 x13666 x13667 x13668 x13669 x136610 x136611 x136612 x136613 x136614 x136615 x136616 x136617 x136618 x136619 x136620 x136621 x136622 x136623 x136624 x136625 x136626 x136627 x136628 x136629 ')";s:14:"total_affected";i:1;}i:370;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1367, 11, 'x13670 x13671 x13672 x13673 x13674 x13675 x13676 x13677 x13678 x13679 x136710 x136711 x136712 x136713 x136714 x136715 x136716 x136717 x136718 x136719 x136720 x136721 x136722 x136723 x136724 x136725 x136726 x136727 x136728 x136729 ')";s:14:"total_affected";i:1;}i:371;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1368, 11, 'x13680 x13681 x13682 x13683 x13684 x13685 x13686 x13687 x13688 x13689 x136810 x136811 x136812 x136813 x136814 x136815 x136816 x136817 x136818 x136819 x136820 x136821 x136822 x136823 x136824 x136825 x136826 x136827 x136828 x136829 ')";s:14:"total_affected";i:1;}i:372;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1369, 11, 'x13690 x13691 x13692 x13693 x13694 x13695 x13696 x13697 x13698 x13699 x136910 x136911 x136912 x136913 x136914 x136915 x136916 x136917 x136918 x136919 x136920 x136921 x136922 x136923 x136924 x136925 x136926 x136927 x136928 x136929 ')";s:14:"total_affected";i:1;}i:373;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1370, 11, 'x13700 x13701 x13702 x13703 x13704 x13705 x13706 x13707 x13708 x13709 x137010 x137011 x137012 x137013 x137014 x137015 x137016 x137017 x137018 x137019 x137020 x137021 x137022 x137023 x137024 x137025 x137026 x137027 x137028 x137029 ')";s:14:"total_affected";i:1;}i:374;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1371, 11, 'x13710 x13711 x13712 x13713 x13714 x13715 x13716 x13717 x13718 x13719 x137110 x137111 x137112 x137113 x137114 x137115 x137116 x137117 x137118 x137119 x137120 x137121 x137122 x137123 x137124 x137125 x137126 x137127 x137128 x137129 ')";s:14:"total_affected";i:1;}i:375;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1372, 11, 'x13720 x13721 x13722 x13723 x13724 x13725 x13726 x13727 x13728 x13729 x137210 x137211 x137212 x137213 x137214 x137215 x137216 x137217 x137218 x137219 x137220 x137221 x137222 x137223 x137224 x137225 x137226 x137227 x137228 x137229 ')";s:14:"total_affected";i:1;}i:376;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1373, 11, 'x13730 x13731 x13732 x13733 x13734 x13735 x13736 x13737 x13738 x13739 x137310 x137311 x137312 x137313 x137314 x137315 x137316 x137317 x137318 x137319 x137320 x137321 x137322 x137323 x137324 x137325 x137326 x137327 x137328 x137329 ')";s:14:"total_affected";i:1;}i:377;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1374, 11, 'x13740 x13741 x13742 x13743 x13744 x13745 x13746 x13747 x13748 x13749 x137410 x137411 x137412 x137413 x137414 x137415 x137416 x137417 x137418 x137419 x137420 x137421 x137422 x137423 x137424 x137425 x137426 x137427 x137428 x137429 ')";s:14:"total_affected";i:1;}i:378;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1375, 11, 'x13750 x13751 x13752 x13753 x13754 x13755 x13756 x13757 x13758 x13759 x137510 x137511 x137512 x137513 x137514 x137515 x137516 x137517 x137518 x137519 x137520 x137521 x137522 x137523 x137524 x137525 x137526 x137527 x137528 x137529 ')";s:14:"total_affected";i:1;}i:379;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1376, 11, 'x13760 x13761 x13762 x13763 x13764 x13765 x13766 x13767 x13768 x13769 x137610 x137611 x137612 x137613 x137614 x137615 x137616 x137617 x137618 x137619 x137620 x137621 x137622 x137623 x137624 x137625 x137626 x137627 x137628 x137629 ')";s:14:"total_affected";i:1;}i:380;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1377, 11, 'x13770 x13771 x13772 x13773 x13774 x13775 x13776 x13777 x13778 x13779 x137710 x137711 x137712 x137713 x137714 x137715 x137716 x137717 x137718 x137719 x137720 x137721 x137722 x137723 x137724 x137725 x137726 x137727 x137728 x137729 ')";s:14:"total_affected";i:1;}i:381;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1378, 11, 'x13780 x13781 x13782 x13783 x13784 x13785 x13786 x13787 x13788 x13789 x137810 x137811 x137812 x137813 x137814 x137815 x137816 x137817 x137818 x137819 x137820 x137821 x137822 x137823 x137824 x137825 x137826 x137827 x137828 x137829 ')";s:14:"total_affected";i:1;}i:382;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1379, 11, 'x13790 x13791 x13792 x13793 x13794 x13795 x13796 x13797 x13798 x13799 x137910 x137911 x137912 x137913 x137914 x137915 x137916 x137917 x137918 x137919 x137920 x137921 x137922 x137923 x137924 x137925 x137926 x137927 x137928 x137929 ')";s:14:"total_affected";i:1;}i:383;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1380, 11, 'x13800 x13801 x13802 x13803 x13804 x13805 x13806 x13807 x13808 x13809 x138010 x138011 x138012 x138013 x138014 x138015 x138016 x138017 x138018 x138019 x138020 x138021 x138022 x138023 x138024 x138025 x138026 x138027 x138028 x138029 ')";s:14:"total_affected";i:1;}i:384;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1381, 11, 'x13810 x13811 x13812 x13813 x13814 x13815 x13816 x13817 x13818 x13819 x138110 x138111 x138112 x138113 x138114 x138115 x138116 x138117 x138118 x138119 x138120 x138121 x138122 x138123 x138124 x138125 x138126 x138127 x138128 x138129 ')";s:14:"total_affected";i:1;}i:385;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1382, 11, 'x13820 x13821 x13822 x13823 x13824 x13825 x13826 x13827 x13828 x13829 x138210 x138211 x138212 x138213 x138214 x138215 x138216 x138217 x138218 x138219 x138220 x138221 x138222 x138223 x138224 x138225 x138226 x138227 x138228 x138229 ')";s:14:"total_affected";i:1;}i:386;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1383, 11, 'x13830 x13831 x13832 x13833 x13834 x13835 x13836 x13837 x13838 x13839 x138310 x138311 x138312 x138313 x138314 x138315 x138316 x138317 x138318 x138319 x138320 x138321 x138322 x138323 x138324 x138325 x138326 x138327 x138328 x138329 ')";s:14:"total_affected";i:1;}i:387;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1384, 11, 'x13840 x13841 x13842 x13843 x13844 x13845 x13846 x13847 x13848 x13849 x138410 x138411 x138412 x138413 x138414 x138415 x138416 x138417 x138418 x138419 x138420 x138421 x138422 x138423 x138424 x138425 x138426 x138427 x138428 x138429 ')";s:14:"total_affected";i:1;}i:388;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1385, 11, 'x13850 x13851 x13852 x13853 x13854 x13855 x13856 x13857 x13858 x13859 x138510 x138511 x138512 x138513 x138514 x138515 x138516 x138517 x138518 x138519 x138520 x138521 x138522 x138523 x138524 x138525 x138526 x138527 x138528 x138529 ')";s:14:"total_affected";i:1;}i:389;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1386, 11, 'x13860 x13861 x13862 x13863 x13864 x13865 x13866 x13867 x13868 x13869 x138610 x138611 x138612 x138613 x138614 x138615 x138616 x138617 x138618 x138619 x138620 x138621 x138622 x138623 x138624 x138625 x138626 x138627 x138628 x138629 ')";s:14:"total_affected";i:1;}i:390;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1387, 11, 'x13870 x13871 x13872 x13873 x13874 x13875 x13876 x13877 x13878 x13879 x138710 x138711 x138712 x138713 x138714 x138715 x138716 x138717 x138718 x138719 x138720 x138721 x138722 x138723 x138724 x138725 x138726 x138727 x138728 x138729 ')";s:14:"total_affected";i:1;}i:391;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1388, 11, 'x13880 x13881 x13882 x13883 x13884 x13885 x13886 x13887 x13888 x13889 x138810 x138811 x138812 x138813 x138814 x138815 x138816 x138817 x138818 x138819 x138820 x138821 x138822 x138823 x138824 x138825 x138826 x138827 x138828 x138829 ')";s:14:"total_affected";i:1;}i:392;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1389, 11, 'x13890 x13891 x13892 x13893 x13894 x13895 x13896 x13897 x13898 x13899 x138910 x138911 x138912 x138913 x138914 x138915 x138916 x138917 x138918 x138919 x138920 x138921 x138922 x138923 x138924 x138925 x138926 x138927 x138928 x138929 ')";s:14:"total_affected";i:1;}i:393;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1390, 11, 'x13900 x13901 x13902 x13903 x13904 x13905 x13906 x13907 x13908 x13909 x139010 x139011 x139012 x139013 x139014 x139015 x139016 x139017 x139018 x139019 x139020 x139021 x139022 x139023 x139024 x139025 x139026 x139027 x139028 x139029 ')";s:14:"total_affected";i:1;}i:394;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1391, 11, 'x13910 x13911 x13912 x13913 x13914 x13915 x13916 x13917 x13918 x13919 x139110 x139111 x139112 x139113 x139114 x139115 x139116 x139117 x139118 x139119 x139120 x139121 x139122 x139123 x139124 x139125 x139126 x139127 x139128 x139129 ')";s:14:"total_affected";i:1;}i:395;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1392, 11, 'x13920 x13921 x13922 x13923 x13924 x13925 x13926 x13927 x13928 x13929 x139210 x139211 x139212 x139213 x139214 x139215 x139216 x139217 x139218 x139219 x139220 x139221 x139222 x139223 x139224 x139225 x139226 x139227 x139228 x139229 ')";s:14:"total_affected";i:1;}i:396;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1393, 11, 'x13930 x13931 x13932 x13933 x13934 x13935 x13936 x13937 x13938 x13939 x139310 x139311 x139312 x139313 x139314 x139315 x139316 x139317 x139318 x139319 x139320 x139321 x139322 x139323 x139324 x139325 x139326 x139327 x139328 x139329 ')";s:14:"total_affected";i:1;}i:397;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1394, 11, 'x13940 x13941 x13942 x13943 x13944 x13945 x13946 x13947 x13948 x13949 x139410 x139411 x139412 x139413 x139414 x139415 x139416 x139417 x139418 x139419 x139420 x139421 x139422 x139423 x139424 x139425 x139426 x139427 x139428 x139429 ')";s:14:"total_affected";i:1;}i:398;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1395, 11, 'x13950 x13951 x13952 x13953 x13954 x13955 x13956 x13957 x13958 x13959 x139510 x139511 x139512 x139513 x139514 x139515 x139516 x139517 x139518 x139519 x139520 x139521 x139522 x139523 x139524 x139525 x139526 x139527 x139528 x139529 ')";s:14:"total_affected";i:1;}i:399;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1396, 11, 'x13960 x13961 x13962 x13963 x13964 x13965 x13966 x13967 x13968 x13969 x139610 x139611 x139612 x139613 x139614 x139615 x139616 x139617 x139618 x139619 x139620 x139621 x139622 x139623 x139624 x139625 x139626 x139627 x139628 x139629 ')";s:14:"total_affected";i:1;}i:400;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1397, 11, 'x13970 x13971 x13972 x13973 x13974 x13975 x13976 x13977 x13978 x13979 x139710 x139711 x139712 x139713 x139714 x139715 x139716 x139717 x139718 x139719 x139720 x139721 x139722 x139723 x139724 x139725 x139726 x139727 x139728 x139729 ')";s:14:"total_affected";i:1;}i:401;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1398, 11, 'x13980 x13981 x13982 x13983 x13984 x13985 x13986 x13987 x13988 x13989 x139810 x139811 x139812 x139813 x139814 x139815 x139816 x139817 x139818 x139819 x139820 x139821 x139822 x139823 x139824 x139825 x139826 x139827 x139828 x139829 ')";s:14:"total_affected";i:1;}i:402;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1399, 11, 'x13990 x13991 x13992 x13993 x13994 x13995 x13996 x13997 x13998 x13999 x139910 x139911 x139912 x139913 x139914 x139915 x139916 x139917 x139918 x139919 x139920 x139921 x139922 x139923 x139924 x139925 x139926 x139927 x139928 x139929 ')";s:14:"total_affected";i:1;}i:403;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1400, 11, 'x14000 x14001 x14002 x14003 x14004 x14005 x14006 x14007 x14008 x14009 x140010 x140011 x140012 x140013 x140014 x140015 x140016 x140017 x140018 x140019 x140020 x140021 x140022 x140023 x140024 x140025 x140026 x140027 x140028 x140029 ')";s:14:"total_affected";i:1;}i:404;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1401, 11, 'x14010 x14011 x14012 x14013 x14014 x14015 x14016 x14017 x14018 x14019 x140110 x140111 x140112 x140113 x140114 x140115 x140116 x140117 x140118 x140119 x140120 x140121 x140122 x140123 x140124 x140125 x140126 x140127 x140128 x140129 ')";s:14:"total_affected";i:1;}i:405;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1402, 11, 'x14020 x14021 x14022 x14023 x14024 x14025 x14026 x14027 x14028 x14029 x140210 x140211 x140212 x140213 x140214 x140215 x140216 x140217 x140218 x140219 x140220 x140221 x140222 x140223 x140224 x140225 x140226 x140227 x140228 x140229 ')";s:14:"total_affected";i:1;}i:406;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1403, 11, 'x14030 x14031 x14032 x14033 x14034 x14035 x14036 x14037 x14038 x14039 x140310 x140311 x140312 x140313 x140314 x140315 x140316 x140317 x140318 x140319 x140320 x140321 x140322 x140323 x140324 x140325 x140326 x140327 x140328 x140329 ')";s:14:"total_affected";i:1;}i:407;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1404, 11, 'x14040 x14041 x14042 x14043 x14044 x14045 x14046 x14047 x14048 x14049 x140410 x140411 x140412 x140413 x140414 x140415 x140416 x140417 x140418 x140419 x140420 x140421 x140422 x140423 x140424 x140425 x140426 x140427 x140428 x140429 ')";s:14:"total_affected";i:1;}i:408;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1405, 11, 'x14050 x14051 x14052 x14053 x14054 x14055 x14056 x14057 x14058 x14059 x140510 x140511 x140512 x140513 x140514 x140515 x140516 x140517 x140518 x140519 x140520 x140521 x140522 x140523 x140524 x140525 x140526 x140527 x140528 x140529 ')";s:14:"total_affected";i:1;}i:409;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1406, 11, 'x14060 x14061 x14062 x14063 x14064 x14065 x14066 x14067 x14068 x14069 x140610 x140611 x140612 x140613 x140614 x140615 x140616 x140617 x140618 x140619 x140620 x140621 x140622 x140623 x140624 x140625 x140626 x140627 x140628 x140629 ')";s:14:"total_affected";i:1;}i:410;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1407, 11, 'x14070 x14071 x14072 x14073 x14074 x14075 x14076 x14077 x14078 x14079 x140710 x140711 x140712 x140713 x140714 x140715 x140716 x140717 x140718 x140719 x140720 x140721 x140722 x140723 x140724 x140725 x140726 x140727 x140728 x140729 ')";s:14:"total_affected";i:1;}i:411;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1408, 11, 'x14080 x14081 x14082 x14083 x14084 x14085 x14086 x14087 x14088 x14089 x140810 x140811 x140812 x140813 x140814 x140815 x140816 x140817 x140818 x140819 x140820 x140821 x140822 x140823 x140824 x140825 x140826 x140827 x140828 x140829 ')";s:14:"total_affected";i:1;}i:412;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1409, 11, 'x14090 x14091 x14092 x14093 x14094 x14095 x14096 x14097 x14098 x14099 x140910 x140911 x140912 x140913 x140914 x140915 x140916 x140917 x140918 x140919 x140920 x140921 x140922 x140923 x140924 x140925 x140926 x140927 x140928 x140929 ')";s:14:"total_affected";i:1;}i:413;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1410, 11, 'x14100 x14101 x14102 x14103 x14104 x14105 x14106 x14107 x14108 x14109 x141010 x141011 x141012 x141013 x141014 x141015 x141016 x141017 x141018 x141019 x141020 x141021 x141022 x141023 x141024 x141025 x141026 x141027 x141028 x141029 ')";s:14:"total_affected";i:1;}i:414;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1411, 11, 'x14110 x14111 x14112 x14113 x14114 x14115 x14116 x14117 x14118 x14119 x141110 x141111 x141112 x141113 x141114 x141115 x141116 x141117 x141118 x141119 x141120 x141121 x141122 x141123 x141124 x141125 x141126 x141127 x141128 x141129 ')";s:14:"total_affected";i:1;}i:415;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1412, 11, 'x14120 x14121 x14122 x14123 x14124 x14125 x14126 x14127 x14128 x14129 x141210 x141211 x141212 x141213 x141214 x141215 x141216 x141217 x141218 x141219 x141220 x141221 x141222 x141223 x141224 x141225 x141226 x141227 x141228 x141229 ')";s:14:"total_affected";i:1;}i:416;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1413, 11, 'x14130 x14131 x14132 x14133 x14134 x14135 x14136 x14137 x14138 x14139 x141310 x141311 x141312 x141313 x141314 x141315 x141316 x141317 x141318 x141319 x141320 x141321 x141322 x141323 x141324 x141325 x141326 x141327 x141328 x141329 ')";s:14:"total_affected";i:1;}i:417;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1414, 11, 'x14140 x14141 x14142 x14143 x14144 x14145 x14146 x14147 x14148 x14149 x141410 x141411 x141412 x141413 x141414 x141415 x141416 x141417 x141418 x141419 x141420 x141421 x141422 x141423 x141424 x141425 x141426 x141427 x141428 x141429 ')";s:14:"total_affected";i:1;}i:418;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1415, 11, 'x14150 x14151 x14152 x14153 x14154 x14155 x14156 x14157 x14158 x14159 x141510 x141511 x141512 x141513 x141514 x141515 x141516 x141517 x141518 x141519 x141520 x141521 x141522 x141523 x141524 x141525 x141526 x141527 x141528 x141529 ')";s:14:"total_affected";i:1;}i:419;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1416, 11, 'x14160 x14161 x14162 x14163 x14164 x14165 x14166 x14167 x14168 x14169 x141610 x141611 x141612 x141613 x141614 x141615 x141616 x141617 x141618 x141619 x141620 x141621 x141622 x141623 x141624 x141625 x141626 x141627 x141628 x141629 ')";s:14:"total_affected";i:1;}i:420;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1417, 11, 'x14170 x14171 x14172 x14173 x14174 x14175 x14176 x14177 x14178 x14179 x141710 x141711 x141712 x141713 x141714 x141715 x141716 x141717 x141718 x141719 x141720 x141721 x141722 x141723 x141724 x141725 x141726 x141727 x141728 x141729 ')";s:14:"total_affected";i:1;}i:421;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1418, 11, 'x14180 x14181 x14182 x14183 x14184 x14185 x14186 x14187 x14188 x14189 x141810 x141811 x141812 x141813 x141814 x141815 x141816 x141817 x141818 x141819 x141820 x141821 x141822 x141823 x141824 x141825 x141826 x141827 x141828 x141829 ')";s:14:"total_affected";i:1;}i:422;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1419, 11, 'x14190 x14191 x14192 x14193 x14194 x14195 x14196 x14197 x14198 x14199 x141910 x141911 x141912 x141913 x141914 x141915 x141916 x141917 x141918 x141919 x141920 x141921 x141922 x141923 x141924 x141925 x141926 x141927 x141928 x141929 ')";s:14:"total_affected";i:1;}i:423;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1420, 11, 'x14200 x14201 x14202 x14203 x14204 x14205 x14206 x14207 x14208 x14209 x142010 x142011 x142012 x142013 x142014 x142015 x142016 x142017 x142018 x142019 x142020 x142021 x142022 x142023 x142024 x142025 x142026 x142027 x142028 x142029 ')";s:14:"total_affected";i:1;}i:424;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1421, 11, 'x14210 x14211 x14212 x14213 x14214 x14215 x14216 x14217 x14218 x14219 x142110 x142111 x142112 x142113 x142114 x142115 x142116 x142117 x142118 x142119 x142120 x142121 x142122 x142123 x142124 x142125 x142126 x142127 x142128 x142129 ')";s:14:"total_affected";i:1;}i:425;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1422, 11, 'x14220 x14221 x14222 x14223 x14224 x14225 x14226 x14227 x14228 x14229 x142210 x142211 x142212 x142213 x142214 x142215 x142216 x142217 x142218 x142219 x142220 x142221 x142222 x142223 x142224 x142225 x142226 x142227 x142228 x142229 ')";s:14:"total_affected";i:1;}i:426;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1423, 11, 'x14230 x14231 x14232 x14233 x14234 x14235 x14236 x14237 x14238 x14239 x142310 x142311 x142312 x142313 x142314 x142315 x142316 x142317 x142318 x142319 x142320 x142321 x142322 x142323 x142324 x142325 x142326 x142327 x142328 x142329 ')";s:14:"total_affected";i:1;}i:427;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1424, 11, 'x14240 x14241 x14242 x14243 x14244 x14245 x14246 x14247 x14248 x14249 x142410 x142411 x142412 x142413 x142414 x142415 x142416 x142417 x142418 x142419 x142420 x142421 x142422 x142423 x142424 x142425 x142426 x142427 x142428 x142429 ')";s:14:"total_affected";i:1;}i:428;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1425, 11, 'x14250 x14251 x14252 x14253 x14254 x14255 x14256 x14257 x14258 x14259 x142510 x142511 x142512 x142513 x142514 x142515 x142516 x142517 x142518 x142519 x142520 x142521 x142522 x142523 x142524 x142525 x142526 x142527 x142528 x142529 ')";s:14:"total_affected";i:1;}i:429;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1426, 11, 'x14260 x14261 x14262 x14263 x14264 x14265 x14266 x14267 x14268 x14269 x142610 x142611 x142612 x142613 x142614 x142615 x142616 x142617 x142618 x142619 x142620 x142621 x142622 x142623 x142624 x142625 x142626 x142627 x142628 x142629 ')";s:14:"total_affected";i:1;}i:430;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1427, 11, 'x14270 x14271 x14272 x14273 x14274 x14275 x14276 x14277 x14278 x14279 x142710 x142711 x142712 x142713 x142714 x142715 x142716 x142717 x142718 x142719 x142720 x142721 x142722 x142723 x142724 x142725 x142726 x142727 x142728 x142729 ')";s:14:"total_affected";i:1;}i:431;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1428, 11, 'x14280 x14281 x14282 x14283 x14284 x14285 x14286 x14287 x14288 x14289 x142810 x142811 x142812 x142813 x142814 x142815 x142816 x142817 x142818 x142819 x142820 x142821 x142822 x142823 x142824 x142825 x142826 x142827 x142828 x142829 ')";s:14:"total_affected";i:1;}i:432;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1429, 11, 'x14290 x14291 x14292 x14293 x14294 x14295 x14296 x14297 x14298 x14299 x142910 x142911 x142912 x142913 x142914 x142915 x142916 x142917 x142918 x142919 x142920 x142921 x142922 x142923 x142924 x142925 x142926 x142927 x142928 x142929 ')";s:14:"total_affected";i:1;}i:433;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1430, 11, 'x14300 x14301 x14302 x14303 x14304 x14305 x14306 x14307 x14308 x14309 x143010 x143011 x143012 x143013 x143014 x143015 x143016 x143017 x143018 x143019 x143020 x143021 x143022 x143023 x143024 x143025 x143026 x143027 x143028 x143029 ')";s:14:"total_affected";i:1;}i:434;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1431, 11, 'x14310 x14311 x14312 x14313 x14314 x14315 x14316 x14317 x14318 x14319 x143110 x143111 x143112 x143113 x143114 x143115 x143116 x143117 x143118 x143119 x143120 x143121 x143122 x143123 x143124 x143125 x143126 x143127 x143128 x143129 ')";s:14:"total_affected";i:1;}i:435;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1432, 11, 'x14320 x14321 x14322 x14323 x14324 x14325 x14326 x14327 x14328 x14329 x143210 x143211 x143212 x143213 x143214 x143215 x143216 x143217 x143218 x143219 x143220 x143221 x143222 x143223 x143224 x143225 x143226 x143227 x143228 x143229 ')";s:14:"total_affected";i:1;}i:436;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1433, 11, 'x14330 x14331 x14332 x14333 x14334 x14335 x14336 x14337 x14338 x14339 x143310 x143311 x143312 x143313 x143314 x143315 x143316 x143317 x143318 x143319 x143320 x143321 x143322 x143323 x143324 x143325 x143326 x143327 x143328 x143329 ')";s:14:"total_affected";i:1;}i:437;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1434, 11, 'x14340 x14341 x14342 x14343 x14344 x14345 x14346 x14347 x14348 x14349 x143410 x143411 x143412 x143413 x143414 x143415 x143416 x143417 x143418 x143419 x143420 x143421 x143422 x143423 x143424 x143425 x143426 x143427 x143428 x143429 ')";s:14:"total_affected";i:1;}i:438;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1435, 11, 'x14350 x14351 x14352 x14353 x14354 x14355 x14356 x14357 x14358 x14359 x143510 x143511 x143512 x143513 x143514 x143515 x143516 x143517 x143518 x143519 x143520 x143521 x143522 x143523 x143524 x143525 x143526 x143527 x143528 x143529 ')";s:14:"total_affected";i:1;}i:439;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1436, 11, 'x14360 x14361 x14362 x14363 x14364 x14365 x14366 x14367 x14368 x14369 x143610 x143611 x143612 x143613 x143614 x143615 x143616 x143617 x143618 x143619 x143620 x143621 x143622 x143623 x143624 x143625 x143626 x143627 x143628 x143629 ')";s:14:"total_affected";i:1;}i:440;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1437, 11, 'x14370 x14371 x14372 x14373 x14374 x14375 x14376 x14377 x14378 x14379 x143710 x143711 x143712 x143713 x143714 x143715 x143716 x143717 x143718 x143719 x143720 x143721 x143722 x143723 x143724 x143725 x143726 x143727 x143728 x143729 ')";s:14:"total_affected";i:1;}i:441;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1438, 11, 'x14380 x14381 x14382 x14383 x14384 x14385 x14386 x14387 x14388 x14389 x143810 x143811 x143812 x143813 x143814 x143815 x143816 x143817 x143818 x143819 x143820 x143821 x143822 x143823 x143824 x143825 x143826 x143827 x143828 x143829 ')";s:14:"total_affected";i:1;}i:442;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1439, 11, 'x14390 x14391 x14392 x14393 x14394 x14395 x14396 x14397 x14398 x14399 x143910 x143911 x143912 x143913 x143914 x143915 x143916 x143917 x143918 x143919 x143920 x143921 x143922 x143923 x143924 x143925 x143926 x143927 x143928 x143929 ')";s:14:"total_affected";i:1;}i:443;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1440, 11, 'x14400 x14401 x14402 x14403 x14404 x14405 x14406 x14407 x14408 x14409 x144010 x144011 x144012 x144013 x144014 x144015 x144016 x144017 x144018 x144019 x144020 x144021 x144022 x144023 x144024 x144025 x144026 x144027 x144028 x144029 ')";s:14:"total_affected";i:1;}i:444;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1441, 11, 'x14410 x14411 x14412 x14413 x14414 x14415 x14416 x14417 x14418 x14419 x144110 x144111 x144112 x144113 x144114 x144115 x144116 x144117 x144118 x144119 x144120 x144121 x144122 x144123 x144124 x144125 x144126 x144127 x144128 x144129 ')";s:14:"total_affected";i:1;}i:445;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1442, 11, 'x14420 x14421 x14422 x14423 x14424 x14425 x14426 x14427 x14428 x14429 x144210 x144211 x144212 x144213 x144214 x144215 x144216 x144217 x144218 x144219 x144220 x144221 x144222 x144223 x144224 x144225 x144226 x144227 x144228 x144229 ')";s:14:"total_affected";i:1;}i:446;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1443, 11, 'x14430 x14431 x14432 x14433 x14434 x14435 x14436 x14437 x14438 x14439 x144310 x144311 x144312 x144313 x144314 x144315 x144316 x144317 x144318 x144319 x144320 x144321 x144322 x144323 x144324 x144325 x144326 x144327 x144328 x144329 ')";s:14:"total_affected";i:1;}i:447;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1444, 11, 'x14440 x14441 x14442 x14443 x14444 x14445 x14446 x14447 x14448 x14449 x144410 x144411 x144412 x144413 x144414 x144415 x144416 x144417 x144418 x144419 x144420 x144421 x144422 x144423 x144424 x144425 x144426 x144427 x144428 x144429 ')";s:14:"total_affected";i:1;}i:448;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1445, 11, 'x14450 x14451 x14452 x14453 x14454 x14455 x14456 x14457 x14458 x14459 x144510 x144511 x144512 x144513 x144514 x144515 x144516 x144517 x144518 x144519 x144520 x144521 x144522 x144523 x144524 x144525 x144526 x144527 x144528 x144529 ')";s:14:"total_affected";i:1;}i:449;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1446, 11, 'x14460 x14461 x14462 x14463 x14464 x14465 x14466 x14467 x14468 x14469 x144610 x144611 x144612 x144613 x144614 x144615 x144616 x144617 x144618 x144619 x144620 x144621 x144622 x144623 x144624 x144625 x144626 x144627 x144628 x144629 ')";s:14:"total_affected";i:1;}i:450;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1447, 11, 'x14470 x14471 x14472 x14473 x14474 x14475 x14476 x14477 x14478 x14479 x144710 x144711 x144712 x144713 x144714 x144715 x144716 x144717 x144718 x144719 x144720 x144721 x144722 x144723 x144724 x144725 x144726 x144727 x144728 x144729 ')";s:14:"total_affected";i:1;}i:451;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1448, 11, 'x14480 x14481 x14482 x14483 x14484 x14485 x14486 x14487 x14488 x14489 x144810 x144811 x144812 x144813 x144814 x144815 x144816 x144817 x144818 x144819 x144820 x144821 x144822 x144823 x144824 x144825 x144826 x144827 x144828 x144829 ')";s:14:"total_affected";i:1;}i:452;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1449, 11, 'x14490 x14491 x14492 x14493 x14494 x14495 x14496 x14497 x14498 x14499 x144910 x144911 x144912 x144913 x144914 x144915 x144916 x144917 x144918 x144919 x144920 x144921 x144922 x144923 x144924 x144925 x144926 x144927 x144928 x144929 ')";s:14:"total_affected";i:1;}i:453;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1450, 11, 'x14500 x14501 x14502 x14503 x14504 x14505 x14506 x14507 x14508 x14509 x145010 x145011 x145012 x145013 x145014 x145015 x145016 x145017 x145018 x145019 x145020 x145021 x145022 x145023 x145024 x145025 x145026 x145027 x145028 x145029 ')";s:14:"total_affected";i:1;}i:454;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1451, 11, 'x14510 x14511 x14512 x14513 x14514 x14515 x14516 x14517 x14518 x14519 x145110 x145111 x145112 x145113 x145114 x145115 x145116 x145117 x145118 x145119 x145120 x145121 x145122 x145123 x145124 x145125 x145126 x145127 x145128 x145129 ')";s:14:"total_affected";i:1;}i:455;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1452, 11, 'x14520 x14521 x14522 x14523 x14524 x14525 x14526 x14527 x14528 x14529 x145210 x145211 x145212 x145213 x145214 x145215 x145216 x145217 x145218 x145219 x145220 x145221 x145222 x145223 x145224 x145225 x145226 x145227 x145228 x145229 ')";s:14:"total_affected";i:1;}i:456;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1453, 11, 'x14530 x14531 x14532 x14533 x14534 x14535 x14536 x14537 x14538 x14539 x145310 x145311 x145312 x145313 x145314 x145315 x145316 x145317 x145318 x145319 x145320 x145321 x145322 x145323 x145324 x145325 x145326 x145327 x145328 x145329 ')";s:14:"total_affected";i:1;}i:457;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1454, 11, 'x14540 x14541 x14542 x14543 x14544 x14545 x14546 x14547 x14548 x14549 x145410 x145411 x145412 x145413 x145414 x145415 x145416 x145417 x145418 x145419 x145420 x145421 x145422 x145423 x145424 x145425 x145426 x145427 x145428 x145429 ')";s:14:"total_affected";i:1;}i:458;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1455, 11, 'x14550 x14551 x14552 x14553 x14554 x14555 x14556 x14557 x14558 x14559 x145510 x145511 x145512 x145513 x145514 x145515 x145516 x145517 x145518 x145519 x145520 x145521 x145522 x145523 x145524 x145525 x145526 x145527 x145528 x145529 ')";s:14:"total_affected";i:1;}i:459;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1456, 11, 'x14560 x14561 x14562 x14563 x14564 x14565 x14566 x14567 x14568 x14569 x145610 x145611 x145612 x145613 x145614 x145615 x145616 x145617 x145618 x145619 x145620 x145621 x145622 x145623 x145624 x145625 x145626 x145627 x145628 x145629 ')";s:14:"total_affected";i:1;}i:460;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1457, 11, 'x14570 x14571 x14572 x14573 x14574 x14575 x14576 x14577 x14578 x14579 x145710 x145711 x145712 x145713 x145714 x145715 x145716 x145717 x145718 x145719 x145720 x145721 x145722 x145723 x145724 x145725 x145726 x145727 x145728 x145729 ')";s:14:"total_affected";i:1;}i:461;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1458, 11, 'x14580 x14581 x14582 x14583 x14584 x14585 x14586 x14587 x14588 x14589 x145810 x145811 x145812 x145813 x145814 x145815 x145816 x145817 x145818 x145819 x145820 x145821 x145822 x145823 x145824 x145825 x145826 x145827 x145828 x145829 ')";s:14:"total_affected";i:1;}i:462;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1459, 11, 'x14590 x14591 x14592 x14593 x14594 x14595 x14596 x14597 x14598 x14599 x145910 x145911 x145912 x145913 x145914 x145915 x145916 x145917 x145918 x145919 x145920 x145921 x145922 x145923 x145924 x145925 x145926 x145927 x145928 x145929 ')";s:14:"total_affected";i:1;}i:463;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1460, 11, 'x14600 x14601 x14602 x14603 x14604 x14605 x14606 x14607 x14608 x14609 x146010 x146011 x146012 x146013 x146014 x146015 x146016 x146017 x146018 x146019 x146020 x146021 x146022 x146023 x146024 x146025 x146026 x146027 x146028 x146029 ')";s:14:"total_affected";i:1;}i:464;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1461, 11, 'x14610 x14611 x14612 x14613 x14614 x14615 x14616 x14617 x14618 x14619 x146110 x146111 x146112 x146113 x146114 x146115 x146116 x146117 x146118 x146119 x146120 x146121 x146122 x146123 x146124 x146125 x146126 x146127 x146128 x146129 ')";s:14:"total_affected";i:1;}i:465;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1462, 11, 'x14620 x14621 x14622 x14623 x14624 x14625 x14626 x14627 x14628 x14629 x146210 x146211 x146212 x146213 x146214 x146215 x146216 x146217 x146218 x146219 x146220 x146221 x146222 x146223 x146224 x146225 x146226 x146227 x146228 x146229 ')";s:14:"total_affected";i:1;}i:466;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1463, 11, 'x14630 x14631 x14632 x14633 x14634 x14635 x14636 x14637 x14638 x14639 x146310 x146311 x146312 x146313 x146314 x146315 x146316 x146317 x146318 x146319 x146320 x146321 x146322 x146323 x146324 x146325 x146326 x146327 x146328 x146329 ')";s:14:"total_affected";i:1;}i:467;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1464, 11, 'x14640 x14641 x14642 x14643 x14644 x14645 x14646 x14647 x14648 x14649 x146410 x146411 x146412 x146413 x146414 x146415 x146416 x146417 x146418 x146419 x146420 x146421 x146422 x146423 x146424 x146425 x146426 x146427 x146428 x146429 ')";s:14:"total_affected";i:1;}i:468;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1465, 11, 'x14650 x14651 x14652 x14653 x14654 x14655 x14656 x14657 x14658 x14659 x146510 x146511 x146512 x146513 x146514 x146515 x146516 x146517 x146518 x146519 x146520 x146521 x146522 x146523 x146524 x146525 x146526 x146527 x146528 x146529 ')";s:14:"total_affected";i:1;}i:469;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1466, 11, 'x14660 x14661 x14662 x14663 x14664 x14665 x14666 x14667 x14668 x14669 x146610 x146611 x146612 x146613 x146614 x146615 x146616 x146617 x146618 x146619 x146620 x146621 x146622 x146623 x146624 x146625 x146626 x146627 x146628 x146629 ')";s:14:"total_affected";i:1;}i:470;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1467, 11, 'x14670 x14671 x14672 x14673 x14674 x14675 x14676 x14677 x14678 x14679 x146710 x146711 x146712 x146713 x146714 x146715 x146716 x146717 x146718 x146719 x146720 x146721 x146722 x146723 x146724 x146725 x146726 x146727 x146728 x146729 ')";s:14:"total_affected";i:1;}i:471;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1468, 11, 'x14680 x14681 x14682 x14683 x14684 x14685 x14686 x14687 x14688 x14689 x146810 x146811 x146812 x146813 x146814 x146815 x146816 x146817 x146818 x146819 x146820 x146821 x146822 x146823 x146824 x146825 x146826 x146827 x146828 x146829 ')";s:14:"total_affected";i:1;}i:472;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1469, 11, 'x14690 x14691 x14692 x14693 x14694 x14695 x14696 x14697 x14698 x14699 x146910 x146911 x146912 x146913 x146914 x146915 x146916 x146917 x146918 x146919 x146920 x146921 x146922 x146923 x146924 x146925 x146926 x146927 x146928 x146929 ')";s:14:"total_affected";i:1;}i:473;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1470, 11, 'x14700 x14701 x14702 x14703 x14704 x14705 x14706 x14707 x14708 x14709 x147010 x147011 x147012 x147013 x147014 x147015 x147016 x147017 x147018 x147019 x147020 x147021 x147022 x147023 x147024 x147025 x147026 x147027 x147028 x147029 ')";s:14:"total_affected";i:1;}i:474;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1471, 11, 'x14710 x14711 x14712 x14713 x14714 x14715 x14716 x14717 x14718 x14719 x147110 x147111 x147112 x147113 x147114 x147115 x147116 x147117 x147118 x147119 x147120 x147121 x147122 x147123 x147124 x147125 x147126 x147127 x147128 x147129 ')";s:14:"total_affected";i:1;}i:475;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1472, 11, 'x14720 x14721 x14722 x14723 x14724 x14725 x14726 x14727 x14728 x14729 x147210 x147211 x147212 x147213 x147214 x147215 x147216 x147217 x147218 x147219 x147220 x147221 x147222 x147223 x147224 x147225 x147226 x147227 x147228 x147229 ')";s:14:"total_affected";i:1;}i:476;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1473, 11, 'x14730 x14731 x14732 x14733 x14734 x14735 x14736 x14737 x14738 x14739 x147310 x147311 x147312 x147313 x147314 x147315 x147316 x147317 x147318 x147319 x147320 x147321 x147322 x147323 x147324 x147325 x147326 x147327 x147328 x147329 ')";s:14:"total_affected";i:1;}i:477;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1474, 11, 'x14740 x14741 x14742 x14743 x14744 x14745 x14746 x14747 x14748 x14749 x147410 x147411 x147412 x147413 x147414 x147415 x147416 x147417 x147418 x147419 x147420 x147421 x147422 x147423 x147424 x147425 x147426 x147427 x147428 x147429 ')";s:14:"total_affected";i:1;}i:478;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1475, 11, 'x14750 x14751 x14752 x14753 x14754 x14755 x14756 x14757 x14758 x14759 x147510 x147511 x147512 x147513 x147514 x147515 x147516 x147517 x147518 x147519 x147520 x147521 x147522 x147523 x147524 x147525 x147526 x147527 x147528 x147529 ')";s:14:"total_affected";i:1;}i:479;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1476, 11, 'x14760 x14761 x14762 x14763 x14764 x14765 x14766 x14767 x14768 x14769 x147610 x147611 x147612 x147613 x147614 x147615 x147616 x147617 x147618 x147619 x147620 x147621 x147622 x147623 x147624 x147625 x147626 x147627 x147628 x147629 ')";s:14:"total_affected";i:1;}i:480;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1477, 11, 'x14770 x14771 x14772 x14773 x14774 x14775 x14776 x14777 x14778 x14779 x147710 x147711 x147712 x147713 x147714 x147715 x147716 x147717 x147718 x147719 x147720 x147721 x147722 x147723 x147724 x147725 x147726 x147727 x147728 x147729 ')";s:14:"total_affected";i:1;}i:481;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1478, 11, 'x14780 x14781 x14782 x14783 x14784 x14785 x14786 x14787 x14788 x14789 x147810 x147811 x147812 x147813 x147814 x147815 x147816 x147817 x147818 x147819 x147820 x147821 x147822 x147823 x147824 x147825 x147826 x147827 x147828 x147829 ')";s:14:"total_affected";i:1;}i:482;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1479, 11, 'x14790 x14791 x14792 x14793 x14794 x14795 x14796 x14797 x14798 x14799 x147910 x147911 x147912 x147913 x147914 x147915 x147916 x147917 x147918 x147919 x147920 x147921 x147922 x147923 x147924 x147925 x147926 x147927 x147928 x147929 ')";s:14:"total_affected";i:1;}i:483;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1480, 11, 'x14800 x14801 x14802 x14803 x14804 x14805 x14806 x14807 x14808 x14809 x148010 x148011 x148012 x148013 x148014 x148015 x148016 x148017 x148018 x148019 x148020 x148021 x148022 x148023 x148024 x148025 x148026 x148027 x148028 x148029 ')";s:14:"total_affected";i:1;}i:484;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1481, 11, 'x14810 x14811 x14812 x14813 x14814 x14815 x14816 x14817 x14818 x14819 x148110 x148111 x148112 x148113 x148114 x148115 x148116 x148117 x148118 x148119 x148120 x148121 x148122 x148123 x148124 x148125 x148126 x148127 x148128 x148129 ')";s:14:"total_affected";i:1;}i:485;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1482, 11, 'x14820 x14821 x14822 x14823 x14824 x14825 x14826 x14827 x14828 x14829 x148210 x148211 x148212 x148213 x148214 x148215 x148216 x148217 x148218 x148219 x148220 x148221 x148222 x148223 x148224 x148225 x148226 x148227 x148228 x148229 ')";s:14:"total_affected";i:1;}i:486;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1483, 11, 'x14830 x14831 x14832 x14833 x14834 x14835 x14836 x14837 x14838 x14839 x148310 x148311 x148312 x148313 x148314 x148315 x148316 x148317 x148318 x148319 x148320 x148321 x148322 x148323 x148324 x148325 x148326 x148327 x148328 x148329 ')";s:14:"total_affected";i:1;}i:487;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1484, 11, 'x14840 x14841 x14842 x14843 x14844 x14845 x14846 x14847 x14848 x14849 x148410 x148411 x148412 x148413 x148414 x148415 x148416 x148417 x148418 x148419 x148420 x148421 x148422 x148423 x148424 x148425 x148426 x148427 x148428 x148429 ')";s:14:"total_affected";i:1;}i:488;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1485, 11, 'x14850 x14851 x14852 x14853 x14854 x14855 x14856 x14857 x14858 x14859 x148510 x148511 x148512 x148513 x148514 x148515 x148516 x148517 x148518 x148519 x148520 x148521 x148522 x148523 x148524 x148525 x148526 x148527 x148528 x148529 ')";s:14:"total_affected";i:1;}i:489;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1486, 11, 'x14860 x14861 x14862 x14863 x14864 x14865 x14866 x14867 x14868 x14869 x148610 x148611 x148612 x148613 x148614 x148615 x148616 x148617 x148618 x148619 x148620 x148621 x148622 x148623 x148624 x148625 x148626 x148627 x148628 x148629 ')";s:14:"total_affected";i:1;}i:490;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1487, 11, 'x14870 x14871 x14872 x14873 x14874 x14875 x14876 x14877 x14878 x14879 x148710 x148711 x148712 x148713 x148714 x148715 x148716 x148717 x148718 x148719 x148720 x148721 x148722 x148723 x148724 x148725 x148726 x148727 x148728 x148729 ')";s:14:"total_affected";i:1;}i:491;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1488, 11, 'x14880 x14881 x14882 x14883 x14884 x14885 x14886 x14887 x14888 x14889 x148810 x148811 x148812 x148813 x148814 x148815 x148816 x148817 x148818 x148819 x148820 x148821 x148822 x148823 x148824 x148825 x148826 x148827 x148828 x148829 ')";s:14:"total_affected";i:1;}i:492;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1489, 11, 'x14890 x14891 x14892 x14893 x14894 x14895 x14896 x14897 x14898 x14899 x148910 x148911 x148912 x148913 x148914 x148915 x148916 x148917 x148918 x148919 x148920 x148921 x148922 x148923 x148924 x148925 x148926 x148927 x148928 x148929 ')";s:14:"total_affected";i:1;}i:493;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1490, 11, 'x14900 x14901 x14902 x14903 x14904 x14905 x14906 x14907 x14908 x14909 x149010 x149011 x149012 x149013 x149014 x149015 x149016 x149017 x149018 x149019 x149020 x149021 x149022 x149023 x149024 x149025 x149026 x149027 x149028 x149029 ')";s:14:"total_affected";i:1;}i:494;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1491, 11, 'x14910 x14911 x14912 x14913 x14914 x14915 x14916 x14917 x14918 x14919 x149110 x149111 x149112 x149113 x149114 x149115 x149116 x149117 x149118 x149119 x149120 x149121 x149122 x149123 x149124 x149125 x149126 x149127 x149128 x149129 ')";s:14:"total_affected";i:1;}i:495;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1492, 11, 'x14920 x14921 x14922 x14923 x14924 x14925 x14926 x14927 x14928 x14929 x149210 x149211 x149212 x149213 x149214 x149215 x149216 x149217 x149218 x149219 x149220 x149221 x149222 x149223 x149224 x149225 x149226 x149227 x149228 x149229 ')";s:14:"total_affected";i:1;}i:496;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1493, 11, 'x14930 x14931 x14932 x14933 x14934 x14935 x14936 x14937 x14938 x14939 x149310 x149311 x149312 x149313 x149314 x149315 x149316 x149317 x149318 x149319 x149320 x149321 x149322 x149323 x149324 x149325 x149326 x149327 x149328 x149329 ')";s:14:"total_affected";i:1;}i:497;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1494, 11, 'x14940 x14941 x14942 x14943 x14944 x14945 x14946 x14947 x14948 x14949 x149410 x149411 x149412 x149413 x149414 x149415 x149416 x149417 x149418 x149419 x149420 x149421 x149422 x149423 x149424 x149425 x149426 x149427 x149428 x149429 ')";s:14:"total_affected";i:1;}i:498;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1495, 11, 'x14950 x14951 x14952 x14953 x14954 x14955 x14956 x14957 x14958 x14959 x149510 x149511 x149512 x149513 x149514 x149515 x149516 x149517 x149518 x149519 x149520 x149521 x149522 x149523 x149524 x149525 x149526 x149527 x149528 x149529 ')";s:14:"total_affected";i:1;}i:499;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1496, 11, 'x14960 x14961 x14962 x14963 x14964 x14965 x14966 x14967 x14968 x14969 x149610 x149611 x149612 x149613 x149614 x149615 x149616 x149617 x149618 x149619 x149620 x149621 x149622 x149623 x149624 x149625 x149626 x149627 x149628 x149629 ')";s:14:"total_affected";i:1;}i:500;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1497, 11, 'x14970 x14971 x14972 x14973 x14974 x14975 x14976 x14977 x14978 x14979 x149710 x149711 x149712 x149713 x149714 x149715 x149716 x149717 x149718 x149719 x149720 x149721 x149722 x149723 x149724 x149725 x149726 x149727 x149728 x149729 ')";s:14:"total_affected";i:1;}i:501;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1498, 11, 'x14980 x14981 x14982 x14983 x14984 x14985 x14986 x14987 x14988 x14989 x149810 x149811 x149812 x149813 x149814 x149815 x149816 x149817 x149818 x149819 x149820 x149821 x149822 x149823 x149824 x149825 x149826 x149827 x149828 x149829 ')";s:14:"total_affected";i:1;}i:502;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1499, 11, 'x14990 x14991 x14992 x14993 x14994 x14995 x14996 x14997 x14998 x14999 x149910 x149911 x149912 x149913 x149914 x149915 x149916 x149917 x149918 x149919 x149920 x149921 x149922 x149923 x149924 x149925 x149926 x149927 x149928 x149929 ')";s:14:"total_affected";i:1;}i:503;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1500, 11, 'x15000 x15001 x15002 x15003 x15004 x15005 x15006 x15007 x15008 x15009 x150010 x150011 x150012 x150013 x150014 x150015 x150016 x150017 x150018 x150019 x150020 x150021 x150022 x150023 x150024 x150025 x150026 x150027 x150028 x150029 ')";s:14:"total_affected";i:1;}i:504;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1501, 11, 'x15010 x15011 x15012 x15013 x15014 x15015 x15016 x15017 x15018 x15019 x150110 x150111 x150112 x150113 x150114 x150115 x150116 x150117 x150118 x150119 x150120 x150121 x150122 x150123 x150124 x150125 x150126 x150127 x150128 x150129 ')";s:14:"total_affected";i:1;}i:505;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1502, 11, 'x15020 x15021 x15022 x15023 x15024 x15025 x15026 x15027 x15028 x15029 x150210 x150211 x150212 x150213 x150214 x150215 x150216 x150217 x150218 x150219 x150220 x150221 x150222 x150223 x150224 x150225 x150226 x150227 x150228 x150229 ')";s:14:"total_affected";i:1;}i:506;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1503, 11, 'x15030 x15031 x15032 x15033 x15034 x15035 x15036 x15037 x15038 x15039 x150310 x150311 x150312 x150313 x150314 x150315 x150316 x150317 x150318 x150319 x150320 x150321 x150322 x150323 x150324 x150325 x150326 x150327 x150328 x150329 ')";s:14:"total_affected";i:1;}i:507;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1504, 11, 'x15040 x15041 x15042 x15043 x15044 x15045 x15046 x15047 x15048 x15049 x150410 x150411 x150412 x150413 x150414 x150415 x150416 x150417 x150418 x150419 x150420 x150421 x150422 x150423 x150424 x150425 x150426 x150427 x150428 x150429 ')";s:14:"total_affected";i:1;}i:508;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1505, 11, 'x15050 x15051 x15052 x15053 x15054 x15055 x15056 x15057 x15058 x15059 x150510 x150511 x150512 x150513 x150514 x150515 x150516 x150517 x150518 x150519 x150520 x150521 x150522 x150523 x150524 x150525 x150526 x150527 x150528 x150529 ')";s:14:"total_affected";i:1;}i:509;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1506, 11, 'x15060 x15061 x15062 x15063 x15064 x15065 x15066 x15067 x15068 x15069 x150610 x150611 x150612 x150613 x150614 x150615 x150616 x150617 x150618 x150619 x150620 x150621 x150622 x150623 x150624 x150625 x150626 x150627 x150628 x150629 ')";s:14:"total_affected";i:1;}i:510;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1507, 11, 'x15070 x15071 x15072 x15073 x15074 x15075 x15076 x15077 x15078 x15079 x150710 x150711 x150712 x150713 x150714 x150715 x150716 x150717 x150718 x150719 x150720 x150721 x150722 x150723 x150724 x150725 x150726 x150727 x150728 x150729 ')";s:14:"total_affected";i:1;}i:511;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1508, 11, 'x15080 x15081 x15082 x15083 x15084 x15085 x15086 x15087 x15088 x15089 x150810 x150811 x150812 x150813 x150814 x150815 x150816 x150817 x150818 x150819 x150820 x150821 x150822 x150823 x150824 x150825 x150826 x150827 x150828 x150829 ')";s:14:"total_affected";i:1;}i:512;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1509, 11, 'x15090 x15091 x15092 x15093 x15094 x15095 x15096 x15097 x15098 x15099 x150910 x150911 x150912 x150913 x150914 x150915 x150916 x150917 x150918 x150919 x150920 x150921 x150922 x150923 x150924 x150925 x150926 x150927 x150928 x150929 ')";s:14:"total_affected";i:1;}i:513;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1510, 11, 'x15100 x15101 x15102 x15103 x15104 x15105 x15106 x15107 x15108 x15109 x151010 x151011 x151012 x151013 x151014 x151015 x151016 x151017 x151018 x151019 x151020 x151021 x151022 x151023 x151024 x151025 x151026 x151027 x151028 x151029 ')";s:14:"total_affected";i:1;}i:514;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1511, 11, 'x15110 x15111 x15112 x15113 x15114 x15115 x15116 x15117 x15118 x15119 x151110 x151111 x151112 x151113 x151114 x151115 x151116 x151117 x151118 x151119 x151120 x151121 x151122 x151123 x151124 x151125 x151126 x151127 x151128 x151129 ')";s:14:"total_affected";i:1;}i:515;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1512, 11, 'x15120 x15121 x15122 x15123 x15124 x15125 x15126 x15127 x15128 x15129 x151210 x151211 x151212 x151213 x151214 x151215 x151216 x151217 x151218 x151219 x151220 x151221 x151222 x151223 x151224 x151225 x151226 x151227 x151228 x151229 ')";s:14:"total_affected";i:1;}i:516;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1513, 11, 'x15130 x15131 x15132 x15133 x15134 x15135 x15136 x15137 x15138 x15139 x151310 x151311 x151312 x151313 x151314 x151315 x151316 x151317 x151318 x151319 x151320 x151321 x151322 x151323 x151324 x151325 x151326 x151327 x151328 x151329 ')";s:14:"total_affected";i:1;}i:517;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1514, 11, 'x15140 x15141 x15142 x15143 x15144 x15145 x15146 x15147 x15148 x15149 x151410 x151411 x151412 x151413 x151414 x151415 x151416 x151417 x151418 x151419 x151420 x151421 x151422 x151423 x151424 x151425 x151426 x151427 x151428 x151429 ')";s:14:"total_affected";i:1;}i:518;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1515, 11, 'x15150 x15151 x15152 x15153 x15154 x15155 x15156 x15157 x15158 x15159 x151510 x151511 x151512 x151513 x151514 x151515 x151516 x151517 x151518 x151519 x151520 x151521 x151522 x151523 x151524 x151525 x151526 x151527 x151528 x151529 ')";s:14:"total_affected";i:1;}i:519;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1516, 11, 'x15160 x15161 x15162 x15163 x15164 x15165 x15166 x15167 x15168 x15169 x151610 x151611 x151612 x151613 x151614 x151615 x151616 x151617 x151618 x151619 x151620 x151621 x151622 x151623 x151624 x151625 x151626 x151627 x151628 x151629 ')";s:14:"total_affected";i:1;}i:520;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1517, 11, 'x15170 x15171 x15172 x15173 x15174 x15175 x15176 x15177 x15178 x15179 x151710 x151711 x151712 x151713 x151714 x151715 x151716 x151717 x151718 x151719 x151720 x151721 x151722 x151723 x151724 x151725 x151726 x151727 x151728 x151729 ')";s:14:"total_affected";i:1;}i:521;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1518, 11, 'x15180 x15181 x15182 x15183 x15184 x15185 x15186 x15187 x15188 x15189 x151810 x151811 x151812 x151813 x151814 x151815 x151816 x151817 x151818 x151819 x151820 x151821 x151822 x151823 x151824 x151825 x151826 x151827 x151828 x151829 ')";s:14:"total_affected";i:1;}i:522;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1519, 11, 'x15190 x15191 x15192 x15193 x15194 x15195 x15196 x15197 x15198 x15199 x151910 x151911 x151912 x151913 x151914 x151915 x151916 x151917 x151918 x151919 x151920 x151921 x151922 x151923 x151924 x151925 x151926 x151927 x151928 x151929 ')";s:14:"total_affected";i:1;}i:523;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1520, 11, 'x15200 x15201 x15202 x15203 x15204 x15205 x15206 x15207 x15208 x15209 x152010 x152011 x152012 x152013 x152014 x152015 x152016 x152017 x152018 x152019 x152020 x152021 x152022 x152023 x152024 x152025 x152026 x152027 x152028 x152029 ')";s:14:"total_affected";i:1;}i:524;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1521, 11, 'x15210 x15211 x15212 x15213 x15214 x15215 x15216 x15217 x15218 x15219 x152110 x152111 x152112 x152113 x152114 x152115 x152116 x152117 x152118 x152119 x152120 x152121 x152122 x152123 x152124 x152125 x152126 x152127 x152128 x152129 ')";s:14:"total_affected";i:1;}i:525;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1522, 11, 'x15220 x15221 x15222 x15223 x15224 x15225 x15226 x15227 x15228 x15229 x152210 x152211 x152212 x152213 x152214 x152215 x152216 x152217 x152218 x152219 x152220 x152221 x152222 x152223 x152224 x152225 x152226 x152227 x152228 x152229 ')";s:14:"total_affected";i:1;}i:526;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1523, 11, 'x15230 x15231 x15232 x15233 x15234 x15235 x15236 x15237 x15238 x15239 x152310 x152311 x152312 x152313 x152314 x152315 x152316 x152317 x152318 x152319 x152320 x152321 x152322 x152323 x152324 x152325 x152326 x152327 x152328 x152329 ')";s:14:"total_affected";i:1;}i:527;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1524, 11, 'x15240 x15241 x15242 x15243 x15244 x15245 x15246 x15247 x15248 x15249 x152410 x152411 x152412 x152413 x152414 x152415 x152416 x152417 x152418 x152419 x152420 x152421 x152422 x152423 x152424 x152425 x152426 x152427 x152428 x152429 ')";s:14:"total_affected";i:1;}i:528;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1525, 11, 'x15250 x15251 x15252 x15253 x15254 x15255 x15256 x15257 x15258 x15259 x152510 x152511 x152512 x152513 x152514 x152515 x152516 x152517 x152518 x152519 x152520 x152521 x152522 x152523 x152524 x152525 x152526 x152527 x152528 x152529 ')";s:14:"total_affected";i:1;}i:529;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1526, 11, 'x15260 x15261 x15262 x15263 x15264 x15265 x15266 x15267 x15268 x15269 x152610 x152611 x152612 x152613 x152614 x152615 x152616 x152617 x152618 x152619 x152620 x152621 x152622 x152623 x152624 x152625 x152626 x152627 x152628 x152629 ')";s:14:"total_affected";i:1;}i:530;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1527, 11, 'x15270 x15271 x15272 x15273 x15274 x15275 x15276 x15277 x15278 x15279 x152710 x152711 x152712 x152713 x152714 x152715 x152716 x152717 x152718 x152719 x152720 x152721 x152722 x152723 x152724 x152725 x152726 x152727 x152728 x152729 ')";s:14:"total_affected";i:1;}i:531;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1528, 11, 'x15280 x15281 x15282 x15283 x15284 x15285 x15286 x15287 x15288 x15289 x152810 x152811 x152812 x152813 x152814 x152815 x152816 x152817 x152818 x152819 x152820 x152821 x152822 x152823 x152824 x152825 x152826 x152827 x152828 x152829 ')";s:14:"total_affected";i:1;}i:532;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1529, 11, 'x15290 x15291 x15292 x15293 x15294 x15295 x15296 x15297 x15298 x15299 x152910 x152911 x152912 x152913 x152914 x152915 x152916 x152917 x152918 x152919 x152920 x152921 x152922 x152923 x152924 x152925 x152926 x152927 x152928 x152929 ')";s:14:"total_affected";i:1;}i:533;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1530, 11, 'x15300 x15301 x15302 x15303 x15304 x15305 x15306 x15307 x15308 x15309 x153010 x153011 x153012 x153013 x153014 x153015 x153016 x153017 x153018 x153019 x153020 x153021 x153022 x153023 x153024 x153025 x153026 x153027 x153028 x153029 ')";s:14:"total_affected";i:1;}i:534;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1531, 11, 'x15310 x15311 x15312 x15313 x15314 x15315 x15316 x15317 x15318 x15319 x153110 x153111 x153112 x153113 x153114 x153115 x153116 x153117 x153118 x153119 x153120 x153121 x153122 x153123 x153124 x153125 x153126 x153127 x153128 x153129 ')";s:14:"total_affected";i:1;}i:535;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1532, 11, 'x15320 x15321 x15322 x15323 x15324 x15325 x15326 x15327 x15328 x15329 x153210 x153211 x153212 x153213 x153214 x153215 x153216 x153217 x153218 x153219 x153220 x153221 x153222 x153223 x153224 x153225 x153226 x153227 x153228 x153229 ')";s:14:"total_affected";i:1;}i:536;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1533, 11, 'x15330 x15331 x15332 x15333 x15334 x15335 x15336 x15337 x15338 x15339 x153310 x153311 x153312 x153313 x153314 x153315 x153316 x153317 x153318 x153319 x153320 x153321 x153322 x153323 x153324 x153325 x153326 x153327 x153328 x153329 ')";s:14:"total_affected";i:1;}i:537;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1534, 11, 'x15340 x15341 x15342 x15343 x15344 x15345 x15346 x15347 x15348 x15349 x153410 x153411 x153412 x153413 x153414 x153415 x153416 x153417 x153418 x153419 x153420 x153421 x153422 x153423 x153424 x153425 x153426 x153427 x153428 x153429 ')";s:14:"total_affected";i:1;}i:538;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1535, 11, 'x15350 x15351 x15352 x15353 x15354 x15355 x15356 x15357 x15358 x15359 x153510 x153511 x153512 x153513 x153514 x153515 x153516 x153517 x153518 x153519 x153520 x153521 x153522 x153523 x153524 x153525 x153526 x153527 x153528 x153529 ')";s:14:"total_affected";i:1;}i:539;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1536, 11, 'x15360 x15361 x15362 x15363 x15364 x15365 x15366 x15367 x15368 x15369 x153610 x153611 x153612 x153613 x153614 x153615 x153616 x153617 x153618 x153619 x153620 x153621 x153622 x153623 x153624 x153625 x153626 x153627 x153628 x153629 ')";s:14:"total_affected";i:1;}i:540;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1537, 11, 'x15370 x15371 x15372 x15373 x15374 x15375 x15376 x15377 x15378 x15379 x153710 x153711 x153712 x153713 x153714 x153715 x153716 x153717 x153718 x153719 x153720 x153721 x153722 x153723 x153724 x153725 x153726 x153727 x153728 x153729 ')";s:14:"total_affected";i:1;}i:541;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1538, 11, 'x15380 x15381 x15382 x15383 x15384 x15385 x15386 x15387 x15388 x15389 x153810 x153811 x153812 x153813 x153814 x153815 x153816 x153817 x153818 x153819 x153820 x153821 x153822 x153823 x153824 x153825 x153826 x153827 x153828 x153829 ')";s:14:"total_affected";i:1;}i:542;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1539, 11, 'x15390 x15391 x15392 x15393 x15394 x15395 x15396 x15397 x15398 x15399 x153910 x153911 x153912 x153913 x153914 x153915 x153916 x153917 x153918 x153919 x153920 x153921 x153922 x153923 x153924 x153925 x153926 x153927 x153928 x153929 ')";s:14:"total_affected";i:1;}i:543;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1540, 11, 'x15400 x15401 x15402 x15403 x15404 x15405 x15406 x15407 x15408 x15409 x154010 x154011 x154012 x154013 x154014 x154015 x154016 x154017 x154018 x154019 x154020 x154021 x154022 x154023 x154024 x154025 x154026 x154027 x154028 x154029 ')";s:14:"total_affected";i:1;}i:544;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1541, 11, 'x15410 x15411 x15412 x15413 x15414 x15415 x15416 x15417 x15418 x15419 x154110 x154111 x154112 x154113 x154114 x154115 x154116 x154117 x154118 x154119 x154120 x154121 x154122 x154123 x154124 x154125 x154126 x154127 x154128 x154129 ')";s:14:"total_affected";i:1;}i:545;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1542, 11, 'x15420 x15421 x15422 x15423 x15424 x15425 x15426 x15427 x15428 x15429 x154210 x154211 x154212 x154213 x154214 x154215 x154216 x154217 x154218 x154219 x154220 x154221 x154222 x154223 x154224 x154225 x154226 x154227 x154228 x154229 ')";s:14:"total_affected";i:1;}i:546;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1543, 11, 'x15430 x15431 x15432 x15433 x15434 x15435 x15436 x15437 x15438 x15439 x154310 x154311 x154312 x154313 x154314 x154315 x154316 x154317 x154318 x154319 x154320 x154321 x154322 x154323 x154324 x154325 x154326 x154327 x154328 x154329 ')";s:14:"total_affected";i:1;}i:547;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1544, 11, 'x15440 x15441 x15442 x15443 x15444 x15445 x15446 x15447 x15448 x15449 x154410 x154411 x154412 x154413 x154414 x154415 x154416 x154417 x154418 x154419 x154420 x154421 x154422 x154423 x154424 x154425 x154426 x154427 x154428 x154429 ')";s:14:"total_affected";i:1;}i:548;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1545, 11, 'x15450 x15451 x15452 x15453 x15454 x15455 x15456 x15457 x15458 x15459 x154510 x154511 x154512 x154513 x154514 x154515 x154516 x154517 x154518 x154519 x154520 x154521 x154522 x154523 x154524 x154525 x154526 x154527 x154528 x154529 ')";s:14:"total_affected";i:1;}i:549;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1546, 11, 'x15460 x15461 x15462 x15463 x15464 x15465 x15466 x15467 x15468 x15469 x154610 x154611 x154612 x154613 x154614 x154615 x154616 x154617 x154618 x154619 x154620 x154621 x154622 x154623 x154624 x154625 x154626 x154627 x154628 x154629 ')";s:14:"total_affected";i:1;}i:550;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1547, 11, 'x15470 x15471 x15472 x15473 x15474 x15475 x15476 x15477 x15478 x15479 x154710 x154711 x154712 x154713 x154714 x154715 x154716 x154717 x154718 x154719 x154720 x154721 x154722 x154723 x154724 x154725 x154726 x154727 x154728 x154729 ')";s:14:"total_affected";i:1;}i:551;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1548, 11, 'x15480 x15481 x15482 x15483 x15484 x15485 x15486 x15487 x15488 x15489 x154810 x154811 x154812 x154813 x154814 x154815 x154816 x154817 x154818 x154819 x154820 x154821 x154822 x154823 x154824 x154825 x154826 x154827 x154828 x154829 ')";s:14:"total_affected";i:1;}i:552;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1549, 11, 'x15490 x15491 x15492 x15493 x15494 x15495 x15496 x15497 x15498 x15499 x154910 x154911 x154912 x154913 x154914 x154915 x154916 x154917 x154918 x154919 x154920 x154921 x154922 x154923 x154924 x154925 x154926 x154927 x154928 x154929 ')";s:14:"total_affected";i:1;}i:553;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1550, 11, 'x15500 x15501 x15502 x15503 x15504 x15505 x15506 x15507 x15508 x15509 x155010 x155011 x155012 x155013 x155014 x155015 x155016 x155017 x155018 x155019 x155020 x155021 x155022 x155023 x155024 x155025 x155026 x155027 x155028 x155029 ')";s:14:"total_affected";i:1;}i:554;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1551, 11, 'x15510 x15511 x15512 x15513 x15514 x15515 x15516 x15517 x15518 x15519 x155110 x155111 x155112 x155113 x155114 x155115 x155116 x155117 x155118 x155119 x155120 x155121 x155122 x155123 x155124 x155125 x155126 x155127 x155128 x155129 ')";s:14:"total_affected";i:1;}i:555;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1552, 11, 'x15520 x15521 x15522 x15523 x15524 x15525 x15526 x15527 x15528 x15529 x155210 x155211 x155212 x155213 x155214 x155215 x155216 x155217 x155218 x155219 x155220 x155221 x155222 x155223 x155224 x155225 x155226 x155227 x155228 x155229 ')";s:14:"total_affected";i:1;}i:556;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1553, 11, 'x15530 x15531 x15532 x15533 x15534 x15535 x15536 x15537 x15538 x15539 x155310 x155311 x155312 x155313 x155314 x155315 x155316 x155317 x155318 x155319 x155320 x155321 x155322 x155323 x155324 x155325 x155326 x155327 x155328 x155329 ')";s:14:"total_affected";i:1;}i:557;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1554, 11, 'x15540 x15541 x15542 x15543 x15544 x15545 x15546 x15547 x15548 x15549 x155410 x155411 x155412 x155413 x155414 x155415 x155416 x155417 x155418 x155419 x155420 x155421 x155422 x155423 x155424 x155425 x155426 x155427 x155428 x155429 ')";s:14:"total_affected";i:1;}i:558;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1555, 11, 'x15550 x15551 x15552 x15553 x15554 x15555 x15556 x15557 x15558 x15559 x155510 x155511 x155512 x155513 x155514 x155515 x155516 x155517 x155518 x155519 x155520 x155521 x155522 x155523 x155524 x155525 x155526 x155527 x155528 x155529 ')";s:14:"total_affected";i:1;}i:559;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1556, 11, 'x15560 x15561 x15562 x15563 x15564 x15565 x15566 x15567 x15568 x15569 x155610 x155611 x155612 x155613 x155614 x155615 x155616 x155617 x155618 x155619 x155620 x155621 x155622 x155623 x155624 x155625 x155626 x155627 x155628 x155629 ')";s:14:"total_affected";i:1;}i:560;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1557, 11, 'x15570 x15571 x15572 x15573 x15574 x15575 x15576 x15577 x15578 x15579 x155710 x155711 x155712 x155713 x155714 x155715 x155716 x155717 x155718 x155719 x155720 x155721 x155722 x155723 x155724 x155725 x155726 x155727 x155728 x155729 ')";s:14:"total_affected";i:1;}i:561;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1558, 11, 'x15580 x15581 x15582 x15583 x15584 x15585 x15586 x15587 x15588 x15589 x155810 x155811 x155812 x155813 x155814 x155815 x155816 x155817 x155818 x155819 x155820 x155821 x155822 x155823 x155824 x155825 x155826 x155827 x155828 x155829 ')";s:14:"total_affected";i:1;}i:562;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1559, 11, 'x15590 x15591 x15592 x15593 x15594 x15595 x15596 x15597 x15598 x15599 x155910 x155911 x155912 x155913 x155914 x155915 x155916 x155917 x155918 x155919 x155920 x155921 x155922 x155923 x155924 x155925 x155926 x155927 x155928 x155929 ')";s:14:"total_affected";i:1;}i:563;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1560, 11, 'x15600 x15601 x15602 x15603 x15604 x15605 x15606 x15607 x15608 x15609 x156010 x156011 x156012 x156013 x156014 x156015 x156016 x156017 x156018 x156019 x156020 x156021 x156022 x156023 x156024 x156025 x156026 x156027 x156028 x156029 ')";s:14:"total_affected";i:1;}i:564;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1561, 11, 'x15610 x15611 x15612 x15613 x15614 x15615 x15616 x15617 x15618 x15619 x156110 x156111 x156112 x156113 x156114 x156115 x156116 x156117 x156118 x156119 x156120 x156121 x156122 x156123 x156124 x156125 x156126 x156127 x156128 x156129 ')";s:14:"total_affected";i:1;}i:565;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1562, 11, 'x15620 x15621 x15622 x15623 x15624 x15625 x15626 x15627 x15628 x15629 x156210 x156211 x156212 x156213 x156214 x156215 x156216 x156217 x156218 x156219 x156220 x156221 x156222 x156223 x156224 x156225 x156226 x156227 x156228 x156229 ')";s:14:"total_affected";i:1;}i:566;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1563, 11, 'x15630 x15631 x15632 x15633 x15634 x15635 x15636 x15637 x15638 x15639 x156310 x156311 x156312 x156313 x156314 x156315 x156316 x156317 x156318 x156319 x156320 x156321 x156322 x156323 x156324 x156325 x156326 x156327 x156328 x156329 ')";s:14:"total_affected";i:1;}i:567;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1564, 11, 'x15640 x15641 x15642 x15643 x15644 x15645 x15646 x15647 x15648 x15649 x156410 x156411 x156412 x156413 x156414 x156415 x156416 x156417 x156418 x156419 x156420 x156421 x156422 x156423 x156424 x156425 x156426 x156427 x156428 x156429 ')";s:14:"total_affected";i:1;}i:568;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1565, 11, 'x15650 x15651 x15652 x15653 x15654 x15655 x15656 x15657 x15658 x15659 x156510 x156511 x156512 x156513 x156514 x156515 x156516 x156517 x156518 x156519 x156520 x156521 x156522 x156523 x156524 x156525 x156526 x156527 x156528 x156529 ')";s:14:"total_affected";i:1;}i:569;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1566, 11, 'x15660 x15661 x15662 x15663 x15664 x15665 x15666 x15667 x15668 x15669 x156610 x156611 x156612 x156613 x156614 x156615 x156616 x156617 x156618 x156619 x156620 x156621 x156622 x156623 x156624 x156625 x156626 x156627 x156628 x156629 ')";s:14:"total_affected";i:1;}i:570;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1567, 11, 'x15670 x15671 x15672 x15673 x15674 x15675 x15676 x15677 x15678 x15679 x156710 x156711 x156712 x156713 x156714 x156715 x156716 x156717 x156718 x156719 x156720 x156721 x156722 x156723 x156724 x156725 x156726 x156727 x156728 x156729 ')";s:14:"total_affected";i:1;}i:571;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1568, 11, 'x15680 x15681 x15682 x15683 x15684 x15685 x15686 x15687 x15688 x15689 x156810 x156811 x156812 x156813 x156814 x156815 x156816 x156817 x156818 x156819 x156820 x156821 x156822 x156823 x156824 x156825 x156826 x156827 x156828 x156829 ')";s:14:"total_affected";i:1;}i:572;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1569, 11, 'x15690 x15691 x15692 x15693 x15694 x15695 x15696 x15697 x15698 x15699 x156910 x156911 x156912 x156913 x156914 x156915 x156916 x156917 x156918 x156919 x156920 x156921 x156922 x156923 x156924 x156925 x156926 x156927 x156928 x156929 ')";s:14:"total_affected";i:1;}i:573;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1570, 11, 'x15700 x15701 x15702 x15703 x15704 x15705 x15706 x15707 x15708 x15709 x157010 x157011 x157012 x157013 x157014 x157015 x157016 x157017 x157018 x157019 x157020 x157021 x157022 x157023 x157024 x157025 x157026 x157027 x157028 x157029 ')";s:14:"total_affected";i:1;}i:574;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1571, 11, 'x15710 x15711 x15712 x15713 x15714 x15715 x15716 x15717 x15718 x15719 x157110 x157111 x157112 x157113 x157114 x157115 x157116 x157117 x157118 x157119 x157120 x157121 x157122 x157123 x157124 x157125 x157126 x157127 x157128 x157129 ')";s:14:"total_affected";i:1;}i:575;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1572, 11, 'x15720 x15721 x15722 x15723 x15724 x15725 x15726 x15727 x15728 x15729 x157210 x157211 x157212 x157213 x157214 x157215 x157216 x157217 x157218 x157219 x157220 x157221 x157222 x157223 x157224 x157225 x157226 x157227 x157228 x157229 ')";s:14:"total_affected";i:1;}i:576;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1573, 11, 'x15730 x15731 x15732 x15733 x15734 x15735 x15736 x15737 x15738 x15739 x157310 x157311 x157312 x157313 x157314 x157315 x157316 x157317 x157318 x157319 x157320 x157321 x157322 x157323 x157324 x157325 x157326 x157327 x157328 x157329 ')";s:14:"total_affected";i:1;}i:577;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1574, 11, 'x15740 x15741 x15742 x15743 x15744 x15745 x15746 x15747 x15748 x15749 x157410 x157411 x157412 x157413 x157414 x157415 x157416 x157417 x157418 x157419 x157420 x157421 x157422 x157423 x157424 x157425 x157426 x157427 x157428 x157429 ')";s:14:"total_affected";i:1;}i:578;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1575, 11, 'x15750 x15751 x15752 x15753 x15754 x15755 x15756 x15757 x15758 x15759 x157510 x157511 x157512 x157513 x157514 x157515 x157516 x157517 x157518 x157519 x157520 x157521 x157522 x157523 x157524 x157525 x157526 x157527 x157528 x157529 ')";s:14:"total_affected";i:1;}i:579;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1576, 11, 'x15760 x15761 x15762 x15763 x15764 x15765 x15766 x15767 x15768 x15769 x157610 x157611 x157612 x157613 x157614 x157615 x157616 x157617 x157618 x157619 x157620 x157621 x157622 x157623 x157624 x157625 x157626 x157627 x157628 x157629 ')";s:14:"total_affected";i:1;}i:580;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1577, 11, 'x15770 x15771 x15772 x15773 x15774 x15775 x15776 x15777 x15778 x15779 x157710 x157711 x157712 x157713 x157714 x157715 x157716 x157717 x157718 x157719 x157720 x157721 x157722 x157723 x157724 x157725 x157726 x157727 x157728 x157729 ')";s:14:"total_affected";i:1;}i:581;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1578, 11, 'x15780 x15781 x15782 x15783 x15784 x15785 x15786 x15787 x15788 x15789 x157810 x157811 x157812 x157813 x157814 x157815 x157816 x157817 x157818 x157819 x157820 x157821 x157822 x157823 x157824 x157825 x157826 x157827 x157828 x157829 ')";s:14:"total_affected";i:1;}i:582;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1579, 11, 'x15790 x15791 x15792 x15793 x15794 x15795 x15796 x15797 x15798 x15799 x157910 x157911 x157912 x157913 x157914 x157915 x157916 x157917 x157918 x157919 x157920 x157921 x157922 x157923 x157924 x157925 x157926 x157927 x157928 x157929 ')";s:14:"total_affected";i:1;}i:583;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1580, 11, 'x15800 x15801 x15802 x15803 x15804 x15805 x15806 x15807 x15808 x15809 x158010 x158011 x158012 x158013 x158014 x158015 x158016 x158017 x158018 x158019 x158020 x158021 x158022 x158023 x158024 x158025 x158026 x158027 x158028 x158029 ')";s:14:"total_affected";i:1;}i:584;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1581, 11, 'x15810 x15811 x15812 x15813 x15814 x15815 x15816 x15817 x15818 x15819 x158110 x158111 x158112 x158113 x158114 x158115 x158116 x158117 x158118 x158119 x158120 x158121 x158122 x158123 x158124 x158125 x158126 x158127 x158128 x158129 ')";s:14:"total_affected";i:1;}i:585;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1582, 11, 'x15820 x15821 x15822 x15823 x15824 x15825 x15826 x15827 x15828 x15829 x158210 x158211 x158212 x158213 x158214 x158215 x158216 x158217 x158218 x158219 x158220 x158221 x158222 x158223 x158224 x158225 x158226 x158227 x158228 x158229 ')";s:14:"total_affected";i:1;}i:586;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1583, 11, 'x15830 x15831 x15832 x15833 x15834 x15835 x15836 x15837 x15838 x15839 x158310 x158311 x158312 x158313 x158314 x158315 x158316 x158317 x158318 x158319 x158320 x158321 x158322 x158323 x158324 x158325 x158326 x158327 x158328 x158329 ')";s:14:"total_affected";i:1;}i:587;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1584, 11, 'x15840 x15841 x15842 x15843 x15844 x15845 x15846 x15847 x15848 x15849 x158410 x158411 x158412 x158413 x158414 x158415 x158416 x158417 x158418 x158419 x158420 x158421 x158422 x158423 x158424 x158425 x158426 x158427 x158428 x158429 ')";s:14:"total_affected";i:1;}i:588;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1585, 11, 'x15850 x15851 x15852 x15853 x15854 x15855 x15856 x15857 x15858 x15859 x158510 x158511 x158512 x158513 x158514 x158515 x158516 x158517 x158518 x158519 x158520 x158521 x158522 x158523 x158524 x158525 x158526 x158527 x158528 x158529 ')";s:14:"total_affected";i:1;}i:589;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1586, 11, 'x15860 x15861 x15862 x15863 x15864 x15865 x15866 x15867 x15868 x15869 x158610 x158611 x158612 x158613 x158614 x158615 x158616 x158617 x158618 x158619 x158620 x158621 x158622 x158623 x158624 x158625 x158626 x158627 x158628 x158629 ')";s:14:"total_affected";i:1;}i:590;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1587, 11, 'x15870 x15871 x15872 x15873 x15874 x15875 x15876 x15877 x15878 x15879 x158710 x158711 x158712 x158713 x158714 x158715 x158716 x158717 x158718 x158719 x158720 x158721 x158722 x158723 x158724 x158725 x158726 x158727 x158728 x158729 ')";s:14:"total_affected";i:1;}i:591;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1588, 11, 'x15880 x15881 x15882 x15883 x15884 x15885 x15886 x15887 x15888 x15889 x158810 x158811 x158812 x158813 x158814 x158815 x158816 x158817 x158818 x158819 x158820 x158821 x158822 x158823 x158824 x158825 x158826 x158827 x158828 x158829 ')";s:14:"total_affected";i:1;}i:592;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1589, 11, 'x15890 x15891 x15892 x15893 x15894 x15895 x15896 x15897 x15898 x15899 x158910 x158911 x158912 x158913 x158914 x158915 x158916 x158917 x158918 x158919 x158920 x158921 x158922 x158923 x158924 x158925 x158926 x158927 x158928 x158929 ')";s:14:"total_affected";i:1;}i:593;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1590, 11, 'x15900 x15901 x15902 x15903 x15904 x15905 x15906 x15907 x15908 x15909 x159010 x159011 x159012 x159013 x159014 x159015 x159016 x159017 x159018 x159019 x159020 x159021 x159022 x159023 x159024 x159025 x159026 x159027 x159028 x159029 ')";s:14:"total_affected";i:1;}i:594;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1591, 11, 'x15910 x15911 x15912 x15913 x15914 x15915 x15916 x15917 x15918 x15919 x159110 x159111 x159112 x159113 x159114 x159115 x159116 x159117 x159118 x159119 x159120 x159121 x159122 x159123 x159124 x159125 x159126 x159127 x159128 x159129 ')";s:14:"total_affected";i:1;}i:595;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1592, 11, 'x15920 x15921 x15922 x15923 x15924 x15925 x15926 x15927 x15928 x15929 x159210 x159211 x159212 x159213 x159214 x159215 x159216 x159217 x159218 x159219 x159220 x159221 x159222 x159223 x159224 x159225 x159226 x159227 x159228 x159229 ')";s:14:"total_affected";i:1;}i:596;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1593, 11, 'x15930 x15931 x15932 x15933 x15934 x15935 x15936 x15937 x15938 x15939 x159310 x159311 x159312 x159313 x159314 x159315 x159316 x159317 x159318 x159319 x159320 x159321 x159322 x159323 x159324 x159325 x159326 x159327 x159328 x159329 ')";s:14:"total_affected";i:1;}i:597;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1594, 11, 'x15940 x15941 x15942 x15943 x15944 x15945 x15946 x15947 x15948 x15949 x159410 x159411 x159412 x159413 x159414 x159415 x159416 x159417 x159418 x159419 x159420 x159421 x159422 x159423 x159424 x159425 x159426 x159427 x159428 x159429 ')";s:14:"total_affected";i:1;}i:598;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1595, 11, 'x15950 x15951 x15952 x15953 x15954 x15955 x15956 x15957 x15958 x15959 x159510 x159511 x159512 x159513 x159514 x159515 x159516 x159517 x159518 x159519 x159520 x159521 x159522 x159523 x159524 x159525 x159526 x159527 x159528 x159529 ')";s:14:"total_affected";i:1;}i:599;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1596, 11, 'x15960 x15961 x15962 x15963 x15964 x15965 x15966 x15967 x15968 x15969 x159610 x159611 x159612 x159613 x159614 x159615 x159616 x159617 x159618 x159619 x159620 x159621 x159622 x159623 x159624 x159625 x159626 x159627 x159628 x159629 ')";s:14:"total_affected";i:1;}i:600;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1597, 11, 'x15970 x15971 x15972 x15973 x15974 x15975 x15976 x15977 x15978 x15979 x159710 x159711 x159712 x159713 x159714 x159715 x159716 x159717 x159718 x159719 x159720 x159721 x159722 x159723 x159724 x159725 x159726 x159727 x159728 x159729 ')";s:14:"total_affected";i:1;}i:601;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1598, 11, 'x15980 x15981 x15982 x15983 x15984 x15985 x15986 x15987 x15988 x15989 x159810 x159811 x159812 x159813 x159814 x159815 x159816 x159817 x159818 x159819 x159820 x159821 x159822 x159823 x159824 x159825 x159826 x159827 x159828 x159829 ')";s:14:"total_affected";i:1;}i:602;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1599, 11, 'x15990 x15991 x15992 x15993 x15994 x15995 x15996 x15997 x15998 x15999 x159910 x159911 x159912 x159913 x159914 x159915 x159916 x159917 x159918 x159919 x159920 x159921 x159922 x159923 x159924 x159925 x159926 x159927 x159928 x159929 ')";s:14:"total_affected";i:1;}i:603;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1600, 11, 'x16000 x16001 x16002 x16003 x16004 x16005 x16006 x16007 x16008 x16009 x160010 x160011 x160012 x160013 x160014 x160015 x160016 x160017 x160018 x160019 x160020 x160021 x160022 x160023 x160024 x160025 x160026 x160027 x160028 x160029 ')";s:14:"total_affected";i:1;}i:604;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1601, 11, 'x16010 x16011 x16012 x16013 x16014 x16015 x16016 x16017 x16018 x16019 x160110 x160111 x160112 x160113 x160114 x160115 x160116 x160117 x160118 x160119 x160120 x160121 x160122 x160123 x160124 x160125 x160126 x160127 x160128 x160129 ')";s:14:"total_affected";i:1;}i:605;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1602, 11, 'x16020 x16021 x16022 x16023 x16024 x16025 x16026 x16027 x16028 x16029 x160210 x160211 x160212 x160213 x160214 x160215 x160216 x160217 x160218 x160219 x160220 x160221 x160222 x160223 x160224 x160225 x160226 x160227 x160228 x160229 ')";s:14:"total_affected";i:1;}i:606;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1603, 11, 'x16030 x16031 x16032 x16033 x16034 x16035 x16036 x16037 x16038 x16039 x160310 x160311 x160312 x160313 x160314 x160315 x160316 x160317 x160318 x160319 x160320 x160321 x160322 x160323 x160324 x160325 x160326 x160327 x160328 x160329 ')";s:14:"total_affected";i:1;}i:607;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1604, 11, 'x16040 x16041 x16042 x16043 x16044 x16045 x16046 x16047 x16048 x16049 x160410 x160411 x160412 x160413 x160414 x160415 x160416 x160417 x160418 x160419 x160420 x160421 x160422 x160423 x160424 x160425 x160426 x160427 x160428 x160429 ')";s:14:"total_affected";i:1;}i:608;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1605, 11, 'x16050 x16051 x16052 x16053 x16054 x16055 x16056 x16057 x16058 x16059 x160510 x160511 x160512 x160513 x160514 x160515 x160516 x160517 x160518 x160519 x160520 x160521 x160522 x160523 x160524 x160525 x160526 x160527 x160528 x160529 ')";s:14:"total_affected";i:1;}i:609;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1606, 11, 'x16060 x16061 x16062 x16063 x16064 x16065 x16066 x16067 x16068 x16069 x160610 x160611 x160612 x160613 x160614 x160615 x160616 x160617 x160618 x160619 x160620 x160621 x160622 x160623 x160624 x160625 x160626 x160627 x160628 x160629 ')";s:14:"total_affected";i:1;}i:610;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1607, 11, 'x16070 x16071 x16072 x16073 x16074 x16075 x16076 x16077 x16078 x16079 x160710 x160711 x160712 x160713 x160714 x160715 x160716 x160717 x160718 x160719 x160720 x160721 x160722 x160723 x160724 x160725 x160726 x160727 x160728 x160729 ')";s:14:"total_affected";i:1;}i:611;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1608, 11, 'x16080 x16081 x16082 x16083 x16084 x16085 x16086 x16087 x16088 x16089 x160810 x160811 x160812 x160813 x160814 x160815 x160816 x160817 x160818 x160819 x160820 x160821 x160822 x160823 x160824 x160825 x160826 x160827 x160828 x160829 ')";s:14:"total_affected";i:1;}i:612;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1609, 11, 'x16090 x16091 x16092 x16093 x16094 x16095 x16096 x16097 x16098 x16099 x160910 x160911 x160912 x160913 x160914 x160915 x160916 x160917 x160918 x160919 x160920 x160921 x160922 x160923 x160924 x160925 x160926 x160927 x160928 x160929 ')";s:14:"total_affected";i:1;}i:613;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1610, 11, 'x16100 x16101 x16102 x16103 x16104 x16105 x16106 x16107 x16108 x16109 x161010 x161011 x161012 x161013 x161014 x161015 x161016 x161017 x161018 x161019 x161020 x161021 x161022 x161023 x161024 x161025 x161026 x161027 x161028 x161029 ')";s:14:"total_affected";i:1;}i:614;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1611, 11, 'x16110 x16111 x16112 x16113 x16114 x16115 x16116 x16117 x16118 x16119 x161110 x161111 x161112 x161113 x161114 x161115 x161116 x161117 x161118 x161119 x161120 x161121 x161122 x161123 x161124 x161125 x161126 x161127 x161128 x161129 ')";s:14:"total_affected";i:1;}i:615;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1612, 11, 'x16120 x16121 x16122 x16123 x16124 x16125 x16126 x16127 x16128 x16129 x161210 x161211 x161212 x161213 x161214 x161215 x161216 x161217 x161218 x161219 x161220 x161221 x161222 x161223 x161224 x161225 x161226 x161227 x161228 x161229 ')";s:14:"total_affected";i:1;}i:616;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1613, 11, 'x16130 x16131 x16132 x16133 x16134 x16135 x16136 x16137 x16138 x16139 x161310 x161311 x161312 x161313 x161314 x161315 x161316 x161317 x161318 x161319 x161320 x161321 x161322 x161323 x161324 x161325 x161326 x161327 x161328 x161329 ')";s:14:"total_affected";i:1;}i:617;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1614, 11, 'x16140 x16141 x16142 x16143 x16144 x16145 x16146 x16147 x16148 x16149 x161410 x161411 x161412 x161413 x161414 x161415 x161416 x161417 x161418 x161419 x161420 x161421 x161422 x161423 x161424 x161425 x161426 x161427 x161428 x161429 ')";s:14:"total_affected";i:1;}i:618;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1615, 11, 'x16150 x16151 x16152 x16153 x16154 x16155 x16156 x16157 x16158 x16159 x161510 x161511 x161512 x161513 x161514 x161515 x161516 x161517 x161518 x161519 x161520 x161521 x161522 x161523 x161524 x161525 x161526 x161527 x161528 x161529 ')";s:14:"total_affected";i:1;}i:619;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1616, 11, 'x16160 x16161 x16162 x16163 x16164 x16165 x16166 x16167 x16168 x16169 x161610 x161611 x161612 x161613 x161614 x161615 x161616 x161617 x161618 x161619 x161620 x161621 x161622 x161623 x161624 x161625 x161626 x161627 x161628 x161629 ')";s:14:"total_affected";i:1;}i:620;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1617, 11, 'x16170 x16171 x16172 x16173 x16174 x16175 x16176 x16177 x16178 x16179 x161710 x161711 x161712 x161713 x161714 x161715 x161716 x161717 x161718 x161719 x161720 x161721 x161722 x161723 x161724 x161725 x161726 x161727 x161728 x161729 ')";s:14:"total_affected";i:1;}i:621;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1618, 11, 'x16180 x16181 x16182 x16183 x16184 x16185 x16186 x16187 x16188 x16189 x161810 x161811 x161812 x161813 x161814 x161815 x161816 x161817 x161818 x161819 x161820 x161821 x161822 x161823 x161824 x161825 x161826 x161827 x161828 x161829 ')";s:14:"total_affected";i:1;}i:622;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1619, 11, 'x16190 x16191 x16192 x16193 x16194 x16195 x16196 x16197 x16198 x16199 x161910 x161911 x161912 x161913 x161914 x161915 x161916 x161917 x161918 x161919 x161920 x161921 x161922 x161923 x161924 x161925 x161926 x161927 x161928 x161929 ')";s:14:"total_affected";i:1;}i:623;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1620, 11, 'x16200 x16201 x16202 x16203 x16204 x16205 x16206 x16207 x16208 x16209 x162010 x162011 x162012 x162013 x162014 x162015 x162016 x162017 x162018 x162019 x162020 x162021 x162022 x162023 x162024 x162025 x162026 x162027 x162028 x162029 ')";s:14:"total_affected";i:1;}i:624;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1621, 11, 'x16210 x16211 x16212 x16213 x16214 x16215 x16216 x16217 x16218 x16219 x162110 x162111 x162112 x162113 x162114 x162115 x162116 x162117 x162118 x162119 x162120 x162121 x162122 x162123 x162124 x162125 x162126 x162127 x162128 x162129 ')";s:14:"total_affected";i:1;}i:625;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1622, 11, 'x16220 x16221 x16222 x16223 x16224 x16225 x16226 x16227 x16228 x16229 x162210 x162211 x162212 x162213 x162214 x162215 x162216 x162217 x162218 x162219 x162220 x162221 x162222 x162223 x162224 x162225 x162226 x162227 x162228 x162229 ')";s:14:"total_affected";i:1;}i:626;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1623, 11, 'x16230 x16231 x16232 x16233 x16234 x16235 x16236 x16237 x16238 x16239 x162310 x162311 x162312 x162313 x162314 x162315 x162316 x162317 x162318 x162319 x162320 x162321 x162322 x162323 x162324 x162325 x162326 x162327 x162328 x162329 ')";s:14:"total_affected";i:1;}i:627;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1624, 11, 'x16240 x16241 x16242 x16243 x16244 x16245 x16246 x16247 x16248 x16249 x162410 x162411 x162412 x162413 x162414 x162415 x162416 x162417 x162418 x162419 x162420 x162421 x162422 x162423 x162424 x162425 x162426 x162427 x162428 x162429 ')";s:14:"total_affected";i:1;}i:628;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1625, 11, 'x16250 x16251 x16252 x16253 x16254 x16255 x16256 x16257 x16258 x16259 x162510 x162511 x162512 x162513 x162514 x162515 x162516 x162517 x162518 x162519 x162520 x162521 x162522 x162523 x162524 x162525 x162526 x162527 x162528 x162529 ')";s:14:"total_affected";i:1;}i:629;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1626, 11, 'x16260 x16261 x16262 x16263 x16264 x16265 x16266 x16267 x16268 x16269 x162610 x162611 x162612 x162613 x162614 x162615 x162616 x162617 x162618 x162619 x162620 x162621 x162622 x162623 x162624 x162625 x162626 x162627 x162628 x162629 ')";s:14:"total_affected";i:1;}i:630;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1627, 11, 'x16270 x16271 x16272 x16273 x16274 x16275 x16276 x16277 x16278 x16279 x162710 x162711 x162712 x162713 x162714 x162715 x162716 x162717 x162718 x162719 x162720 x162721 x162722 x162723 x162724 x162725 x162726 x162727 x162728 x162729 ')";s:14:"total_affected";i:1;}i:631;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1628, 11, 'x16280 x16281 x16282 x16283 x16284 x16285 x16286 x16287 x16288 x16289 x162810 x162811 x162812 x162813 x162814 x162815 x162816 x162817 x162818 x162819 x162820 x162821 x162822 x162823 x162824 x162825 x162826 x162827 x162828 x162829 ')";s:14:"total_affected";i:1;}i:632;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1629, 11, 'x16290 x16291 x16292 x16293 x16294 x16295 x16296 x16297 x16298 x16299 x162910 x162911 x162912 x162913 x162914 x162915 x162916 x162917 x162918 x162919 x162920 x162921 x162922 x162923 x162924 x162925 x162926 x162927 x162928 x162929 ')";s:14:"total_affected";i:1;}i:633;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1630, 11, 'x16300 x16301 x16302 x16303 x16304 x16305 x16306 x16307 x16308 x16309 x163010 x163011 x163012 x163013 x163014 x163015 x163016 x163017 x163018 x163019 x163020 x163021 x163022 x163023 x163024 x163025 x163026 x163027 x163028 x163029 ')";s:14:"total_affected";i:1;}i:634;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1631, 11, 'x16310 x16311 x16312 x16313 x16314 x16315 x16316 x16317 x16318 x16319 x163110 x163111 x163112 x163113 x163114 x163115 x163116 x163117 x163118 x163119 x163120 x163121 x163122 x163123 x163124 x163125 x163126 x163127 x163128 x163129 ')";s:14:"total_affected";i:1;}i:635;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1632, 11, 'x16320 x16321 x16322 x16323 x16324 x16325 x16326 x16327 x16328 x16329 x163210 x163211 x163212 x163213 x163214 x163215 x163216 x163217 x163218 x163219 x163220 x163221 x163222 x163223 x163224 x163225 x163226 x163227 x163228 x163229 ')";s:14:"total_affected";i:1;}i:636;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1633, 11, 'x16330 x16331 x16332 x16333 x16334 x16335 x16336 x16337 x16338 x16339 x163310 x163311 x163312 x163313 x163314 x163315 x163316 x163317 x163318 x163319 x163320 x163321 x163322 x163323 x163324 x163325 x163326 x163327 x163328 x163329 ')";s:14:"total_affected";i:1;}i:637;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1634, 11, 'x16340 x16341 x16342 x16343 x16344 x16345 x16346 x16347 x16348 x16349 x163410 x163411 x163412 x163413 x163414 x163415 x163416 x163417 x163418 x163419 x163420 x163421 x163422 x163423 x163424 x163425 x163426 x163427 x163428 x163429 ')";s:14:"total_affected";i:1;}i:638;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1635, 11, 'x16350 x16351 x16352 x16353 x16354 x16355 x16356 x16357 x16358 x16359 x163510 x163511 x163512 x163513 x163514 x163515 x163516 x163517 x163518 x163519 x163520 x163521 x163522 x163523 x163524 x163525 x163526 x163527 x163528 x163529 ')";s:14:"total_affected";i:1;}i:639;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1636, 11, 'x16360 x16361 x16362 x16363 x16364 x16365 x16366 x16367 x16368 x16369 x163610 x163611 x163612 x163613 x163614 x163615 x163616 x163617 x163618 x163619 x163620 x163621 x163622 x163623 x163624 x163625 x163626 x163627 x163628 x163629 ')";s:14:"total_affected";i:1;}i:640;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1637, 11, 'x16370 x16371 x16372 x16373 x16374 x16375 x16376 x16377 x16378 x16379 x163710 x163711 x163712 x163713 x163714 x163715 x163716 x163717 x163718 x163719 x163720 x163721 x163722 x163723 x163724 x163725 x163726 x163727 x163728 x163729 ')";s:14:"total_affected";i:1;}i:641;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1638, 11, 'x16380 x16381 x16382 x16383 x16384 x16385 x16386 x16387 x16388 x16389 x163810 x163811 x163812 x163813 x163814 x163815 x163816 x163817 x163818 x163819 x163820 x163821 x163822 x163823 x163824 x163825 x163826 x163827 x163828 x163829 ')";s:14:"total_affected";i:1;}i:642;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1639, 11, 'x16390 x16391 x16392 x16393 x16394 x16395 x16396 x16397 x16398 x16399 x163910 x163911 x163912 x163913 x163914 x163915 x163916 x163917 x163918 x163919 x163920 x163921 x163922 x163923 x163924 x163925 x163926 x163927 x163928 x163929 ')";s:14:"total_affected";i:1;}i:643;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1640, 11, 'x16400 x16401 x16402 x16403 x16404 x16405 x16406 x16407 x16408 x16409 x164010 x164011 x164012 x164013 x164014 x164015 x164016 x164017 x164018 x164019 x164020 x164021 x164022 x164023 x164024 x164025 x164026 x164027 x164028 x164029 ')";s:14:"total_affected";i:1;}i:644;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1641, 11, 'x16410 x16411 x16412 x16413 x16414 x16415 x16416 x16417 x16418 x16419 x164110 x164111 x164112 x164113 x164114 x164115 x164116 x164117 x164118 x164119 x164120 x164121 x164122 x164123 x164124 x164125 x164126 x164127 x164128 x164129 ')";s:14:"total_affected";i:1;}i:645;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1642, 11, 'x16420 x16421 x16422 x16423 x16424 x16425 x16426 x16427 x16428 x16429 x164210 x164211 x164212 x164213 x164214 x164215 x164216 x164217 x164218 x164219 x164220 x164221 x164222 x164223 x164224 x164225 x164226 x164227 x164228 x164229 ')";s:14:"total_affected";i:1;}i:646;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1643, 11, 'x16430 x16431 x16432 x16433 x16434 x16435 x16436 x16437 x16438 x16439 x164310 x164311 x164312 x164313 x164314 x164315 x164316 x164317 x164318 x164319 x164320 x164321 x164322 x164323 x164324 x164325 x164326 x164327 x164328 x164329 ')";s:14:"total_affected";i:1;}i:647;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1644, 11, 'x16440 x16441 x16442 x16443 x16444 x16445 x16446 x16447 x16448 x16449 x164410 x164411 x164412 x164413 x164414 x164415 x164416 x164417 x164418 x164419 x164420 x164421 x164422 x164423 x164424 x164425 x164426 x164427 x164428 x164429 ')";s:14:"total_affected";i:1;}i:648;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1645, 11, 'x16450 x16451 x16452 x16453 x16454 x16455 x16456 x16457 x16458 x16459 x164510 x164511 x164512 x164513 x164514 x164515 x164516 x164517 x164518 x164519 x164520 x164521 x164522 x164523 x164524 x164525 x164526 x164527 x164528 x164529 ')";s:14:"total_affected";i:1;}i:649;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1646, 11, 'x16460 x16461 x16462 x16463 x16464 x16465 x16466 x16467 x16468 x16469 x164610 x164611 x164612 x164613 x164614 x164615 x164616 x164617 x164618 x164619 x164620 x164621 x164622 x164623 x164624 x164625 x164626 x164627 x164628 x164629 ')";s:14:"total_affected";i:1;}i:650;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1647, 11, 'x16470 x16471 x16472 x16473 x16474 x16475 x16476 x16477 x16478 x16479 x164710 x164711 x164712 x164713 x164714 x164715 x164716 x164717 x164718 x164719 x164720 x164721 x164722 x164723 x164724 x164725 x164726 x164727 x164728 x164729 ')";s:14:"total_affected";i:1;}i:651;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1648, 11, 'x16480 x16481 x16482 x16483 x16484 x16485 x16486 x16487 x16488 x16489 x164810 x164811 x164812 x164813 x164814 x164815 x164816 x164817 x164818 x164819 x164820 x164821 x164822 x164823 x164824 x164825 x164826 x164827 x164828 x164829 ')";s:14:"total_affected";i:1;}i:652;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1649, 11, 'x16490 x16491 x16492 x16493 x16494 x16495 x16496 x16497 x16498 x16499 x164910 x164911 x164912 x164913 x164914 x164915 x164916 x164917 x164918 x164919 x164920 x164921 x164922 x164923 x164924 x164925 x164926 x164927 x164928 x164929 ')";s:14:"total_affected";i:1;}i:653;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1650, 11, 'x16500 x16501 x16502 x16503 x16504 x16505 x16506 x16507 x16508 x16509 x165010 x165011 x165012 x165013 x165014 x165015 x165016 x165017 x165018 x165019 x165020 x165021 x165022 x165023 x165024 x165025 x165026 x165027 x165028 x165029 ')";s:14:"total_affected";i:1;}i:654;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1651, 11, 'x16510 x16511 x16512 x16513 x16514 x16515 x16516 x16517 x16518 x16519 x165110 x165111 x165112 x165113 x165114 x165115 x165116 x165117 x165118 x165119 x165120 x165121 x165122 x165123 x165124 x165125 x165126 x165127 x165128 x165129 ')";s:14:"total_affected";i:1;}i:655;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1652, 11, 'x16520 x16521 x16522 x16523 x16524 x16525 x16526 x16527 x16528 x16529 x165210 x165211 x165212 x165213 x165214 x165215 x165216 x165217 x165218 x165219 x165220 x165221 x165222 x165223 x165224 x165225 x165226 x165227 x165228 x165229 ')";s:14:"total_affected";i:1;}i:656;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1653, 11, 'x16530 x16531 x16532 x16533 x16534 x16535 x16536 x16537 x16538 x16539 x165310 x165311 x165312 x165313 x165314 x165315 x165316 x165317 x165318 x165319 x165320 x165321 x165322 x165323 x165324 x165325 x165326 x165327 x165328 x165329 ')";s:14:"total_affected";i:1;}i:657;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1654, 11, 'x16540 x16541 x16542 x16543 x16544 x16545 x16546 x16547 x16548 x16549 x165410 x165411 x165412 x165413 x165414 x165415 x165416 x165417 x165418 x165419 x165420 x165421 x165422 x165423 x165424 x165425 x165426 x165427 x165428 x165429 ')";s:14:"total_affected";i:1;}i:658;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1655, 11, 'x16550 x16551 x16552 x16553 x16554 x16555 x16556 x16557 x16558 x16559 x165510 x165511 x165512 x165513 x165514 x165515 x165516 x165517 x165518 x165519 x165520 x165521 x165522 x165523 x165524 x165525 x165526 x165527 x165528 x165529 ')";s:14:"total_affected";i:1;}i:659;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1656, 11, 'x16560 x16561 x16562 x16563 x16564 x16565 x16566 x16567 x16568 x16569 x165610 x165611 x165612 x165613 x165614 x165615 x165616 x165617 x165618 x165619 x165620 x165621 x165622 x165623 x165624 x165625 x165626 x165627 x165628 x165629 ')";s:14:"total_affected";i:1;}i:660;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1657, 11, 'x16570 x16571 x16572 x16573 x16574 x16575 x16576 x16577 x16578 x16579 x165710 x165711 x165712 x165713 x165714 x165715 x165716 x165717 x165718 x165719 x165720 x165721 x165722 x165723 x165724 x165725 x165726 x165727 x165728 x165729 ')";s:14:"total_affected";i:1;}i:661;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1658, 11, 'x16580 x16581 x16582 x16583 x16584 x16585 x16586 x16587 x16588 x16589 x165810 x165811 x165812 x165813 x165814 x165815 x165816 x165817 x165818 x165819 x165820 x165821 x165822 x165823 x165824 x165825 x165826 x165827 x165828 x165829 ')";s:14:"total_affected";i:1;}i:662;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (1659, 11, 'x16590 x16591 x16592 x16593 x16594 x16595 x16596 x16597 x16598 x16599 x165910 x165911 x165912 x165913 x165914 x165915 x165916 x165917 x165918 x165919 x165920 x165921 x165922 x165923 x165924 x165925 x165926 x165927 x165928 x165929 ')";s:14:"total_affected";i:1;}i:663;a:2:{s:8:"sphinxql";s:48:"UPDATE i1, i2 SET gid=333 WHERE id IN ( 2, 102 )";s:14:"total_affected";i:2;}i:664;a:2:{s:8:"sphinxql";s:55:"UPDATE i1, rt SET gid=333 WHERE id IN ( 3, 1003, 1333 )";s:14:"total_affected";i:3;}i:665;a:3:{s:8:"sphinxql";s:131:"SELECT * FROM i1, i2, rt WHERE id IN ( 1,2,3,4, 101,102,103,104, 1001,1002,1003,1004, 1331,1332,1333,1334, 2001, 2002, 2003, 2004 )";s:10:"total_rows";i:16;s:4:"rows";a:16:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:3:"333";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:3:"333";}i:3;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";}i:4;a:2:{s:2:"id";s:3:"101";s:3:"gid";s:1:"1";}i:5;a:2:{s:2:"id";s:3:"102";s:3:"gid";s:3:"333";}i:6;a:2:{s:2:"id";s:3:"103";s:3:"gid";s:1:"2";}i:7;a:2:{s:2:"id";s:3:"104";s:3:"gid";s:1:"2";}i:8;a:2:{s:2:"id";s:4:"1001";s:3:"gid";s:2:"11";}i:9;a:2:{s:2:"id";s:4:"1002";s:3:"gid";s:2:"11";}i:10;a:2:{s:2:"id";s:4:"1003";s:3:"gid";s:3:"333";}i:11;a:2:{s:2:"id";s:4:"1004";s:3:"gid";s:2:"11";}i:12;a:2:{s:2:"id";s:4:"1331";s:3:"gid";s:2:"11";}i:13;a:2:{s:2:"id";s:4:"1332";s:3:"gid";s:2:"11";}i:14;a:2:{s:2:"id";s:4:"1333";s:3:"gid";s:3:"333";}i:15;a:2:{s:2:"id";s:4:"1334";s:3:"gid";s:2:"11";}}}i:666;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (2000, 11, 'x20000 x20001 x20002 x20003 x20004 x20005 x20006 x20007 x20008 x20009 x200010 x200011 x200012 x200013 x200014 x200015 x200016 x200017 x200018 x200019 x200020 x200021 x200022 x200023 x200024 x200025 x200026 x200027 x200028 x200029 ')";s:14:"total_affected";i:1;}i:667;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (2001, 11, 'x20010 x20011 x20012 x20013 x20014 x20015 x20016 x20017 x20018 x20019 x200110 x200111 x200112 x200113 x200114 x200115 x200116 x200117 x200118 x200119 x200120 x200121 x200122 x200123 x200124 x200125 x200126 x200127 x200128 x200129 ')";s:14:"total_affected";i:1;}i:668;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (2002, 11, 'x20020 x20021 x20022 x20023 x20024 x20025 x20026 x20027 x20028 x20029 x200210 x200211 x200212 x200213 x200214 x200215 x200216 x200217 x200218 x200219 x200220 x200221 x200222 x200223 x200224 x200225 x200226 x200227 x200228 x200229 ')";s:14:"total_affected";i:1;}i:669;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (2003, 11, 'x20030 x20031 x20032 x20033 x20034 x20035 x20036 x20037 x20038 x20039 x200310 x200311 x200312 x200313 x200314 x200315 x200316 x200317 x200318 x200319 x200320 x200321 x200322 x200323 x200324 x200325 x200326 x200327 x200328 x200329 ')";s:14:"total_affected";i:1;}i:670;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (2004, 11, 'x20040 x20041 x20042 x20043 x20044 x20045 x20046 x20047 x20048 x20049 x200410 x200411 x200412 x200413 x200414 x200415 x200416 x200417 x200418 x200419 x200420 x200421 x200422 x200423 x200424 x200425 x200426 x200427 x200428 x200429 ')";s:14:"total_affected";i:1;}i:671;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (2005, 11, 'x20050 x20051 x20052 x20053 x20054 x20055 x20056 x20057 x20058 x20059 x200510 x200511 x200512 x200513 x200514 x200515 x200516 x200517 x200518 x200519 x200520 x200521 x200522 x200523 x200524 x200525 x200526 x200527 x200528 x200529 ')";s:14:"total_affected";i:1;}i:672;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (2006, 11, 'x20060 x20061 x20062 x20063 x20064 x20065 x20066 x20067 x20068 x20069 x200610 x200611 x200612 x200613 x200614 x200615 x200616 x200617 x200618 x200619 x200620 x200621 x200622 x200623 x200624 x200625 x200626 x200627 x200628 x200629 ')";s:14:"total_affected";i:1;}i:673;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (2007, 11, 'x20070 x20071 x20072 x20073 x20074 x20075 x20076 x20077 x20078 x20079 x200710 x200711 x200712 x200713 x200714 x200715 x200716 x200717 x200718 x200719 x200720 x200721 x200722 x200723 x200724 x200725 x200726 x200727 x200728 x200729 ')";s:14:"total_affected";i:1;}i:674;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (2008, 11, 'x20080 x20081 x20082 x20083 x20084 x20085 x20086 x20087 x20088 x20089 x200810 x200811 x200812 x200813 x200814 x200815 x200816 x200817 x200818 x200819 x200820 x200821 x200822 x200823 x200824 x200825 x200826 x200827 x200828 x200829 ')";s:14:"total_affected";i:1;}i:675;a:2:{s:8:"sphinxql";s:283:"INSERT INTO rt (id, gid, title) VALUES (2009, 11, 'x20090 x20091 x20092 x20093 x20094 x20095 x20096 x20097 x20098 x20099 x200910 x200911 x200912 x200913 x200914 x200915 x200916 x200917 x200918 x200919 x200920 x200921 x200922 x200923 x200924 x200925 x200926 x200927 x200928 x200929 ')";s:14:"total_affected";i:1;}i:676;a:2:{s:8:"sphinxql";s:57:"UPDATE rt SET gid=444 WHERE id IN ( 3, 1003, 1333, 2003 )";s:14:"total_affected";i:3;}i:677;a:3:{s:8:"sphinxql";s:131:"SELECT * FROM i1, i2, rt WHERE id IN ( 1,2,3,4, 101,102,103,104, 1001,1002,1003,1004, 1331,1332,1333,1334, 2001, 2002, 2003, 2004 )";s:10:"total_rows";i:20;s:4:"rows";a:20:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"gid";s:1:"1";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"gid";s:3:"333";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"gid";s:3:"333";}i:3;a:2:{s:2:"id";s:1:"4";s:3:"gid";s:1:"2";}i:4;a:2:{s:2:"id";s:3:"101";s:3:"gid";s:1:"1";}i:5;a:2:{s:2:"id";s:3:"102";s:3:"gid";s:3:"333";}i:6;a:2:{s:2:"id";s:3:"103";s:3:"gid";s:1:"2";}i:7;a:2:{s:2:"id";s:3:"104";s:3:"gid";s:1:"2";}i:8;a:2:{s:2:"id";s:4:"1001";s:3:"gid";s:2:"11";}i:9;a:2:{s:2:"id";s:4:"1002";s:3:"gid";s:2:"11";}i:10;a:2:{s:2:"id";s:4:"1003";s:3:"gid";s:3:"444";}i:11;a:2:{s:2:"id";s:4:"1004";s:3:"gid";s:2:"11";}i:12;a:2:{s:2:"id";s:4:"1331";s:3:"gid";s:2:"11";}i:13;a:2:{s:2:"id";s:4:"1332";s:3:"gid";s:2:"11";}i:14;a:2:{s:2:"id";s:4:"1333";s:3:"gid";s:3:"444";}i:15;a:2:{s:2:"id";s:4:"1334";s:3:"gid";s:2:"11";}i:16;a:2:{s:2:"id";s:4:"2001";s:3:"gid";s:2:"11";}i:17;a:2:{s:2:"id";s:4:"2002";s:3:"gid";s:2:"11";}i:18;a:2:{s:2:"id";s:4:"2003";s:3:"gid";s:3:"444";}i:19;a:2:{s:2:"id";s:4:"2004";s:3:"gid";s:2:"11";}}}i:678;a:2:{s:8:"sphinxql";s:30:"SET GLOBAL @var1 = (3,4,12,13)";s:14:"total_affected";i:0;}i:679;a:3:{s:8:"sphinxql";s:18:"SELECT * FROM dist";s:10:"total_rows";i:8;s:4:"rows";a:8:{i:0;a:3:{s:2:"id";s:1:"1";s:8:"group_id";s:1:"1";s:3:"mva";s:5:"10,11";}i:1;a:3:{s:2:"id";s:1:"2";s:8:"group_id";s:1:"1";s:3:"mva";s:5:"10,11";}i:2;a:3:{s:2:"id";s:1:"3";s:8:"group_id";s:1:"2";s:3:"mva";s:5:"10,11";}i:3;a:3:{s:2:"id";s:1:"4";s:8:"group_id";s:1:"2";s:3:"mva";s:5:"10,11";}i:4;a:3:{s:2:"id";s:2:"11";s:8:"group_id";s:3:"123";s:3:"mva";s:5:"10,11";}i:5;a:3:{s:2:"id";s:2:"12";s:8:"group_id";s:1:"1";s:3:"mva";s:5:"10,11";}i:6;a:3:{s:2:"id";s:2:"13";s:8:"group_id";s:1:"2";s:3:"mva";s:5:"10,11";}i:7;a:3:{s:2:"id";s:2:"14";s:8:"group_id";s:1:"2";s:3:"mva";s:5:"10,11";}}}i:680;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM dist WHERE id in @var1";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"3";s:8:"group_id";s:1:"2";s:3:"mva";s:5:"10,11";}i:1;a:3:{s:2:"id";s:1:"4";s:8:"group_id";s:1:"2";s:3:"mva";s:5:"10,11";}}}i:681;a:3:{s:8:"sphinxql";s:9:"RECONNECT";s:5:"error";s:15:"reconnected ok!";s:5:"errno";i:0;}i:682;a:2:{s:8:"sphinxql";s:30:"SET GLOBAL @var1 = (3,4,12,13)";s:14:"total_affected";i:0;}i:683;a:3:{s:8:"sphinxql";s:9:"RECONNECT";s:5:"error";s:15:"reconnected ok!";s:5:"errno";i:0;}i:684;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM dist WHERE id in @var1";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"3";s:8:"group_id";s:1:"2";s:3:"mva";s:5:"10,11";}i:1;a:3:{s:2:"id";s:1:"4";s:8:"group_id";s:1:"2";s:3:"mva";s:5:"10,11";}}}i:685;a:2:{s:8:"sphinxql";s:24:"SET GLOBAL @var1 = (1,4)";s:14:"total_affected";i:0;}i:686;a:3:{s:8:"sphinxql";s:9:"RECONNECT";s:5:"error";s:15:"reconnected ok!";s:5:"errno";i:0;}i:687;a:2:{s:8:"sphinxql";s:26:"SET GLOBAL @var1 = (11,12)";s:14:"total_affected";i:0;}i:688;a:3:{s:8:"sphinxql";s:9:"RECONNECT";s:5:"error";s:15:"reconnected ok!";s:5:"errno";i:0;}i:689;a:2:{s:8:"sphinxql";s:36:"SELECT * FROM dist WHERE id in @var1";s:10:"total_rows";i:0;}i:690;a:2:{s:8:"sphinxql";s:42:"SET INDEX dist2 GLOBAL @var2 = (1,4,11,12)";s:14:"total_affected";i:0;}i:691;a:3:{s:8:"sphinxql";s:37:"SELECT * FROM dist2 WHERE id in @var2";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:8:"group_id";s:1:"1";s:3:"mva";s:5:"10,11";}i:1;a:3:{s:2:"id";s:1:"4";s:8:"group_id";s:1:"2";s:3:"mva";s:5:"10,11";}}}i:692;a:3:{s:8:"sphinxql";s:38:"SELECT * FROM block1 WHERE id in @var3";s:5:"error";s:47:"index block1: undefined global variable '@var3'";s:5:"errno";i:1064;}i:693;a:2:{s:8:"sphinxql";s:41:"SET INDEX dist GLOBAL @var3 = (1,4,11,12)";s:14:"total_affected";i:0;}i:694;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM dist WHERE id in @var3";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:3:{s:2:"id";s:1:"1";s:8:"group_id";s:1:"1";s:3:"mva";s:5:"10,11";}i:1;a:3:{s:2:"id";s:1:"4";s:8:"group_id";s:1:"2";s:3:"mva";s:5:"10,11";}i:2;a:3:{s:2:"id";s:2:"11";s:8:"group_id";s:3:"123";s:3:"mva";s:5:"10,11";}i:3;a:3:{s:2:"id";s:2:"12";s:8:"group_id";s:1:"1";s:3:"mva";s:5:"10,11";}}}i:695;a:3:{s:8:"sphinxql";s:38:"SELECT * FROM block1 WHERE id in @var3";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:3:{s:2:"id";s:1:"1";s:8:"group_id";s:1:"1";s:3:"mva";s:5:"10,11";}i:1;a:3:{s:2:"id";s:1:"4";s:8:"group_id";s:1:"2";s:3:"mva";s:5:"10,11";}}}}}sphinx-2.2.11-release/test/test_038/0000755000175000017500000000000012743402012016407 5ustar alexeyalexeysphinx-2.2.11-release/test/test_038/test.xml0000644000175000017500000001510712743402012020114 0ustar alexeyalexey stemming indexer { mem_limit = 16M } searchd { workers = threads } source srctest { type = mysql sql_query = SELECT * FROM test_table } index test { source = srctest path = /test charset_table = -, 0..9, A..Z->a..z, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F morphology = stem_ru, stem_en } index morph0 { source = srctest path = /morph0 dict = keywords min_prefix_len = 1 } index morph1 { source = srctest path = /morph1 dict = keywords min_prefix_len = 1 morphology = stem_en } source src_ru { type = mysql sql_query = SELECT *, 11 as idd FROM test_ru sql_query_pre = SET NAMES utf8 sql_attr_uint = idd } index test_ru { source = src_ru path = /test_ru dict = keywords morphology = stem_ru charset_table = 0..9, A..Z->a..z, _, ., -, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F, U+0401->U+0435, U+0451->U+0435 } index rt { type = rt path = /rt rt_field = title rt_attr_uint = idd dict = keywords morphology = stem_ru charset_table = 0..9, A..Z->a..z, _, ., -, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F, U+0401->U+0435, U+0451->U+0435 } source src_stop { type = mysql sql_query = SELECT 1, 11 as idd, 'running far' as text UNION SELECT 2, 22 as idd, 'runs me' as text UNION SELECT 3, 33 as idd, 'rufus my friend' as text sql_query_pre = SET NAMES utf8 sql_attr_uint = idd } index test_stop { source = src_stop path = /test_stop dict = keywords morphology = stem_en charset_table = 0..9, A..Z->a..z, _, ., -, a..z stopwords = /stopwords.txt min_prefix_len = 1 enable_star = 1 index_exact_words = 1 } index test_stop1 { source = src_stop path = /test_stop1 dict = crc morphology = stem_en charset_table = 0..9, A..Z->a..z, _, ., -, a..z stopwords = /stopwords.txt min_prefix_len = 1 enable_star = 1 index_exact_words = 1 } source src_metaphone { type = mysql sql_field_string = name sql_query = SELECT 1 as id, '加藤郁子アーティスト片山耕アーティストピューロキッズアーティスト金子知恵アーティスト井上かなえアーティスト他知恵アーティスト井上かなえアーティスト他' as name } index test_metaphone { source = src_metaphone path = /test_metaphone morphology = metaphone charset_table = U+21..U+29, U+30..U+999, U+1000..U+FFFF } "one two"~3 three =running =run running* runnin* run* ru* =runnin* runnings* runnin running run =running =run running* runnin* run* ru* =runnin* runnings* runnin running run ордеру АВАВ run* ru* =runs runs run* ru* =runs runs CALL KEYWORDS ('то-тический', 'test') CALL KEYWORDS ('тоЫтический', 'test') INSERT INTO rt (id, idd, title) VALUES ( 1, 1, 'testing that' ),( 2, 1, 'ордеру АВАВ/А85/007' ) SELECT * FROM test_ru WHERE MATCH('ордеру АВАВ') show meta SELECT * FROM rt WHERE MATCH('ордеру АВАВ') show meta CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'and nothing else matters' ), ( 2, 'running into trouble' ) CREATE TABLE `test_ru` ( `document_id` int(11) NOT NULL default '0', `body` varchar(255) CHARACTER SET UTF8 NOT NULL default '' ) DROP TABLE IF EXISTS `test_ru` SET NAMES utf8 INSERT INTO `test_ru` (document_id, body) VALUES ( 1, 'testing that' ), ( 2, 'ордеру АВАВ/А85/007' ) sphinx-2.2.11-release/test/test_038/stopwords.txt0000644000175000017500000000000712743402012021211 0ustar alexeyalexeyrunningsphinx-2.2.11-release/test/test_038/model.bin0000644000175000017500000003333112743402012020204 0ustar alexeyalexeya:1:{i:0;a:39:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.004";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:3:"two";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"three";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:380:""one two"~3 three";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:8:"=running";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"=running";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"=run";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"=run";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:8:"running*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"running*";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"runnin*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"runnin*";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"run*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"run*";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ru*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ru*";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:8:"=runnin*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"=runnin*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:9:"runnings*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"runnings*";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"runnin";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"runnin";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"run";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"running";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"run";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"run";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"running";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"=running";}i:13;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"run";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"=run";}i:14;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:8:"running*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"running*";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"runnin*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"runnin*";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"run*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"run*";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ru*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ru*";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"runnin*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"=runnin*";}i:19;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:9:"runnings*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"runnings*";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"runnin";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"runnin";}i:21;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"running";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"running";}i:22;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"run";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"run";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1643";s:5:"attrs";a:1:{s:3:"idd";s:2:"11";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:10:"ордер";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:21:"ордеру АВАВ";}i:24;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"run*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"run*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:1:{s:3:"idd";s:2:"33";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ru*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ru*";}i:26;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"=runs";}i:27;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"runs";}i:28;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"run*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"run*";}i:29;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:1:{s:3:"idd";s:2:"33";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ru*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ru*";}i:30;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"=runs";}i:31;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"runs";}i:32;a:3:{s:8:"sphinxql";s:47:"CALL KEYWORDS ('то-тический', 'test')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:21:"то-тический";s:10:"normalized";s:17:"то-тическ";}}}i:33;a:3:{s:8:"sphinxql";s:48:"CALL KEYWORDS ('тоЫтический', 'test')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:3:{s:4:"qpos";s:1:"1";s:9:"tokenized";s:22:"тоытический";s:10:"normalized";s:18:"тоытическ";}}}i:34;a:2:{s:8:"sphinxql";s:106:"INSERT INTO rt (id, idd, title) VALUES ( 1, 1, 'testing that' ),( 2, 1, 'ордеру АВАВ/А85/007' )";s:14:"total_affected";i:2;}i:35;a:3:{s:8:"sphinxql";s:58:"SELECT * FROM test_ru WHERE MATCH('ордеру АВАВ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:36;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"ордер";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}i:37;a:3:{s:8:"sphinxql";s:53:"SELECT * FROM rt WHERE MATCH('ордеру АВАВ')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:1:"1";}}}i:38;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:10:"ордер";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"1";}}}}}sphinx-2.2.11-release/test/test_037/0000755000175000017500000000000012743402012016406 5ustar alexeyalexeysphinx-2.2.11-release/test/test_037/test.xml0000644000175000017500000000425612743402012020116 0ustar alexeyalexey rankers indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query = SELECT * FROM test_table WHERE id BETWEEN 1 AND 10 sql_query_pre = SET NAMES utf8 } source srctest2 : srctest { sql_query = SELECT * FROM test_table WHERE id BETWEEN 11 AND 20 } index test { source = srctest path = /test morphology = stem_ru, stem_en charset_table = 0..9, A..Z->a..z, _, a..z, U+410..U+42F->U+430..U+44F, U+430..U+44F } index test2 { source = srctest2 path = /test2 } "зимние шины" "зимние шины" "зимние шины" "зимние шины" @title test market street CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `title` varchar(255) NOT NULL default '', `body` varchar(255) NOT NULL default '' ) CHARACTER SET utf8 DROP TABLE IF EXISTS `test_table` SET NAMES utf8 INSERT INTO `test_table` VALUES ( 1, 'зимние шины диски чего то тут зимние шины', '' ), ( 2, 'test doc two', 'second stupid test document with random content' ), ( 3, 'filler', 'filler' ), ( 4, 'filler', 'filler' ), ( 5, 'filler', 'filler' ), ( 6, 'filler', 'filler' ), ( 7, 'filler', 'filler' ), ( 8, 'filler', 'filler' ), ( 9, 'filler', 'filler' ), ( 10, 'filler', 'filler' ), ( 11, 'market street', '' ), ( 12, 'market street west', '' ), ( 13, 'north market street', '' ), ( 14, 'farmers market street north', '' ), ( 15, 'flower street market', '' ), ( 16, 'market street is so very market street', '' ) sphinx-2.2.11-release/test/test_037/model.bin0000644000175000017500000000612012743402012020177 0ustar alexeyalexeya:1:{i:0;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"2800";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:8:"зимн";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}s:6:"шин";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:23:""зимние шины"";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1800";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:8:"зимн";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}s:6:"шин";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:23:""зимние шины"";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:8:"зимн";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}s:6:"шин";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:23:""зимние шины"";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:8:"зимн";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}s:6:"шин";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:23:""зимние шины"";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1800";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"@title test";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:6:{i:11;a:2:{s:6:"weight";s:5:"11290";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:5:"10290";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:5:"10212";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:4:"8290";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:4:"8290";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:4:"4290";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"6";s:11:"total_found";s:1:"6";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:6:"market";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"7";}s:6:"street";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"7";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:"market street";}}}sphinx-2.2.11-release/test/test_036/0000755000175000017500000000000012743402012016405 5ustar alexeyalexeysphinx-2.2.11-release/test/test_036/test.xml0000644000175000017500000000477112743402012020117 0ustar alexeyalexey merge vs --merge-dst-range indexer { mem_limit = 16M } searchd { } source src_base { type = mysql } source srcmain : src_base { sql_query = SELECT * FROM test_table WHERE document_id in (1,2,3,4,5,6,7,8) sql_attr_uint = tag1 sql_attr_uint = tag2 sql_attr_multi = uint mva1 from field sql_attr_multi = uint mva2 from field } source srcdelta : src_base { sql_query = SELECT * FROM test_table WHERE document_id in (9,10,11) sql_attr_uint = tag1 sql_attr_uint = tag2 sql_attr_multi = uint mva1 from field sql_attr_multi = uint mva2 from field } source srcmain : src_base { sql_query = SELECT * FROM test_table WHERE document_id in (1,2,3,4,5,6,7,8) sql_attr_uint = tag1 sql_attr_uint = tag2 sql_attr_multi = bigint mva1 from field sql_attr_multi = bigint mva2 from field } source srcdelta : src_base { sql_query = SELECT * FROM test_table WHERE document_id in (9,10,11) sql_attr_uint = tag1 sql_attr_uint = tag2 sql_attr_multi = bigint mva1 from field sql_attr_multi = bigint mva2 from field } index main { source = srcmain path = /main } index delta { source = srcdelta path = /delta } --merge main delta --merge-dst-range tag2 0 0 main delta test1 test2 CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `tag1` int(11) NOT NULL default '0', `tag2` int(11) NOT NULL default '0', `mva1` varchar(255) NOT NULL default '', `mva2` varchar(255) NOT NULL default '', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 0, 1, '', '1 2 3','main' ), ( 2, 0, 0, '2 22 222', '', 'main' ), ( 3, 0, 0, '3 33 333', '5 6 7','main' ), ( 4, 0, 1, '', '', 'test1' ), ( 5, 0, 1, '', '', 'test1' ), ( 6, 0, 0, '6', '', 'test1' ), ( 7, 0, 1, '7', '', 'test2' ), ( 8, 0, 1, '8', '', 'test2' ), ( 9, 0, 0, '1 10 100', '9 0 1','delta' ), (10, 0, 0, '2 20 200', '', 'delta' ), (11, 0, 0, '', '', 'delta' ) sphinx-2.2.11-release/test/test_036/model.bin0000644000175000017500000001175212743402012020205 0ustar alexeyalexeya:2:{i:0;a:4:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"tag1";i:1;s:4:"tag2";i:1;s:4:"mva1";i:1073741825;s:4:"mva2";i:1073741825;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1607";s:5:"attrs";a:4:{s:4:"tag1";i:0;s:4:"tag2";i:0;s:4:"mva1";a:3:{i:0;i:2;i:1;i:22;i:2;i:222;}s:4:"mva2";a:0:{}}}i:3;a:2:{s:6:"weight";s:4:"1607";s:5:"attrs";a:4:{s:4:"tag1";i:0;s:4:"tag2";i:0;s:4:"mva1";a:3:{i:0;i:3;i:1;i:33;i:2;i:333;}s:4:"mva2";a:3:{i:0;i:5;i:1;i:6;i:2;i:7;}}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"main";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"main";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"tag1";i:1;s:4:"tag2";i:1;s:4:"mva1";i:1073741825;s:4:"mva2";i:1073741825;}s:7:"matches";a:3:{i:9;a:2:{s:6:"weight";s:4:"1533";s:5:"attrs";a:4:{s:4:"tag1";i:0;s:4:"tag2";i:0;s:4:"mva1";a:3:{i:0;i:1;i:1;i:10;i:2;i:100;}s:4:"mva2";a:3:{i:0;i:0;i:1;i:1;i:2;i:9;}}}i:10;a:2:{s:6:"weight";s:4:"1533";s:5:"attrs";a:4:{s:4:"tag1";i:0;s:4:"tag2";i:0;s:4:"mva1";a:3:{i:0;i:2;i:1;i:20;i:2;i:200;}s:4:"mva2";a:0:{}}}i:11;a:2:{s:6:"weight";s:4:"1533";s:5:"attrs";a:4:{s:4:"tag1";i:0;s:4:"tag2";i:0;s:4:"mva1";a:0:{}s:4:"mva2";a:0:{}}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"delta";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"delta";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"tag1";i:1;s:4:"tag2";i:1;s:4:"mva1";i:1073741825;s:4:"mva2";i:1073741825;}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1709";s:5:"attrs";a:4:{s:4:"tag1";i:0;s:4:"tag2";i:0;s:4:"mva1";a:1:{i:0;i:6;}s:4:"mva2";a:0:{}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"test1";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test1";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"tag1";i:1;s:4:"tag2";i:1;s:4:"mva1";i:1073741825;s:4:"mva2";i:1073741825;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"test2";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test2";}}i:1;a:4:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"tag1";i:1;s:4:"tag2";i:1;s:4:"mva1";i:1073741826;s:4:"mva2";i:1073741826;}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1607";s:5:"attrs";a:4:{s:4:"tag1";i:0;s:4:"tag2";i:0;s:4:"mva1";a:3:{i:0;i:2;i:1;i:22;i:2;i:222;}s:4:"mva2";a:0:{}}}i:3;a:2:{s:6:"weight";s:4:"1607";s:5:"attrs";a:4:{s:4:"tag1";i:0;s:4:"tag2";i:0;s:4:"mva1";a:3:{i:0;i:3;i:1;i:33;i:2;i:333;}s:4:"mva2";a:3:{i:0;i:5;i:1;i:6;i:2;i:7;}}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"main";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"main";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"tag1";i:1;s:4:"tag2";i:1;s:4:"mva1";i:1073741826;s:4:"mva2";i:1073741826;}s:7:"matches";a:3:{i:9;a:2:{s:6:"weight";s:4:"1533";s:5:"attrs";a:4:{s:4:"tag1";i:0;s:4:"tag2";i:0;s:4:"mva1";a:3:{i:0;i:1;i:1;i:10;i:2;i:100;}s:4:"mva2";a:3:{i:0;i:0;i:1;i:1;i:2;i:9;}}}i:10;a:2:{s:6:"weight";s:4:"1533";s:5:"attrs";a:4:{s:4:"tag1";i:0;s:4:"tag2";i:0;s:4:"mva1";a:3:{i:0;i:2;i:1;i:20;i:2;i:200;}s:4:"mva2";a:0:{}}}i:11;a:2:{s:6:"weight";s:4:"1533";s:5:"attrs";a:4:{s:4:"tag1";i:0;s:4:"tag2";i:0;s:4:"mva1";a:0:{}s:4:"mva2";a:0:{}}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"delta";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"delta";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"tag1";i:1;s:4:"tag2";i:1;s:4:"mva1";i:1073741826;s:4:"mva2";i:1073741826;}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1709";s:5:"attrs";a:4:{s:4:"tag1";i:0;s:4:"tag2";i:0;s:4:"mva1";a:1:{i:0;i:6;}s:4:"mva2";a:0:{}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"test1";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test1";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"tag1";i:1;s:4:"tag2";i:1;s:4:"mva1";i:1073741826;s:4:"mva2";i:1073741826;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"test2";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test2";}}}sphinx-2.2.11-release/test/test_035/0000755000175000017500000000000012743402012016404 5ustar alexeyalexeysphinx-2.2.11-release/test/test_035/test.xml0000644000175000017500000000162512743402012020111 0ustar alexeyalexey infixes vs stopwords indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query = SELECT * FROM test_table } index test { source = srctest path = /test stopwords = stopwords.txt min_prefix_len = 3 min_infix_len = 3 } the the* *the* CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'their' ), ( 2, 'theta' ), ( 3, 'xthex' ) sphinx-2.2.11-release/test/test_035/model.bin0000644000175000017500000000450612743402012020203 0ustar alexeyalexeya:2:{i:0;a:3:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"the";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"the*";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"the*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*the*";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*the*";}}i:1;a:3:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"the";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"the*";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"the*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*the*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*the*";}}}sphinx-2.2.11-release/test/test_034/0000755000175000017500000000000012743402012016403 5ustar alexeyalexeysphinx-2.2.11-release/test/test_034/test.xml0000644000175000017500000000241712743402012020110 0ustar alexeyalexey distibuted index vs MVA indexer { mem_limit = 16M } searchd { } source src { type = mysql sql_query = SELECT document_id, text, mva, tag FROM test_table sql_attr_multi = uint mva from field sql_attr_multi = bigint mva from field sql_attr_uint = tag } index idx { source = src path = /idx docinfo = extern min_word_len = 1 } index dist { type = distributed agent = :idx agent_connect_timeout = 1000 agent_query_timeout = 3000 } 2 CREATE TABLE `test_table` ( `document_id` int(11), `text` varchar(255) NOT NULL, `mva` varchar(255) NOT NULL, `tag` int(11) ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'test1', '1', 11 ), ( 2, 'test2', '2,3', 22 ), ( 3, 'test3', '4,5,6', 33 ), ( 4, 'test4', '7,8,9,10', 44 ), ( 5, 'test5', '', 55 ) sphinx-2.2.11-release/test/test_034/model.bin0000644000175000017500000000326412743402012020202 0ustar alexeyalexeya:2:{i:0;a:1:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:3:"mva";i:1073741825;s:3:"tag";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:1:{i:0;s:1:"1";}s:3:"tag";s:2:"11";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:2:{i:0;s:1:"2";i:1;s:1:"3";}s:3:"tag";s:2:"22";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:3:{i:0;s:1:"4";i:1;s:1:"5";i:2;s:1:"6";}s:3:"tag";s:2:"33";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:4:{i:0;s:1:"7";i:1;s:1:"8";i:2;s:1:"9";i:3;s:2:"10";}s:3:"tag";s:2:"44";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:0:{}s:3:"tag";s:2:"55";}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}}i:1;a:1:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:2:{s:3:"mva";i:1073741825;s:3:"tag";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:1:{i:0;s:1:"1";}s:3:"tag";s:2:"11";}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:2:{i:0;s:1:"2";i:1;s:1:"3";}s:3:"tag";s:2:"22";}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:3:{i:0;s:1:"4";i:1;s:1:"5";i:2;s:1:"6";}s:3:"tag";s:2:"33";}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:4:{i:0;s:1:"7";i:1;s:1:"8";i:2;s:1:"9";i:3;s:2:"10";}s:3:"tag";s:2:"44";}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"mva";a:0:{}s:3:"tag";s:2:"55";}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}}}sphinx-2.2.11-release/test/test_033/0000755000175000017500000000000012743402012016402 5ustar alexeyalexeysphinx-2.2.11-release/test/test_033/test.xml0000644000175000017500000000171112743402012020103 0ustar alexeyalexey ignore_chars vs specials indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query = SELECT * FROM test_table } index test { source = srctest path = /test ignore_chars = U+002D } hello -world -hello world hello world CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'hello world' ), ( 2, 'hello' ), ( 3, 'world' ) sphinx-2.2.11-release/test/test_033/model.bin0000644000175000017500000000501012743402012020170 0ustar alexeyalexeya:2:{i:0;a:3:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.033";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:5:"world";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:5:"query";s:12:"hello -world";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:5:"world";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:5:"hello";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:5:"query";s:12:"-hello world";}i:2;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:5:"world";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:5:"query";s:11:"hello world";}}i:1;a:3:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:5:"world";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:5:"query";s:12:"hello -world";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:5:"world";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:5:"hello";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:5:"query";s:12:"-hello world";}i:2;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:5:"world";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:5:"query";s:11:"hello world";}}}sphinx-2.2.11-release/test/test_032/0000755000175000017500000000000012743402012016401 5ustar alexeyalexeysphinx-2.2.11-release/test/test_032/test.xml0000644000175000017500000000476412743402012020115 0ustar alexeyalexey block index vs cutoff, updates, ranges indexer { mem_limit = 16M } searchd { } source src { type = mysql sql_query = SELECT * FROM test_table sql_attr_uint = tag } index idx { source = src path = /main } SetFilter ( "tag", array(150) ); $results[] = $client->Query ( "" ); if ( !$results[0] ) { $results = false; // maybe its temporary; lets retry return; } // update that block $results[] = $client->UpdateAttributes ( "idx", array("tag"), array(137=>array(1137)) ); // find the updated match // checks that it works after the update $client->ResetFilters (); $client->SetFilter ( "tag", array(1137) ); $results[] = $client->Query ( "" ); // find the matches by range // checks that range queries vs fullscan block work $client->ResetFilters (); $client->SetFilterRange ( "tag", 198, 1100 ); $results[] = $client->Query ( "" ); $client->ResetFilters (); $client->SetFilterRange ( "tag", 127, 128 ); $results[] = $client->Query ( "" ); // final fixup; we don't want to compare times for ( $i=0; $i CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `tag` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) INSERT INTO test_table VALUES ( 1,1,'one' ), ( 2,2,'one' ), ( 3,3,'one' ), ( 4,4,'one' ) INSERT INTO test_table SELECT document_id+4, tag+4, body FROM test_table INSERT INTO test_table SELECT document_id+8, tag+8, body FROM test_table INSERT INTO test_table SELECT document_id+16, tag+16, body FROM test_table INSERT INTO test_table SELECT document_id+32, tag+32, body FROM test_table INSERT INTO test_table SELECT document_id+64, tag+64, body FROM test_table INSERT INTO test_table SELECT document_id+128, tag+128, body FROM test_table DELETE FROM test_table WHERE document_id>200 UPDATE test_table SET tag=200 WHERE document_id=1 DROP TABLE IF EXISTS test_table sphinx-2.2.11-release/test/test_032/model.bin0000644000175000017500000000257112743402012020200 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:5:{i:0;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:3:"tag";i:1;}s:7:"matches";a:1:{i:150;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"tag";s:3:"150";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";}i:1;i:1;i:2;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:3:"tag";i:1;}s:7:"matches";a:1:{i:137;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"tag";s:4:"1137";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";}i:3;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:3:"tag";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"tag";s:3:"200";}}i:198;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"tag";s:3:"198";}}i:199;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"tag";s:3:"199";}}i:200;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"tag";s:3:"200";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";}i:4;a:8:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:3:"tag";i:1;}s:7:"matches";a:2:{i:127;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"tag";s:3:"127";}}i:128;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:1:{s:3:"tag";s:3:"128";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";}}}}sphinx-2.2.11-release/test/test_031/0000755000175000017500000000000012743402012016400 5ustar alexeyalexeysphinx-2.2.11-release/test/test_031/test.xml0000644000175000017500000010223312743402012020102 0ustar alexeyalexey geodist/expressions vs multiquery indexer { mem_limit = 16M } searchd { thread_stack = 64K } source srctest { type = mysql sql_query = SELECT * FROM test_table sql_attr_float = lat sql_attr_float = long } index test_idx { source = srctest path = /test } CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `lat` float, `long` float, `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 0.5, 0.5, 'one' ), ( 2, 0.51, 0.5, 'one two' ), ( 3, 0.52, 0.5, 'one two three' ), ( 4, 0.5, 0.51, 'one two three four' ), ( 5, 0.5, 0.52, 'one two three four five' ) AddQuery ('one'); $client->SetGeoAnchor( 'lat','long',0.5, 0.5 ); $client->SetSelect ('*, @geodist*2 as geotwice'); $client->SetSortMode ( SPH_SORT_EXTENDED, '@geodist ASC' ); $client->AddQuery ('one'); $client->SetSortMode ( SPH_SORT_EXPR, '@id' ); $client->AddQuery ('one'); $results = $client->RunQueries (); // regression crash on parsing expression $client->SetSelect ('*, 1 as price, INTERVAL(price, 3589.9999, 3600.0001, 3599.9999, 3610.0001, 3609.9999, 3620.0001, 3619.9999, 3630.0001, 3629.9999, 3640.0001, 3639.9999, 3650.0001, 3649.9999, 3660.0001, 3659.9999, 3670.0001, 3669.9999, 3680.0001, 3679.9999, 3690.0001, 3689.9999, 3700.0001, 3699.9999, 3710.0001, 3709.9999, 3720.0001, 3719.9999, 3730.0001, 3729.9999, 3740.0001, 3739.9999, 3750.0001, 3749.9999, 3760.0001, 3759.9999, 3770.0001, 3769.9999, 3780.0001, 3779.9999, 3790.0001, 3789.9999, 3800.0001, 3799.9999, 3810.0001, 3809.9999, 3820.0001, 3819.9999, 3830.0001, 3829.9999, 3840.0001, 3839.9999, 3850.0001, 3849.9999, 3860.0001, 3859.9999, 3870.0001, 3869.9999, 3880.0001, 3879.9999, 3890.0001, 3889.9999, 3900.0001, 3899.9999, 3910.0001, 3909.9999, 3920.0001, 3919.9999, 3930.0001, 3929.9999, 3940.0001, 3939.9999, 3950.0001, 3949.9999, 3960.0001, 3959.9999, 3970.0001, 3969.9999, 3980.0001, 3979.9999, 3990.0001, 3989.9999, 4000.0001, 3999.9999, 4010.0001, 4009.9999, 4020.0001, 4019.9999, 4030.0001, 4029.9999, 4040.0001, 4039.9999, 4050.0001, 4049.9999, 4060.0001, 4059.9999, 4070.0001, 4069.9999, 4080.0001, 4079.9999, 4090.0001, 4089.9999, 4100.0001, 4099.9999, 4110.0001, 4109.9999, 4120.0001, 4119.9999, 4130.0001, 4129.9999, 4140.0001, 4139.9999, 4150.0001, 4149.9999, 4160.0001, 4159.9999, 4170.0001, 4169.9999, 4180.0001, 4179.9999, 4190.0001, 4189.9999, 4200.0001, 4199.9999, 4210.0001, 4209.9999, 4220.0001, 4219.9999, 4230.0001, 4229.9999, 4240.0001, 4239.9999, 4250.0001, 4249.9999, 4260.0001, 4259.9999, 4270.0001, 4269.9999, 4280.0001, 4279.9999, 4290.0001, 4289.9999, 4300.0001, 4299.9999, 4310.0001, 4309.9999, 4320.0001, 4319.9999, 4330.0001, 4329.9999, 4340.0001, 4339.9999, 4350.0001, 4349.9999, 4360.0001, 4359.9999, 4370.0001, 4369.9999, 4380.0001, 4379.9999, 4390.0001, 4389.9999, 4400.0001, 4399.9999, 4410.0001, 4409.9999, 4420.0001, 4419.9999, 4430.0001, 4429.9999, 4440.0001, 4439.9999, 4450.0001, 4449.9999, 4460.0001, 4459.9999, 4470.0001, 4469.9999, 4480.0001, 4479.9999, 4490.0001, 4489.9999, 4500.0001, 4499.9999, 4510.0001, 4509.9999, 4520.0001, 4519.9999, 4530.0001, 4529.9999, 4540.0001, 4539.9999, 4550.0001, 4549.9999, 4560.0001, 4559.9999, 4570.0001, 4569.9999, 4580.0001, 4579.9999, 4590.0001, 4589.9999, 4600.0001, 4599.9999, 4610.0001, 4609.9999, 4620.0001, 4619.9999, 4630.0001, 4629.9999, 4640.0001, 4639.9999, 4650.0001, 4649.9999, 4660.0001, 4659.9999, 4670.0001, 4669.9999, 4680.0001, 4679.9999, 4690.0001, 4689.9999, 4700.0001, 4699.9999, 4710.0001, 4709.9999, 4720.0001, 4719.9999, 4730.0001, 4729.9999, 4740.0001, 4739.9999, 4750.0001, 4749.9999, 4760.0001, 4759.9999, 4770.0001, 4769.9999, 4780.0001, 4779.9999, 4790.0001, 4789.9999, 4800.0001, 4799.9999, 4810.0001, 4809.9999, 4820.0001, 4819.9999, 4830.0001, 4829.9999, 4840.0001, 4839.9999, 4850.0001, 4849.9999, 4860.0001, 4859.9999, 4870.0001, 4869.9999, 4880.0001, 4879.9999, 4890.0001, 4889.9999, 4900.0001, 4899.9999, 4910.0001, 4909.9999, 4920.0001, 4919.9999, 4930.0001, 4929.9999, 4940.0001, 4939.9999, 4950.0001, 4949.9999, 4960.0001, 4959.9999, 4970.0001, 4969.9999, 4980.0001, 4979.9999, 4990.0001, 4989.9999, 5000.0001, 4999.9999, 5010.0001, 5009.9999, 5020.0001, 5019.9999, 5030.0001, 5029.9999, 5040.0001, 5039.9999, 5050.0001, 5049.9999, 5060.0001, 5059.9999, 5070.0001, 5069.9999, 5080.0001, 5079.9999, 5090.0001, 5089.9999, 5100.0001, 5099.9999, 5110.0001, 5109.9999, 5120.0001, 5119.9999, 5130.0001, 5129.9999, 5140.0001, 5139.9999, 5150.0001, 5149.9999, 5160.0001, 5159.9999, 5170.0001, 5169.9999, 5180.0001, 5179.9999, 5190.0001, 5189.9999, 5200.0001, 5199.9999, 5210.0001, 5209.9999, 5220.0001, 5219.9999, 5230.0001, 5229.9999, 5240.0001, 5239.9999, 5250.0001, 5249.9999, 5260.0001, 5259.9999, 5270.0001, 5269.9999, 5280.0001, 5279.9999, 5290.0001, 5289.9999, 5300.0001, 5299.9999, 5310.0001, 5309.9999, 5320.0001, 5319.9999, 5330.0001, 5329.9999, 5340.0001, 5339.9999, 5350.0001, 5349.9999, 5360.0001, 5359.9999, 5370.0001, 5369.9999, 5380.0001, 5379.9999, 5390.0001, 5389.9999, 5400.0001, 5399.9999, 5410.0001, 5409.9999, 5420.0001, 5419.9999, 5430.0001, 5429.9999, 5440.0001, 5439.9999, 5450.0001, 5449.9999, 5460.0001, 5459.9999, 5470.0001, 5469.9999, 5480.0001, 5479.9999, 5490.0001, 5489.9999, 5500.0001, 5499.9999, 5510.0001, 5509.9999, 5520.0001, 5519.9999, 5530.0001, 5529.9999, 5540.0001, 5539.9999, 5550.0001, 5549.9999, 5560.0001, 5559.9999, 5570.0001, 5569.9999, 5580.0001, 5579.9999, 5590.0001, 5589.9999, 5600.0001, 5599.9999, 5610.0001, 5609.9999, 5620.0001, 5619.9999, 5630.0001, 5629.9999, 5640.0001, 5639.9999, 5650.0001, 5649.9999, 5660.0001, 5659.9999, 5670.0001, 5669.9999, 5680.0001, 5679.9999, 5690.0001, 5689.9999, 5700.0001, 5699.9999, 5710.0001, 5709.9999, 5720.0001, 5719.9999, 5730.0001, 5729.9999, 5740.0001, 5739.9999, 5750.0001, 5749.9999, 5760.0001, 5759.9999, 5770.0001, 5769.9999, 5780.0001, 5779.9999, 5790.0001, 5789.9999, 5800.0001, 5799.9999, 5810.0001, 5809.9999, 5820.0001, 5819.9999, 5830.0001, 5829.9999, 5840.0001, 5839.9999, 5850.0001, 5849.9999, 5860.0001, 5859.9999, 5870.0001, 5869.9999, 5880.0001, 5879.9999, 5890.0001, 5889.9999, 5900.0001, 5899.9999, 5910.0001, 5909.9999, 5920.0001, 5919.9999, 5930.0001, 5929.9999, 5940.0001, 5939.9999, 5950.0001, 5949.9999, 5960.0001, 5959.9999, 5970.0001, 5969.9999, 5980.0001, 5979.9999, 5990.0001, 5989.9999, 6000.0001, 5999.9999, 6010.0001, 6009.9999, 6020.0001, 6019.9999, 6030.0001, 6029.9999, 6040.0001, 6039.9999, 6050.0001, 6049.9999, 6060.0001, 6059.9999, 6070.0001, 6069.9999, 6080.0001, 6079.9999, 6090.0001, 6089.9999, 6100.0001, 6099.9999, 6110.0001, 6109.9999, 6120.0001, 6119.9999, 6130.0001, 6129.9999, 6140.0001, 6139.9999, 6150.0001, 6149.9999, 6160.0001, 6159.9999, 6170.0001, 6169.9999, 6180.0001, 6179.9999, 6190.0001, 6189.9999, 6200.0001, 6199.9999, 6210.0001, 6209.9999, 6220.0001, 6219.9999, 6230.0001, 6229.9999, 6240.0001, 6239.9999, 6250.0001, 6249.9999, 6260.0001, 6259.9999, 6270.0001, 6269.9999, 6280.0001, 6279.9999, 6290.0001, 6289.9999, 6300.0001, 6299.9999, 6310.0001, 6309.9999, 6320.0001, 6319.9999, 6330.0001, 6329.9999, 6340.0001, 6339.9999, 6350.0001, 6349.9999, 6360.0001, 6359.9999, 6370.0001, 6369.9999, 6380.0001, 6379.9999, 6390.0001, 6389.9999, 6400.0001, 6399.9999, 6410.0001, 6409.9999, 6420.0001, 6419.9999, 6430.0001, 6429.9999, 6440.0001, 6439.9999, 6450.0001, 6449.9999, 6460.0001, 6459.9999, 6470.0001, 6469.9999, 6480.0001, 6479.9999, 6490.0001, 6489.9999, 6500.0001, 6499.9999, 6510.0001, 6509.9999, 6520.0001, 6519.9999, 6530.0001, 6529.9999, 6540.0001, 6539.9999, 6550.0001, 6549.9999, 6560.0001, 6559.9999, 6570.0001, 6569.9999, 6580.0001, 6579.9999, 6590.0001, 6589.9999, 6600.0001, 6599.9999, 6610.0001, 6609.9999, 6620.0001, 6619.9999, 6630.0001, 6629.9999, 6640.0001, 6639.9999, 6650.0001, 6649.9999, 6660.0001, 6659.9999, 6670.0001, 6669.9999, 6680.0001, 6679.9999, 6690.0001, 6689.9999, 6700.0001, 6699.9999, 6710.0001, 6709.9999, 6720.0001, 6719.9999, 6730.0001, 6729.9999, 6740.0001, 6739.9999, 6750.0001, 6749.9999, 6760.0001, 6759.9999, 6770.0001, 6769.9999, 6780.0001, 6779.9999, 6790.0001, 6789.9999, 6800.0001, 6799.9999, 6810.0001, 6809.9999, 6820.0001, 6819.9999, 6830.0001, 6829.9999, 6840.0001, 6839.9999, 6850.0001, 6849.9999, 6860.0001, 6859.9999, 6870.0001, 6869.9999, 6880.0001, 6879.9999, 6890.0001, 6889.9999, 6900.0001, 6899.9999, 6910.0001, 6909.9999, 6920.0001, 6919.9999, 6930.0001, 6929.9999, 6940.0001, 6939.9999, 6950.0001, 6949.9999, 6960.0001, 6959.9999, 6970.0001, 6969.9999, 6980.0001, 6979.9999, 6990.0001, 6989.9999, 7000.0001, 6999.9999, 7010.0001, 7009.9999, 7020.0001, 7019.9999, 7030.0001, 7029.9999, 7040.0001, 7039.9999, 7050.0001, 7049.9999, 7060.0001, 7059.9999, 7070.0001, 7069.9999, 7080.0001, 7079.9999, 7090.0001, 7089.9999, 7100.0001, 7099.9999, 7110.0001, 7109.9999, 7120.0001, 7119.9999, 7130.0001, 7129.9999, 7140.0001, 7139.9999, 7150.0001, 7149.9999, 7160.0001, 7159.9999, 7170.0001, 7169.9999, 7180.0001, 7179.9999, 7190.0001, 7189.9999, 7200.0001, 7199.9999, 7210.0001, 7209.9999, 7220.0001, 7219.9999, 7230.0001, 7229.9999, 7240.0001, 7239.9999, 7250.0001, 7249.9999, 7260.0001, 7259.9999, 7270.0001, 7269.9999, 7280.0001, 7279.9999, 7290.0001, 7289.9999, 7300.0001, 7299.9999, 7310.0001, 7309.9999, 7320.0001, 7319.9999, 7330.0001, 7329.9999, 7340.0001, 7339.9999, 7350.0001, 7349.9999, 7360.0001, 7359.9999, 7370.0001, 7369.9999, 7380.0001, 7379.9999, 7390.0001, 7389.9999, 7400.0001, 7399.9999, 7410.0001, 7409.9999, 7420.0001, 7419.9999, 7430.0001, 7429.9999, 7440.0001, 7439.9999, 7450.0001, 7449.9999, 7460.0001, 7459.9999, 7470.0001, 7469.9999, 7480.0001, 7479.9999, 7490.0001, 7489.9999, 7500.0001, 7499.9999, 7510.0001, 7509.9999, 7520.0001, 7519.9999, 7530.0001, 7529.9999, 7540.0001, 7539.9999, 7550.0001, 7549.9999, 7560.0001, 7559.9999, 7570.0001, 7569.9999, 7580.0001, 7579.9999, 7590.0001, 7589.9999, 7600.0001, 7599.9999, 7610.0001, 7609.9999, 7620.0001, 7619.9999, 7630.0001, 7629.9999, 7640.0001, 7639.9999, 7650.0001, 7649.9999, 7660.0001, 7659.9999, 7670.0001, 7669.9999, 7680.0001, 7679.9999, 7690.0001, 7689.9999, 7700.0001, 7699.9999, 7710.0001, 7709.9999, 7720.0001, 7719.9999, 7730.0001, 7729.9999, 7740.0001, 7739.9999, 7750.0001, 7749.9999, 7760.0001, 7759.9999, 7770.0001, 7769.9999, 7780.0001, 7779.9999, 7790.0001, 7789.9999, 7800.0001, 7799.9999, 7810.0001, 7809.9999, 7820.0001, 7819.9999, 7830.0001, 7829.9999, 7840.0001, 7839.9999, 7850.0001, 7849.9999, 7860.0001, 7859.9999, 7870.0001, 7869.9999, 7880.0001, 7879.9999, 7890.0001, 7889.9999, 7900.0001, 7899.9999, 7910.0001, 7909.9999, 7920.0001, 7919.9999, 7930.0001, 7929.9999, 7940.0001, 7939.9999, 7950.0001, 7949.9999, 7960.0001, 7959.9999, 7970.0001, 7969.9999, 7980.0001, 7979.9999, 7990.0001, 7989.9999, 8000.0001, 7999.9999, 8010.0001, 8009.9999, 8020.0001, 8019.9999, 8030.0001, 8029.9999, 8040.0001, 8039.9999, 8050.0001, 8049.9999, 8060.0001, 8059.9999, 8070.0001, 8069.9999, 8080.0001, 8079.9999, 8090.0001, 8089.9999, 8100.0001, 8099.9999, 8110.0001, 8109.9999, 8120.0001, 8119.9999, 8130.0001, 8129.9999, 8140.0001, 8139.9999, 8150.0001, 8149.9999, 8160.0001, 8159.9999, 8170.0001, 8169.9999, 8180.0001, 8179.9999, 8190.0001, 8189.9999, 8200.0001, 8199.9999, 8210.0001, 8209.9999, 8220.0001, 8219.9999, 8230.0001, 8229.9999, 8240.0001, 8239.9999, 8250.0001, 8249.9999, 8260.0001, 8259.9999, 8270.0001, 8269.9999, 8280.0001, 8279.9999, 8290.0001, 8289.9999, 8300.0001, 8299.9999, 8310.0001, 8309.9999, 8320.0001, 8319.9999, 8330.0001, 8329.9999, 8340.0001, 8339.9999, 8350.0001, 8349.9999, 8360.0001, 8359.9999, 8370.0001, 8369.9999, 8380.0001, 8379.9999, 8390.0001, 8389.9999, 8400.0001, 8399.9999, 8410.0001, 8409.9999, 8420.0001, 8419.9999, 8430.0001, 8429.9999, 8440.0001, 8439.9999, 8450.0001, 8449.9999, 8460.0001, 8459.9999, 8470.0001, 8469.9999, 8480.0001, 8479.9999, 8490.0001, 8489.9999, 8500.0001, 8499.9999, 8510.0001, 8509.9999, 8520.0001, 8519.9999, 8530.0001, 8529.9999, 8540.0001, 8539.9999, 8550.0001, 8549.9999, 8560.0001, 8559.9999, 8570.0001, 8569.9999, 8580.0001, 8579.9999, 8590.0001, 8589.9999, 8600.0001, 8599.9999, 8610.0001, 8609.9999, 8620.0001, 8619.9999, 8630.0001, 8629.9999, 8640.0001, 8639.9999, 8650.0001, 8649.9999, 8660.0001, 8659.9999, 8670.0001, 8669.9999, 8680.0001, 8679.9999, 8690.0001, 8689.9999, 8700.0001, 8699.9999, 8710.0001, 8709.9999, 8720.0001, 8719.9999, 8730.0001, 8729.9999, 8740.0001, 8739.9999, 8750.0001, 8749.9999, 8760.0001, 8759.9999, 8770.0001, 8769.9999, 8780.0001, 8779.9999, 8790.0001, 8789.9999, 8800.0001, 8799.9999, 8810.0001, 8809.9999, 8820.0001, 8819.9999, 8830.0001, 8829.9999, 8840.0001, 8839.9999, 8850.0001, 8849.9999, 8860.0001, 8859.9999, 8870.0001, 8869.9999, 8880.0001, 8879.9999, 8890.0001, 8889.9999, 8900.0001, 8899.9999, 8910.0001, 8909.9999, 8920.0001, 8919.9999, 8930.0001, 8929.9999, 8940.0001, 8939.9999, 8950.0001, 8949.9999, 8960.0001, 8959.9999, 8970.0001, 8969.9999, 8980.0001, 8979.9999, 8990.0001, 8989.9999, 9000.0001, 8999.9999, 9010.0001, 9009.9999, 9020.0001, 9019.9999, 9030.0001, 9029.9999, 9040.0001, 9039.9999, 9050.0001, 9049.9999, 9060.0001, 9059.9999, 9070.0001, 9069.9999, 9080.0001, 9079.9999, 9090.0001, 9089.9999, 9100.0001, 9099.9999, 9110.0001, 9109.9999, 9120.0001, 9119.9999, 9130.0001, 9129.9999, 9140.0001, 9139.9999, 9150.0001, 9149.9999, 9160.0001, 9159.9999, 9170.0001, 9169.9999, 9180.0001, 9179.9999, 9190.0001, 9189.9999, 9200.0001, 9199.9999, 9210.0001, 9209.9999, 9220.0001, 9219.9999, 9230.0001, 9229.9999, 9240.0001, 9239.9999, 9250.0001, 9249.9999, 9260.0001, 9259.9999, 9270.0001, 9269.9999, 9280.0001, 9279.9999, 9290.0001, 9289.9999, 9300.0001, 9299.9999, 9310.0001, 9309.9999, 9320.0001, 9319.9999, 9330.0001, 9329.9999, 9340.0001, 9339.9999, 9350.0001, 9349.9999, 9360.0001, 9359.9999, 9370.0001, 9369.9999, 9380.0001, 9379.9999, 9390.0001, 9389.9999, 9400.0001, 9399.9999, 9410.0001, 9409.9999, 9420.0001, 9419.9999, 9430.0001, 9429.9999, 9440.0001, 9439.9999, 9450.0001, 9449.9999, 9460.0001, 9459.9999, 9470.0001, 9469.9999, 9480.0001, 9479.9999, 9490.0001, 9489.9999, 9500.0001, 9499.9999, 9510.0001, 9509.9999, 9520.0001, 9519.9999, 9530.0001, 9529.9999, 9540.0001, 9539.9999, 9550.0001, 9549.9999, 9560.0001, 9559.9999, 9570.0001, 9569.9999, 9580.0001, 9579.9999, 9590.0001, 9589.9999, 9600.0001, 9599.9999, 9610.0001, 9609.9999, 9620.0001, 9619.9999, 9630.0001, 9629.9999, 9640.0001, 9639.9999, 9650.0001, 9649.9999, 9660.0001, 9659.9999, 9670.0001, 9669.9999, 9680.0001, 9679.9999, 9690.0001, 9689.9999, 9700.0001, 9699.9999, 9710.0001, 9709.9999, 9720.0001, 9719.9999, 9730.0001, 9729.9999, 9740.0001, 9739.9999, 9750.0001, 9749.9999, 9760.0001, 9759.9999, 9770.0001, 9769.9999, 9780.0001, 9779.9999, 9790.0001, 9789.9999, 9800.0001, 9799.9999, 9810.0001, 9809.9999, 9820.0001, 9819.9999, 9830.0001, 9829.9999, 9840.0001, 9839.9999, 9850.0001, 9849.9999, 9860.0001, 9859.9999, 9870.0001, 9869.9999, 9880.0001, 9879.9999, 9890.0001, 9889.9999, 9900.0001, 9899.9999, 9910.0001, 9909.9999, 9920.0001, 9919.9999, 9930.0001, 9929.9999, 9940.0001, 9939.9999, 9950.0001, 9949.9999, 9960.0001, 9959.9999, 9970.0001, 9969.9999, 9980.0001, 9979.9999, 9990.0001, 9989.9999, 10000.0001, 9999.9999, 10010.0001, 10009.9999, 10020.0001, 10019.9999, 10030.0001, 10029.9999, 10040.0001, 10039.9999, 10050.0001, 10049.9999, 10060.0001, 10059.9999, 10070.0001, 10069.9999, 10080.0001, 10079.9999, 10090.0001, 10089.9999, 10100.0001, 10099.9999, 10110.0001, 10109.9999, 10120.0001, 10119.9999, 10130.0001, 10129.9999, 10140.0001, 10139.9999, 10150.0001, 10149.9999, 10160.0001, 10159.9999, 10170.0001, 10169.9999, 10180.0001, 10179.9999, 10190.0001, 10189.9999, 10200.0001, 10199.9999, 10210.0001, 10209.9999, 10220.0001, 10219.9999, 10230.0001, 10229.9999, 10240.0001, 10239.9999, 10250.0001, 10249.9999, 10260.0001, 10259.9999, 10270.0001, 10269.9999, 10280.0001, 10279.9999, 10290.0001, 10289.9999, 10300.0001, 10299.9999, 10310.0001, 10309.9999, 10320.0001, 10319.9999, 10330.0001, 10329.9999, 10340.0001, 10339.9999, 10350.0001, 10349.9999, 10360.0001, 10359.9999, 10370.0001, 10369.9999, 10380.0001, 10379.9999, 10390.0001, 10389.9999, 10400.0001, 10399.9999, 10410.0001, 10409.9999, 10420.0001, 10419.9999, 10430.0001, 10429.9999, 10440.0001, 10439.9999, 10450.0001, 10449.9999, 10460.0001, 10459.9999, 10470.0001, 10469.9999, 10480.0001, 10479.9999, 10490.0001, 10489.9999, 10500.0001, 10499.9999, 10510.0001, 10509.9999, 10520.0001, 10519.9999, 10530.0001, 10529.9999, 10540.0001, 10539.9999, 10550.0001, 10549.9999, 10560.0001, 10559.9999, 10570.0001, 10569.9999, 10580.0001, 10579.9999, 10590.0001, 10589.9999, 10600.0001, 10599.9999, 10610.0001, 10609.9999, 10620.0001, 10619.9999, 10630.0001, 10629.9999, 10640.0001, 10639.9999, 10650.0001, 10649.9999, 10660.0001, 10659.9999, 10670.0001, 10669.9999, 10680.0001, 10679.9999, 10690.0001, 10689.9999, 10700.0001, 10699.9999, 10710.0001, 10709.9999, 10720.0001, 10719.9999, 10730.0001, 10729.9999, 10740.0001, 10739.9999, 10750.0001, 10749.9999, 10760.0001, 10759.9999, 10770.0001, 10769.9999, 10780.0001, 10779.9999, 10790.0001, 10789.9999, 10800.0001, 10799.9999, 10810.0001, 10809.9999, 10820.0001, 10819.9999, 10830.0001, 10829.9999, 10840.0001, 10839.9999, 10850.0001, 10849.9999, 10860.0001, 10859.9999, 10870.0001, 10869.9999, 10880.0001, 10879.9999, 10890.0001, 10889.9999, 10900.0001, 10899.9999, 10910.0001, 10909.9999, 10920.0001, 10919.9999, 10930.0001, 10929.9999, 10940.0001, 10939.9999, 10950.0001, 10949.9999, 10960.0001, 10959.9999, 10970.0001, 10969.9999, 10980.0001, 10979.9999, 10990.0001, 10989.9999, 11000.0001, 10999.9999, 11010.0001, 11009.9999, 11020.0001, 11019.9999, 11030.0001, 11029.9999, 11040.0001, 11039.9999, 11050.0001, 11049.9999, 11060.0001, 11059.9999, 11070.0001, 11069.9999, 11080.0001, 11079.9999, 11090.0001, 11089.9999, 11100.0001, 11099.9999, 11110.0001, 11109.9999, 11120.0001, 11119.9999, 11130.0001, 11129.9999, 11140.0001, 11139.9999, 11150.0001, 11149.9999, 11160.0001, 11159.9999, 11170.0001, 11169.9999, 11180.0001, 11179.9999, 11190.0001, 11189.9999, 11200.0001, 11199.9999, 11210.0001, 11209.9999, 11220.0001, 11219.9999, 11230.0001, 11229.9999, 11240.0001, 11239.9999, 11250.0001, 11249.9999, 11260.0001, 11259.9999, 11270.0001, 11269.9999, 11280.0001, 11279.9999, 11290.0001, 11289.9999, 11300.0001, 11299.9999, 11310.0001, 11309.9999, 11320.0001, 11319.9999, 11330.0001, 11329.9999, 11340.0001, 11339.9999, 11350.0001, 11349.9999, 11360.0001, 11359.9999, 11370.0001, 11369.9999, 11380.0001, 11379.9999, 11390.0001, 11389.9999, 11400.0001, 11399.9999, 11410.0001, 11409.9999, 11420.0001, 11419.9999, 11430.0001, 11429.9999, 11440.0001, 11439.9999, 11450.0001, 11449.9999, 11460.0001, 11459.9999, 11470.0001, 11469.9999, 11480.0001, 11479.9999, 11490.0001, 11489.9999, 11500.0001, 11499.9999, 11510.0001, 11509.9999, 11520.0001, 11519.9999, 11530.0001, 11529.9999, 11540.0001, 11539.9999, 11550.0001, 11549.9999, 11560.0001, 11559.9999, 11570.0001, 11569.9999, 11580.0001, 11579.9999, 11590.0001, 11589.9999, 11600.0001, 11599.9999, 11610.0001, 11609.9999, 11620.0001, 11619.9999, 11630.0001, 11629.9999, 11640.0001, 11639.9999, 11650.0001, 11649.9999, 11660.0001, 11659.9999, 11670.0001, 11669.9999, 11680.0001, 11679.9999, 11690.0001, 11689.9999, 11700.0001, 11699.9999, 11710.0001, 11709.9999, 11720.0001, 11719.9999, 11730.0001, 11729.9999, 11740.0001, 11739.9999, 11750.0001, 11749.9999, 11760.0001, 11759.9999, 11770.0001, 11769.9999, 11780.0001, 11779.9999, 11790.0001, 11789.9999, 11800.0001, 11799.9999, 11810.0001, 11809.9999, 11820.0001, 11819.9999, 11830.0001, 11829.9999, 11840.0001, 11839.9999, 11850.0001, 11849.9999, 11860.0001, 11859.9999, 11870.0001, 11869.9999, 11880.0001, 11879.9999, 11890.0001, 11889.9999, 11900.0001, 11899.9999, 11910.0001, 11909.9999, 11920.0001, 11919.9999, 11930.0001, 11929.9999, 11940.0001, 11939.9999, 11950.0001, 11949.9999, 11960.0001, 11959.9999, 11970.0001, 11969.9999, 11980.0001, 11979.9999, 11990.0001, 11989.9999, 12000.0001, 11999.9999, 12010.0001, 12009.9999, 12020.0001, 12019.9999, 12030.0001, 12029.9999, 12040.0001, 12039.9999, 12050.0001, 12049.9999, 12060.0001, 12059.9999, 12070.0001, 12069.9999, 12080.0001, 12079.9999, 12090.0001, 12089.9999, 12100.0001, 12099.9999, 12110.0001, 12109.9999, 12120.0001, 12119.9999, 12130.0001, 12129.9999, 12140.0001, 12139.9999, 12150.0001, 12149.9999, 12160.0001, 12159.9999, 12170.0001, 12169.9999, 12180.0001, 12179.9999, 12190.0001, 12189.9999, 12200.0001, 12199.9999, 12210.0001, 12209.9999, 12220.0001, 12219.9999, 12230.0001, 12229.9999, 12240.0001, 12239.9999, 12250.0001, 12249.9999, 12260.0001, 12259.9999, 12270.0001, 12269.9999, 12280.0001, 12279.9999, 12290.0001, 12289.9999, 12300.0001, 12299.9999, 12310.0001, 12309.9999, 12320.0001, 12319.9999, 12330.0001, 12329.9999, 12340.0001, 12339.9999, 12350.0001, 12349.9999, 12360.0001, 12359.9999, 12370.0001, 12369.9999, 12380.0001, 12379.9999, 12390.0001, 12389.9999, 12400.0001, 12399.9999, 12410.0001, 12409.9999, 12420.0001, 12419.9999, 12430.0001, 12429.9999, 12440.0001, 12439.9999, 12450.0001, 12449.9999, 12460.0001, 12459.9999, 12470.0001, 12469.9999, 12480.0001, 12479.9999, 12490.0001, 12489.9999, 12500.0001, 12499.9999, 12510.0001, 12509.9999, 12520.0001, 12519.9999, 12530.0001, 12529.9999, 12540.0001, 12539.9999, 12550.0001, 12549.9999, 12560.0001, 12559.9999, 12570.0001, 12569.9999, 12580.0001, 12579.9999, 12590.0001, 12589.9999, 12600.0001, 12599.9999, 12610.0001, 12609.9999, 12620.0001, 12619.9999, 12630.0001, 12629.9999, 12640.0001, 12639.9999, 12650.0001, 12649.9999, 12660.0001, 12659.9999, 12670.0001, 12669.9999, 12680.0001, 12679.9999, 12690.0001, 12689.9999, 12700.0001, 12699.9999, 12710.0001, 12709.9999, 12720.0001, 12719.9999, 12730.0001, 12729.9999, 12740.0001, 12739.9999, 12750.0001, 12749.9999, 12760.0001, 12759.9999, 12770.0001, 12769.9999, 12780.0001, 12779.9999, 12790.0001, 12789.9999, 12800.0001, 12799.9999, 12810.0001, 12809.9999, 12820.0001, 12819.9999, 12830.0001, 12829.9999, 12840.0001, 12839.9999, 12850.0001, 12849.9999, 12860.0001, 12859.9999, 12870.0001, 12869.9999, 12880.0001, 12879.9999, 12890.0001, 12889.9999, 12900.0001, 12899.9999, 12910.0001, 12909.9999, 12920.0001, 12919.9999, 12930.0001, 12929.9999, 12940.0001, 12939.9999, 12950.0001, 12949.9999, 12960.0001, 12959.9999, 12970.0001, 12969.9999, 12980.0001, 12979.9999, 12990.0001, 12989.9999, 13000.0001, 12999.9999, 13010.0001, 13009.9999, 13020.0001, 13019.9999, 13030.0001, 13029.9999, 13040.0001, 13039.9999, 13050.0001, 13049.9999, 13060.0001, 13059.9999, 13070.0001, 13069.9999, 13080.0001, 13079.9999, 13090.0001, 13089.9999, 13100.0001, 13099.9999, 13110.0001, 13109.9999, 13120.0001, 13119.9999, 13130.0001, 13129.9999, 13140.0001, 13139.9999, 13150.0001, 13149.9999, 13160.0001, 13159.9999, 13170.0001, 13169.9999, 13180.0001, 13179.9999, 13190.0001, 13189.9999, 13200.0001, 13199.9999, 13210.0001, 13209.9999, 13220.0001, 13219.9999, 13230.0001, 13229.9999, 13240.0001, 13239.9999, 13250.0001, 13249.9999, 13260.0001, 13259.9999, 13270.0001, 13269.9999, 13280.0001, 13279.9999, 13290.0001, 13289.9999, 13300.0001, 13299.9999, 13310.0001, 13309.9999, 13320.0001, 13319.9999, 13330.0001, 13329.9999, 13340.0001, 13339.9999, 13350.0001, 13349.9999, 13360.0001, 13359.9999, 13370.0001, 13369.9999, 13380.0001, 13379.9999, 13390.0001, 13389.9999, 13400.0001, 13399.9999, 13410.0001, 13409.9999, 13420.0001, 13419.9999, 13430.0001, 13429.9999, 13440.0001, 13439.9999, 13450.0001, 13449.9999, 13460.0001, 13459.9999, 13470.0001, 13469.9999, 13480.0001, 13479.9999, 13490.0001, 13489.9999, 13500.0001, 13499.9999, 13510.0001, 13509.9999, 13520.0001, 13519.9999, 13530.0001, 13529.9999, 13540.0001, 13539.9999, 13550.0001, 13549.9999, 13560.0001, 13559.9999, 13570.0001, 13569.9999, 13580.0001, 13579.9999, 13590.0001, 13589.9999, 13600.0001, 13599.9999, 13610.0001, 13609.9999, 13620.0001, 13619.9999, 13630.0001, 13629.9999, 13640.0001, 13639.9999, 13650.0001, 13649.9999, 13660.0001, 13659.9999, 13670.0001, 13669.9999, 13680.0001, 13679.9999, 13690.0001, 13689.9999, 13700.0001, 13699.9999, 13710.0001, 13709.9999, 13720.0001, 13719.9999, 13730.0001, 13729.9999, 13740.0001, 13739.9999, 13750.0001, 13749.9999, 13760.0001, 13759.9999, 13770.0001, 13769.9999, 13780.0001, 13779.9999, 13790.0001, 13789.9999, 13800.0001, 13799.9999, 13810.0001, 13809.9999, 13820.0001, 13819.9999, 13830.0001, 13829.9999, 13840.0001, 13839.9999, 13850.0001, 13849.9999, 13860.0001, 13859.9999, 13870.0001, 13869.9999, 13880.0001, 13879.9999, 13890.0001, 13889.9999, 13900.0001, 13899.9999, 13910.0001, 13909.9999, 13920.0001, 13919.9999, 13930.0001, 13929.9999, 13940.0001, 13939.9999, 13950.0001, 13949.9999, 13960.0001, 13959.9999, 13970.0001, 13969.9999, 13980.0001, 13979.9999, 13990.0001, 13989.9999, 14000.0001, 13999.9999, 14010.0001, 14009.9999, 14020.0001, 14019.9999, 14030.0001, 14029.9999, 14040.0001, 14039.9999, 14050.0001, 14049.9999, 14060.0001, 14059.9999, 14070.0001, 14069.9999, 14080.0001, 14079.9999, 14090.0001, 14089.9999, 14100.0001, 14099.9999, 14110.0001, 14109.9999, 14120.0001, 14119.9999, 14130.0001, 14129.9999, 14140.0001, 14139.9999, 14150.0001, 14149.9999, 14160.0001, 14159.9999, 14170.0001, 14169.9999, 14180.0001, 14179.9999, 14190.0001, 14189.9999, 14200.0001, 14199.9999, 14210.0001, 14209.9999, 14220.0001, 14219.9999, 14230.0001, 14229.9999, 14240.0001, 14239.9999, 14250.0001, 14249.9999, 14260.0001, 14259.9999, 14270.0001, 14269.9999, 14280.0001, 14279.9999, 14290.0001, 14289.9999, 14300.0001, 14299.9999, 14310.0001, 14309.9999, 14320.0001, 14319.9999, 14330.0001, 14329.9999, 14340.0001, 14339.9999, 14350.0001, 14349.9999, 14360.0001, 14359.9999, 14370.0001, 14369.9999, 14380.0001, 14379.9999, 14390.0001, 14389.9999, 14400.0001, 14399.9999, 14410.0001, 14409.9999, 14420.0001, 14419.9999, 14430.0001, 14429.9999, 14440.0001, 14439.9999, 14450.0001, 14449.9999, 14460.0001, 14459.9999, 14470.0001, 14469.9999, 14480.0001, 14479.9999, 14490.0001, 14489.9999, 14500.0001, 14499.9999, 14510.0001, 14509.9999, 14520.0001, 14519.9999, 14530.0001, 14529.9999, 14540.0001, 14539.9999, 14550.0001, 14549.9999, 14560.0001, 14559.9999, 14570.0001, 14569.9999, 14580.0001, 14579.9999, 14590.0001, 14589.9999, 14600.0001, 14599.9999, 14610.0001, 14609.9999, 14620.0001, 14619.9999, 14630.0001, 14629.9999, 14640.0001, 14639.9999, 14650.0001, 14649.9999, 14660.0001, 14659.9999, 14670.0001, 14669.9999, 14680.0001, 14679.9999, 14690.0001, 14689.9999, 14700.0001, 14699.9999, 14710.0001, 14709.9999, 14720.0001, 14719.9999, 14730.0001, 14729.9999, 14740.0001, 14739.9999, 14750.0001, 14749.9999, 14760.0001, 14759.9999, 14770.0001, 14769.9999, 14780.0001, 14779.9999, 14790.0001, 14789.9999, 14800.0001, 14799.9999, 14810.0001, 14809.9999, 14820.0001, 14819.9999, 14830.0001, 14829.9999, 14840.0001, 14839.9999, 14850.0001, 14849.9999, 14860.0001, 14859.9999, 14870.0001, 14869.9999, 14880.0001, 14879.9999, 14890.0001, 14889.9999, 14900.0001, 14899.9999, 14910.0001, 14909.9999, 14920.0001, 14919.9999, 14930.0001, 14929.9999, 14940.0001, 14939.9999, 14950.0001, 14949.9999, 14960.0001, 14959.9999, 14970.0001, 14969.9999, 14980.0001, 14979.9999, 14990.0001, 14989.9999, 15000.0001, 14999.9999, 15010.0001, 15009.9999, 15020.0001, 15019.9999, 15030.0001, 15029.9999, 15040.0001, 15039.9999, 15050.0001, 15049.9999, 15060.0001, 15059.9999, 15070.0001, 15069.9999, 15080.0001, 15079.9999, 15090.0001, 15089.9999, 15100.0001, 15099.9999, 15110.0001, 15109.9999, 15120.0001, 15119.9999, 15130.0001, 15129.9999, 15140.0001, 15139.9999, 15150.0001, 15149.9999, 15160.0001, 15159.9999, 15170.0001, 15169.9999, 15180.0001, 15179.9999, 15190.0001, 15189.9999, 15200.0001, 15199.9999, 15210.0001, 15209.9999, 15220.0001, 15219.9999, 15230.0001, 15229.9999, 15240.0001, 15239.9999, 15250.0001, 15249.9999, 15260.0001, 15259.9999, 15270.0001, 15269.9999, 15280.0001, 15279.9999, 15290.0001, 15289.9999, 15300.0001, 15299.9999, 15310.0001, 15309.9999, 15320.0001, 15319.9999, 15330.0001, 15329.9999, 15340.0001, 15339.9999, 15350.0001, 15349.9999, 15360.0001, 15359.9999, 15370.0001, 15369.9999, 15380.0001, 15379.9999, 15390.0001, 15389.9999, 15400.0001, 15399.9999, 15410.0001, 15409.9999, 15420.0001, 15419.9999, 15430.0001, 15429.9999, 15440.0001, 15439.9999, 15450.0001, 15449.9999, 15460.0001, 15459.9999, 15470.0001, 15469.9999, 15480.0001, 15479.9999, 15490.0001, 15489.9999, 15500.0001, 15499.9999, 15510.0001, 15509.9999, 15520.0001, 15519.9999, 15530.0001, 15529.9999, 15540.0001, 15539.9999, 15550.0001, 15549.9999, 15560.0001, 15559.9999, 15570.0001, 15569.9999, 15580.0001, 15579.9999, 15590.0001, 15589.9999, 15600.0001, 15599.9999, 15610.0001, 15609.9999, 15620.0001, 15619.9999, 15630.0001, 15629.9999, 15640.0001, 15639.9999, 15650.0001, 15649.9999, 15660.0001, 15659.9999, 15670.0001, 15669.9999, 15680.0001, 15679.9999, 15690.0001, 15689.9999, 15700.0001, 15699.9999, 15710.0001, 15709.9999, 15720.0001, 15719.9999, 15730.0001, 15729.9999, 15740.0001, 15739.9999, 15750.0001, 15749.9999, 15760.0001, 15759.9999, 15770.0001, 15769.9999, 15780.0001, 15779.9999, 15790.0001, 15789.9999, 15800.0001, 15799.9999, 15810.0001, 15809.9999, 15820.0001, 15819.9999, 15830.0001, 15829.9999, 15840.0001, 15839.9999, 15850.0001, 15849.9999, 15860.0001, 15859.9999, 15870.0001, 15869.9999, 15880.0001, 15879.9999, 15890.0001, 15889.9999, 15900.0001, 15899.9999, 15910.0001, 15909.9999, 15920.0001, 15919.9999, 15930.0001, 15929.9999, 15940.0001, 15939.9999, 15950.0001, 15949.9999, 15960.0001, 15959.9999, 15970.0001, 15969.9999, 15980.0001, 15979.9999, 15990.0001, 15989.9999, 16000.0001, 15999.9999, 16010.0001, 16009.9999, 16020.0001, 16019.9999, 16030.0001, 16029.9999, 16040.0001, 16039.9999, 16050.0001, 16049.9999, 16060.0001, 16059.9999, 16070.0001, 16069.9999, 16080.0001, 16079.9999, 16090.0001, 16089.9999, 16100.0001, 16099.9999, 16110.0001, 16109.9999, 16120.0001, 16119.9999, 16130.0001, 16129.9999, 16140.0001, 16139.9999, 16150.0001, 16149.9999, 16160.0001, 16159.9999, 16170.0001, 16169.9999, 16180.0001, 16179.9999, 16190.0001, 16189.9999, 16200.0001, 16199.9999, 16210.0001, 16209.9999, 16220.0001, 16219.9999, 16230.0001, 16229.9999, 16240.0001, 16239.9999, 16250.0001, 16249.9999, 16260.0001, 16259.9999, 16270.0001, 16269.9999, 16280.0001, 16279.9999, 16290.0001, 16289.9999, 16300.0001, 16299.9999, 16310.0001, 16309.9999, 16320.0001, 16319.9999, 16330.0001, 16329.9999, 16340.0001, 16339.9999, 16350.0001, 16349.9999, 16360.0001, 16359.9999, 16370.0001, 16369.9999, 16380.0001, 16379.9999, 16390.0001, 16389.9999, 16400.0001, 16399.9999, 16410.0001, 16409.9999, 16420.0001, 16419.9999, 16430.0001, 16429.9999, 16440.0001, 16439.9999, 16450.0001, 16449.9999, 16460.0001, 16459.9999, 16470.0001, 16469.9999, 16480.0001, 16479.9999, 16490.0001, 16489.9999, 16500.0001, 16499.9999, 16510.0001, 16509.9999, 16520.0001, 16519.9999, 16530.0001, 16529.9999, 16540.0001, 16539.9999, 16550.0001, 16549.9999, 16560.0001, 16559.9999, 16570.0001, 16569.9999, 16580.0001, 16579.9999, 16590.0001, 16589.9999, 16600.0001, 16599.9999, 16610.0001, 16609.9999, 16620.0001, 16619.9999, 16630.0001, 16629.9999, 16640.0001, 16639.9999, 16650.0001, 16649.9999, 16660.0001, 16659.9999, 16670.0001, 16669.9999, 16680.0001, 16679.9999, 16690.0001, 16689.9999, 16700.0001, 16699.9999, 16710.0001, 16709.9999, 16720.0001, 16719.9999, 16730.0001, 16729.9999, 16740.0001, 16739.9999, 16750.0001, 16749.9999, 16760.0001, 16759.9999, 16770.0001, 16769.9999, 16780.0001, 16779.9999, 16790.0001, 16789.9999, 16800.0001, 16799.9999, 16810.0001, 16809.9999, 16820.0001, 16819.9999, 16830.0001, 16829.9999, 16840.0001, 16839.9999, 16850.0001, 16849.9999, 16860.0001, 16859.9999, 16870.0001, 16869.9999, 16880.0001, 16879.9999, 16890.0001, 16889.9999, 16900.0001, 16899.9999, 16910.0001, 16909.9999, 16920.0001, 16919.9999, 16930.0001, 16929.9999, 16940.0001, 16939.9999, 16950.0001, 16949.9999, 16960.0001, 16959.9999, 16970.0001, 16969.9999, 16980.0001, 16979.9999, 16990.0001, 16989.9999, 17000.0001, 16999.9999, 17010.0001, 17009.9999, 17020.0001, 17019.9999, 17030.0001, 17029.9999, 17040.0001, 17039.9999, 17050.0001, 17049.9999, 17060.0001, 17059.9999, 17070.0001, 17069.9999, 17080.0001, 17079.9999, 17090.0001, 17089.9999, 17100.0001, 17099.9999, 17110.0001, 17109.9999, 17120.0001, 17119.9999, 17130.0001, 17129.9999, 17140.0001, 17139.9999, 17150.0001, 17149.9999, 17160.0001, 17159.9999, 17170.0001, 17169.9999, 17180.0001, 17179.9999, 17190.0001, 17189.9999, 17200.0001, 17199.9999, 17210.0001, 17209.9999, 17220.0001, 17219.9999, 17230.0001, 17229.9999, 17240.0001, 17239.9999, 17250.0001, 17249.9999, 17260.0001, 17259.9999, 17270.0001, 17269.9999, 17280.0001, 17279.9999, 17290.0001, 17289.9999, 17300.0001, 17299.9999, 17310.0001, 17309.9999, 17320.0001, 17319.9999, 17330.0001, 17329.9999, 17340.0001, 17339.9999, 17350.0001, 17349.9999, 17360.0001, 17359.9999, 17370.0001, 17369.9999, 17380.0001, 17379.9999, 17390.0001, 17389.9999, 17400.0001, 17399.9999, 17410.0001, 17409.9999, 17420.0001, 17419.9999, 17430.0001, 17429.9999, 17440.0001, 17439.9999, 17450.0001, 17449.9999, 17460.0001, 17459.9999, 17470.0001, 17469.9999, 17480.0001, 17479.9999, 17490.0001, 17489.9999, 17500.0001, 17499.9999, 17510.0001, 17509.9999, 17520.0001, 17519.9999, 17530.0001, 17529.9999, 17540.0001, 17539.9999, 17550.0001) '); $results[] = $client->Query ( '' ); $err = $client->GetLastError(); $err_len = strpos ( $err, 'thread_' ); if ( $err_len>0 ) $results[] = substr ( $err, 0, $err_len-1 ) . '...'; else $results[] = $err; for ( $i=0; $i<=2; $i++ ) if ( is_array($results) && is_array($results[$i]) ) unset ( $results[$i]["time"] ); ]]> sphinx-2.2.11-release/test/test_031/model.bin0000644000175000017500000000622012743402012020172 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:5:{i:0;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"lat";i:5;s:4:"long";i:5;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:2:{s:3:"lat";d:0.5;s:4:"long";d:0.5;}}i:2;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:2:{s:3:"lat";d:0.5099999904632568359375;s:4:"long";d:0.5;}}i:3;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:2:{s:3:"lat";d:0.519999980926513671875;s:4:"long";d:0.5;}}i:4;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:2:{s:3:"lat";d:0.5;s:4:"long";d:0.5099999904632568359375;}}i:5;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:2:{s:3:"lat";d:0.5;s:4:"long";d:0.519999980926513671875;}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}}i:1;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:3:"lat";i:5;s:4:"long";i:5;s:8:"geotwice";i:5;s:8:"@geodist";i:5;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:4:{s:3:"lat";d:0.5;s:4:"long";d:0.5;s:8:"geotwice";d:0;s:8:"@geodist";d:0;}}i:4;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:4:{s:3:"lat";d:0.5;s:4:"long";d:0.5099999904632568359375;s:8:"geotwice";d:112049.5234375;s:8:"@geodist";d:56024.76171875;}}i:2;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:4:{s:3:"lat";d:0.5099999904632568359375;s:4:"long";d:0.5;s:8:"geotwice";d:127679.875;s:8:"@geodist";d:63839.9375;}}i:5;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:4:{s:3:"lat";d:0.5;s:4:"long";d:0.519999980926513671875;s:8:"geotwice";d:224098.40625;s:8:"@geodist";d:112049.203125;}}i:3;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:4:{s:3:"lat";d:0.519999980926513671875;s:4:"long";d:0.5;s:8:"geotwice";d:255359.75;s:8:"@geodist";d:127679.875;}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}}i:2;a:9:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"lat";i:5;s:4:"long";i:5;s:8:"geotwice";i:5;s:8:"@geodist";i:5;s:5:"@expr";i:5;}s:7:"matches";a:5:{i:5;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:5:{s:3:"lat";d:0.5;s:4:"long";d:0.519999980926513671875;s:8:"geotwice";d:224098.40625;s:8:"@geodist";d:112049.203125;s:5:"@expr";d:5;}}i:4;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:5:{s:3:"lat";d:0.5;s:4:"long";d:0.5099999904632568359375;s:8:"geotwice";d:112049.5234375;s:8:"@geodist";d:56024.76171875;s:5:"@expr";d:4;}}i:3;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:5:{s:3:"lat";d:0.519999980926513671875;s:4:"long";d:0.5;s:8:"geotwice";d:255359.75;s:8:"@geodist";d:127679.875;s:5:"@expr";d:3;}}i:2;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:5:{s:3:"lat";d:0.5099999904632568359375;s:4:"long";d:0.5;s:8:"geotwice";d:127679.875;s:8:"@geodist";d:63839.9375;s:5:"@expr";d:2;}}i:1;a:2:{s:6:"weight";s:4:"1295";s:5:"attrs";a:5:{s:3:"lat";d:0.5;s:4:"long";d:0.5;s:8:"geotwice";d:0;s:8:"@geodist";d:0;s:5:"@expr";d:1;}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:5:"words";a:1:{s:3:"one";a:2:{s:4:"docs";s:1:"5";s:4:"hits";s:1:"5";}}}i:3;b:0;i:4;s:68:"index test_idx: parse error: query too complex, not enough stack ...";}}}sphinx-2.2.11-release/test/test_030/0000755000175000017500000000000012743402012016377 5ustar alexeyalexeysphinx-2.2.11-release/test/test_030/test.xml0000644000175000017500000000177612743402012020113 0ustar alexeyalexey ext2 ranking indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query = SELECT document_id, body FROM test_table } index test { source = srctest path = /test stopwords = stopwords.txt min_word_len = 3 } one two three senior pastor of riverside church CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'one two three' ), ( 2, 'one two three four' ), ( 3, 'one then two then three then four' ), ( 4, 'senior pastor of Riverside church' ), ( 5, 'senior pastor and the Riverside church' ) sphinx-2.2.11-release/test/test_030/model.bin0000644000175000017500000000227512743402012020177 0ustar alexeyalexeya:1:{i:0;a:2:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"3500";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"3500";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.033";s:5:"words";a:3:{s:3:"one";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:3:"two";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:5:"three";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:5:"query";s:13:"one two three";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:4;a:2:{s:6:"weight";s:4:"4587";s:5:"attrs";a:0:{}}i:5;a:2:{s:6:"weight";s:4:"2587";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.004";s:5:"words";a:4:{s:6:"senior";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:6:"pastor";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:9:"riverside";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:6:"church";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:5:"query";s:33:"senior pastor of riverside church";}}}sphinx-2.2.11-release/test/test_029/0000755000175000017500000000000012743402012016407 5ustar alexeyalexeysphinx-2.2.11-release/test/test_029/test.xml0000644000175000017500000000433712743402012020117 0ustar alexeyalexey multi-index queries indexer { mem_limit = 16M } searchd { } source srctest1 { type = mysql sql_query = SELECT document_id, attr1, attr2, body FROM test_table sql_attr_uint = attr1 sql_attr_uint = attr2 } source srctest2 { type = mysql sql_query = SELECT document_id, attr1, attr2, body FROM test_table sql_attr_uint = attr1:5 sql_attr_uint = attr2:5 } source srctest3 { type = mysql sql_query = SELECT document_id, attr2, attr3, body FROM test_table sql_attr_uint = attr2 sql_attr_uint = attr3 } source srctest4 { type = mysql sql_query = SELECT document_id, attr1, attr2, body FROM test_table sql_attr_uint = attr1 sql_attr_uint = attr2 } index test1 { source = srctest1 path = /test1 min_prefix_len = 1 } index test2 { source = srctest2 path = /test2 min_prefix_len = 1 } index test3 { source = srctest3 path = /test3 min_prefix_len = 1 } index test4 { source = srctest4 path = /test4 min_prefix_len = 1 } word word word word word word word word word CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `attr1` int(11) NOT NULL default '0', `attr2` int(11) NOT NULL default '0', `attr3` int(11) NOT NULL default '0', `attr4` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 1, 5, 9, 13, 'wordforms' ), ( 2, 2, 6, 10, 14, 'wordies' ), ( 3, 3, 7, 11, 15, 'words' ), ( 4, 4, 8, 12, 16, 'word' ) sphinx-2.2.11-release/test/test_029/model.bin0000644000175000017500000000757412743402012020216 0ustar alexeyalexeya:1:{i:0;a:9:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:5:"attr1";i:1;s:5:"attr2";i:1;}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:2:{s:5:"attr1";i:4;s:5:"attr2";i:8;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"word";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"word";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:5:"attr2";i:1;}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:1:{s:5:"attr2";i:8;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"word";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"word";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:5:"attr2";i:1;}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:1:{s:5:"attr2";i:8;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"word";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"word";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:5:"attr2";i:1;}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:1:{s:5:"attr2";i:8;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"word";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"word";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:5:"attr2";i:1;}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:1:{s:5:"attr2";i:8;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"word";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"word";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:5:"attr2";i:1;}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:1:{s:5:"attr2";i:8;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"word";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"word";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:5:"attr2";i:1;}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:1:{s:5:"attr2";i:8;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"word";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"word";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:5:"attr1";i:1;s:5:"attr2";i:1;}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:2:{s:5:"attr1";i:4;s:5:"attr2";i:8;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"word";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"word";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:5:"attr1";i:1;s:5:"attr2";i:1;}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:2:{s:5:"attr1";i:4;s:5:"attr2";i:8;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"word";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"word";}}}sphinx-2.2.11-release/test/test_028/0000755000175000017500000000000012743402012016406 5ustar alexeyalexeysphinx-2.2.11-release/test/test_028/test.inc0000644000175000017500000000247612743402012020071 0ustar alexeyalexeyprintf ( "testing $test_path, spelldump... " ); $windows = isset($_SERVER["WINDIR"]) || isset($_SERVER["windir"]) || isset($_SERVER["HOMEDRIVE"]); if ( $windows ) $spelldump_path = "..\\bin\\debug\\spelldump"; else $spelldump_path = "../src/spelldump"; global $g_model; if ( $g_model ) { exec ( "$spelldump_path $test_path/model.dict $test_path/model.aff $test_path/model.spell", $error, $retval ); if ( !file_exists ( "$test_path/model.spell" ) ) return false; printf ( "done; 1/1 subtests OK\n" ); return true; } exec ( "$spelldump_path $test_path/model.dict $test_path/model.aff $test_path/current.spell", $error, $retval ); if ( !file_exists ( "$test_path/current.spell" ) ) return false; $model = file_get_contents ( "$test_path/model.spell" ); $result = file_get_contents ( "$test_path/current.spell" ); $model = str_replace ( $model, "\r\n", "\n" ); $result = str_replace ( $result, "\r\n", "\n" ); if ( $model != $result ) { if ( $windows ) system ( "diff -u3 $test_path/model.spell $test_path/current.spell > $test_path/report.txt" ); else system ( "diff $test_path/model.spell $test_path/current.spell > $test_path/report.txt" ); printf ( "FAILED\n" ); return false; } unlink ( "$test_path/current.spell" ); printf ( "done; 1/1 subtests OK\n" ); return true; sphinx-2.2.11-release/test/test_028/model.spell0000644000175000017500000000527412743402012020557 0ustar alexeyalexeyANSI > ANSI anorexia > anorexia bat > bat bat's > bat bated > bat bater > bat bating > bat bats > bat build > build builded > build builder > build builders > build building > build buildings > build builds > build cloudier > cloudy cloudiest > cloudy cloudily > cloudy cloudiness > cloudy cloudy > cloudy convey > convey conveyed > convey conveyer > convey conveyers > convey conveying > convey conveys > convey cough > cough coughed > cough cougher > cough coughing > cough coughs > cough create > create created > create creates > create creating > create creation > create creations > create creative > create cross > cross crossed > cross crosser > cross crossers > cross crosses > cross crossing > cross crossings > cross crossly > cross dirtied > dirty dirtier > dirty dirties > dirty dirtiest > dirty dirtily > dirty dirtiness > dirty dirty > dirty dirtying > dirty disposed > disposed dog > dog dog's > dog dogs > dog enter > enter entered > enter enterer > enter entering > enter enters > enter fall > fall fall's > fall fallen > fall faller > fall falling > fall falls > fall file > file file's > file filed > file filer > file filers > file files > file filing > file filings > file fix > fix fixed > fix fixer > fix fixers > fix fixes > fix fixing > fix fixings > fix graily > gray gray > gray grayed > gray grayer > gray grayest > gray graying > gray grayness > gray grays > gray hundred > hundred hundreds > hundred hundredth > hundred implication > imply implications > imply implied > imply implies > imply imply > imply implying > imply indisposed > disposed lash > lash lashed > lash lasher > lash lashes > lash lashing > lash lashings > lash late > late lated > late lately > late lateness > late later > late latest > late messier > messy messiest > messy messily > messy messiness > messy messy > messy multiplication > multiply multiplications > multiply multiplied > multiply multiplier > multiply multipliers > multiply multiplies > multiply multiply > multiply multiplying > multiply natural > natural naturally > natural naturalness > natural naturals > natural prevent > prevent prevented > prevent preventer > prevent preventing > prevent preventive > prevent prevents > prevent quick > quick quicken > quick quickens > quick quicker > quick quickest > quick quickly > quick quickness > quick recreate > create recreated > create recreates > create recreating > create recreation > create recreations > create skate > skate skated > skate skater > skate skaters > skate skates > skate skating > skate small > small smaller > small smallest > small smallness > small twenties > twenty twentieth > twenty twenty > twenty weak > weak weaken > weak weakens > weak weaker > weak weakest > weak weakly > weak weakness > weak sphinx-2.2.11-release/test/test_028/model.dict0000644000175000017500000000057112743402012020356 0ustar alexeyalexeyANSI enter/DGRS disposed/I natural/PSY create/ADGNSVX prevent/DGRSV multiply/DGNRSXZ fall/GMNRS weak/NPRTXY twenty/HS hundred/HS messy/PRTY quick/NPRTXY file/DGJMRSZ cross/DGJRSYZ imply/DGNSX convey/DGRSZ late/DPRTY dirty/DGPRSTY gray/DGPRSTY small/PRT skate/DGRSZ build/DGJRSZ lash/DGJRS cough/DGRS fix/DGJRSZ bat/DGMRS cloudy/PRTY dog/MS anorexiasphinx-2.2.11-release/test/test_028/model.aff0000644000175000017500000000457312743402012020175 0ustar alexeyalexeywordchars a A wordchars [bc] [BC] wordchars [de] [DE] wordchars [f-i] [F-I] wordchars [j-n] [J-N] wordchars o O wordchars [p-s] [P-S] wordchars [tu] [TU] wordchars [v-y] [V-Y] wordchars z Z prefixes flag *A: . > RE # As in enter > reenter flag *I: . > IN # As in disposed > indisposed flag *U: . > UN # As in natural > unnatural suffixes flag V: E > -E,IVE # As in create > creative [^E] > IVE # As in prevent > preventive flag *N: E > -E,ION # As in create > creation Y > -Y,ICATION # As in multiply > multiplication [^EY] > EN # As in fall > fallen flag *X: E > -E,IONS # As in create > creations Y > -Y,ICATIONS # As in multiply > multiplications [^EY] > ENS # As in weak > weakens flag H: Y > -Y,IETH # As in twenty > twentieth [^Y] > TH # As in hundred > hundredth flag *Y: Y > -Y,ILY # As in messy > messily [^Y] > LY # As in quick > quickly flag *G: E > -E,ING # As in file > filing [^E] > ING # As in cross > crossing flag *J: E > -E,INGS # As in file > filings [^E] > INGS # As in cross > crossings flag *D: E > D # As in create > created [^AEIOU]Y > -Y,IED # As in imply > implied [^EY] > ED # As in cross > crossed [AEIOU]Y > ED # As in convey > conveyed flag T: E > ST # As in late > latest [^AEIOU]Y > -Y,IEST # As in dirty > dirtiest [AEIOU]Y > EST # As in gray > grayest [^EY] > EST # As in small > smallest flag *R: E > R # As in skate > skater [^AEIOU]Y > -Y,IER # As in multiply > multiplier [AEIOU]Y > ER # As in convey > conveyer [^EY] > ER # As in build > builder flag *Z: E > RS # As in skate > skaters [^AEIOU]Y > -Y,IERS # As in multiply > multipliers [AEIOU]Y > ERS # As in convey > conveyers [^EY] > ERS # As in build > builders flag *S: [^AEIOU]Y > -Y,IES # As in imply > implies [AEIOU]Y > S # As in convey > conveys [CST]H > ES # As in lash > lashes (some TH's...) [^CST]H > S # As in cough > coughs [SXZ] > ES # As in fix > fixes [^SXZHY] > S # As in bat > bats flag *P: [^AEIOU]Y > -Y,INESS # As in cloudy > cloudiness [AEIOU]Y > NESS # As in gray > grayness [^Y] > NESS # As in late > lateness flag *M: . > 'S # As in dog > dog'ssphinx-2.2.11-release/test/test_027/0000755000175000017500000000000012743402012016405 5ustar alexeyalexeysphinx-2.2.11-release/test/test_027/test.xml0000644000175000017500000000440412743402012020110 0ustar alexeyalexey merge vs docinfo, range, mva indexer { mem_limit = 16M } searchd { } source srcmain { type = mysql sql_query = SELECT * FROM test_table WHERE document_id in (1,2,3) sql_attr_uint = tag sql_attr_multi = uint mva from field sql_attr_multi = bigint mva from field } source srcdelta { type = mysql sql_query = SELECT * FROM test_table WHERE document_id in (4,5,6) sql_attr_uint = tag sql_attr_multi = uint mva from field sql_attr_multi = bigint mva from field } index main { source = srcmain path = /main docinfo = inline docinfo = extern } index delta { source = srcdelta path = /delta docinfo = inline docinfo = extern } --merge main delta --merge-dst-range tag 1 2 main1 main2 main3 delta1 delta2 delta3 gamma0 CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `tag` int(11) NOT NULL default '0', `mva` varchar(255) NOT NULL default '', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 1, '1 11 111', 'main1' ), ( 2, 2, '2 22 222', 'main2' ), ( 3, 3, '3 33 333', 'main3' ), ( 4, 11,'1 10 100', 'delta1' ), ( 5, 22,'2 20 200', 'delta2' ), ( 6, 33,'3 30 300', 'delta3' ) sphinx-2.2.11-release/test/test_027/model.bin0000644000175000017500000002200512743402012020176 0ustar alexeyalexeya:36:{i:0;a:1:{i:0;s:6:"failed";}i:1;a:1:{i:0;s:6:"failed";}i:2;a:1:{i:0;s:6:"failed";}i:3;a:1:{i:0;s:6:"failed";}i:4;a:1:{i:0;s:6:"failed";}i:5;a:1:{i:0;s:6:"failed";}i:6;a:1:{i:0;s:6:"failed";}i:7;a:1:{i:0;s:6:"failed";}i:8;a:1:{i:0;s:6:"failed";}i:9;a:1:{i:0;s:6:"failed";}i:10;a:1:{i:0;s:6:"failed";}i:11;a:1:{i:0;s:6:"failed";}i:12;a:1:{i:0;s:6:"failed";}i:13;a:1:{i:0;s:6:"failed";}i:14;a:1:{i:0;s:6:"failed";}i:15;a:1:{i:0;s:6:"failed";}i:16;a:1:{i:0;s:6:"failed";}i:17;a:1:{i:0;s:6:"failed";}i:18;a:1:{i:0;s:6:"failed";}i:19;a:1:{i:0;s:6:"failed";}i:20;a:1:{i:0;s:6:"failed";}i:21;a:1:{i:0;s:6:"failed";}i:22;a:1:{i:0;s:6:"failed";}i:23;a:1:{i:0;s:6:"failed";}i:24;a:1:{i:0;s:6:"failed";}i:25;a:1:{i:0;s:6:"failed";}i:26;a:1:{i:0;s:6:"failed";}i:27;a:9:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"tag";i:1;s:3:"mva";i:1073741825;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1704";s:5:"attrs";a:2:{s:3:"tag";i:1;s:3:"mva";a:3:{i:0;i:1;i:1;i:11;i:2;i:111;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"main1";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"main1";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"tag";i:1;s:3:"mva";i:1073741825;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1704";s:5:"attrs";a:2:{s:3:"tag";i:2;s:3:"mva";a:3:{i:0;i:2;i:1;i:22;i:2;i:222;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"main2";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"main2";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"tag";i:1;s:3:"mva";i:1073741825;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"main3";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"main3";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"tag";i:1;s:3:"mva";i:1073741825;}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1704";s:5:"attrs";a:2:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:1;i:1;i:10;i:2;i:100;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"delta1";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"delta1";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"tag";i:1;s:3:"mva";i:1073741825;}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1704";s:5:"attrs";a:2:{s:3:"tag";i:22;s:3:"mva";a:3:{i:0;i:2;i:1;i:20;i:2;i:200;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"delta2";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"delta2";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"tag";i:1;s:3:"mva";i:1073741825;}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1704";s:5:"attrs";a:2:{s:3:"tag";i:33;s:3:"mva";a:3:{i:0;i:3;i:1;i:30;i:2;i:300;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"delta3";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"delta3";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"tag";i:1;s:3:"mva";i:1073741825;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"gamma0";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"gamma0";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"tag";i:1;s:3:"mva";i:1073741825;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"tag";i:1;s:3:"mva";a:3:{i:0;i:1;i:1;i:11;i:2;i:111;}}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:1;i:1;i:10;i:2;i:100;}}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"tag";i:1;s:3:"mva";i:1073741825;}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:1;i:1;i:10;i:2;i:100;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}}i:28;a:1:{i:0;s:6:"failed";}i:29;a:1:{i:0;s:6:"failed";}i:30;a:1:{i:0;s:6:"failed";}i:31;a:1:{i:0;s:6:"failed";}i:32;a:1:{i:0;s:6:"failed";}i:33;a:1:{i:0;s:6:"failed";}i:34;a:1:{i:0;s:6:"failed";}i:35;a:9:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"tag";i:1;s:3:"mva";i:1073741826;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1704";s:5:"attrs";a:2:{s:3:"tag";i:1;s:3:"mva";a:3:{i:0;i:1;i:1;i:11;i:2;i:111;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"main1";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"main1";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"tag";i:1;s:3:"mva";i:1073741826;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1704";s:5:"attrs";a:2:{s:3:"tag";i:2;s:3:"mva";a:3:{i:0;i:2;i:1;i:22;i:2;i:222;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"main2";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"main2";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"tag";i:1;s:3:"mva";i:1073741826;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"main3";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"main3";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"tag";i:1;s:3:"mva";i:1073741826;}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1704";s:5:"attrs";a:2:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:1;i:1;i:10;i:2;i:100;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"delta1";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"delta1";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"tag";i:1;s:3:"mva";i:1073741826;}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1704";s:5:"attrs";a:2:{s:3:"tag";i:22;s:3:"mva";a:3:{i:0;i:2;i:1;i:20;i:2;i:200;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"delta2";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"delta2";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"tag";i:1;s:3:"mva";i:1073741826;}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1704";s:5:"attrs";a:2:{s:3:"tag";i:33;s:3:"mva";a:3:{i:0;i:3;i:1;i:30;i:2;i:300;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"delta3";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"delta3";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"tag";i:1;s:3:"mva";i:1073741826;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"gamma0";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"gamma0";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"tag";i:1;s:3:"mva";i:1073741826;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"tag";i:1;s:3:"mva";a:3:{i:0;i:1;i:1;i:11;i:2;i:111;}}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:1;i:1;i:10;i:2;i:100;}}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:3:"tag";i:1;s:3:"mva";i:1073741826;}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:1;i:1;i:10;i:2;i:100;}}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}}}sphinx-2.2.11-release/test/test_026/0000755000175000017500000000000012743402012016404 5ustar alexeyalexeysphinx-2.2.11-release/test/test_026/test.xml0000644000175000017500000000371112743402012020107 0ustar alexeyalexey merge vs basic main/delta indexer { mem_limit = 16M } searchd { } source srcmain { type = mysql sql_query = SELECT document_id, body, body sbody FROM test_table WHERE document_id in (1,2,11,12,13) sql_attr_string = sbody } source srcdelta { type = mysql sql_query = SELECT document_id, body, body sbody FROM test_table WHERE document_id in (3,4,14,15,16) sql_attr_string = sbody } index main { source = srcmain path = /main } index delta { source = srcdelta path = /delta } index main_kw { source = srcmain path = /main_kw dict = keywords min_infix_len = 3 } index delta_kw { source = srcdelta path = /delta_kw dict = keywords min_infix_len = 3 } --merge main delta --merge main_kw delta_kw main1 main2 delta1 delta2 gamma0 aaa xxx yyy zzz *lta* CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'main1' ), ( 2, 'main2' ), ( 3, 'delta1' ), ( 4, 'delta2' ), ( 11, 'xxx yyy zzz aaa' ), ( 12, 'xxx aaa yyy' ), ( 13, 'zzz' ), ( 14, 'zzz' ), ( 15, 'xxx aaa yyy' ), ( 16, 'xxx aaa' ) sphinx-2.2.11-release/test/test_026/model.bin0000644000175000017500000001215712743402012020204 0ustar alexeyalexeya:1:{i:0;a:10:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:5:"sbody";i:7;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1718";s:5:"attrs";a:1:{s:5:"sbody";s:5:"main1";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"main1";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"main1";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:5:"sbody";i:7;}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1718";s:5:"attrs";a:1:{s:5:"sbody";s:5:"main2";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"main2";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"main2";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:5:"sbody";i:7;}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1718";s:5:"attrs";a:1:{s:5:"sbody";s:6:"delta1";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"delta1";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"delta1";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:5:"sbody";i:7;}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1718";s:5:"attrs";a:1:{s:5:"sbody";s:6:"delta2";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"delta2";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"delta2";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:5:"sbody";i:7;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"gamma0";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"gamma0";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:5:"sbody";i:7;}s:7:"matches";a:4:{i:11;a:2:{s:6:"weight";s:4:"1553";s:5:"attrs";a:1:{s:5:"sbody";s:15:"xxx yyy zzz aaa";}}i:12;a:2:{s:6:"weight";s:4:"1553";s:5:"attrs";a:1:{s:5:"sbody";s:11:"xxx aaa yyy";}}i:15;a:2:{s:6:"weight";s:4:"1553";s:5:"attrs";a:1:{s:5:"sbody";s:11:"xxx aaa yyy";}}i:16;a:2:{s:6:"weight";s:4:"1553";s:5:"attrs";a:1:{s:5:"sbody";s:7:"xxx aaa";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"aaa";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"aaa";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:5:"sbody";i:7;}s:7:"matches";a:4:{i:11;a:2:{s:6:"weight";s:4:"1553";s:5:"attrs";a:1:{s:5:"sbody";s:15:"xxx yyy zzz aaa";}}i:12;a:2:{s:6:"weight";s:4:"1553";s:5:"attrs";a:1:{s:5:"sbody";s:11:"xxx aaa yyy";}}i:15;a:2:{s:6:"weight";s:4:"1553";s:5:"attrs";a:1:{s:5:"sbody";s:11:"xxx aaa yyy";}}i:16;a:2:{s:6:"weight";s:4:"1553";s:5:"attrs";a:1:{s:5:"sbody";s:7:"xxx aaa";}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"xxx";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"xxx";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:5:"sbody";i:7;}s:7:"matches";a:3:{i:11;a:2:{s:6:"weight";s:4:"1592";s:5:"attrs";a:1:{s:5:"sbody";s:15:"xxx yyy zzz aaa";}}i:12;a:2:{s:6:"weight";s:4:"1592";s:5:"attrs";a:1:{s:5:"sbody";s:11:"xxx aaa yyy";}}i:15;a:2:{s:6:"weight";s:4:"1592";s:5:"attrs";a:1:{s:5:"sbody";s:11:"xxx aaa yyy";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"yyy";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"yyy";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:5:"sbody";i:7;}s:7:"matches";a:3:{i:11;a:2:{s:6:"weight";s:4:"1592";s:5:"attrs";a:1:{s:5:"sbody";s:15:"xxx yyy zzz aaa";}}i:13;a:2:{s:6:"weight";s:4:"1592";s:5:"attrs";a:1:{s:5:"sbody";s:3:"zzz";}}i:14;a:2:{s:6:"weight";s:4:"1592";s:5:"attrs";a:1:{s:5:"sbody";s:3:"zzz";}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"zzz";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"zzz";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:1:{s:5:"sbody";i:7;}s:7:"matches";a:2:{i:3;a:2:{s:6:"weight";s:4:"1642";s:5:"attrs";a:1:{s:5:"sbody";s:6:"delta1";}}i:4;a:2:{s:6:"weight";s:4:"1642";s:5:"attrs";a:1:{s:5:"sbody";s:6:"delta2";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*lta*";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*lta*";}}}sphinx-2.2.11-release/test/test_025/0000755000175000017500000000000012743402012016403 5ustar alexeyalexeysphinx-2.2.11-release/test/test_025/test.xml0000644000175000017500000000610412743402012020105 0ustar alexeyalexey min_word_len vs queries (part 3) indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query = SELECT * FROM test_table } index test { source = srctest path = /test exceptions = synonyms.txt min_word_len = 3 min_word_len = 4 min_word_len = 5 min_prefix_len = 3 min_prefix_len = 4 min_prefix_len = 5 } index quo { source = srctest path = /quo charset_type = utf-8 exceptions = /s25.txt } a bb ccc dddd eeeee ffffff ggggggg b* cc* ddd* eeee* fffff* gggggg* a bb ccc dddd eeeee ffffff ggggggg b* cc* ddd* eeee* fffff* gggggg* hello me world hello two world hello four world hello me* world hello two* world hello four* world 4 you "hello two world"/1 CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'a' ), ( 2, 'bb' ), ( 3, 'ccc' ), ( 4, 'dddd' ), ( 5, 'eeeee' ), ( 6, 'ffffff' ), ( 7, 'ggggggg' ), ( 8, 'hello world' ), ( 9, 'hello a world' ), ( 10, 'hello aa world' ), ( 11, 'hello aaa world' ), ( 12, 'hello aaaa world' ), ( 13, 'hello aaaaa world' ), ( 14, 'hello me world' ), ( 15, 'hello two world' ), ( 16, 'hello four world' ), ( 17, '4you' ) sphinx-2.2.11-release/test/test_025/s25.txt0000644000175000017500000000000612743402012017551 0ustar alexeyalexey1 => 1sphinx-2.2.11-release/test/test_025/model.bin0000644000175000017500000037475012743402012020215 0ustar alexeyalexeya:9:{i:0;a:34:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:15;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"four";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:29;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:30;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:15;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:4:"two*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:31;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"four*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}i:32;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:17;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"4you";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"4 you";}i:33;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:9:{i:15;a:2:{s:6:"weight";s:4:"3574";s:5:"attrs";a:0:{}}i:9;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"9";s:11:"total_found";s:1:"9";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:21:" "hello two world"/1 ";}}i:1;a:34:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"four";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:29;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:4:"two*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:31;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"four*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}i:32;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:17;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"4you";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"4 you";}i:33;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:9:{i:15;a:2:{s:6:"weight";s:4:"3574";s:5:"attrs";a:0:{}}i:9;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"9";s:11:"total_found";s:1:"9";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:21:" "hello two world"/1 ";}}i:2;a:34:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:29;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:4:"two*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:31;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"four*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}i:32;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"4you";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"4 you";}i:33;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:9:{i:15;a:2:{s:6:"weight";s:4:"3574";s:5:"attrs";a:0:{}}i:9;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"9";s:11:"total_found";s:1:"9";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:21:" "hello two world"/1 ";}}i:3;a:34:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:15;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"four";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:29;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'two*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"two*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:31;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"four*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}i:32;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:17;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"4you";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"4 you";}i:33;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:9:{i:15;a:2:{s:6:"weight";s:4:"3574";s:5:"attrs";a:0:{}}i:9;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"9";s:11:"total_found";s:1:"9";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:21:" "hello two world"/1 ";}}i:4;a:34:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.003";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"four";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:29;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'two*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"two*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:31;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.003";s:5:"words";a:3:{s:5:"four*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}i:32;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:17;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"4you";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"4 you";}i:33;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:9:{i:15;a:2:{s:6:"weight";s:4:"3574";s:5:"attrs";a:0:{}}i:9;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"9";s:11:"total_found";s:1:"9";s:4:"time";s:5:"0.003";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:21:" "hello two world"/1 ";}}i:5;a:34:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:29;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'two*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"two*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:31;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:5:"four*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}i:32;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"4you";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"4 you";}i:33;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:9:{i:15;a:2:{s:6:"weight";s:4:"3574";s:5:"attrs";a:0:{}}i:9;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"9";s:11:"total_found";s:1:"9";s:4:"time";s:5:"0.003";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:21:" "hello two world"/1 ";}}i:6;a:34:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'eeee*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'eeee*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:15;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"four";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:29;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'two*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"two*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:31;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'four*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"four*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}i:32;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:17;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"4you";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"4 you";}i:33;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:9:{i:15;a:2:{s:6:"weight";s:4:"3574";s:5:"attrs";a:0:{}}i:9;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"9";s:11:"total_found";s:1:"9";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:21:" "hello two world"/1 ";}}i:7;a:34:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'eeee*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'eeee*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"four";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:29;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'two*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"two*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:31;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'four*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"four*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}i:32;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:17;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"4you";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"4 you";}i:33;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:9:{i:15;a:2:{s:6:"weight";s:4:"3574";s:5:"attrs";a:0:{}}i:9;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"9";s:11:"total_found";s:1:"9";s:4:"time";s:5:"0.003";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:21:" "hello two world"/1 ";}}i:8;a:34:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'eeee*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'eeee*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:29;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'two*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"two*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:31;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'four*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"four*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}i:32;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"4you";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"4 you";}i:33;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:9:{i:15;a:2:{s:6:"weight";s:4:"3574";s:5:"attrs";a:0:{}}i:9;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:4:"2500";s:5:"attrs";a:0:{}}i:8;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"9";s:11:"total_found";s:1:"9";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:21:" "hello two world"/1 ";}}}sphinx-2.2.11-release/test/test_024/0000755000175000017500000000000012743402012016402 5ustar alexeyalexeysphinx-2.2.11-release/test/test_024/test.xml0000644000175000017500000000457612743402012020117 0ustar alexeyalexey min_word_len vs queries (part 2) indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query = SELECT * FROM test_table } index test { source = srctest path = /test min_word_len = 3 min_word_len = 4 min_word_len = 5 min_prefix_len = 3 min_prefix_len = 4 min_prefix_len = 5 } a bb ccc dddd eeeee ffffff ggggggg b* cc* ddd* eeee* fffff* gggggg* a bb ccc dddd eeeee ffffff ggggggg b* cc* ddd* eeee* fffff* gggggg* hello me world hello two world hello four world hello me* world hello two* world hello four* world CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'a' ), ( 2, 'bb' ), ( 3, 'ccc' ), ( 4, 'dddd' ), ( 5, 'eeeee' ), ( 6, 'ffffff' ), ( 7, 'ggggggg' ), ( 8, 'hello world' ), ( 9, 'hello a world' ), ( 10, 'hello aa world' ), ( 11, 'hello aaa world' ), ( 12, 'hello aaaa world' ), ( 13, 'hello aaaaa world' ), ( 14, 'hello me world' ), ( 15, 'hello two world' ), ( 16, 'hello four world' ) sphinx-2.2.11-release/test/test_024/model.bin0000644000175000017500000034556112743402012020212 0ustar alexeyalexeya:9:{i:0;a:32:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:15;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"four";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:29;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:30;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:15;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:4:"two*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:31;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"four*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}}i:1;a:32:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"four";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:29;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:4:"two*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:31;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"four*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}}i:2;a:32:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:29;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:4:"two*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:31;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"four*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}}i:3;a:32:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:15;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"four";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:29;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'two*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"two*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:31;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"four*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}}i:4;a:32:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"four";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:29;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'two*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"two*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:31;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"four*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}}i:5;a:32:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:29;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'two*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"two*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:31;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"four*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}}i:6;a:32:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'eeee*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'eeee*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:15;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"four";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:29;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'two*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"two*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:31;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'four*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"four*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}}i:7;a:32:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'eeee*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'eeee*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"four";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:29;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'two*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"two*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:31;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'four*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"four*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}}i:8;a:32:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'eeee*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'eeee*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:29;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'two*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"two*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:31;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'four*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"four*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}}}sphinx-2.2.11-release/test/test_023/0000755000175000017500000000000012743402012016401 5ustar alexeyalexeysphinx-2.2.11-release/test/test_023/test.xml0000644000175000017500000000465012743402012020107 0ustar alexeyalexey min_word_len vs queries (part 1) indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query = SELECT * FROM test_table } index test { source = srctest path = /test min_word_len = 3 min_word_len = 4 min_word_len = 5 min_prefix_len = 3 min_prefix_len = 4 min_prefix_len = 5 } a bb ccc dddd eeeee ffffff ggggggg b* cc* ddd* eeee* fffff* gggggg* a bb ccc dddd eeeee ffffff ggggggg b* cc* ddd* eeee* fffff* gggggg* hello world hello me world hello two world hello four world hello me* world hello two* world hello four* world CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'a' ), ( 2, 'bb' ), ( 3, 'ccc' ), ( 4, 'dddd' ), ( 5, 'eeeee' ), ( 6, 'ffffff' ), ( 7, 'ggggggg' ), ( 8, 'hello world' ), ( 9, 'hello a world' ), ( 10, 'hello aa world' ), ( 11, 'hello aaa world' ), ( 12, 'hello aaaa world' ), ( 13, 'hello aaaaa world' ), ( 14, 'hello me world' ), ( 15, 'hello two world' ), ( 16, 'hello four world' ) sphinx-2.2.11-release/test/test_023/model.bin0000644000175000017500000035562412743402012020212 0ustar alexeyalexeya:9:{i:0;a:33:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:8;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"hello world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:15;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:29;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"four";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:31;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:15;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:4:"two*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:32;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"four*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}}i:1;a:33:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:8;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"hello world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:29;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"four";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:31;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:4:"two*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:32;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"four*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}}i:2;a:33:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:8;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"hello world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:29;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:31;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:4:"two*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:32;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"four*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}}i:3;a:33:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:8;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"hello world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:15;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:29;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"four";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:31;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'two*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"two*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:32;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"four*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}}i:4;a:33:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:8;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"hello world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:29;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"four";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:31;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'two*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"two*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:32;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"four*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}}i:5;a:33:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:8;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"hello world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:29;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:31;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'two*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"two*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:32;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"four*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}}i:6;a:33:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'eeee*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ccc";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'eeee*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:8;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"hello world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:15;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"two";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:29;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"four";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:31;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'two*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"two*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:32;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'four*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"four*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}}i:7;a:33:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'eeee*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dddd";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'eeee*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:8;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"hello world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:29;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:16;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"four";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:31;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'two*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"two*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:32;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'four*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"four*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}}i:8;a:33:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:2;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:3;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:10;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'eeee*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:13;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"a";}i:14;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"bb";}i:15;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"ccc";}i:16;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dddd";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:5;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeeee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeeee";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"ffffff";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ffffff";}i:19;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"ggggggg";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"ggggggg";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'b*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"b*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"b*";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'cc*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"cc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"cc*";}i:22;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'ddd*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ddd*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"ddd*";}i:23;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'eeee*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"eeee*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"eeee*";}i:24;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:6;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"fffff*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"fffff*";}i:25;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:7;a:2:{s:6:"weight";s:4:"1722";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"gggggg*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"gggggg*";}i:26;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:8;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"hello world";}i:27;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"hello me world";}i:28;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello two world";}i:29;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:8:{i:9;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:10;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:11;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:12;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:13;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:14;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:15;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}i:16;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"8";s:11:"total_found";s:1:"8";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello four world";}i:30;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'me*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:3:"me*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"hello me* world";}i:31;a:12:{s:5:"error";s:0:"";s:7:"warning";s:63:"Query word length is less than min prefix length. word: 'two*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:4:"two*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"hello two* world";}i:32;a:12:{s:5:"error";s:0:"";s:7:"warning";s:64:"Query word length is less than min prefix length. word: 'four*' ";s:6:"status";i:3;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"hello";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}s:5:"four*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"world";a:2:{s:4:"docs";s:1:"9";s:4:"hits";s:1:"9";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:"hello four* world";}}}sphinx-2.2.11-release/test/test_022/0000755000175000017500000000000012743402012016400 5ustar alexeyalexeysphinx-2.2.11-release/test/test_022/wf_num.txt0000644000175000017500000000031412743402012020432 0ustar alexeyalexeyseason 1 episode 1 > s01e01 s02e02 > season 2 episode 2 s3 e3 > season 3 episode 3 metallica > концерт металики test one > testone test 1 > testone 1 test > testone 24 mois > 2 ans sphinx-2.2.11-release/test/test_022/wf_multi2.txt0000644000175000017500000000004712743402012021052 0ustar alexeyalexeyuniman > manunited man utd > manunitedsphinx-2.2.11-release/test/test_022/wf_multi.txt0000644000175000017500000000002012743402012020757 0ustar alexeyalexeyrdogs > red dogssphinx-2.2.11-release/test/test_022/test.xml0000644000175000017500000001471312743402012020107 0ustar alexeyalexey wordforms vs case folding indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query = SELECT * FROM test_table } index test { source = srctest path = /test wordforms = wordforms.txt } source src_num { type = mysql sql_query = SELECT 1 id, 11 idd, 's01e01 stuff' text UNION SELECT 2 id, 11 idd, 'season 1 episode 1 stuff' text UNION SELECT 3 id, 11 idd, 's02e02' text UNION SELECT 4 id, 11 idd, 's3 e3' text sql_attr_uint = idd } index test_num { source = src_num path = /test_num wordforms = /wf_num.txt } source src_multi { type = mysql sql_query = SELECT 1 id, 11 idd, 'test me rd' text UNION SELECT 2 id, 11 idd, 'test me red dogs' text UNION SELECT 3 id, 11 idd, 'test me red dog' text sql_attr_uint = idd } index multi1 { source = src_multi path = /multi1 wordforms = /wf_multi.txt } index multi2 { source = src_multi path = /multi2 wordforms = /wf_multi.txt morphology = stem_en index_exact_words = 1 } source src_multi_fm { type = mysql sql_query = SELECT 1 id, 11 idd, 'rdogs' text UNION SELECT 2 id, 11 idd, 'red dogs' text UNION SELECT 3 id, 11 idd, 'test me rdogs' text UNION SELECT 4 id, 11 idd, 'test me red dogs' text sql_attr_uint = idd } index multi_fm { source = src_multi_fm path = /multi_fm wordforms = /wf_multi.txt } source src_multi22 { type = mysql sql_query = SELECT 1 id, 11 idd, 'Dummy man utd product' text UNION SELECT 2 id, 11 idd, 'Dummy man united product' text UNION SELECT 3 id, 11 idd, 'Dummy uniman product' text sql_attr_uint = idd } index multi22 { source = src_multi22 path = /multi22 wordforms = /wf_multi2.txt dict = keywords min_infix_len = 2 charset_table = 0..9, A..Z->a..z, @, a..z morphology = stem_en index_exact_words = 1 } FOLDED folded shortform sOMEwHATmORElONGfORMtHATwOULDoVERFLOWsHORTfORMbUFFER s01e01 season 1 episode 1 s02e02 season 2 episode 2 season 3 episode 3 test 1 1 test test one SELECT * FROM test_num WHERE MATCH('metallica') SHOW META SELECT * FROM test_num WHERE MATCH('metallica 2014') SHOW META set profiling=1 SELECT * FROM multi1 WHERE MATCH('me | rdogs') show plan show meta SELECT * FROM multi2 WHERE MATCH('me | rdogs') show plan show meta SELECT * FROM multi1 WHERE MATCH('me | dogs') show plan show meta SELECT * FROM multi2 WHERE MATCH('me | dogs') show plan show meta SELECT * FROM multi1 WHERE MATCH('me | (red dogs)') show plan show meta SELECT * FROM multi2 WHERE MATCH('me | (red dogs)') show plan show meta SELECT * FROM multi1 WHERE MATCH('meo | (red dog)') show plan show meta SELECT * FROM multi2 WHERE MATCH('meo | (red dog)') show plan show meta SELECT * FROM multi1 WHERE MATCH('me | =rdogs') show plan show meta SELECT * FROM multi2 WHERE MATCH('me | =rdogs') show plan show meta SELECT * FROM multi1 WHERE MATCH('me | rdogs$') show plan show meta SELECT * FROM multi2 WHERE MATCH('me | rdogs$') show plan show meta SELECT * FROM multi1 WHERE MATCH('me | =rdogs$') show plan show meta SELECT * FROM multi2 WHERE MATCH('me | =rdogs$') show plan show meta SELECT * FROM multi1 WHERE MATCH('test | "me rdogs" ') show plan show meta SELECT * FROM multi2 WHERE MATCH('test | "me rdogs" ') show plan show meta SELECT * FROM test_num WHERE MATCH('24 mois') SHOW META SELECT * FROM test_num WHERE MATCH('"foo bar baz"/24 mois') SHOW PLAN SELECT * FROM test_num WHERE MATCH('foo ~ 24 mois') SELECT * FROM multi_fm WHERE MATCH('^rdogs$') SELECT * FROM multi_fm WHERE MATCH('^red dogs$') SELECT * FROM multi22 WHERE MATCH('uniman') show meta SELECT * FROM multi22 WHERE MATCH('man utd') show meta CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'test FoLdEd' ), ( 2, 'folded' ), ( 3, 'shortform' ), ( 4, 'SomeWhatMoreLongFormThatWouldOverflowShortFormBuffer' ) sphinx-2.2.11-release/test/test_022/model.bin0000644000175000017500000007605712743402012020211 0ustar alexeyalexeya:1:{i:0;a:76:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"1557";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1557";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"wrapped";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"FOLDED";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"1557";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1557";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"wrapped";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"folded";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:3;a:2:{s:6:"weight";s:4:"1557";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1557";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:42:"somewhatmorelongformthatwouldoverflowshort";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"shortform";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:3;a:2:{s:6:"weight";s:4:"1557";s:5:"attrs";a:0:{}}i:4;a:2:{s:6:"weight";s:4:"1557";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:42:"somewhatmorelongformthatwouldoverflowshort";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:52:"sOMEwHATmORElONGfORMtHATwOULDoVERFLOWsHORTfORMbUFFER";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"1557";s:5:"attrs";a:1:{s:3:"idd";s:2:"11";}}i:2;a:2:{s:6:"weight";s:4:"1557";s:5:"attrs";a:1:{s:3:"idd";s:2:"11";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"s01e01";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"s01e01";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:2:{i:1;a:2:{s:6:"weight";s:4:"1557";s:5:"attrs";a:1:{s:3:"idd";s:2:"11";}}i:2;a:2:{s:6:"weight";s:4:"1557";s:5:"attrs";a:1:{s:3:"idd";s:2:"11";}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"s01e01";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:"season 1 episode 1";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"4627";s:5:"attrs";a:1:{s:3:"idd";s:2:"11";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:6:"season";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}i:2;a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}s:7:"episode";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"s02e02";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"4627";s:5:"attrs";a:1:{s:3:"idd";s:2:"11";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:6:"season";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}i:2;a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}s:7:"episode";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:"season 2 episode 2";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"4627";s:5:"attrs";a:1:{s:3:"idd";s:2:"11";}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:6:"season";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}i:3;a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}s:7:"episode";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:"season 3 episode 3";}i:9;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"testone";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"test 1";}i:10;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"testone";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"1 test";}i:11;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"text";}s:5:"attrs";a:1:{s:3:"idd";i:1;}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"testone";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"test one";}i:12;a:2:{s:8:"sphinxql";s:47:"SELECT * FROM test_num WHERE MATCH('metallica')";s:10:"total_rows";i:0;}i:13;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:14:"концерт";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"0";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"0";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:16:"металики";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:14;a:2:{s:8:"sphinxql";s:52:"SELECT * FROM test_num WHERE MATCH('metallica 2014')";s:10:"total_rows";i:0;}i:15;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:12;s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:14:"концерт";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"0";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"0";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:16:"металики";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:4:"2014";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"0";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"0";}}}i:16;a:2:{s:8:"sphinxql";s:15:"set profiling=1";s:14:"total_affected";i:0;}i:17;a:3:{s:8:"sphinxql";s:46:"SELECT * FROM multi1 WHERE MATCH('me | rdogs')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:18;a:3:{s:8:"sphinxql";s:9:"show plan";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:8:"Variable";s:16:"transformed_tree";s:5:"Value";s:116:"OR( AND(KEYWORD(me, querypos=1)), AND( AND(KEYWORD(red, querypos=2)), AND(KEYWORD(dogs, querypos=3))))";}}}i:19;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:12;s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"me";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"red";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:4:"dogs";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}}}i:20;a:3:{s:8:"sphinxql";s:46:"SELECT * FROM multi2 WHERE MATCH('me | rdogs')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:21;a:3:{s:8:"sphinxql";s:9:"show plan";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:8:"Variable";s:16:"transformed_tree";s:5:"Value";s:116:"OR( AND(KEYWORD(me, querypos=1)), AND( AND(KEYWORD(red, querypos=2)), AND(KEYWORD(dogs, querypos=3))))";}}}i:22;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:12;s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"me";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"red";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:3:"dog";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}}}i:23;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM multi1 WHERE MATCH('me | dogs')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:24;a:3:{s:8:"sphinxql";s:9:"show plan";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:8:"Variable";s:16:"transformed_tree";s:5:"Value";s:70:"OR( AND(KEYWORD(me, querypos=1)), AND(KEYWORD(dogs, querypos=2)))";}}}i:25;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"me";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"dogs";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"1";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"1";}}}i:26;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM multi2 WHERE MATCH('me | dogs')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:27;a:3:{s:8:"sphinxql";s:9:"show plan";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:8:"Variable";s:16:"transformed_tree";s:5:"Value";s:70:"OR( AND(KEYWORD(me, querypos=1)), AND(KEYWORD(dogs, querypos=2)))";}}}i:28;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"me";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"dog";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}}}i:29;a:3:{s:8:"sphinxql";s:51:"SELECT * FROM multi1 WHERE MATCH('me | (red dogs)')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:30;a:3:{s:8:"sphinxql";s:9:"show plan";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:8:"Variable";s:16:"transformed_tree";s:5:"Value";s:116:"OR( AND(KEYWORD(me, querypos=1)), AND( AND(KEYWORD(red, querypos=2)), AND(KEYWORD(dogs, querypos=3))))";}}}i:31;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:12;s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"me";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"red";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:4:"dogs";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}}}i:32;a:3:{s:8:"sphinxql";s:51:"SELECT * FROM multi2 WHERE MATCH('me | (red dogs)')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:33;a:3:{s:8:"sphinxql";s:9:"show plan";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:8:"Variable";s:16:"transformed_tree";s:5:"Value";s:116:"OR( AND(KEYWORD(me, querypos=1)), AND( AND(KEYWORD(red, querypos=2)), AND(KEYWORD(dogs, querypos=3))))";}}}i:34;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:12;s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"me";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"red";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:3:"dog";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}}}i:35;a:3:{s:8:"sphinxql";s:51:"SELECT * FROM multi1 WHERE MATCH('meo | (red dog)')";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:36;a:3:{s:8:"sphinxql";s:9:"show plan";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:8:"Variable";s:16:"transformed_tree";s:5:"Value";s:116:"OR( AND(KEYWORD(meo, querypos=1)), AND( AND(KEYWORD(red, querypos=2)), AND(KEYWORD(dog, querypos=3))))";}}}i:37;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:12;s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"1";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"1";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"meo";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"0";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"0";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"red";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:3:"dog";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}}}i:38;a:3:{s:8:"sphinxql";s:51:"SELECT * FROM multi2 WHERE MATCH('meo | (red dog)')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:39;a:3:{s:8:"sphinxql";s:9:"show plan";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:8:"Variable";s:16:"transformed_tree";s:5:"Value";s:116:"OR( AND(KEYWORD(meo, querypos=1)), AND( AND(KEYWORD(red, querypos=2)), AND(KEYWORD(dog, querypos=3))))";}}}i:40;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:12;s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:3:"meo";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"0";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"0";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"red";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:3:"dog";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}}}i:41;a:3:{s:8:"sphinxql";s:47:"SELECT * FROM multi1 WHERE MATCH('me | =rdogs')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:42;a:3:{s:8:"sphinxql";s:9:"show plan";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:8:"Variable";s:16:"transformed_tree";s:5:"Value";s:116:"OR( AND(KEYWORD(me, querypos=1)), AND( AND(KEYWORD(red, querypos=2)), AND(KEYWORD(dogs, querypos=3))))";}}}i:43;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:12;s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"me";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"red";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:4:"dogs";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}}}i:44;a:3:{s:8:"sphinxql";s:47:"SELECT * FROM multi2 WHERE MATCH('me | =rdogs')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:45;a:3:{s:8:"sphinxql";s:9:"show plan";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:8:"Variable";s:16:"transformed_tree";s:5:"Value";s:118:"OR( AND(KEYWORD(me, querypos=1)), AND( AND(KEYWORD(=red, querypos=2)), AND(KEYWORD(=dogs, querypos=3))))";}}}i:46;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:12;s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"me";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"=red";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:5:"=dogs";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}}}i:47;a:3:{s:8:"sphinxql";s:47:"SELECT * FROM multi1 WHERE MATCH('me | rdogs$')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:48;a:3:{s:8:"sphinxql";s:9:"show plan";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:8:"Variable";s:16:"transformed_tree";s:5:"Value";s:127:"OR( AND(KEYWORD(me, querypos=1)), AND( AND(KEYWORD(red, querypos=2)), AND(KEYWORD(dogs, querypos=3, field_end))))";}}}i:49;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:12;s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"me";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"red";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:4:"dogs";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}}}i:50;a:3:{s:8:"sphinxql";s:47:"SELECT * FROM multi2 WHERE MATCH('me | rdogs$')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:51;a:3:{s:8:"sphinxql";s:9:"show plan";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:8:"Variable";s:16:"transformed_tree";s:5:"Value";s:127:"OR( AND(KEYWORD(me, querypos=1)), AND( AND(KEYWORD(red, querypos=2)), AND(KEYWORD(dogs, querypos=3, field_end))))";}}}i:52;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:12;s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"me";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"red";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:3:"dog";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}}}i:53;a:3:{s:8:"sphinxql";s:48:"SELECT * FROM multi1 WHERE MATCH('me | =rdogs$')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:54;a:3:{s:8:"sphinxql";s:9:"show plan";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:8:"Variable";s:16:"transformed_tree";s:5:"Value";s:127:"OR( AND(KEYWORD(me, querypos=1)), AND( AND(KEYWORD(red, querypos=2)), AND(KEYWORD(dogs, querypos=3, field_end))))";}}}i:55;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:12;s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"me";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"red";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:4:"dogs";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}}}i:56;a:3:{s:8:"sphinxql";s:48:"SELECT * FROM multi2 WHERE MATCH('me | =rdogs$')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:57;a:3:{s:8:"sphinxql";s:9:"show plan";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:8:"Variable";s:16:"transformed_tree";s:5:"Value";s:129:"OR( AND(KEYWORD(me, querypos=1)), AND( AND(KEYWORD(=red, querypos=2)), AND(KEYWORD(=dogs, querypos=3, field_end))))";}}}i:58;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:12;s:4:"rows";a:11:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:2:"me";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:4:"=red";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"2";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"2";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:5:"=dogs";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"1";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"1";}}}i:59;a:3:{s:8:"sphinxql";s:54:"SELECT * FROM multi1 WHERE MATCH('test | "me rdogs" ')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:60;a:3:{s:8:"sphinxql";s:9:"show plan";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:8:"Variable";s:16:"transformed_tree";s:5:"Value";s:126:"OR( AND(KEYWORD(test, querypos=1)), PHRASE(KEYWORD(me, querypos=2), KEYWORD(red, querypos=3), KEYWORD(dogs, querypos=4)))";}}}i:61;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:15;s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"test";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:2:"me";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"3";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"3";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:3:"red";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:4:"dogs";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"1";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"1";}}}i:62;a:3:{s:8:"sphinxql";s:54:"SELECT * FROM multi2 WHERE MATCH('test | "me rdogs" ')";s:10:"total_rows";i:3;s:4:"rows";a:3:{i:0;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}i:2;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}}}i:63;a:3:{s:8:"sphinxql";s:9:"show plan";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:8:"Variable";s:16:"transformed_tree";s:5:"Value";s:126:"OR( AND(KEYWORD(test, querypos=1)), PHRASE(KEYWORD(me, querypos=2), KEYWORD(red, querypos=3), KEYWORD(dogs, querypos=4)))";}}}i:64;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:15;s:4:"rows";a:14:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"3";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"3";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:4:"test";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"3";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"3";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:2:"me";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"3";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"3";}i:8;a:2:{s:13:"Variable_name";s:10:"keyword[2]";s:5:"Value";s:3:"red";}i:9;a:2:{s:13:"Variable_name";s:7:"docs[2]";s:5:"Value";s:1:"2";}i:10;a:2:{s:13:"Variable_name";s:7:"hits[2]";s:5:"Value";s:1:"2";}i:11;a:2:{s:13:"Variable_name";s:10:"keyword[3]";s:5:"Value";s:3:"dog";}i:12;a:2:{s:13:"Variable_name";s:7:"docs[3]";s:5:"Value";s:1:"2";}i:13;a:2:{s:13:"Variable_name";s:7:"hits[3]";s:5:"Value";s:1:"2";}}}i:65;a:2:{s:8:"sphinxql";s:45:"SELECT * FROM test_num WHERE MATCH('24 mois')";s:10:"total_rows";i:0;}i:66;a:3:{s:8:"sphinxql";s:9:"SHOW META";s:10:"total_rows";i:9;s:4:"rows";a:8:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"0";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"0";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:1:"2";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"1";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}i:5;a:2:{s:13:"Variable_name";s:10:"keyword[1]";s:5:"Value";s:3:"ans";}i:6;a:2:{s:13:"Variable_name";s:7:"docs[1]";s:5:"Value";s:1:"0";}i:7;a:2:{s:13:"Variable_name";s:7:"hits[1]";s:5:"Value";s:1:"0";}}}i:67;a:2:{s:8:"sphinxql";s:59:"SELECT * FROM test_num WHERE MATCH('"foo bar baz"/24 mois')";s:10:"total_rows";i:0;}i:68;a:3:{s:8:"sphinxql";s:9:"SHOW PLAN";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:8:"Variable";s:16:"transformed_tree";s:5:"Value";s:137:"AND( QUORUM(count=24, KEYWORD(foo, querypos=1), KEYWORD(bar, querypos=2), KEYWORD(baz, querypos=3)), AND(KEYWORD(mois, querypos=5)))";}}}i:69;a:3:{s:8:"sphinxql";s:51:"SELECT * FROM test_num WHERE MATCH('foo ~ 24 mois')";s:5:"error";s:61:"index test_num: syntax error, unexpected '~' near '~ 24 mois'";s:5:"errno";i:1064;}i:70;a:3:{s:8:"sphinxql";s:45:"SELECT * FROM multi_fm WHERE MATCH('^rdogs$')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:71;a:3:{s:8:"sphinxql";s:48:"SELECT * FROM multi_fm WHERE MATCH('^red dogs$')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"2";s:3:"idd";s:2:"11";}}}i:72;a:3:{s:8:"sphinxql";s:43:"SELECT * FROM multi22 WHERE MATCH('uniman')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:73;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:9:"manunited";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}i:74;a:3:{s:8:"sphinxql";s:44:"SELECT * FROM multi22 WHERE MATCH('man utd')";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:1:"1";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:1:"3";s:3:"idd";s:2:"11";}}}i:75;a:3:{s:8:"sphinxql";s:9:"show meta";s:10:"total_rows";i:6;s:4:"rows";a:5:{i:0;a:2:{s:13:"Variable_name";s:5:"total";s:5:"Value";s:1:"2";}i:1;a:2:{s:13:"Variable_name";s:11:"total_found";s:5:"Value";s:1:"2";}i:2;a:2:{s:13:"Variable_name";s:10:"keyword[0]";s:5:"Value";s:9:"manunited";}i:3;a:2:{s:13:"Variable_name";s:7:"docs[0]";s:5:"Value";s:1:"2";}i:4;a:2:{s:13:"Variable_name";s:7:"hits[0]";s:5:"Value";s:1:"2";}}}}}sphinx-2.2.11-release/test/test_021/0000755000175000017500000000000012743402012016377 5ustar alexeyalexeysphinx-2.2.11-release/test/test_021/test.xml0000644000175000017500000000454312743402012020106 0ustar alexeyalexey sorting indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query = SELECT document_id,tag1,tag2,tag3,tag4,body FROM test_table sql_attr_uint = tag1 sql_attr_uint = tag2:8 sql_attr_float = tag3 sql_attr_float = tag4 } index test { source = srctest path = /test min_word_len = 1 min_prefix_len = 1 } test* test* test* test* test* test* test* test* test* test* test* test* test* test* CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `tag1` int(11) NOT NULL default '0', `tag2` int(11) NOT NULL default '0', `tag3` FLOAT, `tag4` FLOAT, `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 1, 5, -4.0, 1.5, 'test1' ), ( 2, 2, 7, 12.0, 3.14, 'test2' ), ( 3, 2, 4, -8.0, 5.2, 'test3' ), ( 4, 3, 3, 5.0, 7.6, 'test4' ), ( 5, 3, 8, 1.0, 45.2, 'test5' ), ( 6, 3, 9, 4.0, 17.2, 'test6' ), ( 7, 4, 4, 6.0, -0.8, 'test7' ), ( 8, 4, 1, 7.0, 99.0, 'test8' ), ( 9, 4, 3, 2.0, -16.1, 'test9' ), ( 10,4, 2, 12.0, 0.0, 'test10' ) sphinx-2.2.11-release/test/test_021/model.bin0000644000175000017500000006606212743402012020203 0ustar alexeyalexeya:1:{i:0;a:14:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:4:"tag1";i:1;s:4:"tag2";i:1;s:4:"tag3";i:5;s:4:"tag4";i:5;s:5:"@expr";i:5;}s:7:"matches";a:10:{i:3;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"4";s:4:"tag3";d:-8;s:4:"tag4";d:5.19999980926513671875;s:5:"@expr";d:8.5;}}i:1;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"1";s:4:"tag2";s:1:"5";s:4:"tag3";d:-4;s:4:"tag4";d:1.5;s:5:"@expr";d:4.19999980926513671875;}}i:5;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"8";s:4:"tag3";d:1;s:4:"tag4";d:45.200000762939453125;s:5:"@expr";d:-0.625;}}i:9;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"3";s:4:"tag3";d:2;s:4:"tag4";d:-16.1000003814697265625;s:5:"@expr";d:-0.66666662693023681640625;}}i:8;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"1";s:4:"tag3";d:7;s:4:"tag4";d:99;s:5:"@expr";d:-3;}}i:6;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"9";s:4:"tag3";d:4;s:4:"tag4";d:17.200000762939453125;s:5:"@expr";d:-3.6666667461395263671875;}}i:4;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"3";s:4:"tag3";d:5;s:4:"tag4";d:7.599999904632568359375;s:5:"@expr";d:-4;}}i:7;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"4";s:4:"tag3";d:6;s:4:"tag4";d:-0.800000011920928955078125;s:5:"@expr";d:-5;}}i:10;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"2";s:4:"tag3";d:12;s:4:"tag4";d:0;s:5:"@expr";d:-10;}}i:2;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"7";s:4:"tag3";d:12;s:4:"tag4";d:3.1400001049041748046875;s:5:"@expr";d:-11.71428585052490234375;}}}s:5:"total";s:2:"10";s:11:"total_found";s:2:"10";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:4:"tag1";i:1;s:4:"tag2";i:1;s:4:"tag3";i:5;s:4:"tag4";i:5;s:5:"@expr";i:5;}s:7:"matches";a:10:{i:2;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"7";s:4:"tag3";d:12;s:4:"tag4";d:3.1400001049041748046875;s:5:"@expr";d:86;}}i:6;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"9";s:4:"tag3";d:4;s:4:"tag4";d:17.200000762939453125;s:5:"@expr";d:39;}}i:7;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"4";s:4:"tag3";d:6;s:4:"tag4";d:-0.800000011920928955078125;s:5:"@expr";d:28;}}i:10;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"2";s:4:"tag3";d:12;s:4:"tag4";d:0;s:5:"@expr";d:28;}}i:4;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"3";s:4:"tag3";d:5;s:4:"tag4";d:7.599999904632568359375;s:5:"@expr";d:18;}}i:5;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"8";s:4:"tag3";d:1;s:4:"tag4";d:45.200000762939453125;s:5:"@expr";d:11;}}i:8;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"1";s:4:"tag3";d:7;s:4:"tag4";d:99;s:5:"@expr";d:11;}}i:9;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"3";s:4:"tag3";d:2;s:4:"tag4";d:-16.1000003814697265625;s:5:"@expr";d:10;}}i:1;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"1";s:4:"tag2";s:1:"5";s:4:"tag3";d:-4;s:4:"tag4";d:1.5;s:5:"@expr";d:-19;}}i:3;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"4";s:4:"tag3";d:-8;s:4:"tag4";d:5.19999980926513671875;s:5:"@expr";d:-30;}}}s:5:"total";s:2:"10";s:11:"total_found";s:2:"10";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:4:"tag1";i:1;s:4:"tag2";i:1;s:4:"tag3";i:5;s:4:"tag4";i:5;s:5:"@expr";i:5;}s:7:"matches";a:10:{i:2;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"7";s:4:"tag3";d:12;s:4:"tag4";d:3.1400001049041748046875;s:5:"@expr";d:12;}}i:10;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"2";s:4:"tag3";d:12;s:4:"tag4";d:0;s:5:"@expr";d:12;}}i:3;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"4";s:4:"tag3";d:-8;s:4:"tag4";d:5.19999980926513671875;s:5:"@expr";d:8;}}i:8;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"1";s:4:"tag3";d:7;s:4:"tag4";d:99;s:5:"@expr";d:7;}}i:7;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"4";s:4:"tag3";d:6;s:4:"tag4";d:-0.800000011920928955078125;s:5:"@expr";d:6;}}i:4;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"3";s:4:"tag3";d:5;s:4:"tag4";d:7.599999904632568359375;s:5:"@expr";d:5;}}i:1;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"1";s:4:"tag2";s:1:"5";s:4:"tag3";d:-4;s:4:"tag4";d:1.5;s:5:"@expr";d:4;}}i:6;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"9";s:4:"tag3";d:4;s:4:"tag4";d:17.200000762939453125;s:5:"@expr";d:4;}}i:9;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"3";s:4:"tag3";d:2;s:4:"tag4";d:-16.1000003814697265625;s:5:"@expr";d:2;}}i:5;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"8";s:4:"tag3";d:1;s:4:"tag4";d:45.200000762939453125;s:5:"@expr";d:1;}}}s:5:"total";s:2:"10";s:11:"total_found";s:2:"10";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:4:"tag1";i:1;s:4:"tag2";i:1;s:4:"tag3";i:5;s:4:"tag4";i:5;s:5:"@expr";i:5;}s:7:"matches";a:10:{i:7;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"4";s:4:"tag3";d:6;s:4:"tag4";d:-0.800000011920928955078125;s:5:"@expr";d:8;}}i:4;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"3";s:4:"tag3";d:5;s:4:"tag4";d:7.599999904632568359375;s:5:"@expr";d:6;}}i:5;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"8";s:4:"tag3";d:1;s:4:"tag4";d:45.200000762939453125;s:5:"@expr";d:6;}}i:6;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"9";s:4:"tag3";d:4;s:4:"tag4";d:17.200000762939453125;s:5:"@expr";d:6;}}i:9;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"3";s:4:"tag3";d:2;s:4:"tag4";d:-16.1000003814697265625;s:5:"@expr";d:6;}}i:2;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"7";s:4:"tag3";d:12;s:4:"tag4";d:3.1400001049041748046875;s:5:"@expr";d:4;}}i:3;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"4";s:4:"tag3";d:-8;s:4:"tag4";d:5.19999980926513671875;s:5:"@expr";d:4;}}i:10;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"2";s:4:"tag3";d:12;s:4:"tag4";d:0;s:5:"@expr";d:4;}}i:1;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"1";s:4:"tag2";s:1:"5";s:4:"tag3";d:-4;s:4:"tag4";d:1.5;s:5:"@expr";d:2;}}i:8;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"1";s:4:"tag3";d:7;s:4:"tag4";d:99;s:5:"@expr";d:2;}}}s:5:"total";s:2:"10";s:11:"total_found";s:2:"10";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:4:"tag1";i:1;s:4:"tag2";i:1;s:4:"tag3";i:5;s:4:"tag4";i:5;s:5:"@expr";i:5;}s:7:"matches";a:10:{i:8;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"1";s:4:"tag3";d:7;s:4:"tag4";d:99;s:5:"@expr";d:99;}}i:5;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"8";s:4:"tag3";d:1;s:4:"tag4";d:45.200000762939453125;s:5:"@expr";d:46;}}i:6;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"9";s:4:"tag3";d:4;s:4:"tag4";d:17.200000762939453125;s:5:"@expr";d:18;}}i:4;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"3";s:4:"tag3";d:5;s:4:"tag4";d:7.599999904632568359375;s:5:"@expr";d:8;}}i:3;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"4";s:4:"tag3";d:-8;s:4:"tag4";d:5.19999980926513671875;s:5:"@expr";d:6;}}i:2;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"7";s:4:"tag3";d:12;s:4:"tag4";d:3.1400001049041748046875;s:5:"@expr";d:4;}}i:1;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"1";s:4:"tag2";s:1:"5";s:4:"tag3";d:-4;s:4:"tag4";d:1.5;s:5:"@expr";d:2;}}i:7;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"4";s:4:"tag3";d:6;s:4:"tag4";d:-0.800000011920928955078125;s:5:"@expr";d:-0;}}i:10;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"2";s:4:"tag3";d:12;s:4:"tag4";d:0;s:5:"@expr";d:0;}}i:9;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"3";s:4:"tag3";d:2;s:4:"tag4";d:-16.1000003814697265625;s:5:"@expr";d:-16;}}}s:5:"total";s:2:"10";s:11:"total_found";s:2:"10";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:4:"tag1";i:1;s:4:"tag2";i:1;s:4:"tag3";i:5;s:4:"tag4";i:5;s:5:"@expr";i:5;}s:7:"matches";a:10:{i:8;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"1";s:4:"tag3";d:7;s:4:"tag4";d:99;s:5:"@expr";d:99;}}i:5;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"8";s:4:"tag3";d:1;s:4:"tag4";d:45.200000762939453125;s:5:"@expr";d:45;}}i:6;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"9";s:4:"tag3";d:4;s:4:"tag4";d:17.200000762939453125;s:5:"@expr";d:17;}}i:4;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"3";s:4:"tag3";d:5;s:4:"tag4";d:7.599999904632568359375;s:5:"@expr";d:7;}}i:3;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"4";s:4:"tag3";d:-8;s:4:"tag4";d:5.19999980926513671875;s:5:"@expr";d:5;}}i:2;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"7";s:4:"tag3";d:12;s:4:"tag4";d:3.1400001049041748046875;s:5:"@expr";d:3;}}i:1;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"1";s:4:"tag2";s:1:"5";s:4:"tag3";d:-4;s:4:"tag4";d:1.5;s:5:"@expr";d:1;}}i:10;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"2";s:4:"tag3";d:12;s:4:"tag4";d:0;s:5:"@expr";d:0;}}i:7;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"4";s:4:"tag3";d:6;s:4:"tag4";d:-0.800000011920928955078125;s:5:"@expr";d:-1;}}i:9;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"3";s:4:"tag3";d:2;s:4:"tag4";d:-16.1000003814697265625;s:5:"@expr";d:-17;}}}s:5:"total";s:2:"10";s:11:"total_found";s:2:"10";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:4:"tag1";i:1;s:4:"tag2";i:1;s:4:"tag3";i:5;s:4:"tag4";i:5;s:5:"@expr";i:5;}s:7:"matches";a:10:{i:5;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"8";s:4:"tag3";d:1;s:4:"tag4";d:45.200000762939453125;s:5:"@expr";d:1.2841091156005859375;}}i:4;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"3";s:4:"tag3";d:5;s:4:"tag4";d:7.599999904632568359375;s:5:"@expr";d:1.219179630279541015625;}}i:1;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"1";s:4:"tag2";s:1:"5";s:4:"tag3";d:-4;s:4:"tag4";d:1.5;s:5:"@expr";d:1.06823217868804931640625;}}i:10;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"2";s:4:"tag3";d:12;s:4:"tag4";d:0;s:5:"@expr";d:1;}}i:7;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"4";s:4:"tag3";d:6;s:4:"tag4";d:-0.800000011920928955078125;s:5:"@expr";d:-0.020649373531341552734375;}}i:3;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"4";s:4:"tag3";d:-8;s:4:"tag4";d:5.19999980926513671875;s:5:"@expr";d:-0.4149382412433624267578125;}}i:9;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"3";s:4:"tag3";d:2;s:4:"tag4";d:-16.1000003814697265625;s:5:"@expr";d:-0.54206085205078125;}}i:8;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"1";s:4:"tag3";d:7;s:4:"tag4";d:99;s:5:"@expr";d:-0.95938599109649658203125;}}i:2;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"7";s:4:"tag3";d:12;s:4:"tag4";d:3.1400001049041748046875;s:5:"@expr";d:-0.9984061717987060546875;}}i:6;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"9";s:4:"tag3";d:4;s:4:"tag4";d:17.200000762939453125;s:5:"@expr";d:-1.07557761669158935546875;}}}s:5:"total";s:2:"10";s:11:"total_found";s:2:"10";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:6;s:5:"query";s:5:"test*";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:4:"tag1";i:1;s:4:"tag2";i:1;s:4:"tag3";i:5;s:4:"tag4";i:5;s:5:"@expr";i:5;}s:7:"matches";a:10:{i:7;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"4";s:4:"tag3";d:6;s:4:"tag4";d:-0.800000011920928955078125;s:5:"@expr";d:3.9883544445037841796875;}}i:8;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"1";s:4:"tag3";d:7;s:4:"tag4";d:99;s:5:"@expr";d:3.9883544445037841796875;}}i:9;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"3";s:4:"tag3";d:2;s:4:"tag4";d:-16.1000003814697265625;s:5:"@expr";d:3.9883544445037841796875;}}i:10;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"2";s:4:"tag3";d:12;s:4:"tag4";d:0;s:5:"@expr";d:3.9883544445037841796875;}}i:4;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"3";s:4:"tag3";d:5;s:4:"tag4";d:7.599999904632568359375;s:5:"@expr";d:3.1606960296630859375;}}i:5;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"8";s:4:"tag3";d:1;s:4:"tag4";d:45.200000762939453125;s:5:"@expr";d:3.1606960296630859375;}}i:6;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"9";s:4:"tag3";d:4;s:4:"tag4";d:17.200000762939453125;s:5:"@expr";d:3.1606960296630859375;}}i:2;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"7";s:4:"tag3";d:12;s:4:"tag4";d:3.1400001049041748046875;s:5:"@expr";d:1.99417722225189208984375;}}i:3;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"4";s:4:"tag3";d:-8;s:4:"tag4";d:5.19999980926513671875;s:5:"@expr";d:1.99417722225189208984375;}}i:1;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"1";s:4:"tag2";s:1:"5";s:4:"tag3";d:-4;s:4:"tag4";d:1.5;s:5:"@expr";d:0;}}}s:5:"total";s:2:"10";s:11:"total_found";s:2:"10";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:4:"tag1";i:1;s:4:"tag2";i:1;s:4:"tag3";i:5;s:4:"tag4";i:5;s:5:"@expr";i:5;}s:7:"matches";a:10:{i:7;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"4";s:4:"tag3";d:6;s:4:"tag4";d:-0.800000011920928955078125;s:5:"@expr";d:56.598148345947265625;}}i:9;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"3";s:4:"tag3";d:2;s:4:"tag4";d:-16.1000003814697265625;s:5:"@expr";d:56.3302001953125;}}i:10;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"2";s:4:"tag3";d:12;s:4:"tag4";d:0;s:5:"@expr";d:56.012363433837890625;}}i:8;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"1";s:4:"tag3";d:7;s:4:"tag4";d:99;s:5:"@expr";d:55.598148345947265625;}}i:6;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"9";s:4:"tag3";d:4;s:4:"tag4";d:17.200000762939453125;s:5:"@expr";d:23.085536956787109375;}}i:5;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"8";s:4:"tag3";d:1;s:4:"tag4";d:45.200000762939453125;s:5:"@expr";d:22.91396331787109375;}}i:4;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"3";s:4:"tag3";d:5;s:4:"tag4";d:7.599999904632568359375;s:5:"@expr";d:21.8175868988037109375;}}i:2;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"7";s:4:"tag3";d:12;s:4:"tag4";d:3.1400001049041748046875;s:5:"@expr";d:10.0348072052001953125;}}i:3;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"4";s:4:"tag3";d:-8;s:4:"tag4";d:5.19999980926513671875;s:5:"@expr";d:9.38905620574951171875;}}i:1;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"1";s:4:"tag2";s:1:"5";s:4:"tag3";d:-4;s:4:"tag4";d:1.5;s:5:"@expr";d:4.954349517822265625;}}}s:5:"total";s:2:"10";s:11:"total_found";s:2:"10";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:4:"tag1";i:1;s:4:"tag2";i:1;s:4:"tag3";i:5;s:4:"tag4";i:5;s:5:"@expr";i:5;}s:7:"matches";a:10:{i:4;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"3";s:4:"tag3";d:5;s:4:"tag4";d:7.599999904632568359375;s:5:"@expr";d:1;}}i:7;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"4";s:4:"tag3";d:6;s:4:"tag4";d:-0.800000011920928955078125;s:5:"@expr";d:1;}}i:1;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"1";s:4:"tag2";s:1:"5";s:4:"tag3";d:-4;s:4:"tag4";d:1.5;s:5:"@expr";d:0;}}i:2;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"7";s:4:"tag3";d:12;s:4:"tag4";d:3.1400001049041748046875;s:5:"@expr";d:0;}}i:3;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"4";s:4:"tag3";d:-8;s:4:"tag4";d:5.19999980926513671875;s:5:"@expr";d:0;}}i:5;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"8";s:4:"tag3";d:1;s:4:"tag4";d:45.200000762939453125;s:5:"@expr";d:0;}}i:6;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"9";s:4:"tag3";d:4;s:4:"tag4";d:17.200000762939453125;s:5:"@expr";d:0;}}i:8;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"1";s:4:"tag3";d:7;s:4:"tag4";d:99;s:5:"@expr";d:0;}}i:9;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"3";s:4:"tag3";d:2;s:4:"tag4";d:-16.1000003814697265625;s:5:"@expr";d:0;}}i:10;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"2";s:4:"tag3";d:12;s:4:"tag4";d:0;s:5:"@expr";d:0;}}}s:5:"total";s:2:"10";s:11:"total_found";s:2:"10";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:4:"tag1";i:1;s:4:"tag2";i:1;s:4:"tag3";i:5;s:4:"tag4";i:5;s:5:"@expr";i:5;}s:7:"matches";a:10:{i:6;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"9";s:4:"tag3";d:4;s:4:"tag4";d:17.200000762939453125;s:5:"@expr";d:9;}}i:5;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"8";s:4:"tag3";d:1;s:4:"tag4";d:45.200000762939453125;s:5:"@expr";d:8;}}i:2;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"7";s:4:"tag3";d:12;s:4:"tag4";d:3.1400001049041748046875;s:5:"@expr";d:7;}}i:1;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"1";s:4:"tag2";s:1:"5";s:4:"tag3";d:-4;s:4:"tag4";d:1.5;s:5:"@expr";d:5;}}i:3;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"4";s:4:"tag3";d:-8;s:4:"tag4";d:5.19999980926513671875;s:5:"@expr";d:4;}}i:7;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"4";s:4:"tag3";d:6;s:4:"tag4";d:-0.800000011920928955078125;s:5:"@expr";d:4;}}i:4;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"3";s:4:"tag3";d:5;s:4:"tag4";d:7.599999904632568359375;s:5:"@expr";d:3;}}i:9;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"3";s:4:"tag3";d:2;s:4:"tag4";d:-16.1000003814697265625;s:5:"@expr";d:3;}}i:10;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"2";s:4:"tag3";d:12;s:4:"tag4";d:0;s:5:"@expr";d:2;}}i:8;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"1";s:4:"tag3";d:7;s:4:"tag4";d:99;s:5:"@expr";d:1;}}}s:5:"total";s:2:"10";s:11:"total_found";s:2:"10";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:4:"tag1";i:1;s:4:"tag2";i:1;s:4:"tag3";i:5;s:4:"tag4";i:5;s:5:"@expr";i:5;}s:7:"matches";a:10:{i:2;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"7";s:4:"tag3";d:12;s:4:"tag4";d:3.1400001049041748046875;s:5:"@expr";d:12;}}i:10;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"2";s:4:"tag3";d:12;s:4:"tag4";d:0;s:5:"@expr";d:12;}}i:8;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"1";s:4:"tag3";d:7;s:4:"tag4";d:99;s:5:"@expr";d:7;}}i:7;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"4";s:4:"tag3";d:6;s:4:"tag4";d:-0.800000011920928955078125;s:5:"@expr";d:6;}}i:4;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"3";s:4:"tag3";d:5;s:4:"tag4";d:7.599999904632568359375;s:5:"@expr";d:5;}}i:6;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"9";s:4:"tag3";d:4;s:4:"tag4";d:17.200000762939453125;s:5:"@expr";d:4;}}i:9;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"3";s:4:"tag3";d:2;s:4:"tag4";d:-16.1000003814697265625;s:5:"@expr";d:2;}}i:5;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"8";s:4:"tag3";d:1;s:4:"tag4";d:45.200000762939453125;s:5:"@expr";d:1;}}i:1;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"1";s:4:"tag2";s:1:"5";s:4:"tag3";d:-4;s:4:"tag4";d:1.5;s:5:"@expr";d:-4;}}i:3;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"4";s:4:"tag3";d:-8;s:4:"tag4";d:5.19999980926513671875;s:5:"@expr";d:-8;}}}s:5:"total";s:2:"10";s:11:"total_found";s:2:"10";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"tag1";i:1;s:4:"tag2";i:1;s:4:"tag3";i:5;s:4:"tag4";i:5;}s:7:"matches";a:10:{i:6;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:4:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"9";s:4:"tag3";d:4;s:4:"tag4";d:17.200000762939453125;}}i:5;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:4:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"8";s:4:"tag3";d:1;s:4:"tag4";d:45.200000762939453125;}}i:2;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:4:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"7";s:4:"tag3";d:12;s:4:"tag4";d:3.1400001049041748046875;}}i:1;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:4:{s:4:"tag1";s:1:"1";s:4:"tag2";s:1:"5";s:4:"tag3";d:-4;s:4:"tag4";d:1.5;}}i:3;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:4:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"4";s:4:"tag3";d:-8;s:4:"tag4";d:5.19999980926513671875;}}i:7;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:4:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"4";s:4:"tag3";d:6;s:4:"tag4";d:-0.800000011920928955078125;}}i:4;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:4:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"3";s:4:"tag3";d:5;s:4:"tag4";d:7.599999904632568359375;}}i:9;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:4:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"3";s:4:"tag3";d:2;s:4:"tag4";d:-16.1000003814697265625;}}i:10;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:4:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"2";s:4:"tag3";d:12;s:4:"tag4";d:0;}}i:8;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:4:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"1";s:4:"tag3";d:7;s:4:"tag4";d:99;}}}s:5:"total";s:2:"10";s:11:"total_found";s:2:"10";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:13;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:4:{s:4:"tag1";i:1;s:4:"tag2";i:1;s:4:"tag3";i:5;s:4:"tag4";i:5;}s:7:"matches";a:10:{i:2;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:4:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"7";s:4:"tag3";d:12;s:4:"tag4";d:3.1400001049041748046875;}}i:10;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:4:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"2";s:4:"tag3";d:12;s:4:"tag4";d:0;}}i:8;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:4:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"1";s:4:"tag3";d:7;s:4:"tag4";d:99;}}i:7;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:4:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"4";s:4:"tag3";d:6;s:4:"tag4";d:-0.800000011920928955078125;}}i:4;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:4:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"3";s:4:"tag3";d:5;s:4:"tag4";d:7.599999904632568359375;}}i:6;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:4:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"9";s:4:"tag3";d:4;s:4:"tag4";d:17.200000762939453125;}}i:9;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:4:{s:4:"tag1";s:1:"4";s:4:"tag2";s:1:"3";s:4:"tag3";d:2;s:4:"tag4";d:-16.1000003814697265625;}}i:5;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:4:{s:4:"tag1";s:1:"3";s:4:"tag2";s:1:"8";s:4:"tag3";d:1;s:4:"tag4";d:45.200000762939453125;}}i:1;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:4:{s:4:"tag1";s:1:"1";s:4:"tag2";s:1:"5";s:4:"tag3";d:-4;s:4:"tag4";d:1.5;}}i:3;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:4:{s:4:"tag1";s:1:"2";s:4:"tag2";s:1:"4";s:4:"tag3";d:-8;s:4:"tag4";d:5.19999980926513671875;}}}s:5:"total";s:2:"10";s:11:"total_found";s:2:"10";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}}}sphinx-2.2.11-release/test/test_020/0000755000175000017500000000000012743402012016376 5ustar alexeyalexeysphinx-2.2.11-release/test/test_020/test.xml0000644000175000017500000001527012743402012020104 0ustar alexeyalexey groupby indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query_pre = set time_zone='+0:00' sql_query = SELECT document_id, tag, UNIX_TIMESTAMP(time) as time, mva, body FROM test_table sql_attr_uint = TAg sql_attr_timestamp = time sql_attr_multi = uint mva from field; sql_attr_multi = bigint mva from field; } index test { source = srctest path = /test min_word_len = 1 min_prefix_len = 1 } source srctest2 : srctest { sql_query = SELECT document_id+10, tag+20 AS tag, UNIX_TIMESTAMP(time) as time, mva, body FROM test_table } index test2 : test { source = srctest2 path = /test2 } source srcmini1 : srctest { sql_query = SELECT document_id, tag, UNIX_TIMESTAMP(time) as time, mva, body FROM test_table WHERE document_id IN (1,7) } index mini1 : test { source = srcmini1 path = /mini1 } source srcmini2 : srctest { sql_query = SELECT document_id, tag, UNIX_TIMESTAMP(time) as time, mva, body FROM test_table WHERE document_id IN (1) } index mini2 : test { source = srcmini2 path = /mini2 } source src_mva64 { type = mysql sql_query = SELECT document_id, 11 as tag, mva1, 'dummy' FROM table64_0 sql_attr_uint = tag sql_attr_multi = bigint mva1 from field sql_attr_multi = bigint mva2 from query; SELECT id, mva2 FROM table64_1 } index mva64 { source = src_mva64 path = /mva64 } source src_mva_mixed { type = mysql sql_query = SELECT document_id, 11 as tag, mva, 'dummy' FROM test_table sql_attr_uint = tag sql_attr_multi = bigint mva2 from query; SELECT id, mva2 FROM table64_1 sql_attr_multi = uint mva from field } index mva_mixed { source = src_mva_mixed path = /mva_mixed } test* test* test* test* test* test* test* test* SELECT * FROM mva64 SELECT * FROM mva64 ORDER BY id desc SELECT * FROM mva64 ORDER BY id asc SELECT * FROM mva_mixed SELECT * FROM mva_mixed GROUP BY mva ORDER BY id desc SELECT * FROM mva_mixed ORDER BY id desc CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `tag` int(11) NOT NULL default '0', `time` datetime, `mva` varchar(255) NOT NULL default '', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 1, '2007-12-01 12:00:00', '1,2,3', 'test1' ), ( 2, 2, '2006-05-02 12:00:00', '3,4,5', 'test2' ), ( 3, 2, '2005-06-03 12:00:00', '4,5,6', 'test3' ), ( 4, 3, '2005-07-04 12:00:00', '1,2,3', 'test4' ), ( 5, 3, '2003-09-05 12:00:00', '3,5', 'test5' ), ( 6, 3, '2003-09-06 12:00:00', '3,5', 'test6' ), ( 7, 4, '2007-12-01 12:00:00', '4,5', 'test7' ), ( 8, 4, '2006-05-02 12:00:00', '4,5,6', 'test8' ), ( 9, 4, '2005-06-03 12:00:00', '4', 'test9' ), ( 10, 4,'2005-07-04 12:00:00', '3,4,5', 'test10' ) CREATE TABLE `table64_0` ( `document_id` int(11) NOT NULL default '0', `mva1` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `table64_0` INSERT INTO `table64_0` VALUES ( 1, '10000000112 10000000124 10000000110 10000000111 10000000113' ), ( 2, '10000000242 10000000224 10000000210 10000000221 10000000213' ), ( 3, '10000000332 10000000314 10000000310 10000000391 10000000393' ), ( 4, '10000000442 10000000424 10000000410 10000000461 10000000413' ) CREATE TABLE `table64_1` ( `id` int(11) NOT NULL default '0', `mva2` bigint NOT NULL default 0 ) DROP TABLE IF EXISTS `table64_1` INSERT INTO `table64_1` VALUES ( 1, 50000000112), (1, 50000000124), (1, 50000000110), (1, 50000000111), (1, 50000000113), ( 2, 50000000242), (2, 50000000224), (2, 50000000210), (2, 50000000221), (2, 50000000213), ( 3, 50000000332), (3, 50000000314), (3, 50000000310), (3, 50000000391), (3, 50000000393), ( 4, 50000000442), (4, 50000000424), (4, 50000000410), (4, 50000000461), (4, 50000000413) sphinx-2.2.11-release/test/test_020/model.bin0000644000175000017500000020575012743402012020201 0ustar alexeyalexeya:2:{i:0;a:28:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741825;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:4:{i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:4;s:4:"time";i:1196510400;s:3:"mva";a:2:{i:0;i:4;i:1;i:5;}s:8:"@groupby";i:4;s:6:"@count";i:4;}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1120478400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:3;s:6:"@count";i:3;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:2;s:6:"@count";i:2;}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:1;s:6:"@count";i:1;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741825;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:1;s:6:"@count";i:1;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:2;s:6:"@count";i:2;}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1120478400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:3;s:6:"@count";i:3;}}i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:4;s:4:"time";i:1196510400;s:3:"mva";a:2:{i:0;i:4;i:1;i:5;}s:8:"@groupby";i:4;s:6:"@count";i:4;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741825;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:4:{i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:4;s:4:"time";i:1196510400;s:3:"mva";a:2:{i:0;i:4;i:1;i:5;}s:8:"@groupby";i:4;s:6:"@count";i:4;}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1120478400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:3;s:6:"@count";i:3;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:2;s:6:"@count";i:2;}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:1;s:6:"@count";i:1;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741825;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:1;s:6:"@count";i:1;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:2;s:6:"@count";i:2;}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1120478400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:3;s:6:"@count";i:3;}}i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:4;s:4:"time";i:1196510400;s:3:"mva";a:2:{i:0;i:4;i:1;i:5;}s:8:"@groupby";i:4;s:6:"@count";i:4;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741825;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:4:{i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:4;s:4:"time";i:1196510400;s:3:"mva";a:2:{i:0;i:4;i:1;i:5;}s:8:"@groupby";i:4;s:6:"@count";i:4;}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1120478400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:3;s:6:"@count";i:3;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:2;s:6:"@count";i:2;}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:1;s:6:"@count";i:1;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741825;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:6:{i:1;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:20071201;s:6:"@count";i:2;}}i:2;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:20060502;s:6:"@count";i:2;}}i:4;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1120478400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:20050704;s:6:"@count";i:2;}}i:3;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1117800000;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:8:"@groupby";i:20050603;s:6:"@count";i:2;}}i:6;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1062849600;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:8:"@groupby";i:20030906;s:6:"@count";i:1;}}i:5;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1062763200;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:8:"@groupby";i:20030905;s:6:"@count";i:1;}}}s:5:"total";s:1:"6";s:11:"total_found";s:1:"6";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741825;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:2007329;s:6:"@count";i:2;}}i:2;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:2006120;s:6:"@count";i:2;}}i:4;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1120478400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:2005184;s:6:"@count";i:2;}}i:3;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1117800000;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:8:"@groupby";i:2005149;s:6:"@count";i:2;}}i:5;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1062763200;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:8:"@groupby";i:2003243;s:6:"@count";i:2;}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741825;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:200712;s:6:"@count";i:2;}}i:2;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:200605;s:6:"@count";i:2;}}i:4;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1120478400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:200507;s:6:"@count";i:2;}}i:3;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1117800000;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:8:"@groupby";i:200506;s:6:"@count";i:2;}}i:5;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1062763200;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:8:"@groupby";i:200309;s:6:"@count";i:2;}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741825;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:2007;s:6:"@count";i:2;}}i:2;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:2006;s:6:"@count";i:2;}}i:3;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1117800000;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:8:"@groupby";i:2005;s:6:"@count";i:4;}}i:5;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1062763200;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:8:"@groupby";i:2003;s:6:"@count";i:2;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741825;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:6:{i:0;a:3:{s:2:"id";i:3;s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1117800000;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:8:"@groupby";i:6;s:6:"@count";i:2;}}i:1;a:3:{s:2:"id";i:2;s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:5;s:6:"@count";i:7;}}i:2;a:3:{s:2:"id";i:2;s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:4;s:6:"@count";i:6;}}i:3;a:3:{s:2:"id";i:1;s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:3;s:6:"@count";i:6;}}i:4;a:3:{s:2:"id";i:1;s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:2;s:6:"@count";i:2;}}i:5;a:3:{s:2:"id";i:1;s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:1;s:6:"@count";i:2;}}}s:5:"total";s:1:"6";s:11:"total_found";s:1:"6";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:1;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741825;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:6:{i:0;a:3:{s:2:"id";i:1;s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:1;s:6:"@count";i:2;}}i:1;a:3:{s:2:"id";i:1;s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:2;s:6:"@count";i:2;}}i:2;a:3:{s:2:"id";i:1;s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:3;s:6:"@count";i:6;}}i:3;a:3:{s:2:"id";i:2;s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:4;s:6:"@count";i:6;}}i:4;a:3:{s:2:"id";i:2;s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:5;s:6:"@count";i:7;}}i:5;a:3:{s:2:"id";i:3;s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1117800000;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:8:"@groupby";i:6;s:6:"@count";i:2;}}}s:5:"total";s:1:"6";s:11:"total_found";s:1:"6";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:1;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:11;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:6:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741825;s:8:"@groupby";i:1;s:6:"@count";i:1;s:9:"@distinct";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:2007;s:6:"@count";i:2;s:9:"@distinct";i:2;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:2006;s:6:"@count";i:2;s:9:"@distinct";i:2;}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"tag";i:2;s:4:"time";i:1117800000;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:8:"@groupby";i:2005;s:6:"@count";i:4;s:9:"@distinct";i:3;}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"tag";i:3;s:4:"time";i:1062763200;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:8:"@groupby";i:2003;s:6:"@count";i:2;s:9:"@distinct";i:1;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:12;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:6:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741825;s:8:"@groupby";i:1;s:6:"@count";i:1;s:9:"@distinct";i:1;}s:7:"matches";a:4:{i:11;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"tag";i:21;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:2007;s:6:"@count";i:2;s:9:"@distinct";i:2;}}i:12;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"tag";i:22;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:2006;s:6:"@count";i:2;s:9:"@distinct";i:2;}}i:13;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"tag";i:22;s:4:"time";i:1117800000;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:8:"@groupby";i:2005;s:6:"@count";i:4;s:9:"@distinct";i:3;}}i:15;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"tag";i:23;s:4:"time";i:1062763200;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:8:"@groupby";i:2003;s:6:"@count";i:2;s:9:"@distinct";i:1;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:13;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:6:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741825;s:8:"@groupby";i:1;s:6:"@count";i:1;s:9:"@distinct";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:2007;s:6:"@count";i:4;s:9:"@distinct";i:4;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:2006;s:6:"@count";i:4;s:9:"@distinct";i:4;}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"tag";i:2;s:4:"time";i:1117800000;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:8:"@groupby";i:2005;s:6:"@count";i:8;s:9:"@distinct";i:6;}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"tag";i:3;s:4:"time";i:1062763200;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:8:"@groupby";i:2003;s:6:"@count";i:4;s:9:"@distinct";i:2;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:14;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:6:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741825;s:8:"@groupby";i:1;s:6:"@count";i:1;s:9:"@distinct";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:2007;s:6:"@count";i:3;s:9:"@distinct";i:2;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741825;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:1;s:6:"@count";i:1;}}i:3;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1117800000;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:8:"@groupby";i:2;s:6:"@count";i:2;}}i:5;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1062763200;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:8:"@groupby";i:3;s:6:"@count";i:3;}}i:9;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:4;s:4:"time";i:1117800000;s:3:"mva";a:1:{i:0;i:4;}s:8:"@groupby";i:4;s:6:"@count";i:4;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:6:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741825;s:1:"q";i:6;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:6:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:1:"q";i:10;s:8:"@groupby";i:1;s:6:"@count";i:1;}}i:3;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:6:{s:3:"tag";i:2;s:4:"time";i:1117800000;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:1:"q";i:30;s:8:"@groupby";i:2;s:6:"@count";i:2;}}i:6;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:6:{s:3:"tag";i:3;s:4:"time";i:1062849600;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:1:"q";i:60;s:8:"@groupby";i:3;s:6:"@count";i:3;}}i:10;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:6:{s:3:"tag";i:4;s:4:"time";i:1120478400;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:1:"q";i:100;s:8:"@groupby";i:4;s:6:"@count";i:4;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:17;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"dummy";}s:5:"attrs";a:3:{s:3:"tag";i:1;s:4:"mva1";i:1073741826;s:4:"mva2";i:1073741826;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:4:"mva1";a:5:{i:0;s:11:"10000000110";i:1;s:11:"10000000111";i:2;s:11:"10000000112";i:3;s:11:"10000000113";i:4;s:11:"10000000124";}s:4:"mva2";a:5:{i:0;s:11:"50000000110";i:1;s:11:"50000000111";i:2;s:11:"50000000112";i:3;s:11:"50000000113";i:4;s:11:"50000000124";}}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:4:"mva1";a:5:{i:0;s:11:"10000000210";i:1;s:11:"10000000213";i:2;s:11:"10000000221";i:3;s:11:"10000000224";i:4;s:11:"10000000242";}s:4:"mva2";a:5:{i:0;s:11:"50000000210";i:1;s:11:"50000000213";i:2;s:11:"50000000221";i:3;s:11:"50000000224";i:4;s:11:"50000000242";}}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:4:"mva1";a:5:{i:0;s:11:"10000000310";i:1;s:11:"10000000314";i:2;s:11:"10000000332";i:3;s:11:"10000000391";i:4;s:11:"10000000393";}s:4:"mva2";a:5:{i:0;s:11:"50000000310";i:1;s:11:"50000000314";i:2;s:11:"50000000332";i:3;s:11:"50000000391";i:4;s:11:"50000000393";}}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:4:"mva1";a:5:{i:0;s:11:"10000000410";i:1;s:11:"10000000413";i:2;s:11:"10000000424";i:3;s:11:"10000000442";i:4;s:11:"10000000461";}s:4:"mva2";a:5:{i:0;s:11:"50000000410";i:1;s:11:"50000000413";i:2;s:11:"50000000424";i:3;s:11:"50000000442";i:4;s:11:"50000000461";}}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:18;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"dummy";}s:5:"attrs";a:3:{s:3:"tag";i:1;s:4:"mva1";i:1073741826;s:4:"mva2";i:1073741826;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:4:"mva1";a:5:{i:0;s:11:"10000000110";i:1;s:11:"10000000111";i:2;s:11:"10000000112";i:3;s:11:"10000000113";i:4;s:11:"10000000124";}s:4:"mva2";a:5:{i:0;s:11:"50000000110";i:1;s:11:"50000000111";i:2;s:11:"50000000112";i:3;s:11:"50000000113";i:4;s:11:"50000000124";}}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:4:"mva1";a:5:{i:0;s:11:"10000000210";i:1;s:11:"10000000213";i:2;s:11:"10000000221";i:3;s:11:"10000000224";i:4;s:11:"10000000242";}s:4:"mva2";a:5:{i:0;s:11:"50000000210";i:1;s:11:"50000000213";i:2;s:11:"50000000221";i:3;s:11:"50000000224";i:4;s:11:"50000000242";}}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:4:"mva1";a:5:{i:0;s:11:"10000000310";i:1;s:11:"10000000314";i:2;s:11:"10000000332";i:3;s:11:"10000000391";i:4;s:11:"10000000393";}s:4:"mva2";a:5:{i:0;s:11:"50000000310";i:1;s:11:"50000000314";i:2;s:11:"50000000332";i:3;s:11:"50000000391";i:4;s:11:"50000000393";}}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:4:"mva1";a:5:{i:0;s:11:"10000000410";i:1;s:11:"10000000413";i:2;s:11:"10000000424";i:3;s:11:"10000000442";i:4;s:11:"10000000461";}s:4:"mva2";a:5:{i:0;s:11:"50000000410";i:1;s:11:"50000000413";i:2;s:11:"50000000424";i:3;s:11:"50000000442";i:4;s:11:"50000000461";}}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:19;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"dummy";}s:5:"attrs";a:3:{s:3:"tag";i:1;s:4:"mva1";i:1073741826;s:4:"mva2";i:1073741826;}s:7:"matches";a:4:{i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:4:"mva1";a:5:{i:0;s:11:"10000000410";i:1;s:11:"10000000413";i:2;s:11:"10000000424";i:3;s:11:"10000000442";i:4;s:11:"10000000461";}s:4:"mva2";a:5:{i:0;s:11:"50000000410";i:1;s:11:"50000000413";i:2;s:11:"50000000424";i:3;s:11:"50000000442";i:4;s:11:"50000000461";}}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:4:"mva1";a:5:{i:0;s:11:"10000000310";i:1;s:11:"10000000314";i:2;s:11:"10000000332";i:3;s:11:"10000000391";i:4;s:11:"10000000393";}s:4:"mva2";a:5:{i:0;s:11:"50000000310";i:1;s:11:"50000000314";i:2;s:11:"50000000332";i:3;s:11:"50000000391";i:4;s:11:"50000000393";}}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:4:"mva1";a:5:{i:0;s:11:"10000000210";i:1;s:11:"10000000213";i:2;s:11:"10000000221";i:3;s:11:"10000000224";i:4;s:11:"10000000242";}s:4:"mva2";a:5:{i:0;s:11:"50000000210";i:1;s:11:"50000000213";i:2;s:11:"50000000221";i:3;s:11:"50000000224";i:4;s:11:"50000000242";}}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:4:"mva1";a:5:{i:0;s:11:"10000000110";i:1;s:11:"10000000111";i:2;s:11:"10000000112";i:3;s:11:"10000000113";i:4;s:11:"10000000124";}s:4:"mva2";a:5:{i:0;s:11:"50000000110";i:1;s:11:"50000000111";i:2;s:11:"50000000112";i:3;s:11:"50000000113";i:4;s:11:"50000000124";}}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"dummy";}s:5:"attrs";a:3:{s:3:"tag";i:1;s:3:"mva";i:1073741825;s:4:"mva2";i:1073741826;}s:7:"matches";a:10:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:4:"mva2";a:5:{i:0;s:11:"50000000110";i:1;s:11:"50000000111";i:2;s:11:"50000000112";i:3;s:11:"50000000113";i:4;s:11:"50000000124";}}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:4:"mva2";a:5:{i:0;s:11:"50000000210";i:1;s:11:"50000000213";i:2;s:11:"50000000221";i:3;s:11:"50000000224";i:4;s:11:"50000000242";}}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:4:"mva2";a:5:{i:0;s:11:"50000000310";i:1;s:11:"50000000314";i:2;s:11:"50000000332";i:3;s:11:"50000000391";i:4;s:11:"50000000393";}}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:4:"mva2";a:5:{i:0;s:11:"50000000410";i:1;s:11:"50000000413";i:2;s:11:"50000000424";i:3;s:11:"50000000442";i:4;s:11:"50000000461";}}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:4:"mva2";a:0:{}}}i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:4:"mva2";a:0:{}}}i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:2:{i:0;i:4;i:1;i:5;}s:4:"mva2";a:0:{}}}i:8;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:4:"mva2";a:0:{}}}i:9;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:1:{i:0;i:4;}s:4:"mva2";a:0:{}}}i:10;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:4:"mva2";a:0:{}}}}s:5:"total";s:2:"10";s:11:"total_found";s:2:"10";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"dummy";}s:5:"attrs";a:3:{s:3:"tag";i:1;s:3:"mva";i:1073741825;s:4:"mva2";i:1073741826;}s:7:"matches";a:10:{i:10;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:4:"mva2";a:0:{}}}i:9;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:1:{i:0;i:4;}s:4:"mva2";a:0:{}}}i:8;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:4:"mva2";a:0:{}}}i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:2:{i:0;i:4;i:1;i:5;}s:4:"mva2";a:0:{}}}i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:4:"mva2";a:0:{}}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:4:"mva2";a:0:{}}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:4:"mva2";a:5:{i:0;s:11:"50000000410";i:1;s:11:"50000000413";i:2;s:11:"50000000424";i:3;s:11:"50000000442";i:4;s:11:"50000000461";}}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:4:"mva2";a:5:{i:0;s:11:"50000000310";i:1;s:11:"50000000314";i:2;s:11:"50000000332";i:3;s:11:"50000000391";i:4;s:11:"50000000393";}}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:4:"mva2";a:5:{i:0;s:11:"50000000210";i:1;s:11:"50000000213";i:2;s:11:"50000000221";i:3;s:11:"50000000224";i:4;s:11:"50000000242";}}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:4:"mva2";a:5:{i:0;s:11:"50000000110";i:1;s:11:"50000000111";i:2;s:11:"50000000112";i:3;s:11:"50000000113";i:4;s:11:"50000000124";}}}}s:5:"total";s:2:"10";s:11:"total_found";s:2:"10";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:22;a:3:{s:8:"sphinxql";s:19:"SELECT * FROM mva64";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"tag";s:2:"11";s:4:"mva1";s:59:"10000000110,10000000111,10000000112,10000000113,10000000124";s:4:"mva2";s:59:"50000000110,50000000111,50000000112,50000000113,50000000124";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"tag";s:2:"11";s:4:"mva1";s:59:"10000000210,10000000213,10000000221,10000000224,10000000242";s:4:"mva2";s:59:"50000000210,50000000213,50000000221,50000000224,50000000242";}i:2;a:4:{s:2:"id";s:1:"3";s:3:"tag";s:2:"11";s:4:"mva1";s:59:"10000000310,10000000314,10000000332,10000000391,10000000393";s:4:"mva2";s:59:"50000000310,50000000314,50000000332,50000000391,50000000393";}i:3;a:4:{s:2:"id";s:1:"4";s:3:"tag";s:2:"11";s:4:"mva1";s:59:"10000000410,10000000413,10000000424,10000000442,10000000461";s:4:"mva2";s:59:"50000000410,50000000413,50000000424,50000000442,50000000461";}}}i:23;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM mva64 ORDER BY id desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"4";s:3:"tag";s:2:"11";s:4:"mva1";s:59:"10000000410,10000000413,10000000424,10000000442,10000000461";s:4:"mva2";s:59:"50000000410,50000000413,50000000424,50000000442,50000000461";}i:1;a:4:{s:2:"id";s:1:"3";s:3:"tag";s:2:"11";s:4:"mva1";s:59:"10000000310,10000000314,10000000332,10000000391,10000000393";s:4:"mva2";s:59:"50000000310,50000000314,50000000332,50000000391,50000000393";}i:2;a:4:{s:2:"id";s:1:"2";s:3:"tag";s:2:"11";s:4:"mva1";s:59:"10000000210,10000000213,10000000221,10000000224,10000000242";s:4:"mva2";s:59:"50000000210,50000000213,50000000221,50000000224,50000000242";}i:3;a:4:{s:2:"id";s:1:"1";s:3:"tag";s:2:"11";s:4:"mva1";s:59:"10000000110,10000000111,10000000112,10000000113,10000000124";s:4:"mva2";s:59:"50000000110,50000000111,50000000112,50000000113,50000000124";}}}i:24;a:3:{s:8:"sphinxql";s:35:"SELECT * FROM mva64 ORDER BY id asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"tag";s:2:"11";s:4:"mva1";s:59:"10000000110,10000000111,10000000112,10000000113,10000000124";s:4:"mva2";s:59:"50000000110,50000000111,50000000112,50000000113,50000000124";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"tag";s:2:"11";s:4:"mva1";s:59:"10000000210,10000000213,10000000221,10000000224,10000000242";s:4:"mva2";s:59:"50000000210,50000000213,50000000221,50000000224,50000000242";}i:2;a:4:{s:2:"id";s:1:"3";s:3:"tag";s:2:"11";s:4:"mva1";s:59:"10000000310,10000000314,10000000332,10000000391,10000000393";s:4:"mva2";s:59:"50000000310,50000000314,50000000332,50000000391,50000000393";}i:3;a:4:{s:2:"id";s:1:"4";s:3:"tag";s:2:"11";s:4:"mva1";s:59:"10000000410,10000000413,10000000424,10000000442,10000000461";s:4:"mva2";s:59:"50000000410,50000000413,50000000424,50000000442,50000000461";}}}i:25;a:3:{s:8:"sphinxql";s:23:"SELECT * FROM mva_mixed";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"tag";s:2:"11";s:3:"mva";s:5:"1,2,3";s:4:"mva2";s:59:"50000000110,50000000111,50000000112,50000000113,50000000124";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"tag";s:2:"11";s:3:"mva";s:5:"3,4,5";s:4:"mva2";s:59:"50000000210,50000000213,50000000221,50000000224,50000000242";}i:2;a:4:{s:2:"id";s:1:"3";s:3:"tag";s:2:"11";s:3:"mva";s:5:"4,5,6";s:4:"mva2";s:59:"50000000310,50000000314,50000000332,50000000391,50000000393";}i:3;a:4:{s:2:"id";s:1:"4";s:3:"tag";s:2:"11";s:3:"mva";s:5:"1,2,3";s:4:"mva2";s:59:"50000000410,50000000413,50000000424,50000000442,50000000461";}i:4;a:4:{s:2:"id";s:1:"5";s:3:"tag";s:2:"11";s:3:"mva";s:3:"3,5";s:4:"mva2";s:0:"";}i:5;a:4:{s:2:"id";s:1:"6";s:3:"tag";s:2:"11";s:3:"mva";s:3:"3,5";s:4:"mva2";s:0:"";}i:6;a:4:{s:2:"id";s:1:"7";s:3:"tag";s:2:"11";s:3:"mva";s:3:"4,5";s:4:"mva2";s:0:"";}i:7;a:4:{s:2:"id";s:1:"8";s:3:"tag";s:2:"11";s:3:"mva";s:5:"4,5,6";s:4:"mva2";s:0:"";}i:8;a:4:{s:2:"id";s:1:"9";s:3:"tag";s:2:"11";s:3:"mva";s:1:"4";s:4:"mva2";s:0:"";}i:9;a:4:{s:2:"id";s:2:"10";s:3:"tag";s:2:"11";s:3:"mva";s:5:"3,4,5";s:4:"mva2";s:0:"";}}}i:26;a:3:{s:8:"sphinxql";s:53:"SELECT * FROM mva_mixed GROUP BY mva ORDER BY id desc";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:4:{s:2:"id";s:1:"3";s:3:"tag";s:2:"11";s:3:"mva";s:5:"4,5,6";s:4:"mva2";s:59:"50000000310,50000000314,50000000332,50000000391,50000000393";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"tag";s:2:"11";s:3:"mva";s:5:"3,4,5";s:4:"mva2";s:59:"50000000210,50000000213,50000000221,50000000224,50000000242";}i:2;a:4:{s:2:"id";s:1:"2";s:3:"tag";s:2:"11";s:3:"mva";s:5:"3,4,5";s:4:"mva2";s:59:"50000000210,50000000213,50000000221,50000000224,50000000242";}i:3;a:4:{s:2:"id";s:1:"1";s:3:"tag";s:2:"11";s:3:"mva";s:5:"1,2,3";s:4:"mva2";s:59:"50000000110,50000000111,50000000112,50000000113,50000000124";}i:4;a:4:{s:2:"id";s:1:"1";s:3:"tag";s:2:"11";s:3:"mva";s:5:"1,2,3";s:4:"mva2";s:59:"50000000110,50000000111,50000000112,50000000113,50000000124";}i:5;a:4:{s:2:"id";s:1:"1";s:3:"tag";s:2:"11";s:3:"mva";s:5:"1,2,3";s:4:"mva2";s:59:"50000000110,50000000111,50000000112,50000000113,50000000124";}}}i:27;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM mva_mixed ORDER BY id desc";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"tag";s:2:"11";s:3:"mva";s:5:"3,4,5";s:4:"mva2";s:0:"";}i:1;a:4:{s:2:"id";s:1:"9";s:3:"tag";s:2:"11";s:3:"mva";s:1:"4";s:4:"mva2";s:0:"";}i:2;a:4:{s:2:"id";s:1:"8";s:3:"tag";s:2:"11";s:3:"mva";s:5:"4,5,6";s:4:"mva2";s:0:"";}i:3;a:4:{s:2:"id";s:1:"7";s:3:"tag";s:2:"11";s:3:"mva";s:3:"4,5";s:4:"mva2";s:0:"";}i:4;a:4:{s:2:"id";s:1:"6";s:3:"tag";s:2:"11";s:3:"mva";s:3:"3,5";s:4:"mva2";s:0:"";}i:5;a:4:{s:2:"id";s:1:"5";s:3:"tag";s:2:"11";s:3:"mva";s:3:"3,5";s:4:"mva2";s:0:"";}i:6;a:4:{s:2:"id";s:1:"4";s:3:"tag";s:2:"11";s:3:"mva";s:5:"1,2,3";s:4:"mva2";s:59:"50000000410,50000000413,50000000424,50000000442,50000000461";}i:7;a:4:{s:2:"id";s:1:"3";s:3:"tag";s:2:"11";s:3:"mva";s:5:"4,5,6";s:4:"mva2";s:59:"50000000310,50000000314,50000000332,50000000391,50000000393";}i:8;a:4:{s:2:"id";s:1:"2";s:3:"tag";s:2:"11";s:3:"mva";s:5:"3,4,5";s:4:"mva2";s:59:"50000000210,50000000213,50000000221,50000000224,50000000242";}i:9;a:4:{s:2:"id";s:1:"1";s:3:"tag";s:2:"11";s:3:"mva";s:5:"1,2,3";s:4:"mva2";s:59:"50000000110,50000000111,50000000112,50000000113,50000000124";}}}}i:1;a:28:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741826;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:4:{i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:4;s:4:"time";i:1196510400;s:3:"mva";a:2:{i:0;i:4;i:1;i:5;}s:8:"@groupby";i:4;s:6:"@count";i:4;}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1120478400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:3;s:6:"@count";i:3;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:2;s:6:"@count";i:2;}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:1;s:6:"@count";i:1;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741826;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:1;s:6:"@count";i:1;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:2;s:6:"@count";i:2;}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1120478400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:3;s:6:"@count";i:3;}}i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:4;s:4:"time";i:1196510400;s:3:"mva";a:2:{i:0;i:4;i:1;i:5;}s:8:"@groupby";i:4;s:6:"@count";i:4;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741826;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:4:{i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:4;s:4:"time";i:1196510400;s:3:"mva";a:2:{i:0;i:4;i:1;i:5;}s:8:"@groupby";i:4;s:6:"@count";i:4;}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1120478400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:3;s:6:"@count";i:3;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:2;s:6:"@count";i:2;}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:1;s:6:"@count";i:1;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741826;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:1;s:6:"@count";i:1;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:2;s:6:"@count";i:2;}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1120478400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:3;s:6:"@count";i:3;}}i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:4;s:4:"time";i:1196510400;s:3:"mva";a:2:{i:0;i:4;i:1;i:5;}s:8:"@groupby";i:4;s:6:"@count";i:4;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741826;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:4:{i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:4;s:4:"time";i:1196510400;s:3:"mva";a:2:{i:0;i:4;i:1;i:5;}s:8:"@groupby";i:4;s:6:"@count";i:4;}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1120478400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:3;s:6:"@count";i:3;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:2;s:6:"@count";i:2;}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:1;s:6:"@count";i:1;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741826;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:6:{i:1;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:20071201;s:6:"@count";i:2;}}i:2;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:20060502;s:6:"@count";i:2;}}i:4;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1120478400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:20050704;s:6:"@count";i:2;}}i:3;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1117800000;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:8:"@groupby";i:20050603;s:6:"@count";i:2;}}i:6;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1062849600;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:8:"@groupby";i:20030906;s:6:"@count";i:1;}}i:5;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1062763200;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:8:"@groupby";i:20030905;s:6:"@count";i:1;}}}s:5:"total";s:1:"6";s:11:"total_found";s:1:"6";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741826;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:2007329;s:6:"@count";i:2;}}i:2;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:2006120;s:6:"@count";i:2;}}i:4;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1120478400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:2005184;s:6:"@count";i:2;}}i:3;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1117800000;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:8:"@groupby";i:2005149;s:6:"@count";i:2;}}i:5;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1062763200;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:8:"@groupby";i:2003243;s:6:"@count";i:2;}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741826;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:5:{i:1;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:200712;s:6:"@count";i:2;}}i:2;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:200605;s:6:"@count";i:2;}}i:4;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1120478400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:200507;s:6:"@count";i:2;}}i:3;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1117800000;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:8:"@groupby";i:200506;s:6:"@count";i:2;}}i:5;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1062763200;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:8:"@groupby";i:200309;s:6:"@count";i:2;}}}s:5:"total";s:1:"5";s:11:"total_found";s:1:"5";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741826;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:2007;s:6:"@count";i:2;}}i:2;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:2006;s:6:"@count";i:2;}}i:3;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1117800000;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:8:"@groupby";i:2005;s:6:"@count";i:4;}}i:5;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1062763200;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:8:"@groupby";i:2003;s:6:"@count";i:2;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741826;s:8:"@groupby";i:6;s:6:"@count";i:1;}s:7:"matches";a:6:{i:0;a:3:{s:2:"id";i:3;s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1117800000;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:8:"@groupby";i:6;s:6:"@count";i:2;}}i:1;a:3:{s:2:"id";i:2;s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:5;s:6:"@count";i:7;}}i:2;a:3:{s:2:"id";i:2;s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:4;s:6:"@count";i:6;}}i:3;a:3:{s:2:"id";i:1;s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:3;s:6:"@count";i:6;}}i:4;a:3:{s:2:"id";i:1;s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:2;s:6:"@count";i:2;}}i:5;a:3:{s:2:"id";i:1;s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:1;s:6:"@count";i:2;}}}s:5:"total";s:1:"6";s:11:"total_found";s:1:"6";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:1;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741826;s:8:"@groupby";i:6;s:6:"@count";i:1;}s:7:"matches";a:6:{i:0;a:3:{s:2:"id";i:1;s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:1;s:6:"@count";i:2;}}i:1;a:3:{s:2:"id";i:1;s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:2;s:6:"@count";i:2;}}i:2;a:3:{s:2:"id";i:1;s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:3;s:6:"@count";i:6;}}i:3;a:3:{s:2:"id";i:2;s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:4;s:6:"@count";i:6;}}i:4;a:3:{s:2:"id";i:2;s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:5;s:6:"@count";i:7;}}i:5;a:3:{s:2:"id";i:3;s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1117800000;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:8:"@groupby";i:6;s:6:"@count";i:2;}}}s:5:"total";s:1:"6";s:11:"total_found";s:1:"6";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:1;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:11;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:6:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741826;s:8:"@groupby";i:1;s:6:"@count";i:1;s:9:"@distinct";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:2007;s:6:"@count";i:2;s:9:"@distinct";i:2;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:2006;s:6:"@count";i:2;s:9:"@distinct";i:2;}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"tag";i:2;s:4:"time";i:1117800000;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:8:"@groupby";i:2005;s:6:"@count";i:4;s:9:"@distinct";i:3;}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"tag";i:3;s:4:"time";i:1062763200;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:8:"@groupby";i:2003;s:6:"@count";i:2;s:9:"@distinct";i:1;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:12;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:6:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741826;s:8:"@groupby";i:1;s:6:"@count";i:1;s:9:"@distinct";i:1;}s:7:"matches";a:4:{i:11;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"tag";i:21;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:2007;s:6:"@count";i:2;s:9:"@distinct";i:2;}}i:12;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"tag";i:22;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:2006;s:6:"@count";i:2;s:9:"@distinct";i:2;}}i:13;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"tag";i:22;s:4:"time";i:1117800000;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:8:"@groupby";i:2005;s:6:"@count";i:4;s:9:"@distinct";i:3;}}i:15;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"tag";i:23;s:4:"time";i:1062763200;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:8:"@groupby";i:2003;s:6:"@count";i:2;s:9:"@distinct";i:1;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:13;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:6:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741826;s:8:"@groupby";i:1;s:6:"@count";i:1;s:9:"@distinct";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:2007;s:6:"@count";i:4;s:9:"@distinct";i:4;}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"tag";i:2;s:4:"time";i:1146571200;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:8:"@groupby";i:2006;s:6:"@count";i:4;s:9:"@distinct";i:4;}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"tag";i:2;s:4:"time";i:1117800000;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:8:"@groupby";i:2005;s:6:"@count";i:8;s:9:"@distinct";i:6;}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"tag";i:3;s:4:"time";i:1062763200;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:8:"@groupby";i:2003;s:6:"@count";i:4;s:9:"@distinct";i:2;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:14;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:6:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741826;s:8:"@groupby";i:1;s:6:"@count";i:1;s:9:"@distinct";i:1;}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:2007;s:6:"@count";i:3;s:9:"@distinct";i:2;}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741826;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:8:"@groupby";i:1;s:6:"@count";i:1;}}i:3;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:2;s:4:"time";i:1117800000;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:8:"@groupby";i:2;s:6:"@count";i:2;}}i:5;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:3;s:4:"time";i:1062763200;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:8:"@groupby";i:3;s:6:"@count";i:3;}}i:9;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:5:{s:3:"tag";i:4;s:4:"time";i:1117800000;s:3:"mva";a:1:{i:0;i:4;}s:8:"@groupby";i:4;s:6:"@count";i:4;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:6:{s:3:"tag";i:1;s:4:"time";i:2;s:3:"mva";i:1073741826;s:1:"q";i:6;s:8:"@groupby";i:1;s:6:"@count";i:1;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:6:{s:3:"tag";i:1;s:4:"time";i:1196510400;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:1:"q";i:10;s:8:"@groupby";i:1;s:6:"@count";i:1;}}i:3;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:6:{s:3:"tag";i:2;s:4:"time";i:1117800000;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:1:"q";i:30;s:8:"@groupby";i:2;s:6:"@count";i:2;}}i:6;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:6:{s:3:"tag";i:3;s:4:"time";i:1062849600;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:1:"q";i:60;s:8:"@groupby";i:3;s:6:"@count";i:3;}}i:10;a:2:{s:6:"weight";s:4:"1281";s:5:"attrs";a:6:{s:3:"tag";i:4;s:4:"time";i:1120478400;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:1:"q";i:100;s:8:"@groupby";i:4;s:6:"@count";i:4;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"test*";a:2:{s:4:"docs";s:2:"10";s:4:"hits";s:2:"10";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"test*";}i:17;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"dummy";}s:5:"attrs";a:3:{s:3:"tag";i:1;s:4:"mva1";i:1073741826;s:4:"mva2";i:1073741826;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:4:"mva1";a:5:{i:0;s:11:"10000000110";i:1;s:11:"10000000111";i:2;s:11:"10000000112";i:3;s:11:"10000000113";i:4;s:11:"10000000124";}s:4:"mva2";a:5:{i:0;s:11:"50000000110";i:1;s:11:"50000000111";i:2;s:11:"50000000112";i:3;s:11:"50000000113";i:4;s:11:"50000000124";}}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:4:"mva1";a:5:{i:0;s:11:"10000000210";i:1;s:11:"10000000213";i:2;s:11:"10000000221";i:3;s:11:"10000000224";i:4;s:11:"10000000242";}s:4:"mva2";a:5:{i:0;s:11:"50000000210";i:1;s:11:"50000000213";i:2;s:11:"50000000221";i:3;s:11:"50000000224";i:4;s:11:"50000000242";}}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:4:"mva1";a:5:{i:0;s:11:"10000000310";i:1;s:11:"10000000314";i:2;s:11:"10000000332";i:3;s:11:"10000000391";i:4;s:11:"10000000393";}s:4:"mva2";a:5:{i:0;s:11:"50000000310";i:1;s:11:"50000000314";i:2;s:11:"50000000332";i:3;s:11:"50000000391";i:4;s:11:"50000000393";}}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:4:"mva1";a:5:{i:0;s:11:"10000000410";i:1;s:11:"10000000413";i:2;s:11:"10000000424";i:3;s:11:"10000000442";i:4;s:11:"10000000461";}s:4:"mva2";a:5:{i:0;s:11:"50000000410";i:1;s:11:"50000000413";i:2;s:11:"50000000424";i:3;s:11:"50000000442";i:4;s:11:"50000000461";}}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:18;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"dummy";}s:5:"attrs";a:3:{s:3:"tag";i:1;s:4:"mva1";i:1073741826;s:4:"mva2";i:1073741826;}s:7:"matches";a:4:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:4:"mva1";a:5:{i:0;s:11:"10000000110";i:1;s:11:"10000000111";i:2;s:11:"10000000112";i:3;s:11:"10000000113";i:4;s:11:"10000000124";}s:4:"mva2";a:5:{i:0;s:11:"50000000110";i:1;s:11:"50000000111";i:2;s:11:"50000000112";i:3;s:11:"50000000113";i:4;s:11:"50000000124";}}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:4:"mva1";a:5:{i:0;s:11:"10000000210";i:1;s:11:"10000000213";i:2;s:11:"10000000221";i:3;s:11:"10000000224";i:4;s:11:"10000000242";}s:4:"mva2";a:5:{i:0;s:11:"50000000210";i:1;s:11:"50000000213";i:2;s:11:"50000000221";i:3;s:11:"50000000224";i:4;s:11:"50000000242";}}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:4:"mva1";a:5:{i:0;s:11:"10000000310";i:1;s:11:"10000000314";i:2;s:11:"10000000332";i:3;s:11:"10000000391";i:4;s:11:"10000000393";}s:4:"mva2";a:5:{i:0;s:11:"50000000310";i:1;s:11:"50000000314";i:2;s:11:"50000000332";i:3;s:11:"50000000391";i:4;s:11:"50000000393";}}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:4:"mva1";a:5:{i:0;s:11:"10000000410";i:1;s:11:"10000000413";i:2;s:11:"10000000424";i:3;s:11:"10000000442";i:4;s:11:"10000000461";}s:4:"mva2";a:5:{i:0;s:11:"50000000410";i:1;s:11:"50000000413";i:2;s:11:"50000000424";i:3;s:11:"50000000442";i:4;s:11:"50000000461";}}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:19;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"dummy";}s:5:"attrs";a:3:{s:3:"tag";i:1;s:4:"mva1";i:1073741826;s:4:"mva2";i:1073741826;}s:7:"matches";a:4:{i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:4:"mva1";a:5:{i:0;s:11:"10000000410";i:1;s:11:"10000000413";i:2;s:11:"10000000424";i:3;s:11:"10000000442";i:4;s:11:"10000000461";}s:4:"mva2";a:5:{i:0;s:11:"50000000410";i:1;s:11:"50000000413";i:2;s:11:"50000000424";i:3;s:11:"50000000442";i:4;s:11:"50000000461";}}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:4:"mva1";a:5:{i:0;s:11:"10000000310";i:1;s:11:"10000000314";i:2;s:11:"10000000332";i:3;s:11:"10000000391";i:4;s:11:"10000000393";}s:4:"mva2";a:5:{i:0;s:11:"50000000310";i:1;s:11:"50000000314";i:2;s:11:"50000000332";i:3;s:11:"50000000391";i:4;s:11:"50000000393";}}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:4:"mva1";a:5:{i:0;s:11:"10000000210";i:1;s:11:"10000000213";i:2;s:11:"10000000221";i:3;s:11:"10000000224";i:4;s:11:"10000000242";}s:4:"mva2";a:5:{i:0;s:11:"50000000210";i:1;s:11:"50000000213";i:2;s:11:"50000000221";i:3;s:11:"50000000224";i:4;s:11:"50000000242";}}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:4:"mva1";a:5:{i:0;s:11:"10000000110";i:1;s:11:"10000000111";i:2;s:11:"10000000112";i:3;s:11:"10000000113";i:4;s:11:"10000000124";}s:4:"mva2";a:5:{i:0;s:11:"50000000110";i:1;s:11:"50000000111";i:2;s:11:"50000000112";i:3;s:11:"50000000113";i:4;s:11:"50000000124";}}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:20;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"dummy";}s:5:"attrs";a:3:{s:3:"tag";i:1;s:3:"mva";i:1073741825;s:4:"mva2";i:1073741826;}s:7:"matches";a:10:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:4:"mva2";a:5:{i:0;s:11:"50000000110";i:1;s:11:"50000000111";i:2;s:11:"50000000112";i:3;s:11:"50000000113";i:4;s:11:"50000000124";}}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:4:"mva2";a:5:{i:0;s:11:"50000000210";i:1;s:11:"50000000213";i:2;s:11:"50000000221";i:3;s:11:"50000000224";i:4;s:11:"50000000242";}}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:4:"mva2";a:5:{i:0;s:11:"50000000310";i:1;s:11:"50000000314";i:2;s:11:"50000000332";i:3;s:11:"50000000391";i:4;s:11:"50000000393";}}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:4:"mva2";a:5:{i:0;s:11:"50000000410";i:1;s:11:"50000000413";i:2;s:11:"50000000424";i:3;s:11:"50000000442";i:4;s:11:"50000000461";}}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:4:"mva2";a:0:{}}}i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:4:"mva2";a:0:{}}}i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:2:{i:0;i:4;i:1;i:5;}s:4:"mva2";a:0:{}}}i:8;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:4:"mva2";a:0:{}}}i:9;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:1:{i:0;i:4;}s:4:"mva2";a:0:{}}}i:10;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:4:"mva2";a:0:{}}}}s:5:"total";s:2:"10";s:11:"total_found";s:2:"10";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:5:"dummy";}s:5:"attrs";a:3:{s:3:"tag";i:1;s:3:"mva";i:1073741825;s:4:"mva2";i:1073741826;}s:7:"matches";a:10:{i:10;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:4:"mva2";a:0:{}}}i:9;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:1:{i:0;i:4;}s:4:"mva2";a:0:{}}}i:8;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:4:"mva2";a:0:{}}}i:7;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:2:{i:0;i:4;i:1;i:5;}s:4:"mva2";a:0:{}}}i:6;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:4:"mva2";a:0:{}}}i:5;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:2:{i:0;i:3;i:1;i:5;}s:4:"mva2";a:0:{}}}i:4;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:4:"mva2";a:5:{i:0;s:11:"50000000410";i:1;s:11:"50000000413";i:2;s:11:"50000000424";i:3;s:11:"50000000442";i:4;s:11:"50000000461";}}}i:3;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:4;i:1;i:5;i:2;i:6;}s:4:"mva2";a:5:{i:0;s:11:"50000000310";i:1;s:11:"50000000314";i:2;s:11:"50000000332";i:3;s:11:"50000000391";i:4;s:11:"50000000393";}}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:3;i:1;i:4;i:2;i:5;}s:4:"mva2";a:5:{i:0;s:11:"50000000210";i:1;s:11:"50000000213";i:2;s:11:"50000000221";i:3;s:11:"50000000224";i:4;s:11:"50000000242";}}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:3:{s:3:"tag";i:11;s:3:"mva";a:3:{i:0;i:1;i:1;i:2;i:2;i:3;}s:4:"mva2";a:5:{i:0;s:11:"50000000110";i:1;s:11:"50000000111";i:2;s:11:"50000000112";i:3;s:11:"50000000113";i:4;s:11:"50000000124";}}}}s:5:"total";s:2:"10";s:11:"total_found";s:2:"10";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}i:22;a:3:{s:8:"sphinxql";s:19:"SELECT * FROM mva64";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"tag";s:2:"11";s:4:"mva1";s:59:"10000000110,10000000111,10000000112,10000000113,10000000124";s:4:"mva2";s:59:"50000000110,50000000111,50000000112,50000000113,50000000124";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"tag";s:2:"11";s:4:"mva1";s:59:"10000000210,10000000213,10000000221,10000000224,10000000242";s:4:"mva2";s:59:"50000000210,50000000213,50000000221,50000000224,50000000242";}i:2;a:4:{s:2:"id";s:1:"3";s:3:"tag";s:2:"11";s:4:"mva1";s:59:"10000000310,10000000314,10000000332,10000000391,10000000393";s:4:"mva2";s:59:"50000000310,50000000314,50000000332,50000000391,50000000393";}i:3;a:4:{s:2:"id";s:1:"4";s:3:"tag";s:2:"11";s:4:"mva1";s:59:"10000000410,10000000413,10000000424,10000000442,10000000461";s:4:"mva2";s:59:"50000000410,50000000413,50000000424,50000000442,50000000461";}}}i:23;a:3:{s:8:"sphinxql";s:36:"SELECT * FROM mva64 ORDER BY id desc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"4";s:3:"tag";s:2:"11";s:4:"mva1";s:59:"10000000410,10000000413,10000000424,10000000442,10000000461";s:4:"mva2";s:59:"50000000410,50000000413,50000000424,50000000442,50000000461";}i:1;a:4:{s:2:"id";s:1:"3";s:3:"tag";s:2:"11";s:4:"mva1";s:59:"10000000310,10000000314,10000000332,10000000391,10000000393";s:4:"mva2";s:59:"50000000310,50000000314,50000000332,50000000391,50000000393";}i:2;a:4:{s:2:"id";s:1:"2";s:3:"tag";s:2:"11";s:4:"mva1";s:59:"10000000210,10000000213,10000000221,10000000224,10000000242";s:4:"mva2";s:59:"50000000210,50000000213,50000000221,50000000224,50000000242";}i:3;a:4:{s:2:"id";s:1:"1";s:3:"tag";s:2:"11";s:4:"mva1";s:59:"10000000110,10000000111,10000000112,10000000113,10000000124";s:4:"mva2";s:59:"50000000110,50000000111,50000000112,50000000113,50000000124";}}}i:24;a:3:{s:8:"sphinxql";s:35:"SELECT * FROM mva64 ORDER BY id asc";s:10:"total_rows";i:4;s:4:"rows";a:4:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"tag";s:2:"11";s:4:"mva1";s:59:"10000000110,10000000111,10000000112,10000000113,10000000124";s:4:"mva2";s:59:"50000000110,50000000111,50000000112,50000000113,50000000124";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"tag";s:2:"11";s:4:"mva1";s:59:"10000000210,10000000213,10000000221,10000000224,10000000242";s:4:"mva2";s:59:"50000000210,50000000213,50000000221,50000000224,50000000242";}i:2;a:4:{s:2:"id";s:1:"3";s:3:"tag";s:2:"11";s:4:"mva1";s:59:"10000000310,10000000314,10000000332,10000000391,10000000393";s:4:"mva2";s:59:"50000000310,50000000314,50000000332,50000000391,50000000393";}i:3;a:4:{s:2:"id";s:1:"4";s:3:"tag";s:2:"11";s:4:"mva1";s:59:"10000000410,10000000413,10000000424,10000000442,10000000461";s:4:"mva2";s:59:"50000000410,50000000413,50000000424,50000000442,50000000461";}}}i:25;a:3:{s:8:"sphinxql";s:23:"SELECT * FROM mva_mixed";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:4:{s:2:"id";s:1:"1";s:3:"tag";s:2:"11";s:3:"mva";s:5:"1,2,3";s:4:"mva2";s:59:"50000000110,50000000111,50000000112,50000000113,50000000124";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"tag";s:2:"11";s:3:"mva";s:5:"3,4,5";s:4:"mva2";s:59:"50000000210,50000000213,50000000221,50000000224,50000000242";}i:2;a:4:{s:2:"id";s:1:"3";s:3:"tag";s:2:"11";s:3:"mva";s:5:"4,5,6";s:4:"mva2";s:59:"50000000310,50000000314,50000000332,50000000391,50000000393";}i:3;a:4:{s:2:"id";s:1:"4";s:3:"tag";s:2:"11";s:3:"mva";s:5:"1,2,3";s:4:"mva2";s:59:"50000000410,50000000413,50000000424,50000000442,50000000461";}i:4;a:4:{s:2:"id";s:1:"5";s:3:"tag";s:2:"11";s:3:"mva";s:3:"3,5";s:4:"mva2";s:0:"";}i:5;a:4:{s:2:"id";s:1:"6";s:3:"tag";s:2:"11";s:3:"mva";s:3:"3,5";s:4:"mva2";s:0:"";}i:6;a:4:{s:2:"id";s:1:"7";s:3:"tag";s:2:"11";s:3:"mva";s:3:"4,5";s:4:"mva2";s:0:"";}i:7;a:4:{s:2:"id";s:1:"8";s:3:"tag";s:2:"11";s:3:"mva";s:5:"4,5,6";s:4:"mva2";s:0:"";}i:8;a:4:{s:2:"id";s:1:"9";s:3:"tag";s:2:"11";s:3:"mva";s:1:"4";s:4:"mva2";s:0:"";}i:9;a:4:{s:2:"id";s:2:"10";s:3:"tag";s:2:"11";s:3:"mva";s:5:"3,4,5";s:4:"mva2";s:0:"";}}}i:26;a:3:{s:8:"sphinxql";s:53:"SELECT * FROM mva_mixed GROUP BY mva ORDER BY id desc";s:10:"total_rows";i:6;s:4:"rows";a:6:{i:0;a:4:{s:2:"id";s:1:"3";s:3:"tag";s:2:"11";s:3:"mva";s:5:"4,5,6";s:4:"mva2";s:59:"50000000310,50000000314,50000000332,50000000391,50000000393";}i:1;a:4:{s:2:"id";s:1:"2";s:3:"tag";s:2:"11";s:3:"mva";s:5:"3,4,5";s:4:"mva2";s:59:"50000000210,50000000213,50000000221,50000000224,50000000242";}i:2;a:4:{s:2:"id";s:1:"2";s:3:"tag";s:2:"11";s:3:"mva";s:5:"3,4,5";s:4:"mva2";s:59:"50000000210,50000000213,50000000221,50000000224,50000000242";}i:3;a:4:{s:2:"id";s:1:"1";s:3:"tag";s:2:"11";s:3:"mva";s:5:"1,2,3";s:4:"mva2";s:59:"50000000110,50000000111,50000000112,50000000113,50000000124";}i:4;a:4:{s:2:"id";s:1:"1";s:3:"tag";s:2:"11";s:3:"mva";s:5:"1,2,3";s:4:"mva2";s:59:"50000000110,50000000111,50000000112,50000000113,50000000124";}i:5;a:4:{s:2:"id";s:1:"1";s:3:"tag";s:2:"11";s:3:"mva";s:5:"1,2,3";s:4:"mva2";s:59:"50000000110,50000000111,50000000112,50000000113,50000000124";}}}i:27;a:3:{s:8:"sphinxql";s:40:"SELECT * FROM mva_mixed ORDER BY id desc";s:10:"total_rows";i:10;s:4:"rows";a:10:{i:0;a:4:{s:2:"id";s:2:"10";s:3:"tag";s:2:"11";s:3:"mva";s:5:"3,4,5";s:4:"mva2";s:0:"";}i:1;a:4:{s:2:"id";s:1:"9";s:3:"tag";s:2:"11";s:3:"mva";s:1:"4";s:4:"mva2";s:0:"";}i:2;a:4:{s:2:"id";s:1:"8";s:3:"tag";s:2:"11";s:3:"mva";s:5:"4,5,6";s:4:"mva2";s:0:"";}i:3;a:4:{s:2:"id";s:1:"7";s:3:"tag";s:2:"11";s:3:"mva";s:3:"4,5";s:4:"mva2";s:0:"";}i:4;a:4:{s:2:"id";s:1:"6";s:3:"tag";s:2:"11";s:3:"mva";s:3:"3,5";s:4:"mva2";s:0:"";}i:5;a:4:{s:2:"id";s:1:"5";s:3:"tag";s:2:"11";s:3:"mva";s:3:"3,5";s:4:"mva2";s:0:"";}i:6;a:4:{s:2:"id";s:1:"4";s:3:"tag";s:2:"11";s:3:"mva";s:5:"1,2,3";s:4:"mva2";s:59:"50000000410,50000000413,50000000424,50000000442,50000000461";}i:7;a:4:{s:2:"id";s:1:"3";s:3:"tag";s:2:"11";s:3:"mva";s:5:"4,5,6";s:4:"mva2";s:59:"50000000310,50000000314,50000000332,50000000391,50000000393";}i:8;a:4:{s:2:"id";s:1:"2";s:3:"tag";s:2:"11";s:3:"mva";s:5:"3,4,5";s:4:"mva2";s:59:"50000000210,50000000213,50000000221,50000000224,50000000242";}i:9;a:4:{s:2:"id";s:1:"1";s:3:"tag";s:2:"11";s:3:"mva";s:5:"1,2,3";s:4:"mva2";s:59:"50000000110,50000000111,50000000112,50000000113,50000000124";}}}}}sphinx-2.2.11-release/test/test_019/0000755000175000017500000000000012743402012016406 5ustar alexeyalexeysphinx-2.2.11-release/test/test_019/test.xml0000644000175000017500000002250412743402012020112 0ustar alexeyalexey extended queries indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query = SELECT * FROM test_table where document_id < 1000 sql_query_pre = SET NAMES utf8 } index test { source = srctest path = /test min_word_len = 2 ngram_chars = U+4E00..U+9FBF, U+3400..U+4DBF, U+20000..U+2A6DF, U+F900..U+FAFF,U+2F800..U+2FA1F, U+2E80..U+2EFF, U+2F00..U+2FDF, U+3100..U+312F, U+31A0..U+31BF,U+3040..U+309F, U+30A0..U+30FF, U+31F0..U+31FF, U+AC00..U+D7AF, U+1100..U+11FF,U+3130..U+318F, U+A000..U+A48F, U+A490..U+A4CF ngram_len = 1 charset_table = U+FF10..U+FF19->0..9, 0..9, U+FF41..U+FF5A->a..z, U+FF21..U+FF3A->a..z,A..Z->a..z, a..z, U+0149, U+017F, U+0138, U+00DF, U+00FF, U+00C0..U+00D6->U+00E0..U+00F6,U+00E0..U+00F6, U+00D8..U+00DE->U+00F8..U+00FE, U+00F8..U+00FE, U+0100->U+0101, U+0101,U+0102->U+0103, U+0103, U+0104->U+0105, U+0105, U+0106->U+0107, U+0107, U+0108->U+0109,U+0109, U+010A->U+010B, U+010B, U+010C->U+010D, U+010D, U+010E->U+010F, U+010F,U+0110->U+0111, U+0111, U+0112->U+0113, U+0113, U+0114->U+0115, U+0115, U+0116->U+0117,U+0117, U+0118->U+0119, U+0119, U+011A->U+011B, U+011B, U+011C->U+011D, U+011D,U+011E->U+011F, U+011F, U+0130->U+0131, U+0131, U+0132->U+0133, U+0133, U+0134->U+0135,U+0135, U+0136->U+0137, U+0137, U+0139->U+013A, U+013A, U+013B->U+013C, U+013C,U+013D->U+013E, U+013E, U+013F->U+0140, U+0140, U+0141->U+0142, U+0142, U+0143->U+0144,U+0144, U+0145->U+0146, U+0146, U+0147->U+0148, U+0148, U+014A->U+014B, U+014B,U+014C->U+014D, U+014D, U+014E->U+014F, U+014F, U+0150->U+0151, U+0151, U+0152->U+0153,U+0153, U+0154->U+0155, U+0155, U+0156->U+0157, U+0157, U+0158->U+0159, U+0159,U+015A->U+015B, U+015B, U+015C->U+015D, U+015D, U+015E->U+015F, U+015F, U+0160->U+0161,U+0161, U+0162->U+0163, U+0163, U+0164->U+0165, U+0165, U+0166->U+0167, U+0167,U+0168->U+0169, U+0169, U+016A->U+016B, U+016B, U+016C->U+016D, U+016D, U+016E->U+016F,U+016F, U+0170->U+0171, U+0171, U+0172->U+0173, U+0173, U+0174->U+0175, U+0175,U+0176->U+0177, U+0177, U+0178->U+00FF, U+00FF, U+0179->U+017A, U+017A, U+017B->U+017C,U+017C, U+017D->U+017E, U+017E, U+0410..U+042F->U+0430..U+044F, U+0430..U+044F,U+05D0..U+05EA, U+0531..U+0556->U+0561..U+0586, U+0561..U+0587, U+0621..U+063A, U+01B9,U+01BF, U+0640..U+064A, U+0660..U+0669, U+066E, U+066F, U+0671..U+06D3, U+06F0..U+06FF,U+0904..U+0939, U+0958..U+095F, U+0960..U+0963, U+0966..U+096F, U+097B..U+097F,U+0985..U+09B9, U+09CE, U+09DC..U+09E3, U+09E6..U+09EF, U+0A05..U+0A39, U+0A59..U+0A5E,U+0A66..U+0A6F, U+0A85..U+0AB9, U+0AE0..U+0AE3, U+0AE6..U+0AEF, U+0B05..U+0B39,U+0B5C..U+0B61, U+0B66..U+0B6F, U+0B71, U+0B85..U+0BB9, U+0BE6..U+0BF2, U+0C05..U+0C39,U+0C66..U+0C6F, U+0C85..U+0CB9, U+0CDE..U+0CE3, U+0CE6..U+0CEF, U+0D05..U+0D39, U+0D60,U+0D61, U+0D66..U+0D6F, U+0D85..U+0DC6, U+1900..U+1938, U+1946..U+194F, U+A800..U+A805,U+A807..U+A822, U+0386->U+03B1, U+03AC->U+03B1, U+0388->U+03B5, U+03AD->U+03B5,U+0389->U+03B7, U+03AE->U+03B7, U+038A->U+03B9, U+0390->U+03B9, U+03AA->U+03B9,U+03AF->U+03B9, U+03CA->U+03B9, U+038C->U+03BF, U+03CC->U+03BF, U+038E->U+03C5,U+03AB->U+03C5, U+03B0->U+03C5, U+03CB->U+03C5, U+03CD->U+03C5, U+038F->U+03C9,U+03CE->U+03C9, U+03C2->U+03C3, U+0391..U+03A1->U+03B1..U+03C1,U+03A3..U+03A9->U+03C3..U+03C9, U+03B1..U+03C1, U+03C3..U+03C9, U+0E01..U+0E2E,U+0E30..U+0E3A, U+0E40..U+0E45, U+0E47, U+0E50..U+0E59, U+A000..U+A48F, U+4E00..U+9FBF,U+3400..U+4DBF, U+20000..U+2A6DF, U+F900..U+FAFF, U+2F800..U+2FA1F, U+2E80..U+2EFF,U+2F00..U+2FDF, U+3100..U+312F, U+31A0..U+31BF, U+3040..U+309F, U+30A0..U+30FF,U+31F0..U+31FF, U+AC00..U+D7AF, U+1100..U+11FF, U+3130..U+318F, U+A000..U+A48F,U+A490..U+A4CF } source src_fld { type = mysql sql_query = SELECT *, 11 as idd FROM test_table where document_id > 999 sql_query_pre = SET NAMES utf8 sql_attr_uint = idd } index fld { source = src_fld path = /fld docinfo = extern } basic query "phrase query" "phrase (query)/3 ~on steroids" @title sample @body world "quorum query test"/1 "quorum query test"/4 "hello program"~3 "hello program"~4 basic | china "test program" | basic "test that"~3 | basic "test that"~3|basic @title sample @body -basic -basic|perl sample -basic|perl sample 77 0077 @title test @!title aaa @!(title,body) aaa @@relaxed @!nonexistent test @ttitle test @@title test @@relaxed @ttitle test "" @title "" ("") "phrase (!query)/ ~on @steroids" 1234567812345678 1 -word@#1215 1-word@#1215 canon 16 35 canon 16-35 select * from fld where match ( '@title spec1 @body dummy1' ) order by id asc select * from fld where match ( '@title ( ( spec2 ) (dummy2) | text2 ) ' ) order by id asc select * from fld where match ( '@title ( ( spec3 ) @body (dummy3) | text3 ) ' ) order by id asc select * from fld where match ( '@title ( ( spec4 ) (dummy4) | @body text4 ) ' ) order by id asc select * from fld where match ( '@title ( ( spec4 ) (dummy4) @body text4 ) ' ) order by id asc select * from fld where match ( '@title ( ( spec4 ) dummy4 | @body text4 ) ' ) order by id asc select * from fld where match ( '@title ( ( spec4 ) dummy4 @body text4 ) ' ) order by id asc select * from fld where match ( '@title ( ( spec5 ) @body (dummy5) | text5 ) of my ' ) order by id asc select * from fld where match ( 'jolly rodger ;)' ) select * from fld where match ( '(((((((((( crashing 9 brackets') select * from fld where match ( '@title(spec1 absentword) | @body(dummy1)' ) and id=1000 option ranker='wordcount', field_weights=(title=1000, body=1) select * from fld where match ( 'one | !two' ) select * from test where match ( '@@relaxed ((@title sample) | (@ttitle sample) (@body program -in )) ' ) select * from test where match ( '@@relaxed ((@ttitle sample) | (@title sample) (@body program -in )) ' ) select * from test where match ( '@@relaxed ((@ttitle sample) | (@ttitle sample) (@body program -in )) ' ) CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `title` varchar(255) NOT NULL default '', `body` varchar(255) NOT NULL default '' ) CHARACTER SET utf8 DROP TABLE IF EXISTS `test_table` SET NAMES utf8 INSERT INTO `test_table` VALUES ( 111, '', 'basic query' ), ( 222, '', 'phrase query on steroids' ), ( 333, 'sample program', 'this is a test program that prints out "hello world" to the console' ), ( 444, '', 'china 吐我' ), ( 555, 'sample program two', 'something written in basic | canon ef 16-35 lens' ), ( 666, 'sample program three', 'something written in perl' ), ( 777, '', '77 lies multiplied by 77' ), ( 888, '', 'agent 0077' ), ( 999, '', '1234567812345678' ), ( 901, 'aaa', 'aaa' ), ( 902, 'aaa', '' ), ( 903, '', 'aaa' ), (1000, 'spec1', 'dummy1' ), (1001, 'spec1 dummy1', '' ), (1002, '', 'spec1 dummy1' ), (1003, 'spec2 dummy2 text2', '' ), (1004, 'spec2', 'dummy2 text2' ), (1005, 'spec3', 'dummy3 text3' ), (1006, 'spec3 dummy3 text3', 'spec3' ), (1007, 'spec4 dummy4', 'text4' ), (1008, 'spec4', 'dummy4 text4' ), (1009, 'spec5 of my', 'dummy5' ), (1010, 'spec5', 'of my text5' ) sphinx-2.2.11-release/test/test_019/model.bin0000644000175000017500000004612212743402012020205 0ustar alexeyalexeya:1:{i:0;a:50:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:111;a:2:{s:6:"weight";s:4:"2651";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"basic";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:5:"query";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"basic query";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:222;a:2:{s:6:"weight";s:4:"2685";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"phrase";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"query";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:""phrase query"";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.002";s:5:"words";a:4:{s:6:"phrase";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"query";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"on";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:8:"steroids";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:31:""phrase (query)/3 ~on steroids"";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:333;a:2:{s:6:"weight";s:4:"2663";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"sample";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:5:"world";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:25:"@title sample @body world";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:333;a:2:{s:6:"weight";s:4:"1573";s:5:"attrs";a:0:{}}i:111;a:2:{s:6:"weight";s:4:"1550";s:5:"attrs";a:0:{}}i:222;a:2:{s:6:"weight";s:4:"1550";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:6:"quorum";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"query";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:21:""quorum query test"/1";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:90:"quorum threshold too high (words=3, thresh=4); replacing quorum operator with AND operator";s:6:"status";i:3;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:6:"quorum";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}s:5:"query";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:21:""quorum query test"/4";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"program";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:""hello program"~3";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:333;a:2:{s:6:"weight";s:4:"1683";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"hello";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"program";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:""hello program"~4";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:444;a:2:{s:6:"weight";s:4:"1720";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"吐";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"吐";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:444;a:2:{s:6:"weight";s:4:"1720";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"我";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"我";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:444;a:2:{s:6:"weight";s:4:"1610";s:5:"attrs";a:0:{}}i:111;a:2:{s:6:"weight";s:4:"1575";s:5:"attrs";a:0:{}}i:555;a:2:{s:6:"weight";s:4:"1575";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:5:"basic";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:5:"china";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:"basic | china";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:333;a:2:{s:6:"weight";s:4:"2622";s:5:"attrs";a:0:{}}i:111;a:2:{s:6:"weight";s:4:"1550";s:5:"attrs";a:0:{}}i:555;a:2:{s:6:"weight";s:4:"1550";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:7:"program";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"4";}s:5:"basic";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:""test program" | basic";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:333;a:2:{s:6:"weight";s:4:"1646";s:5:"attrs";a:0:{}}i:111;a:2:{s:6:"weight";s:4:"1550";s:5:"attrs";a:0:{}}i:555;a:2:{s:6:"weight";s:4:"1550";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"that";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"basic";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:21:""test that"~3 | basic";}i:13;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:333;a:2:{s:6:"weight";s:4:"1646";s:5:"attrs";a:0:{}}i:111;a:2:{s:6:"weight";s:4:"1550";s:5:"attrs";a:0:{}}i:555;a:2:{s:6:"weight";s:4:"1550";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:4:"that";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"basic";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:19:""test that"~3|basic";}i:14;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:333;a:2:{s:6:"weight";s:4:"1553";s:5:"attrs";a:0:{}}i:666;a:2:{s:6:"weight";s:4:"1553";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:6:"sample";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:5:"basic";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:26:"@title sample @body -basic";}i:15;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:333;a:2:{s:6:"weight";s:4:"1535";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"basic";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:4:"perl";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:6:"sample";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:"-basic|perl sample";}i:16;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:333;a:2:{s:6:"weight";s:4:"1535";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"basic";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:4:"perl";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:6:"sample";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:"-basic|perl sample";}i:17;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:777;a:2:{s:6:"weight";s:4:"1802";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{i:77;a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"77";}i:18;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:888;a:2:{s:6:"weight";s:4:"1720";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"0077";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"0077";}i:19;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"@title test";}i:20;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:901;a:2:{s:6:"weight";s:4:"1646";s:5:"attrs";a:0:{}}i:903;a:2:{s:6:"weight";s:4:"1606";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"aaa";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"@!title aaa";}i:21;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"aaa";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:18:"@!(title,body) aaa";}i:22;a:13:{s:5:"error";s:0:"";s:7:"warning";s:53:"query warning: no field 'nonexistent' found in schema";s:6:"status";i:3;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:333;a:2:{s:6:"weight";s:4:"1720";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:28:"@@relaxed @!nonexistent test";}i:23;a:6:{s:5:"query";s:12:"@ttitle test";s:5:"error";s:58:"index test: query error: no field 'ttitle' found in schema";s:7:"warning";s:0:"";s:5:"total";i:0;s:11:"total_found";i:0;s:4:"time";i:0;}i:24;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"@@title test";}i:25;a:12:{s:5:"error";s:0:"";s:7:"warning";s:48:"query warning: no field 'ttitle' found in schema";s:6:"status";i:3;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"test";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:22:"@@relaxed @ttitle test";}i:26;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"""";}i:27;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"@title """;}i:28;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"("")";}i:29;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:222;a:2:{s:6:"weight";s:4:"4702";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:4:{s:6:"phrase";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"query";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:2:"on";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:8:"steroids";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:32:""phrase (!query)/ ~on @steroids"";}i:30;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:999;a:2:{s:6:"weight";s:4:"1720";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:16:"1234567812345678";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"1234567812345678";}i:31;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:4:"word";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:1215;a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:"1 -word@#1215";}i:32;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:2:{s:4:"word";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}i:1215;a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:12:"1-word@#1215";}i:33;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:555;a:2:{s:6:"weight";s:4:"2720";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"canon";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}i:16;a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}i:35;a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"canon 16 35";}i:34;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:2:{i:0;s:5:"title";i:1;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:555;a:2:{s:6:"weight";s:4:"2720";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:5:"canon";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}i:16;a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}i:35;a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"canon 16-35";}i:35;a:3:{s:8:"sphinxql";s:77:"select * from fld where match ( '@title spec1 @body dummy1' ) order by id asc";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:4:"1000";s:3:"idd";s:2:"11";}}}i:36;a:3:{s:8:"sphinxql";s:90:"select * from fld where match ( '@title ( ( spec2 ) (dummy2) | text2 ) ' ) order by id asc";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:4:"1003";s:3:"idd";s:2:"11";}}}i:37;a:3:{s:8:"sphinxql";s:96:"select * from fld where match ( '@title ( ( spec3 ) @body (dummy3) | text3 ) ' ) order by id asc";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:4:"1005";s:3:"idd";s:2:"11";}}}i:38;a:3:{s:8:"sphinxql";s:96:"select * from fld where match ( '@title ( ( spec4 ) (dummy4) | @body text4 ) ' ) order by id asc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:4:"1007";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:4:"1008";s:3:"idd";s:2:"11";}}}i:39;a:3:{s:8:"sphinxql";s:94:"select * from fld where match ( '@title ( ( spec4 ) (dummy4) @body text4 ) ' ) order by id asc";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:4:"1007";s:3:"idd";s:2:"11";}}}i:40;a:3:{s:8:"sphinxql";s:94:"select * from fld where match ( '@title ( ( spec4 ) dummy4 | @body text4 ) ' ) order by id asc";s:10:"total_rows";i:2;s:4:"rows";a:2:{i:0;a:2:{s:2:"id";s:4:"1007";s:3:"idd";s:2:"11";}i:1;a:2:{s:2:"id";s:4:"1008";s:3:"idd";s:2:"11";}}}i:41;a:3:{s:8:"sphinxql";s:92:"select * from fld where match ( '@title ( ( spec4 ) dummy4 @body text4 ) ' ) order by id asc";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:4:"1007";s:3:"idd";s:2:"11";}}}i:42;a:3:{s:8:"sphinxql";s:102:"select * from fld where match ( '@title ( ( spec5 ) @body (dummy5) | text5 ) of my ' ) order by id asc";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:4:"1009";s:3:"idd";s:2:"11";}}}i:43;a:3:{s:8:"sphinxql";s:51:"select * from fld where match ( 'jolly rodger ;)' )";s:5:"error";s:49:"index fld: syntax error, unexpected ')' near ';)'";s:5:"errno";i:1064;}i:44;a:3:{s:8:"sphinxql";s:65:"select * from fld where match ( '(((((((((( crashing 9 brackets')";s:5:"error";s:48:"index fld: syntax error, unexpected $end near ''";s:5:"errno";i:1064;}i:45;a:3:{s:8:"sphinxql";s:150:"select * from fld where match ( '@title(spec1 absentword) | @body(dummy1)' ) and id=1000 option ranker='wordcount', field_weights=(title=1000, body=1)";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:2:{s:2:"id";s:4:"1000";s:3:"idd";s:2:"11";}}}i:46;a:3:{s:8:"sphinxql";s:46:"select * from fld where match ( 'one | !two' )";s:5:"error";s:52:"index fld: syntax error, unexpected '!' near ' !two'";s:5:"errno";i:1064;}i:47;a:3:{s:8:"sphinxql";s:105:"select * from test where match ( '@@relaxed ((@title sample) | (@ttitle sample) (@body program -in )) ' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"333";}}}i:48;a:3:{s:8:"sphinxql";s:105:"select * from test where match ( '@@relaxed ((@ttitle sample) | (@title sample) (@body program -in )) ' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"333";}}}i:49;a:3:{s:8:"sphinxql";s:106:"select * from test where match ( '@@relaxed ((@ttitle sample) | (@ttitle sample) (@body program -in )) ' )";s:10:"total_rows";i:1;s:4:"rows";a:1:{i:0;a:1:{s:2:"id";s:3:"333";}}}}}sphinx-2.2.11-release/test/test_018/0000755000175000017500000000000012743402012016405 5ustar alexeyalexeysphinx-2.2.11-release/test/test_018/test.xml0000644000175000017500000000442112743402012020107 0ustar alexeyalexey snippets indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query = SELECT id, body FROM test_table } index test_idx { source = srctest path = /test min_word_len = 1 min_word_len = 3 stopwords = stopwords.txt exceptions = synonyms.txt ngram_len = 1 ngram_chars = U+3000..U+2FA1F } CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'test' ) $docs = array ( "ab ab ab ab ab ab ab ab ab ab ab MS", " this, is . MS windows....?", "this , is a MS but not Windows", "this is the Microsoft Windows , ,", "pro\xEF\xAC\x81ts, lost savings" // latin small ligature 'fi', oh my ); $words = "MS Windows"; $opts = array ( "before_match" => "[B]", "after_match" => "[A]", "chunk_separator" => " ... ", "limit" => 100, "around" => 2 ); $results = array (); $results [] = $opts; $res = $client->BuildExcerpts ( $docs, "test_idx", $words, $opts ); if ( !$res ) { $results = false; return; } $results [] = $res; $opts = array ( "before_match" => "[B]", "after_match" => "[A]", "chunk_separator" => " ... ", "limit" => 50, "around" => 2 ); $results [] = $opts; $res = $client->BuildExcerpts ( $docs, "test_idx", $words, $opts ); if ( !$res ) { $results = false; return; } $results [] = $res; $opts = array ( "before_match" => "[B]", "after_match" => "[A]", "chunk_separator" => " ... ", "limit" => 30, "around" => 2 ); $results [] = $opts; $res = $client->BuildExcerpts ( $docs, "test_idx", $words, $opts ); if ( !$res ) { $results = false; return; } $results [] = $res; sphinx-2.2.11-release/test/test_018/model.bin0000644000175000017500000002217212743402012020203 0ustar alexeyalexeya:8:{i:0;a:1:{i:0;a:6:{i:0;a:5:{s:12:"before_match";s:3:"[B]";s:11:"after_match";s:3:"[A]";s:15:"chunk_separator";s:5:" ... ";s:5:"limit";i:100;s:6:"around";i:2;}i:1;a:5:{i:0;s:35:"ab ab ab ab ab ab ab ab ab ab ab MS";i:1;s:34:" this, is . MS windows....?";i:2;s:38:"this , is a MS but not [B]Windows[A]";i:3;s:40:"this is the [B]Microsoft Windows[A] , ,";i:4;s:22:"profits, lost savings";}i:2;a:5:{s:12:"before_match";s:3:"[B]";s:11:"after_match";s:3:"[A]";s:15:"chunk_separator";s:5:" ... ";s:5:"limit";i:50;s:6:"around";i:2;}i:3;a:5:{i:0;s:35:"ab ab ab ab ab ab ab ab ab ab ab MS";i:1;s:34:" this, is . MS windows....?";i:2;s:38:"this , is a MS but not [B]Windows[A]";i:3;s:40:"this is the [B]Microsoft Windows[A] , ,";i:4;s:22:"profits, lost savings";}i:4;a:5:{s:12:"before_match";s:3:"[B]";s:11:"after_match";s:3:"[A]";s:15:"chunk_separator";s:5:" ... ";s:5:"limit";i:30;s:6:"around";i:2;}i:5;a:5:{i:0;s:35:"ab ab ab ab ab ab ab ab ab ab ... ";i:1;s:34:" this, is . MS windows ... ";i:2;s:27:" ... but not [B]Windows[A]";i:3;s:41:" ... is the [B]Microsoft Windows[A] , ,";i:4;s:22:"profits, lost savings";}}}i:1;a:1:{i:0;a:6:{i:0;a:5:{s:12:"before_match";s:3:"[B]";s:11:"after_match";s:3:"[A]";s:15:"chunk_separator";s:5:" ... ";s:5:"limit";i:100;s:6:"around";i:2;}i:1;a:5:{i:0;s:35:"ab ab ab ab ab ab ab ab ab ab ab MS";i:1;s:34:" this, is . MS windows....?";i:2;s:38:"this , is a MS but not [B]Windows[A]";i:3;s:40:"this is the [B]Microsoft Windows[A] , ,";i:4;s:22:"profits, lost savings";}i:2;a:5:{s:12:"before_match";s:3:"[B]";s:11:"after_match";s:3:"[A]";s:15:"chunk_separator";s:5:" ... ";s:5:"limit";i:50;s:6:"around";i:2;}i:3;a:5:{i:0;s:35:"ab ab ab ab ab ab ab ab ab ab ab MS";i:1;s:34:" this, is . MS windows....?";i:2;s:38:"this , is a MS but not [B]Windows[A]";i:3;s:40:"this is the [B]Microsoft Windows[A] , ,";i:4;s:22:"profits, lost savings";}i:4;a:5:{s:12:"before_match";s:3:"[B]";s:11:"after_match";s:3:"[A]";s:15:"chunk_separator";s:5:" ... ";s:5:"limit";i:30;s:6:"around";i:2;}i:5;a:5:{i:0;s:35:"ab ab ab ab ab ab ab ab ab ab ... ";i:1;s:34:" this, is . MS windows ... ";i:2;s:39:" ... , is a MS but not [B]Windows[A]";i:3;s:41:" ... is the [B]Microsoft Windows[A] , ,";i:4;s:22:"profits, lost savings";}}}i:2;a:1:{i:0;a:6:{i:0;a:5:{s:12:"before_match";s:3:"[B]";s:11:"after_match";s:3:"[A]";s:15:"chunk_separator";s:5:" ... ";s:5:"limit";i:100;s:6:"around";i:2;}i:1;a:5:{i:0;s:35:"ab ab ab ab ab ab ab ab ab ab ab MS";i:1;s:34:" this, is . MS windows....?";i:2;s:38:"this , is a MS but not [B]Windows[A]";i:3;s:40:"this is the [B]Microsoft Windows[A] , ,";i:4;s:22:"profits, lost savings";}i:2;a:5:{s:12:"before_match";s:3:"[B]";s:11:"after_match";s:3:"[A]";s:15:"chunk_separator";s:5:" ... ";s:5:"limit";i:50;s:6:"around";i:2;}i:3;a:5:{i:0;s:35:"ab ab ab ab ab ab ab ab ab ab ab MS";i:1;s:34:" this, is . MS windows....?";i:2;s:38:"this , is a MS but not [B]Windows[A]";i:3;s:40:"this is the [B]Microsoft Windows[A] , ,";i:4;s:22:"profits, lost savings";}i:4;a:5:{s:12:"before_match";s:3:"[B]";s:11:"after_match";s:3:"[A]";s:15:"chunk_separator";s:5:" ... ";s:5:"limit";i:30;s:6:"around";i:2;}i:5;a:5:{i:0;s:35:"ab ab ab ab ab ab ab ab ab ab ... ";i:1;s:34:" this, is . MS windows ... ";i:2;s:27:" ... but not [B]Windows[A]";i:3;s:41:" ... is the [B]Microsoft Windows[A] , ,";i:4;s:22:"profits, lost savings";}}}i:3;a:1:{i:0;a:6:{i:0;a:5:{s:12:"before_match";s:3:"[B]";s:11:"after_match";s:3:"[A]";s:15:"chunk_separator";s:5:" ... ";s:5:"limit";i:100;s:6:"around";i:2;}i:1;a:5:{i:0;s:35:"ab ab ab ab ab ab ab ab ab ab ab MS";i:1;s:34:" this, is . MS windows....?";i:2;s:38:"this , is a MS but not [B]Windows[A]";i:3;s:40:"this is the [B]Microsoft Windows[A] , ,";i:4;s:22:"profits, lost savings";}i:2;a:5:{s:12:"before_match";s:3:"[B]";s:11:"after_match";s:3:"[A]";s:15:"chunk_separator";s:5:" ... ";s:5:"limit";i:50;s:6:"around";i:2;}i:3;a:5:{i:0;s:35:"ab ab ab ab ab ab ab ab ab ab ab MS";i:1;s:34:" this, is . MS windows....?";i:2;s:38:"this , is a MS but not [B]Windows[A]";i:3;s:40:"this is the [B]Microsoft Windows[A] , ,";i:4;s:22:"profits, lost savings";}i:4;a:5:{s:12:"before_match";s:3:"[B]";s:11:"after_match";s:3:"[A]";s:15:"chunk_separator";s:5:" ... ";s:5:"limit";i:30;s:6:"around";i:2;}i:5;a:5:{i:0;s:35:"ab ab ab ab ab ab ab ab ab ab ... ";i:1;s:34:" this, is . MS windows ... ";i:2;s:39:" ... , is a MS but not [B]Windows[A]";i:3;s:41:" ... is the [B]Microsoft Windows[A] , ,";i:4;s:22:"profits, lost savings";}}}i:4;a:1:{i:0;a:6:{i:0;a:5:{s:12:"before_match";s:3:"[B]";s:11:"after_match";s:3:"[A]";s:15:"chunk_separator";s:5:" ... ";s:5:"limit";i:100;s:6:"around";i:2;}i:1;a:5:{i:0;s:41:"ab ab ab ab ab ab ab ab ab ab ab [B]MS[A]";i:1;s:46:" this, is . [B]MS[A] [B]windows[A]....?";i:2;s:44:"this , is a [B]MS[A] but not [B]Windows[A]";i:3;s:40:"this is the Microsoft [B]Windows[A] , ,";i:4;s:22:"profits, lost savings";}i:2;a:5:{s:12:"before_match";s:3:"[B]";s:11:"after_match";s:3:"[A]";s:15:"chunk_separator";s:5:" ... ";s:5:"limit";i:50;s:6:"around";i:2;}i:3;a:5:{i:0;s:41:"ab ab ab ab ab ab ab ab ab ab ab [B]MS[A]";i:1;s:46:" this, is . [B]MS[A] [B]windows[A]....?";i:2;s:44:"this , is a [B]MS[A] but not [B]Windows[A]";i:3;s:40:"this is the Microsoft [B]Windows[A] , ,";i:4;s:22:"profits, lost savings";}i:4;a:5:{s:12:"before_match";s:3:"[B]";s:11:"after_match";s:3:"[A]";s:15:"chunk_separator";s:5:" ... ";s:5:"limit";i:30;s:6:"around";i:2;}i:5;a:5:{i:0;s:20:" ... ab ab [B]MS[A]";i:1;s:44:" ... , is . [B]MS[A] [B]windows[A]....?";i:2;s:45:" ... , is a [B]MS[A] but not [B]Windows[A]";i:3;s:38:" ... the Microsoft [B]Windows[A] , ,";i:4;s:22:"profits, lost savings";}}}i:5;a:1:{i:0;a:6:{i:0;a:5:{s:12:"before_match";s:3:"[B]";s:11:"after_match";s:3:"[A]";s:15:"chunk_separator";s:5:" ... ";s:5:"limit";i:100;s:6:"around";i:2;}i:1;a:5:{i:0;s:35:"ab ab ab ab ab ab ab ab ab ab ab MS";i:1;s:40:" this, is . MS [B]windows[A]....?";i:2;s:38:"this , is a MS but not [B]Windows[A]";i:3;s:40:"this is the Microsoft [B]Windows[A] , ,";i:4;s:22:"profits, lost savings";}i:2;a:5:{s:12:"before_match";s:3:"[B]";s:11:"after_match";s:3:"[A]";s:15:"chunk_separator";s:5:" ... ";s:5:"limit";i:50;s:6:"around";i:2;}i:3;a:5:{i:0;s:35:"ab ab ab ab ab ab ab ab ab ab ab MS";i:1;s:40:" this, is . MS [B]windows[A]....?";i:2;s:38:"this , is a MS but not [B]Windows[A]";i:3;s:40:"this is the Microsoft [B]Windows[A] , ,";i:4;s:22:"profits, lost savings";}i:4;a:5:{s:12:"before_match";s:3:"[B]";s:11:"after_match";s:3:"[A]";s:15:"chunk_separator";s:5:" ... ";s:5:"limit";i:30;s:6:"around";i:2;}i:5;a:5:{i:0;s:35:"ab ab ab ab ab ab ab ab ab ab ... ";i:1;s:38:" ... , is . MS [B]windows[A]....?";i:2;s:39:" ... , is a MS but not [B]Windows[A]";i:3;s:41:" ... is the Microsoft [B]Windows[A] , ,";i:4;s:22:"profits, lost savings";}}}i:6;a:1:{i:0;a:6:{i:0;a:5:{s:12:"before_match";s:3:"[B]";s:11:"after_match";s:3:"[A]";s:15:"chunk_separator";s:5:" ... ";s:5:"limit";i:100;s:6:"around";i:2;}i:1;a:5:{i:0;s:41:"ab ab ab ab ab ab ab ab ab ab ab [B]MS[A]";i:1;s:46:" this, is . [B]MS[A] [B]windows[A]....?";i:2;s:44:"this , is a [B]MS[A] but not [B]Windows[A]";i:3;s:40:"this is the Microsoft [B]Windows[A] , ,";i:4;s:22:"profits, lost savings";}i:2;a:5:{s:12:"before_match";s:3:"[B]";s:11:"after_match";s:3:"[A]";s:15:"chunk_separator";s:5:" ... ";s:5:"limit";i:50;s:6:"around";i:2;}i:3;a:5:{i:0;s:41:"ab ab ab ab ab ab ab ab ab ab ab [B]MS[A]";i:1;s:46:" this, is . [B]MS[A] [B]windows[A]....?";i:2;s:44:"this , is a [B]MS[A] but not [B]Windows[A]";i:3;s:40:"this is the Microsoft [B]Windows[A] , ,";i:4;s:22:"profits, lost savings";}i:4;a:5:{s:12:"before_match";s:3:"[B]";s:11:"after_match";s:3:"[A]";s:15:"chunk_separator";s:5:" ... ";s:5:"limit";i:30;s:6:"around";i:2;}i:5;a:5:{i:0;s:20:" ... ab ab [B]MS[A]";i:1;s:44:" ... , is . [B]MS[A] [B]windows[A]....?";i:2;s:45:" ... , is a [B]MS[A] but not [B]Windows[A]";i:3;s:38:" ... the Microsoft [B]Windows[A] , ,";i:4;s:22:"profits, lost savings";}}}i:7;a:1:{i:0;a:6:{i:0;a:5:{s:12:"before_match";s:3:"[B]";s:11:"after_match";s:3:"[A]";s:15:"chunk_separator";s:5:" ... ";s:5:"limit";i:100;s:6:"around";i:2;}i:1;a:5:{i:0;s:35:"ab ab ab ab ab ab ab ab ab ab ab MS";i:1;s:40:" this, is . MS [B]windows[A]....?";i:2;s:38:"this , is a MS but not [B]Windows[A]";i:3;s:40:"this is the Microsoft [B]Windows[A] , ,";i:4;s:22:"profits, lost savings";}i:2;a:5:{s:12:"before_match";s:3:"[B]";s:11:"after_match";s:3:"[A]";s:15:"chunk_separator";s:5:" ... ";s:5:"limit";i:50;s:6:"around";i:2;}i:3;a:5:{i:0;s:35:"ab ab ab ab ab ab ab ab ab ab ab MS";i:1;s:40:" this, is . MS [B]windows[A]....?";i:2;s:38:"this , is a MS but not [B]Windows[A]";i:3;s:40:"this is the Microsoft [B]Windows[A] , ,";i:4;s:22:"profits, lost savings";}i:4;a:5:{s:12:"before_match";s:3:"[B]";s:11:"after_match";s:3:"[A]";s:15:"chunk_separator";s:5:" ... ";s:5:"limit";i:30;s:6:"around";i:2;}i:5;a:5:{i:0;s:35:"ab ab ab ab ab ab ab ab ab ab ... ";i:1;s:38:" ... , is . MS [B]windows[A]....?";i:2;s:39:" ... , is a MS but not [B]Windows[A]";i:3;s:41:" ... is the Microsoft [B]Windows[A] , ,";i:4;s:22:"profits, lost savings";}}}}sphinx-2.2.11-release/test/test_017/0000755000175000017500000000000012743402012016404 5ustar alexeyalexeysphinx-2.2.11-release/test/test_017/test.xml0000644000175000017500000000236412743402012020112 0ustar alexeyalexey phrase matching vs stop words and short words indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query = SELECT document_id, body FROM test_table } index test { source = srctest path = /test stopwords = stopwords.txt min_word_len = 3 } walking shoes walking in my shoes microsoft office microsoft a office "walking shoes" "walking in my shoes" "microsoft office" "microsoft a office" CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 1, 'walking shoes' ), ( 2, 'try walking in my shoes' ), ( 3, 'Microsoft. The Office.' ), ( 4, 'Microsoft Office' ) sphinx-2.2.11-release/test/test_017/model.bin0000644000175000017500000000661412743402012020205 0ustar alexeyalexeya:1:{i:0;a:8:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:7:"walking";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:5:"shoes";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:5:"query";s:13:"walking shoes";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:7:"walking";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:5:"shoes";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:5:"query";s:19:"walking in my shoes";}i:2;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:9:"microsoft";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:6:"office";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:5:"query";s:16:"microsoft office";}i:3;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:1:"2";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:9:"microsoft";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:6:"office";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:5:"query";s:18:"microsoft a office";}i:4;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"2557";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:7:"walking";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:5:"shoes";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:5:"query";s:15:""walking shoes"";}i:5;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"2557";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:7:"walking";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:5:"shoes";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:5:"query";s:21:""walking in my shoes"";}i:6;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"2557";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:9:"microsoft";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:6:"office";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:5:"query";s:18:""microsoft office"";}i:7;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"2557";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:9:"microsoft";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}s:6:"office";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:5:"query";s:20:""microsoft a office"";}}}sphinx-2.2.11-release/test/test_016/0000755000175000017500000000000012743402012016403 5ustar alexeyalexeysphinx-2.2.11-release/test/test_016/test.xml0000644000175000017500000000216012743402012020103 0ustar alexeyalexey expr sorting vs filters indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query = SELECT document_id, group_id, body FROM test_table sql_attr_uint = group_id } index test { source = srctest path = /test } group_id @expr test it test it CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `group_id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 111, 1, 'this is test' ), ( 222, 1, 'just a test' ), ( 333, 2, 'for test-ing purposes' ), ( 444, 1, 'lets test it' ) sphinx-2.2.11-release/test/test_016/model.bin0000644000175000017500000000264412743402012020203 0ustar alexeyalexeya:1:{i:0;a:2:{i:0;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:8:"group_id";i:1;s:5:"@expr";i:5;}s:7:"matches";a:3:{i:444;a:2:{s:6:"weight";s:1:"4";s:5:"attrs";a:2:{s:8:"group_id";s:1:"1";s:5:"@expr";d:4;}}i:111;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:1:"1";s:5:"@expr";d:1;}}i:222;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:1:"1";s:5:"@expr";d:1;}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:4:"test";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:2:"it";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:5:"query";s:7:"test it";}i:1;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:2:{s:8:"group_id";i:1;s:5:"@expr";i:5;}s:7:"matches";a:4:{i:111;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:1:"1";s:5:"@expr";d:-1;}}i:222;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:1:"1";s:5:"@expr";d:-1;}}i:333;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:2:{s:8:"group_id";s:1:"2";s:5:"@expr";d:-1;}}i:444;a:2:{s:6:"weight";s:1:"4";s:5:"attrs";a:2:{s:8:"group_id";s:1:"1";s:5:"@expr";d:-4;}}}s:5:"total";s:1:"4";s:11:"total_found";s:1:"4";s:4:"time";s:5:"0.002";s:5:"words";a:2:{s:4:"test";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"4";}s:2:"it";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:5:"query";s:7:"test it";}}}sphinx-2.2.11-release/test/test_015/0000755000175000017500000000000012743402012016402 5ustar alexeyalexeysphinx-2.2.11-release/test/test_015/test.xml0000644000175000017500000000276712743402012020117 0ustar alexeyalexey phrase matching vs duplicate keywords indexer { mem_limit = 16M } searchd { } source srctest { type = mysql sql_query = SELECT document_id, body FROM test_table } index test { source = srctest path = /test charset_table = 0..9, A..Z->a..z, _, a..z ngram_chars = U+410..U+42F->U+430..U+44F, U+430..U+44F ngram_len = 1 stopwords = /stops.txt } bar baz bar foo bar baz bar i did it zee lord of zee rings "bar baz bar" "foo bar baz bar" "i did it" "zee lord of zee rings" Braun 370\-2 3702 370 2 Braun Series 3 370 Shaver CREATE TABLE `test_table` ( `document_id` int(11) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES ( 111, 'lets test foo bar baz bar stuff' ), ( 222, 'bar baz foo' ), ( 333, 'foo baz bar' ), ( 444, 'i i did it it' ), ( 555, 'zee lord of zee rings' ), ( 666, 'Braun 370-2 3702 370 2 Braun Series 3 - 370 Shaver') sphinx-2.2.11-release/test/test_015/stops.txt0000644000175000017500000000000312743402012020304 0ustar alexeyalexey2 sphinx-2.2.11-release/test/test_015/model.bin0000644000175000017500000001135312743402012020177 0ustar alexeyalexeya:1:{i:0;a:9:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:111;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"baz";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:3:"bar";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:11:"bar baz bar";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:111;a:2:{s:6:"weight";s:1:"4";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"foo";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:3:"baz";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:3:"bar";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:15:"foo bar baz bar";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:444;a:2:{s:6:"weight";s:1:"3";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:1:"i";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}s:3:"did";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"it";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"i did it";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:555;a:2:{s:6:"weight";s:1:"5";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:4:{s:4:"lord";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"of";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"zee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}s:5:"rings";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:21:"zee lord of zee rings";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:111;a:2:{s:6:"weight";s:4:"3539";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:2:{s:3:"baz";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:3:"bar";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:13:""bar baz bar"";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:111;a:2:{s:6:"weight";s:4:"4537";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:3:{s:3:"foo";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:3:"baz";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}s:3:"bar";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:17:""foo bar baz bar"";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:444;a:2:{s:6:"weight";s:4:"3761";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:3:{s:1:"i";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}s:3:"did";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"it";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:10:""i did it"";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:555;a:2:{s:6:"weight";s:4:"5728";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:4:{s:4:"lord";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"of";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:3:"zee";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}s:5:"rings";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:23:""zee lord of zee rings"";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:666;a:2:{s:6:"weight";s:4:"9742";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.005";s:5:"words";a:6:{i:3702;a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:5:"braun";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"2";}s:6:"series";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}i:3;a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}i:370;a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"3";}s:6:"shaver";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:49:"Braun 370\-2 3702 370 2 Braun Series 3 370 Shaver";}}}sphinx-2.2.11-release/test/test_014/0000755000175000017500000000000012743402012016401 5ustar alexeyalexeysphinx-2.2.11-release/test/test_014/test.xml0000644000175000017500000000262412743402012020106 0ustar alexeyalexey n-grams indexer { mem_limit = 16M } searchd { } source srclj { type = mysql sql_query = SELECT id, body FROM test_table sql_query_pre = SET NAMES utf8 } index lj { source = srclj path = /lj charset_table = 0..9, A..Z->a..z, _, a..z ngram_chars = U+410..U+42F->U+430..U+44F, U+430..U+44F ngram_len = 1 } ABCDEF A B C D E F АБВГДЕЖ А Б В Г Д Е Ж CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `document_id` int(5) NOT NULL default '0', `body` varchar(255) NOT NULL default '' ) CHARACTER SET utf8 DROP TABLE IF EXISTS `test_table` SET NAMES utf8 INSERT INTO `test_table` VALUES (1,1,'ABCDEF АБВГДЕЖ') sphinx-2.2.11-release/test/test_014/model.bin0000644000175000017500000001324512743402012020200 0ustar alexeyalexeya:1:{i:0;a:15:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"abcdef";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"ABCDEF";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:1:"a";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"A";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:1:"b";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"B";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:1:"c";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"C";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:1:"d";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"D";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:1:"e";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"E";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:1:"f";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"F";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"7500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:7:{s:2:"а";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"б";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"в";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"г";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"д";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"е";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}s:2:"ж";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:14:"АБВГДЕЖ";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"а";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"А";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"б";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"Б";}i:10;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"в";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"В";}i:11;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"г";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"Г";}i:12;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"д";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"Д";}i:13;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"е";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"Е";}i:14;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:1:{i:0;s:4:"body";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"ж";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"Ж";}}}sphinx-2.2.11-release/test/test_013/0000755000175000017500000000000012743402012016400 5ustar alexeyalexeysphinx-2.2.11-release/test/test_013/test.xml0000644000175000017500000000334712743402012020110 0ustar alexeyalexey prefixes/infixes + UTF-8 indexer { mem_limit = 16M } searchd { } source srclj { type = mysql sql_query = SELECT id, subject, body, author FROM test_table sql_query_pre = SET NAMES utf8 } index lj { source = srclj path = /lj min_infix_len = 3 } числовым *фры умол* *пис* *hod* CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `document_id` int(5) NOT NULL default '0', `subject` varchar(255) NOT NULL default '', `body` varchar(255) NOT NULL default '', `author` varchar(255) NOT NULL default '' ) CHARACTER SET utf8; DROP TABLE IF EXISTS `test_table` SET NAMES utf8 INSERT INTO `test_table` VALUES (1,1,'Поиск по числовым значениям','У меня вопрос насчет поиска по числовым значениям.','CAJAX'), (2,2,'Поиск по числовым значениям','В базе данных встречаются записи с числами, но поиск по ним не дает никаких результатов.','CAJAX'), (3,3,'Поиск по числовым значениям','Да, по умолчанию цифры считаются корректными символами.','shodan') sphinx-2.2.11-release/test/test_013/model.bin0000644000175000017500000000442712743402012020201 0ustar alexeyalexeya:1:{i:0;a:5:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"2252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:16:"числовым";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"4";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:16:"числовым";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"*фры";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"*фры";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:9:"умол*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"умол*";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:8:"*пис*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"*пис*";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*hod*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*hod*";}}}sphinx-2.2.11-release/test/test_012/0000755000175000017500000000000012743402012016377 5ustar alexeyalexeysphinx-2.2.11-release/test/test_012/test.xml0000644000175000017500000000441712743402012020106 0ustar alexeyalexey stemmers + infixes (throttled) indexer { mem_limit = 16M max_iops = 20 max_iosize = 131072 } searchd { } source srclj { type = mysql sql_query = SELECT id, subject, body, author FROM test_table sql_query_pre = SET NAMES utf8 } index lj { source = srclj path = /lj min_word_len = 0 morphology = stem_en morphology = stem_ru morphology = soundex morphology = metaphone min_infix_len = 0 min_infix_len = 3 } admin *earc* up* dmin rep pda алго* *лиз *бот* сравнительный CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `document_id` int(5) NOT NULL default '0', `subject` varchar(255) NOT NULL default '', `body` varchar(255) NOT NULL default '', `author` varchar(255) NOT NULL default '' ) CHARACTER SET utf8 DROP TABLE IF EXISTS `test_table` SET NAMES utf8 INSERT INTO `test_table` VALUES (1,1,'Problem with enable_star searches','Having star searches is great! Just what we needed','Maurice Makaay'), (2,2,'Problem with enable_star searches',' But the thing is, that I cannot search for authors anymore','admin'), (3,3,'Problem with enable_star searches','I will try to repro it here and update you','shodan'), (4,4,'Алгоритмы', 'Недавно захотел провести сравнительный анализ алгоритмов работы средств полнотекстового поиска.', 'Yuriy' ) sphinx-2.2.11-release/test/test_012/model.bin0000644000175000017500000007726512743402012020212 0ustar alexeyalexeya:8:{i:0;a:10:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"admin";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"admin";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"earc";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*earc*";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"up";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"up*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dmin";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dmin";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"rep";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"rep";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"pda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"pda";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:8:"алго";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"алго*";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"лиз";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"*лиз";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"бот";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"*бот*";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:26:"сравнительный";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:26:"сравнительный";}}i:1;a:10:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"admin";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"admin";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"earc";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*earc*";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"up";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"up*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dmin";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dmin";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"rep";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"rep";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"pda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"pda";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"алг";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"алго*";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"лиз";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"*лиз";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"бот";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"*бот*";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:22:"сравнительн";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:26:"сравнительный";}}i:2;a:10:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"a350";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"admin";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"e620";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*earc*";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"u1";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"up*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"d500";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dmin";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"r10";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"rep";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"p30";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"pda";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:8:"алго";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"алго*";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"лиз";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"*лиз";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"бот";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"*бот*";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:26:"сравнительный";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:26:"сравнительный";}}i:3;a:10:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ATMN";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"admin";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ARK";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*earc*";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"AP";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"up*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"TMN";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dmin";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"RP";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"rep";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"PT";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"pda";}i:6;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:8:"алго";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"алго*";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"лиз";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"*лиз";}i:8;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"бот";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"*бот*";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:26:"сравнительный";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:26:"сравнительный";}}i:4;a:10:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"admin";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"admin";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"2421";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"2421";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*earc*";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*earc*";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min infix length. word: 'up*' ";s:6:"status";i:3;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"up*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"up*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dmin";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dmin";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"rep";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"rep";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"pda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"pda";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"2769";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:9:"алго*";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"алго*";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"*лиз";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"*лиз";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:8:"*бот*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"*бот*";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:26:"сравнительный";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:26:"сравнительный";}}i:5;a:10:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"admin";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"admin";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"2421";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"2421";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"*earc*";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*earc*";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min infix length. word: 'up*' ";s:6:"status";i:3;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"up*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"up*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dmin";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dmin";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"rep";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"rep";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"pda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"pda";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"2769";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:9:"алго*";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"алго*";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:7:"*лиз";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"*лиз";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:8:"*бот*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"*бот*";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:22:"сравнительн";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:26:"сравнительный";}}i:6;a:10:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"a350";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"admin";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"2421";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"2421";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"*earc*";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*earc*";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min infix length. word: 'up*' ";s:6:"status";i:3;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"up*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"up*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"d500";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dmin";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"r10";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"rep";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"p30";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"pda";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"2769";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:9:"алго*";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"алго*";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"*лиз";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"*лиз";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:8:"*бот*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"*бот*";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:26:"сравнительный";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:26:"сравнительный";}}i:7;a:10:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"ATMN";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"admin";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"2421";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"2421";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1442";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*earc*";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*earc*";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min infix length. word: 'up*' ";s:6:"status";i:3;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"up*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"up*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"TMN";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dmin";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"RP";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"rep";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"PT";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"pda";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"2769";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:9:"алго*";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:9:"алго*";}i:7;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:7:"*лиз";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"*лиз";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:8:"*бот*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:8:"*бот*";}i:9;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:4;a:2:{s:6:"weight";s:4:"1695";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:26:"сравнительный";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:26:"сравнительный";}}}sphinx-2.2.11-release/test/test_011/0000755000175000017500000000000012743402012016376 5ustar alexeyalexeysphinx-2.2.11-release/test/test_011/test.xml0000644000175000017500000000311312743402012020075 0ustar alexeyalexey postfixes indexer { mem_limit = 16M } searchd { } source srclj { type = mysql sql_query = SELECT id, subject, body, author FROM test_table } index lj { source = srclj path = /lj min_infix_len = 0 min_infix_len = 1 min_infix_len = 3 } admin *eat* *search *dmin *rep * CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `document_id` int(5) NOT NULL default '0', `subject` varchar(255) NOT NULL default '', `body` varchar(255) NOT NULL default '', `author` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES (1,1,'Problem with enable_star searches','Having star searches is great! Just what we needed','Maurice Makaay'), (2,2,'Problem with enable_star searches',' But the thing is, that I cannot search for authors anymore','admin'), (3,3,'Problem with enable_star searches','I will try to repro it here and update you','shodan') sphinx-2.2.11-release/test/test_011/model.bin0000644000175000017500000001555512743402012020203 0ustar alexeyalexeya:3:{i:0;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"admin";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"admin";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"eat";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*eat*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"search";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"*search";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dmin";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*dmin";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"rep";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"*rep";}i:5;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"*";}}i:1;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:1:{s:5:"admin";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"admin";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"*eat*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*eat*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:7:"*search";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"*search";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"*dmin";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*dmin";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"*rep";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"*rep";}i:5;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"*";}}i:2;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:1:{s:5:"admin";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"admin";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"*eat*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*eat*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:7:"*search";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:7:"*search";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"*dmin";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*dmin";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"*rep";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"*rep";}i:5;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"*";}}}sphinx-2.2.11-release/test/test_010/0000755000175000017500000000000012743402012016375 5ustar alexeyalexeysphinx-2.2.11-release/test/test_010/test.xml0000644000175000017500000000557512743402012020112 0ustar alexeyalexey bitfields + MVA indexer { mem_limit = 16M } searchd { } source srclj { type = mysql sql_query = SELECT id, adtext, heading, postcode, lng, lat, section, transmission_id FROM test_table sql_attr_float = lng sql_attr_float = lat sql_attr_uint = section:8 sql_attr_uint = transmission_id:5 sql_attr_multi = uint make_id from query; SELECT id, make_id FROM test_table sql_attr_multi = bigint make_id from query; SELECT id, make_id FROM test_table } index lj { source = srclj path = /lj docinfo = extern min_word_len = 1 } section make_id CREATE TABLE `test_table` ( `id` int(11) NOT NULL auto_increment, `section` int(11) NOT NULL, `system_id` tinyint(4) NOT NULL, `adtext` varchar(255) NOT NULL, `heading` varchar(500) NOT NULL, `price` int(11) NOT NULL default '0', `postcode` varchar(10) NOT NULL, `gre` int(11) NOT NULL, `grn` int(11) NOT NULL, `str_at1` varchar(255) NOT NULL, `str_at2` varchar(255) NOT NULL, `str_at3` varchar(255) NOT NULL, `str_at4` varchar(255) NOT NULL, `str_at5` varchar(255) NOT NULL, `int_at1` int(11) default NULL, `int_at2` int(11) default NULL, `int_at3` int(11) default NULL, `int_at4` int(11) default NULL, `int_at5` int(11) default NULL, `float_at1` float default NULL, `float_at2` float default NULL, `float_at3` float default NULL, `lng` float NOT NULL default '0', `lat` float NOT NULL default '0', `make_id` int(11) NOT NULL, `transmission_id` tinyint(4) NOT NULL, PRIMARY KEY (`id`) ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` (`id`, `section`, `system_id`, `adtext`, `heading`, `price`, `postcode`, `gre`, `grn`, `str_at1`, `str_at2`, `str_at3`, `str_at4`, `str_at5`, `int_at1`, `int_at2`, `int_at3`, `int_at4`, `int_at5`, `float_at1`, `float_at2`, `float_at3`, `lng`, `lat`, `make_id`, `transmission_id`) VALUES (1, 1, 2, 'FORD', 'Ford KA', 2790, 'EN3 5BT', 535000, 197400, 'Ford', 'KA', 'Grey', 'Diesel', '', 18662, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -0.0798578, 0.937717, 8, 1), (2, 1, 0, 'until', 'Vauxhall Corsa', 5800, 'BN42 4RN', 524000, 106100, 'Vauxhall', 'Corsa', 'Red', 'Petrol', '', 19296, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -0.0799989, 0.891975, 5, 0), (211250, 0, 1, 'Quattro Roadster', 'Audi TT', 13995, 'E9 7DG', 535600, 184200, '', '', '', '', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -0.0721455, 0.926761, 29, 1); sphinx-2.2.11-release/test/test_010/model.bin0000644000175000017500000000413612743402012020173 0ustar alexeyalexeya:2:{i:0;a:1:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:6:"adtext";i:1;s:7:"heading";i:2;s:8:"postcode";}s:5:"attrs";a:5:{s:3:"lng";i:5;s:3:"lat";i:5;s:7:"section";i:1;s:15:"transmission_id";i:1;s:7:"make_id";i:1073741825;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"lng";d:-0.0798577964305877685546875;s:3:"lat";d:0.937717020511627197265625;s:7:"section";s:1:"1";s:15:"transmission_id";s:1:"1";s:7:"make_id";a:1:{i:0;s:1:"8";}}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"lng";d:-0.079998902976512908935546875;s:3:"lat";d:0.891974985599517822265625;s:7:"section";s:1:"1";s:15:"transmission_id";s:1:"0";s:7:"make_id";a:1:{i:0;s:1:"5";}}}i:211250;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"lng";d:-0.072145499289035797119140625;s:3:"lat";d:0.926760971546173095703125;s:7:"section";s:1:"0";s:15:"transmission_id";s:1:"1";s:7:"make_id";a:1:{i:0;s:2:"29";}}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}}i:1;a:1:{i:0;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:6:"adtext";i:1;s:7:"heading";i:2;s:8:"postcode";}s:5:"attrs";a:5:{s:3:"lng";i:5;s:3:"lat";i:5;s:7:"section";i:1;s:15:"transmission_id";i:1;s:7:"make_id";i:1073741825;}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"lng";d:-0.0798577964305877685546875;s:3:"lat";d:0.937717020511627197265625;s:7:"section";s:1:"1";s:15:"transmission_id";s:1:"1";s:7:"make_id";a:1:{i:0;s:1:"8";}}}i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"lng";d:-0.079998902976512908935546875;s:3:"lat";d:0.891974985599517822265625;s:7:"section";s:1:"1";s:15:"transmission_id";s:1:"0";s:7:"make_id";a:1:{i:0;s:1:"5";}}}i:211250;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:5:{s:3:"lng";d:-0.072145499289035797119140625;s:3:"lat";d:0.926760971546173095703125;s:7:"section";s:1:"0";s:15:"transmission_id";s:1:"1";s:7:"make_id";a:1:{i:0;s:2:"29";}}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:0:"";}}}sphinx-2.2.11-release/test/test_009/0000755000175000017500000000000012743402012016405 5ustar alexeyalexeysphinx-2.2.11-release/test/test_009/test.xml0000644000175000017500000001077012743402012020113 0ustar alexeyalexey attributes over network indexer { mem_limit = 16M } searchd { } source src1 { type = mysql sql_query = SELECT id, adtext, heading, postcode, lng, lat, section, make_id, transmission_id FROM test_table sql_attr_float = lng sql_attr_float = lat sql_attr_uint = section sql_attr_uint = make_id sql_attr_uint = transmission_id } source src2 { type = mysql sql_query = SELECT id, adtext, heading, postcode, lng, lat, section, make_id, transmission_id FROM test_table sql_attr_float = lng sql_attr_float = lat sql_attr_uint = section sql_attr_uint = make_id sql_attr_uint = transmission_id } source src3 { type = mysql sql_query = SELECT id, adtext, heading, postcode, lng, lat, section, make_id, transmission_id FROM test_table sql_attr_float = lng sql_attr_float = lat sql_attr_uint = section sql_attr_uint = make_id sql_attr_uint = transmission_id } source src4 { type = mysql sql_query = SELECT id, adtext, heading, postcode, lng, lat, section, make_id, transmission_id FROM test_table sql_attr_float = lng sql_attr_float = lat sql_attr_uint = section sql_attr_uint = make_id sql_attr_uint = transmission_id } index block1 { source = src1 path = /block1 docinfo = extern min_word_len = 1 } index block2 { source = src2 path = /block2 docinfo = extern min_word_len = 1 } index block3 { source = src3 path = /block3 docinfo = extern min_word_len = 1 } index block4 { source = src4 path = /block4 docinfo = extern min_word_len = 1 } index dist { type = distributed local = block1 agent = :block2 agent_connect_timeout = 1000 agent_query_timeout = 3000 } 2 lng lat @geodist $client->SetGeoAnchor ('lng','lat',-0.0798578,0.937717 ); $client->SetSortMode ( SPH_SORT_EXTENDED, '@geodist DESC' ); $results = $client->Query ( $query, 'dist' ); CREATE TABLE `test_table` ( `id` int(11) NOT NULL auto_increment, `section` int(11) NOT NULL, `system_id` tinyint(4) NOT NULL, `adtext` varchar(255) NOT NULL, `heading` varchar(500) NOT NULL, `price` int(11) NOT NULL default '0', `postcode` varchar(10) NOT NULL, `gre` int(11) NOT NULL, `grn` int(11) NOT NULL, `str_at1` varchar(255) NOT NULL, `str_at2` varchar(255) NOT NULL, `str_at3` varchar(255) NOT NULL, `str_at4` varchar(255) NOT NULL, `str_at5` varchar(255) NOT NULL, `int_at1` int(11) default NULL, `int_at2` int(11) default NULL, `int_at3` int(11) default NULL, `int_at4` int(11) default NULL, `int_at5` int(11) default NULL, `float_at1` float default NULL, `float_at2` float default NULL, `float_at3` float default NULL, `lng` float NOT NULL default '0', `lat` float NOT NULL default '0', `make_id` int(11) NOT NULL, `transmission_id` tinyint(4) NOT NULL, PRIMARY KEY (`id`) ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` (`id`, `section`, `system_id`, `adtext`, `heading`, `price`, `postcode`, `gre`, `grn`, `str_at1`, `str_at2`, `str_at3`, `str_at4`, `str_at5`, `int_at1`, `int_at2`, `int_at3`, `int_at4`, `int_at5`, `float_at1`, `float_at2`, `float_at3`, `lng`, `lat`, `make_id`, `transmission_id`) VALUES (1, 1, 2, 'FORD', 'Ford KA', 2790, 'EN3 5BT', 535000, 197400, 'Ford', 'KA', 'Grey', 'Diesel', '', 18662, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -0.0798578, 0.937717, 8, 1), (2, 1, 0, 'until', 'Vauxhall Corsa', 5800, 'BN42 4RN', 524000, 106100, 'Vauxhall', 'Corsa', 'Red', 'Petrol', '', 19296, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -0.0799989, 0.891975, 5, 0), (211250, 0, 1, 'Quattro Roadster', 'Audi TT', 13995, 'E9 7DG', 535600, 184200, '', '', '', '', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -0.0721455, 0.926761, 29, 1); sphinx-2.2.11-release/test/test_009/model.bin0000644000175000017500000000211012743402012020171 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:6:"adtext";i:1;s:7:"heading";i:2;s:8:"postcode";}s:5:"attrs";a:6:{s:3:"lng";i:5;s:3:"lat";i:5;s:7:"section";i:1;s:7:"make_id";i:1;s:15:"transmission_id";i:1;s:8:"@geodist";i:5;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"lng";d:-0.079998902976512908935546875;s:3:"lat";d:0.891974985599517822265625;s:7:"section";s:1:"1";s:7:"make_id";s:1:"5";s:15:"transmission_id";s:1:"0";s:8:"@geodist";d:291086.09375;}}i:211250;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"lng";d:-0.072145499289035797119140625;s:3:"lat";d:0.926760971546173095703125;s:7:"section";s:1:"0";s:7:"make_id";s:2:"29";s:15:"transmission_id";s:1:"1";s:8:"@geodist";d:85369.6015625;}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"lng";d:-0.0798577964305877685546875;s:3:"lat";d:0.937717020511627197265625;s:7:"section";s:1:"1";s:7:"make_id";s:1:"8";s:15:"transmission_id";s:1:"1";s:8:"@geodist";d:0;}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.026";s:5:"query";s:0:"";}}}sphinx-2.2.11-release/test/test_008/0000755000175000017500000000000012743402012016404 5ustar alexeyalexeysphinx-2.2.11-release/test/test_008/test.xml0000644000175000017500000000574012743402012020113 0ustar alexeyalexey @geodist sorting indexer { mem_limit = 16M } searchd { } source srclj { type = mysql sql_query = SELECT id, adtext, heading, postcode, lng, lat, section, make_id, transmission_id FROM test_table sql_attr_float = lng sql_attr_float = lat sql_attr_uint = section sql_attr_uint = make_id sql_attr_uint = transmission_id } index lj { source = srclj path = /lj docinfo = extern min_word_len = 1 } lng lat @geodist $client->SetGeoAnchor ('lng','lat',-0.0798578,0.937717 ); $client->SetSortMode ( SPH_SORT_EXTENDED, '@geodist DESC' ); $results = $client->Query ( $query, $index ); CREATE TABLE `test_table` ( `id` int(11) NOT NULL auto_increment, `section` int(11) NOT NULL, `system_id` tinyint(4) NOT NULL, `adtext` varchar(255) NOT NULL, `heading` varchar(500) NOT NULL, `price` int(11) NOT NULL default '0', `postcode` varchar(10) NOT NULL, `gre` int(11) NOT NULL, `grn` int(11) NOT NULL, `str_at1` varchar(255) NOT NULL, `str_at2` varchar(255) NOT NULL, `str_at3` varchar(255) NOT NULL, `str_at4` varchar(255) NOT NULL, `str_at5` varchar(255) NOT NULL, `int_at1` int(11) default NULL, `int_at2` int(11) default NULL, `int_at3` int(11) default NULL, `int_at4` int(11) default NULL, `int_at5` int(11) default NULL, `float_at1` float default NULL, `float_at2` float default NULL, `float_at3` float default NULL, `lng` float NOT NULL default '0', `lat` float NOT NULL default '0', `make_id` int(11) NOT NULL, `transmission_id` tinyint(4) NOT NULL, PRIMARY KEY (`id`) ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` (`id`, `section`, `system_id`, `adtext`, `heading`, `price`, `postcode`, `gre`, `grn`, `str_at1`, `str_at2`, `str_at3`, `str_at4`, `str_at5`, `int_at1`, `int_at2`, `int_at3`, `int_at4`, `int_at5`, `float_at1`, `float_at2`, `float_at3`, `lng`, `lat`, `make_id`, `transmission_id`) VALUES (1, 1, 2, 'FORD', 'Ford KA', 2790, 'EN3 5BT', 535000, 197400, 'Ford', 'KA', 'Grey', 'Diesel', '', 18662, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -0.0798578, 0.937717, 8, 1), (2, 1, 0, 'until', 'Vauxhall Corsa', 5800, 'BN42 4RN', 524000, 106100, 'Vauxhall', 'Corsa', 'Red', 'Petrol', '', 19296, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -0.0799989, 0.891975, 5, 0), (211250, 0, 1, 'Quattro Roadster', 'Audi TT', 13995, 'E9 7DG', 535600, 184200, '', '', '', '', '', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, -0.0721455, 0.926761, 29, 1); sphinx-2.2.11-release/test/test_008/model.bin0000644000175000017500000000211012743402012020170 0ustar alexeyalexeya:1:{i:0;a:1:{i:0;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:6:"adtext";i:1;s:7:"heading";i:2;s:8:"postcode";}s:5:"attrs";a:6:{s:3:"lng";i:5;s:3:"lat";i:5;s:7:"section";i:1;s:7:"make_id";i:1;s:15:"transmission_id";i:1;s:8:"@geodist";i:5;}s:7:"matches";a:3:{i:2;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"lng";d:-0.079998902976512908935546875;s:3:"lat";d:0.891974985599517822265625;s:7:"section";s:1:"1";s:7:"make_id";s:1:"5";s:15:"transmission_id";s:1:"0";s:8:"@geodist";d:291086.09375;}}i:211250;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"lng";d:-0.072145499289035797119140625;s:3:"lat";d:0.926760971546173095703125;s:7:"section";s:1:"0";s:7:"make_id";s:2:"29";s:15:"transmission_id";s:1:"1";s:8:"@geodist";d:85369.6015625;}}i:1;a:2:{s:6:"weight";s:1:"1";s:5:"attrs";a:6:{s:3:"lng";d:-0.0798577964305877685546875;s:3:"lat";d:0.937717020511627197265625;s:7:"section";s:1:"1";s:7:"make_id";s:1:"8";s:15:"transmission_id";s:1:"1";s:8:"@geodist";d:0;}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"query";s:0:"";}}}sphinx-2.2.11-release/test/test_007/0000755000175000017500000000000012743402012016403 5ustar alexeyalexeysphinx-2.2.11-release/test/test_007/test.xml0000644000175000017500000000373312743402012020112 0ustar alexeyalexey prefix_fields/infix_fields (part 4) indexer { mem_limit = 16M } searchd { } source srclj { type = mysql sql_query = SELECT id, subject, body, author FROM test_table } index lj { source = srclj path = /lj min_word_len = 0 min_infix_len = 3 min_prefix_len = 3 prefix_fields = prefix_fields = subject prefix_fields = body prefix_fields = body, author infix_fields = infix_fields = SUBJECT infix_fields = body infix_fields = subject, AUTHOR } enab* grea* Mak* *ble* *thor* *oda* CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `document_id` int(5) NOT NULL default '0', `subject` varchar(255) NOT NULL default '', `body` varchar(255) NOT NULL default '', `author` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES (1,1,'Problem with enable_star searches','Having star searches is great! Just what we needed','Maurice Makaay'), (2,2,'Problem with enable_star searches',' But the thing is, that I cannot search for authors anymore','admin'), (3,3,'Problem with enable_star searches','I will try to repro it here and update you','shodan') sphinx-2.2.11-release/test/test_007/model.bin0000644000175000017500000002652112743402012020203 0ustar alexeyalexeya:16:{i:0;a:1:{i:0;s:6:"failed";}i:1;a:1:{i:0;s:6:"failed";}i:2;a:1:{i:0;s:6:"failed";}i:3;a:1:{i:0;s:6:"failed";}i:4;a:1:{i:0;s:6:"failed";}i:5;a:1:{i:0;s:6:"failed";}i:6;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:7;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:8;a:1:{i:0;s:6:"failed";}i:9;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:10;a:1:{i:0;s:6:"failed";}i:11;a:1:{i:0;s:6:"failed";}i:12;a:1:{i:0;s:6:"failed";}i:13;a:1:{i:0;s:6:"failed";}i:14;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:15;a:1:{i:0;s:6:"failed";}}sphinx-2.2.11-release/test/test_006/0000755000175000017500000000000012743402012016402 5ustar alexeyalexeysphinx-2.2.11-release/test/test_006/test.xml0000644000175000017500000000373312743402012020111 0ustar alexeyalexey prefix_fields/infix_fields (part 3) indexer { mem_limit = 16M } searchd { } source srclj { type = mysql sql_query = SELECT id, subject, body, author FROM test_table } index lj { source = srclj path = /lj min_word_len = 0 min_infix_len = 0 min_prefix_len = 0 prefix_fields = prefix_fields = subject prefix_fields = body prefix_fields = body, author infix_fields = infix_fields = SUBJECT infix_fields = body infix_fields = subject, AUTHOR } enab* grea* Mak* *ble* *thor* *oda* CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `document_id` int(5) NOT NULL default '0', `subject` varchar(255) NOT NULL default '', `body` varchar(255) NOT NULL default '', `author` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES (1,1,'Problem with enable_star searches','Having star searches is great! Just what we needed','Maurice Makaay'), (2,2,'Problem with enable_star searches',' But the thing is, that I cannot search for authors anymore','admin'), (3,3,'Problem with enable_star searches','I will try to repro it here and update you','shodan') sphinx-2.2.11-release/test/test_006/model.bin0000644000175000017500000007447512743402012020215 0ustar alexeyalexeya:16:{i:0;a:6:{i:0;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"enab";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"enab*";}i:1;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"grea";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"grea*";}i:2;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"mak";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:4:"Mak*";}i:3;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ble";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*ble*";}i:4;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"thor";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:6:"*thor*";}i:5;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"oda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*oda*";}}i:1;a:6:{i:0;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"enab";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"enab*";}i:1;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"grea";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"grea*";}i:2;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"mak";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:4:"Mak*";}i:3;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ble";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*ble*";}i:4;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"thor";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:6:"*thor*";}i:5;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"oda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*oda*";}}i:2;a:6:{i:0;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"enab";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"enab*";}i:1;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"grea";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"grea*";}i:2;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"mak";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:4:"Mak*";}i:3;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ble";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*ble*";}i:4;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"thor";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:6:"*thor*";}i:5;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"oda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*oda*";}}i:3;a:6:{i:0;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"enab";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"enab*";}i:1;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"grea";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"grea*";}i:2;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"mak";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:4:"Mak*";}i:3;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ble";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*ble*";}i:4;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"thor";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:6:"*thor*";}i:5;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"oda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*oda*";}}i:4;a:6:{i:0;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"enab";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"enab*";}i:1;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"grea";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"grea*";}i:2;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"mak";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:4:"Mak*";}i:3;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ble";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*ble*";}i:4;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"thor";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:6:"*thor*";}i:5;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"oda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*oda*";}}i:5;a:6:{i:0;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"enab";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"enab*";}i:1;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"grea";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"grea*";}i:2;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"mak";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:4:"Mak*";}i:3;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ble";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*ble*";}i:4;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"thor";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:6:"*thor*";}i:5;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"oda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*oda*";}}i:6;a:6:{i:0;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"enab";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"enab*";}i:1;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"grea";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"grea*";}i:2;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"mak";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:4:"Mak*";}i:3;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ble";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*ble*";}i:4;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"thor";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:6:"*thor*";}i:5;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"oda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*oda*";}}i:7;a:6:{i:0;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"enab";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"enab*";}i:1;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"grea";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"grea*";}i:2;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"mak";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:4:"Mak*";}i:3;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ble";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*ble*";}i:4;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"thor";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:6:"*thor*";}i:5;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"oda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*oda*";}}i:8;a:6:{i:0;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"enab";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"enab*";}i:1;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"grea";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"grea*";}i:2;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"mak";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:4:"Mak*";}i:3;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ble";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*ble*";}i:4;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"thor";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:6:"*thor*";}i:5;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"oda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*oda*";}}i:9;a:6:{i:0;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.015";s:5:"words";a:1:{s:4:"enab";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"enab*";}i:1;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"grea";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"grea*";}i:2;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"mak";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:4:"Mak*";}i:3;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ble";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*ble*";}i:4;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"thor";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:6:"*thor*";}i:5;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"oda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*oda*";}}i:10;a:6:{i:0;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"enab";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"enab*";}i:1;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"grea";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"grea*";}i:2;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"mak";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:4:"Mak*";}i:3;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ble";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*ble*";}i:4;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"thor";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:6:"*thor*";}i:5;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"oda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*oda*";}}i:11;a:6:{i:0;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"enab";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"enab*";}i:1;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"grea";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"grea*";}i:2;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"mak";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:4:"Mak*";}i:3;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ble";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*ble*";}i:4;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"thor";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:6:"*thor*";}i:5;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"oda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*oda*";}}i:12;a:6:{i:0;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"enab";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"enab*";}i:1;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"grea";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"grea*";}i:2;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"mak";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:4:"Mak*";}i:3;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ble";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*ble*";}i:4;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"thor";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:6:"*thor*";}i:5;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"oda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*oda*";}}i:13;a:6:{i:0;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"enab";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"enab*";}i:1;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"grea";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"grea*";}i:2;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"mak";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:4:"Mak*";}i:3;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ble";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*ble*";}i:4;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"thor";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:6:"*thor*";}i:5;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"oda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*oda*";}}i:14;a:6:{i:0;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"enab";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"enab*";}i:1;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"grea";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"grea*";}i:2;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"mak";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:4:"Mak*";}i:3;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ble";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*ble*";}i:4;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"thor";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:6:"*thor*";}i:5;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"oda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*oda*";}}i:15;a:6:{i:0;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"enab";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"enab*";}i:1;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"grea";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"grea*";}i:2;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"mak";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:4:"Mak*";}i:3;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"ble";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*ble*";}i:4;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"thor";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:6:"*thor*";}i:5;a:10:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"oda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:5:"query";s:5:"*oda*";}}}sphinx-2.2.11-release/test/test_005/0000755000175000017500000000000012743402012016401 5ustar alexeyalexeysphinx-2.2.11-release/test/test_005/test.xml0000644000175000017500000000373312743402012020110 0ustar alexeyalexey prefix_fields/infix_fields (part 2) indexer { mem_limit = 16M } searchd { } source srclj { type = mysql sql_query = SELECT id, subject, body, author FROM test_table } index lj { source = srclj path = /lj min_word_len = 0 min_infix_len = 3 min_prefix_len = 0 prefix_fields = prefix_fields = subject prefix_fields = body prefix_fields = body, author infix_fields = infix_fields = SUBJECT infix_fields = body infix_fields = subject, AUTHOR } enab* grea* Mak* *ble* *thor* *oda* CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `document_id` int(5) NOT NULL default '0', `subject` varchar(255) NOT NULL default '', `body` varchar(255) NOT NULL default '', `author` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES (1,1,'Problem with enable_star searches','Having star searches is great! Just what we needed','Maurice Makaay'), (2,2,'Problem with enable_star searches',' But the thing is, that I cannot search for authors anymore','admin'), (3,3,'Problem with enable_star searches','I will try to repro it here and update you','shodan') sphinx-2.2.11-release/test/test_005/model.bin0000644000175000017500000013001512743402012020173 0ustar alexeyalexeya:16:{i:0;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:1;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:2;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:3;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:4;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:5;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:6;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:7;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:8;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:9;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:10;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:11;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:12;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:13;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:14;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:15;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1252";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"6";s:4:"hits";s:1:"6";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}}sphinx-2.2.11-release/test/test_004/0000755000175000017500000000000012743402012016400 5ustar alexeyalexeysphinx-2.2.11-release/test/test_004/test.xml0000644000175000017500000000373312743402012020107 0ustar alexeyalexey prefix_fields/infix_fields (part 1) indexer { mem_limit = 16M } searchd { } source srclj { type = mysql sql_query = SELECT id, subject, body, author FROM test_table } index lj { source = srclj path = /lj min_word_len = 0 min_infix_len = 0 min_prefix_len = 3 prefix_fields = prefix_fields = subject prefix_fields = body prefix_fields = body, author infix_fields = infix_fields = SUBJECT infix_fields = body infix_fields = subject, AUTHOR } enab* grea* Mak* *ble* *thor* *oda* CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `document_id` int(5) NOT NULL default '0', `subject` varchar(255) NOT NULL default '', `body` varchar(255) NOT NULL default '', `author` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES (1,1,'Problem with enable_star searches','Having star searches is great! Just what we needed','Maurice Makaay'), (2,2,'Problem with enable_star searches',' But the thing is, that I cannot search for authors anymore','admin'), (3,3,'Problem with enable_star searches','I will try to repro it here and update you','shodan') sphinx-2.2.11-release/test/test_004/model.bin0000644000175000017500000011601512743402012020176 0ustar alexeyalexeya:16:{i:0;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:1;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:2;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:3;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:4;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:5;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:6;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:7;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:8;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:9;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:10;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:11;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:12;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:13;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:14;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}i:15;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"enab*";a:2:{s:4:"docs";s:1:"3";s:4:"hits";s:1:"3";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"enab*";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"grea*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"grea*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:1;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"mak*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"Mak*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*ble*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*ble*";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*thor*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*thor*";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"*oda*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"*oda*";}}}sphinx-2.2.11-release/test/test_003/0000755000175000017500000000000012743402012016377 5ustar alexeyalexeysphinx-2.2.11-release/test/test_003/test.xml0000644000175000017500000000361312743402012020103 0ustar alexeyalexey prefix/infix indexing (part 3) indexer { mem_limit = 16M } searchd { } source srclj { type = mysql sql_query = SELECT id, subject, body, author FROM test_table } index lj { source = srclj path = /lj min_word_len = 3 min_prefix_len = 0 min_prefix_len = 1 min_prefix_len = 3 min_infix_len = 0 min_infix_len = 1 min_infix_len = 3 } admin *earc* up* dmin rep pda I I* for CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `document_id` int(5) NOT NULL default '0', `subject` varchar(255) NOT NULL default '', `body` varchar(255) NOT NULL default '', `author` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES (1,1,'Problem with enable_star searches','Having star searches is great! Just what we needed','Maurice Makaay'), (2,2,'Problem with enable_star searches',' But the thing is, that I cannot search for authors anymore','admin'), (3,3,'Problem with enable_star searches','I will try to repro it here and update you','shodan') sphinx-2.2.11-release/test/test_003/model.bin0000644000175000017500000004151412743402012020176 0ustar alexeyalexeya:9:{i:0;a:9:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"admin";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"admin";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"earc";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*earc*";}i:2;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"up*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dmin";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dmin";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"rep";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"rep";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"pda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"pda";}i:6;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"I";}i:7;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"I*";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"for";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"for";}}i:1;a:9:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"admin";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"admin";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*earc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*earc*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"up*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"up*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dmin";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dmin";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"rep";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"rep";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"pda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"pda";}i:6;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"I";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"i*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"I*";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"for";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"for";}}i:2;a:9:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"admin";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"admin";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*earc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*earc*";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'up*' ";s:6:"status";i:3;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"up*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"up*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"dmin";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dmin";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"rep";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"rep";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"pda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"pda";}i:6;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"I";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min prefix length. word: 'i*' ";s:6:"status";i:3;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:2:"i*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"I*";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"for";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"for";}}i:3;a:9:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"admin";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"admin";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"2252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"2252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*earc*";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*earc*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"up*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"up*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dmin";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dmin";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"rep";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"rep";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"pda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"pda";}i:6;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"I";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"i*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"I*";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"for";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"for";}}i:4;a:1:{i:0;s:6:"failed";}i:5;a:1:{i:0;s:6:"failed";}i:6;a:9:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"admin";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"admin";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"2252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"2252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*earc*";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*earc*";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min infix length. word: 'up*' ";s:6:"status";i:3;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"up*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"up*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dmin";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dmin";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"rep";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"rep";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"pda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"pda";}i:6;a:11:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"I";}i:7;a:12:{s:5:"error";s:0:"";s:7:"warning";s:60:"Query word length is less than min infix length. word: 'i*' ";s:6:"status";i:3;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:2:"i*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:2:"I*";}i:8;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"for";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"for";}}i:7;a:1:{i:0;s:6:"failed";}i:8;a:1:{i:0;s:6:"failed";}}sphinx-2.2.11-release/test/test_002/0000755000175000017500000000000012743402012016376 5ustar alexeyalexeysphinx-2.2.11-release/test/test_002/test.xml0000644000175000017500000000352012743402012020077 0ustar alexeyalexey prefix/infix indexing (part 2) indexer { mem_limit = 16M } searchd { } source srclj { type = mysql sql_query = SELECT id, subject, body, author FROM test_table } index lj { source = srclj path = /lj min_word_len = 1 min_prefix_len = 0 min_prefix_len = 1 min_prefix_len = 3 min_infix_len = 0 min_infix_len = 1 min_infix_len = 3 } admin *earc* up* dmin rep pda I CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `document_id` int(5) NOT NULL default '0', `subject` varchar(255) NOT NULL default '', `body` varchar(255) NOT NULL default '', `author` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES (1,1,'Problem with enable_star searches','Having star searches is great! Just what we needed','Maurice Makaay'), (2,2,'Problem with enable_star searches',' But the thing is, that I cannot search for authors anymore','admin'), (3,3,'Problem with enable_star searches','I will try to repro it here and update you','shodan') sphinx-2.2.11-release/test/test_002/model.bin0000644000175000017500000003373112743402012020177 0ustar alexeyalexeya:9:{i:0;a:7:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"admin";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"admin";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"earc";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*earc*";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:2:"up";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"up*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dmin";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dmin";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"rep";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"rep";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"pda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"pda";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:1:"i";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"I";}}i:1;a:7:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"admin";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"admin";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*earc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*earc*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"up*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"up*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dmin";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dmin";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"rep";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"rep";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"pda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"pda";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:1:"i";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"I";}}i:2;a:7:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"admin";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"admin";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*earc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*earc*";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'up*' ";s:6:"status";i:3;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"up*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"up*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dmin";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dmin";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"rep";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"rep";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"pda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"pda";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:1:"i";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"I";}}i:3;a:7:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.002";s:5:"words";a:1:{s:5:"admin";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"admin";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"2252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"2252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:6:"*earc*";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*earc*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"up*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"up*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"dmin";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dmin";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"rep";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"rep";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"pda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"pda";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:1:"i";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"I";}}i:4;a:1:{i:0;s:6:"failed";}i:5;a:1:{i:0;s:6:"failed";}i:6;a:7:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"admin";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"admin";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"2252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"2252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*earc*";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*earc*";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min infix length. word: 'up*' ";s:6:"status";i:3;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"up*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"up*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"dmin";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dmin";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"rep";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"rep";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"pda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"pda";}i:6;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:2:{i:2;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1500";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"2";s:11:"total_found";s:1:"2";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:1:"i";a:2:{s:4:"docs";s:1:"2";s:4:"hits";s:1:"2";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:1:"I";}}i:7;a:1:{i:0;s:6:"failed";}i:8;a:1:{i:0;s:6:"failed";}}sphinx-2.2.11-release/test/test_001/0000755000175000017500000000000012743402012016375 5ustar alexeyalexeysphinx-2.2.11-release/test/test_001/test.xml0000644000175000017500000000347012743402012020102 0ustar alexeyalexey prefix/infix indexing (part 1) indexer { mem_limit = 16M } searchd { } source srclj { type = mysql sql_query = SELECT id, subject, body, author FROM test_table } index lj { source = srclj path = /lj min_word_len = 0 min_prefix_len = 0 min_prefix_len = 1 min_prefix_len = 3 min_infix_len = 0 min_infix_len = 1 min_infix_len = 3 } admin *earc* up* dmin rep pda CREATE TABLE `test_table` ( `id` int(11) NOT NULL default '0', `document_id` int(5) NOT NULL default '0', `subject` varchar(255) NOT NULL default '', `body` varchar(255) NOT NULL default '', `author` varchar(255) NOT NULL default '' ) DROP TABLE IF EXISTS `test_table` INSERT INTO `test_table` VALUES (1,1,'Problem with enable_star searches','Having star searches is great! Just what we needed','Maurice Makaay'), (2,2,'Problem with enable_star searches',' But the thing is, that I cannot search for authors anymore','admin'), (3,3,'Problem with enable_star searches','I will try to repro it here and update you','shodan') sphinx-2.2.11-release/test/test_001/model.bin0000644000175000017500000002721012743402012020171 0ustar alexeyalexeya:9:{i:0;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"admin";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"admin";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"earc";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*earc*";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:2:"up";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"up*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:4:"dmin";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dmin";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"rep";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"rep";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.001";s:5:"words";a:1:{s:3:"pda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"pda";}}i:1;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"admin";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"admin";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*earc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*earc*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"up*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"up*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dmin";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dmin";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"rep";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"rep";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.002";s:5:"words";a:1:{s:3:"pda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"pda";}}i:2;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"admin";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"admin";}i:1;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*earc*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*earc*";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:62:"Query word length is less than min prefix length. word: 'up*' ";s:6:"status";i:3;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"up*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"up*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dmin";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dmin";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"rep";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"rep";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"pda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"pda";}}i:3;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"admin";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"admin";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"2252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"2252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*earc*";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*earc*";}i:2;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:3;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"up*";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"up*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dmin";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dmin";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"rep";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"rep";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"pda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"pda";}}i:4;a:1:{i:0;s:6:"failed";}i:5;a:1:{i:0;s:6:"failed";}i:6;a:6:{i:0;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:1:{i:2;a:2:{s:6:"weight";s:4:"1680";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"1";s:11:"total_found";s:1:"1";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:5:"admin";a:2:{s:4:"docs";s:1:"1";s:4:"hits";s:1:"1";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:5:"admin";}i:1;a:13:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:7:"matches";a:3:{i:1;a:2:{s:6:"weight";s:4:"2252";s:5:"attrs";a:0:{}}i:2;a:2:{s:6:"weight";s:4:"2252";s:5:"attrs";a:0:{}}i:3;a:2:{s:6:"weight";s:4:"1319";s:5:"attrs";a:0:{}}}s:5:"total";s:1:"3";s:11:"total_found";s:1:"3";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:6:"*earc*";a:2:{s:4:"docs";s:1:"4";s:4:"hits";s:1:"5";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:6:"*earc*";}i:2;a:12:{s:5:"error";s:0:"";s:7:"warning";s:61:"Query word length is less than min infix length. word: 'up*' ";s:6:"status";i:3;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"up*";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"up*";}i:3;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:4:"dmin";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:4:"dmin";}i:4;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"rep";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"rep";}i:5;a:12:{s:5:"error";s:0:"";s:7:"warning";s:0:"";s:6:"status";i:0;s:6:"fields";a:3:{i:0;s:7:"subject";i:1;s:4:"body";i:2;s:6:"author";}s:5:"attrs";a:0:{}s:5:"total";s:1:"0";s:11:"total_found";s:1:"0";s:4:"time";s:5:"0.000";s:5:"words";a:1:{s:3:"pda";a:2:{s:4:"docs";s:1:"0";s:4:"hits";s:1:"0";}}s:8:"resarray";i:0;s:8:"roundoff";i:0;s:5:"query";s:3:"pda";}}i:7;a:1:{i:0;s:6:"failed";}i:8;a:1:{i:0;s:6:"failed";}}sphinx-2.2.11-release/test/test-templates.xml0000644000175000017500000000216712743402012020541 0ustar alexeyalexey regular index test template indexer { mem_limit = 16M } searchd { } source test { type = mysql sql_query = select * from test_table sql_attr_uint = gid } index test { source = test path = /test } CREATE TABLE test_table ( id INTEGER PRIMARY KEY NOT NULL, gid INTEGER NOT NULL, title VARCHAR(255) NOT NULL ); DROP TABLE IF EXISTS test_table; INSERT INTO test_table VALUES ( 1, 123, 'hello world' ); hello RT: test template indexer { mem_limit = 16M } searchd { workers = threads } index test { type = rt path = data/test rt_attr_uint = gid rt_field = title } insert into test ( id, gid, title ) values ( 1, 123, 'hello world' ) select * from test sphinx-2.2.11-release/test/synonyms.txt0000644000175000017500000000012412743402012017473 0ustar alexeyalexeyMS Windows => Windows Microsoft Windows => Windows Windows => Windows 4 you => 4you sphinx-2.2.11-release/test/stopwords_121.txt0000644000175000017500000000000312743402012020217 0ustar alexeyalexeyaddsphinx-2.2.11-release/test/stopwords.txt0000644000175000017500000000001512743402012017637 0ustar alexeyalexeya the and of sphinx-2.2.11-release/test/settings.inc0000644000175000017500000001034112743402012017370 0ustar alexeyalexey $sd_address, "port" => $sd_port, "sqlport" => $sd_sphinxql_port ), array ( "address" => $agent_address, "port" => $agent_port, "sqlport" => $agent_port_sql ), array ( "address" => $agent_address, "port" => $agent_port+1, "sqlport" => $agent_port_sql+1 ) ); $index_data_path = "data"; $g_model = false; $g_id64 = false; $g_re2 = false; $g_rlp = false; $g_odbc = false; $g_strict = false; $g_skipdemo = false; $g_usemarks = true; // that we mark the output of every test in the searchd.log and query.log $g_strictverbose = false; $windows = isset($_SERVER["WINDIR"]) || isset($_SERVER["windir"]) || isset($_SERVER["HOMEDRIVE"]); $action_retries = 20; $action_wait_timeout = 50000; $g_locals = null; $g_site_defaults = array ( 'queries' => 'queries.txt', 'qlimit' => null, 'api' => '../api/sphinxapi.php', 'mode' => 'aggregate', 'skip-searchd' => false, 'force-reindex' => false, 'malloc-scribble' => false, 'db-host' => '127.0.0.1', 'db-user' => 'root', 'db-password' => '', 'db-name' => 'test', 'db-port' => 3306 ); // localsettings could include dev's own parameters // which is not to be commited into the public repo (in opposite to this settings.inc) if ( file_exists ('localsettings.inc') ) require_once ( 'localsettings.inc' ); function GetBanner () { global $g_locals; exec ( $g_locals['indexer'], $output, $result ); if ( count($output) == 0 ) { print "ERROR: failed to run the indexer\n"; exit ( 1 ); } else return $output; } function GuessIdSize () { global $g_id64; $banner = GetBanner(); $g_id64 = strstr ( $banner[0], 'id64' ) !== false; } function GuessFeature ($config, $testmsg) { global $g_locals; exec ( $g_locals['indexer'].' --quiet --config '.$config.' --all', $output, $result ); if ( count($output) == 0 ) { print "ERROR: failed to run the indexer\n"; exit ( 1 ); } $flag = true; foreach ( $output as $str ) { if ( strstr ( $str, $testmsg ) ) { $flag = false; break; } } return $flag; } function GuessRE2 () { global $g_re2; $g_re2 = GuessFeature ('test_re.conf','no regexp support compiled'); } function GuessRLP () { global $g_rlp; $g_rpl = GuessFeature ( 'test_rlp.conf','no RLP support compiled'); } function GuessODBC () { global $g_odbc; $g_odbc = GuessFeature ( 'test_odbc.conf','failed to configure some of the sources'); } function GetVersion () { $banner = GetBanner(); return $banner[0]; } function PublishLocals ( $locals, $benchmark ) { global $g_locals, $g_site_defaults, $windows; $sources = array(); if ( @$locals['root'] && !@$locals['bin'] && !@$locals['api'] ) { $locals['bin'] = $locals['root'] . '/src/'; $locals['api'] = $locals['root'] . '/api/sphinxapi.php'; } $text = @file_get_contents ( getenv('HOME') . '/.sphinx' ); if ( !$text ) { $path = ''; if ( $windows ) $path = $benchmark ? '..\\bin\\release\\' : '..\\bin\\debug\\'; else $path = '../src/'; $text = @file_get_contents ( $path . '/.sphinx' ); } if ( $text ) { eval('$init = array ' . $text . ';'); $sources[] = $init; } $sources[] = $g_site_defaults; foreach ( $sources as $source ) { foreach ( $source as $key => $value ) { if ( !array_key_exists ( $key, $locals ) ) $locals[$key] = $value; } } if ( !@$locals['bin'] ) { if ( $windows ) $locals['bin'] = $benchmark ? '..\\bin\\release\\' : '..\\bin\\debug\\'; else $locals['bin'] = '../src/'; } $ext = $windows ? ".exe" : ""; foreach ( array ( 'searchd', 'indexer' ) as $key ) { if ( !array_key_exists ( $key, $locals ) ) $locals[$key] = $locals['bin'] . $key . $ext; } $g_locals = $locals; } ?> sphinx-2.2.11-release/test/ql/0000755000175000017500000000000012743402012015452 5ustar alexeyalexeysphinx-2.2.11-release/test/ql/t2.cmd0000644000175000017500000000040212743402012016460 0ustar alexeyalexey@echo off start ..\..\bin\release\searchd.exe C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe /nologo /r:"C:\Program Files\MySQL\MySQL Connector Net 6.8.3\Assemblies\v2.0\MySql.Data.dll" qltest.cs qltest.exe start ..\..\bin\release\searchd.exe --stop sphinx-2.2.11-release/test/ql/t.cmd0000644000175000017500000000043112743402012016400 0ustar alexeyalexey@echo off start ..\..\bin\release\searchd.exe call javac -cp .;mysql-connector-java-5.1.29\mysql-connector-java-5.1.29-bin.jar -d . qltest.java call java -cp .;mysql-connector-java-5.1.29\mysql-connector-java-5.1.29-bin.jar qltest start ..\..\bin\release\searchd.exe --stop sphinx-2.2.11-release/test/ql/sphinx.conf0000644000175000017500000000054212743402012017633 0ustar alexeyalexeyindex rt { type = rt path = data/rt rt_field = title rt_attr_uint = gid rt_attr_string = title index_field_lengths = 1 } indexer { mem_limit = 32M } searchd { listen = 9312 listen = 9306:mysql41 log = data/searchd.log query_log = data/query.log pid_file = data/searchd.pid workers = threads binlog_path = mysql_version_string = 5.0.37 } sphinx-2.2.11-release/test/ql/qltest.rb0000644000175000017500000000027512743402012017317 0ustar alexeyalexeyrequire "mysql" db = Mysql.real_connect('0', '', '', 'testdb', 9306) res = db.query('SELECT * FROM rt') row = res.fetch_row puts row[0] + ' | ' + row[1] + ' | ' + row[2] + ' | ' + row[3]; sphinx-2.2.11-release/test/ql/qltest.py0000644000175000017500000000032712743402012017342 0ustar alexeyalexeyimport MySQLdb db = MySQLdb.connect(host='0', port=9306, db='testdb') c = db.cursor() c.execute('SELECT * FROM rt') row = c.fetchone() print str(row[0]) + ' | ' + str(row[1]) + ' | ' + row[2] + ' | ' + str(row[3]) sphinx-2.2.11-release/test/ql/qltest.php0000644000175000017500000000030312743402012017473 0ustar alexeyalexeyquery('SELECT * FROM rt'); $row = $result->fetch_row(); printf("%s | %s | %s | %s\n", $row[0], $row[1], $row[2], $row[3]); ?>sphinx-2.2.11-release/test/ql/qltest.java0000644000175000017500000000137712743402012017641 0ustar alexeyalexeyimport java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.logging.Level; import java.util.logging.Logger; public class qltest { public static void main(String[] args) throws SQLException { Connection con = null; Statement st = null; ResultSet rs = null; String url = "jdbc:mysql://localhost:9306/testdb"; String user = "root"; String password = ""; con = DriverManager.getConnection(url, user, password); st = con.createStatement(); rs = st.executeQuery("SELECT * FROM rt"); while (rs.next()) { System.out.println( rs.getString(1) + " | " + rs.getString(2) + " | " + rs.getString(3) + " | " + rs.getString(4)); } } } sphinx-2.2.11-release/test/ql/qltest.cs0000644000175000017500000000133012743402012017312 0ustar alexeyalexeyusing System; using MySql.Data.MySqlClient; public class Example { static void Main() { string cs = @"server=localhost;port=9306;userid=root;password=;database=testdb"; MySqlConnection conn = null; try { conn = new MySqlConnection(cs); conn.Open(); MySqlCommand cmd = new MySqlCommand("SELECT * FROM rt", conn); MySqlDataReader r; r = cmd.ExecuteReader(); while(r.Read()) { Console.WriteLine( r.GetString(0) + " | " + r.GetString(1) + " | " + r.GetString(2) + " | " + r.GetString(3)); } r.Close(); conn.Close(); } catch (MySqlException ex) { Console.WriteLine("Error: {0}", ex.ToString()); } finally { if (conn != null) conn.Close(); } } } sphinx-2.2.11-release/test/ql/data/0000755000175000017500000000000012743402012016363 5ustar alexeyalexeysphinx-2.2.11-release/test/ql/data/rt.ram0000644000175000017500000000040412743402012017507 0ustar alexeyalexeydogisthis| this is doghelloworld { hello worldsphinx-2.2.11-release/test/ql/data/rt.meta0000644000175000017500000000051412743402012017660 0ustar alexeyalexeySPRT(titlegid title title_len @ @0sphinx-2.2.11-release/test/ql/data/rt.kill0000644000175000017500000000000412743402012017657 0ustar alexeyalexeysphinx-2.2.11-release/test/ql/README0000644000175000017500000000050112743402012016326 0ustar alexeyalexeyJava test notes ---------------- wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.29.zip 7z x mysql-connector-java-5.1.29.zip Q: Why this one? A: First hit in Google. C# test notes -------------- wget http://dev.mysql.com/get/Downloads/Connector-Net/mysql-connector-net-6.8.3.msi --eof-- sphinx-2.2.11-release/test/html_120.txt0000644000175000017500000000010712743402012017123 0ustar alexeyalexey
That paper also reminds me end point
cool friendsphinx-2.2.11-release/test/helpers_rt.inc0000644000175000017500000000565312743402012017711 0ustar alexeyalexey0, 'total_found'=>0, 'time'=>0, 'query'=>'', 'tag'=>'', 'error'=>'' ); $con_sql = @mysql_connect ( "localhost", "root", "", true ); if ( !$con_sql ) { $res['error'] = 'failed to connect to MySQL server'; return $res; } if ( !@mysql_select_db ( "lj", $con_sql ) ) { $res['error'] = 'failed to select db'; return $res; } if ( !@mysql_query ( 'SET names utf8', $con_sql ) ) { $res['error'] = 'failed to connect to set utf8'; return $res; } $r = @mysql_query ( "SELECT id, UNCOMPRESS(content) body, title, channel_id idd, ts FROM posting where id>=$id_from AND id<=$id_to;", $con_sql ); if ( !$r ) { $res['error'] = 'faled to fetch'; return $res; } $data = array(); while ( $row = @mysql_fetch_assoc ( $r ) ) { $data[] = array ( 'id'=>$row['id'], 'title'=>$row['title'], 'body'=>$row['body'], 'idd'=>$row['idd'], 'ts'=>$row['ts'] ); } $con_daemon->Query ( "SET autocommit=0" ); $posted = 0; $start = MyMicrotime(); foreach ( $data as $elem ) { $id = $elem['id']; $title = escape ( $elem['title'] ); $body = escape ( $elem['body'] ); $q = "REPLACE INTO $index_name (id, title, body, idd, ts) VALUES ( $id, ' "; $q .= $title; // title $q .= " ', ' "; $q .= $body; // body $q .= " ', "; $q .= $elem['idd']; // idd $q .= ", "; $q .= strtotime($elem['ts']); // ts $q .= " ) "; $r = ( $con_daemon->Query ( $q ) ); if ( stristr ( $r, "NOT CONNECTED" ) || stristr ( $r, "ERROR:" ) ) { $res['error'] = $r . '; query: ' . $q; $res['total_found'] = $posted; return $res; } $posted++; if ( ( $posted % $commit_step )==0 ) $con_daemon->Query ( 'COMMIT' ); } $con_daemon->Query ( 'COMMIT' ); $con_daemon->Query ( "SET autocommit=1" ); $res['time'] = MyMicrotime() - $start; $res['total_found'] = $posted; return $res; } function delete_from_rt ( $ids, $con_daemon, $index_name ) { $res = array( 'total'=>0, 'total_found'=>0, 'time'=>0, 'query'=>'', 'tag'=>'', 'error'=>'' ); $start = MyMicrotime(); foreach ( $ids as $id ) { $q = "DELETE FROM $index_name WHERE id=$id"; $r = ( $con_daemon->Query ( $q ) ); if ( stristr ( $r, "NOT CONNECTED" ) || stristr ( $r, "ERROR:" ) ) { $res['error'] = $r . '; query: ' . $q; $res['total'] = $id; return $res; } } $res['time'] = MyMicrotime() - $start; $res['total_found'] = count($ids); return $res; }sphinx-2.2.11-release/test/helpers.inc0000644000175000017500000023220412743402012017176 0ustar alexeyalexeyquery ( $q ); } $gl_conn = false; // The wrappers for fresh php without php_mysql. // We use mysqli instead in the code here, // but custom tests still know nothing about it, // so make old-fashion wrappers for them. if ( !function_exists("mysql_query") ) { function mysql_query($query, $conn = NULL) { global $gl_conn; if ($conn == NULL) return $gl_conn->query($query); else return $conn->query($query); } function mysql_connect($host, $user, $password, $newlink) { global $gl_conn; $gl_conn = new mysqli($host,$user,$password); if ($gl_conn->connect_error) return false; return $gl_conn; } function mysql_select_db($db, $conn=NULL) { global $gl_conn; if ( $conn == NULL ) return $gl_conn->select_db($db); else return $conn->select_db($db); } function mysql_close ( $link=NULL ) { if ($link!=NULL) { $link->close(); return; } global $gl_conn; if ($gl_conn!=NULL) $gl_conn->close(); } function mysql_errno ( $link=NULL ) { global $gl_conn; if ($link) return $link->errno; else return $gl_conn->errno; } function mysql_error ( $link=NULL ) { global $gl_conn; if ($link) return $link->error; else return $gl_conn->error; } function mysql_affected_rows($conn = NULL) { if ($conn != NULL) return $conn->affected_rows; global $gl_conn; return $gl_conn->affected_rows; } function mysql_num_rows($res) { return $res->num_rows; } define('MYSQL_ASSOC', MYSQLI_ASSOC); define('MYSQL_NUM', MYSQLI_NUM); define('MYSQL_BOTH', MYSQLI_BOTH); function mysql_fetch_array($res,$restype=MYSQL_BOTH) { if ($res===true) return false; $result = $res->fetch_array($restype); if ($result===NULL) return false; return $result; } function mysql_fetch_assoc($res) { return $res->fetch_assoc(); } function mysql_free_result($res) { if ($res===true) return; $res->free(); } $mysql_simulated = true; } // function_exists ("mysql_query") else { $mysql_simulated = false; } // will use mysql_query from php, or our redefined function legacy_mysql_wr ($q, $conn) { // printf ( "$q\n"); return @mysql_query($q, $conn); } function ConnectDB () { global $g_locals; if ( !function_exists ( "mysqli_connect" ) ) { print ( "ERROR: missing required mysqli_connect(); add php_mysqli.so (.dll on Windows) to your php.ini!\n" ); exit ( 1 ); } $conn = new mysqli( $g_locals["db-host"], $g_locals["db-user"], $g_locals["db-password"], $g_locals['db-name'], $g_locals['db-port']); return $conn; } // will use either system mysql, either our wrapper in order to be in sync with client used in custom tests. function LegacyConnectDB () { global $g_locals; $conn = @mysql_connect ( $g_locals["db-host"] . ":" . $g_locals["db-port"], $g_locals["db-user"], $g_locals["db-password"], true ); if ( $conn === false || !@mysql_query ( "CREATE DATABASE IF NOT EXISTS " . $g_locals['db-name'], $conn ) || !@mysql_select_db ( $g_locals['db-name'], $conn ) ) return false; return $conn; } function LegacyCreateDB ( $db_drop, $db_create, $db_insert, $custom_insert ) { $conn = LegacyConnectDB(); foreach ( $db_drop as $q ) if ( !legacy_mysql_wr ( $q, $conn ) ) return false; foreach ( $db_create as $q ) { if ( stripos ( $q, "create table")!==false ) { if ( stripos ( $q, "engine=")===false ) { $q = trim ( $q, " \t\n\r;" ); $q .= " ENGINE=MEMORY"; } } if ( !legacy_mysql_wr ( $q, $conn ) ) return false; } $oneok = count($db_insert)==0; foreach ( $db_insert as $q ) if ( legacy_mysql_wr ( $q, $conn ) ) $oneok = true; if ( !$oneok ) return false; foreach ( $custom_insert as $code ) { $function = create_function( '', $code ); $function(); } return $conn; } function CreateDB ( $db_drop, $db_create, $db_insert, $custom_insert, $skip ) { if ($skip) return ConnectDB(); // here we split codepaths for old (php5) and new (php7 without php_mysql). // if there is no custom inserts, we just use mysqli. // but if we have them, we need to support mysql syntax since custom inserts use it. // This is done by LegacyConnectDB.After it, it we actually doesn't have mysql (i.e. if we // use wrappers) we just continue to use the connection as mysqli. // but otherwise we have to close mysql conn and reconnect as mysqli to avoid too many changes // of the existing code. global $mysql_simulated; if ( count($custom_insert)>0 ) { $conn = LegacyCreateDB ( $db_drop, $db_create, $db_insert, $custom_insert ); if (!$mysql_simulated) { @mysql_close($conn); $conn = ConnectDB(); } return $conn; } $conn = ConnectDB(); foreach ( $db_drop as $q ) if ( !mysqli_wr ( $q, $conn ) ) return false; foreach ( $db_create as $q ) { if ( stripos ( $q, "create table")!==false ) { if ( stripos ( $q, "engine=")===false ) { $q = trim ( $q, " \t\n\r;" ); $q .= " ENGINE=MEMORY"; } } if ( !mysqli_wr ( $q, $conn ) ) return false; } $oneok = count($db_insert)==0; foreach ( $db_insert as $q ) if ( mysqli_wr ( $q, $conn ) ) $oneok = true; if ( !$oneok ) return false; return $conn; } function RunIndexerOnce ( &$error, $params ) { global $g_locals; $path = $g_locals['indexer']; if ( !is_executable($path) ) { $error = "$path: indexer not found"; return 1; } $retval = 0; exec ( "$path --quiet --config config.conf $params", $error, $retval ); $error = join ( "\n", $error ); return ( $retval==0 && !empty($error) ) ? 2 : $retval; } function RunIndexer ( &$error, $params ) { $INDEXING_TRIES = 5; $INDEXING_TICK = 1000000; // msec $tries = 0; for ( $i=0; $i<$INDEXING_TRIES; ++$i ) { $retval = RunIndexerOnce ( $error, $params ); if ( empty($error) || stripos ( $error, "failed to lock")===false ) break; usleep ( $INDEXING_TICK ); ++$tries; } if ( $tries!=0 ) $error = "After $tries tries: $error"; return $retval; } function CheckSearchdLog ( $error_file, &$retval ) { $rawlog = file ( $error_file ); $error = ""; foreach ( $rawlog as $line ) { foreach ( array ( "WARNING", "ERROR", "FATAL" ) as $tag ) { $t = stristr ( $line, $tag ); if ( $t ) { $error .= $t; if ( $tag!="WARNING" ) $retval = 1; } } } return $error; } function StartSearchd ( $config_file, $error_file, $pidfile, &$error, $use_watchdog = false, $addr=false, $port=false ) { global $g_locals, $windows, $action_retries, $action_wait_timeout, $sd_address, $sd_port; $path = $g_locals['searchd']; if ( !is_executable($path) ) { $error = "$path: searchd not found"; return 1; } if ( !@touch($error_file) ) { $error = "$error_file: unable to create error file"; return 1; } $test_mode = '--test'; if ( $use_watchdog ) $test_mode = ''; $retval = 0; if ( $windows ) { // using start /min to fire it "in background" // using cmd /c for redirection to work if ( file_exists ( $pidfile ) ) unlink ( $pidfile ); $process = popen ("start /min cmd /c \"$path --config $config_file --pidfile --console $test_mode > $error_file\"", "r" ); pclose ( $process ); } else system ( "$path --config $config_file $test_mode > $error_file", $retval ); // wait until pid appears for ( $i=0; $i<$action_retries && !file_exists($pidfile); $i++ ) usleep ( $action_wait_timeout ); if ( !file_exists($pidfile) ) { $error = "PID file ($pidfile) was not created"; return 1; } // check for early crash $error = CheckSearchdLog ( $error_file, $retval ); // on windows, searchd starts *fully* async // so lets also wait until pidfile gets real data // (meaning that index precaching is actually done) if ( $retval!=1 && $windows ) { $STARTUP_TRIES = 1000; $STARTUP_TICK = 50000; // msec // FIXME! add a better check that searchd is still alive than just file_exists for ( $i=0; $i<$STARTUP_TRIES && file_exists($pidfile); $i++ ) { $pid = file($pidfile); if ( count($pid) ) break; usleep ( $STARTUP_TICK ); } } // // we've got a pid file; but lets check the log file for startup errors // for ( $i=0; $i<$action_retries && !file_exists($error_file); $i++ ) // usleep ( $action_wait_timeout ); // lets wait when daemon is ready to accept connections if ( $retval==0 ) { if ( !$addr ) $addr = $sd_address; if ( !$port ) $port = $sd_port; $cl = new SphinxClient; $cl->SetServer ( $addr, $port ); $cl->SetConnectTimeout ( 10 ); $ok = false; $start = MyMicrotime(); for ( $i=0; $i<300; $i++ ) { if ( $cl->Open() ) { $cl->Close(); $ok = true; break; } usleep ( 500 ); } if ( !$ok ) { $tm = ( MyMicrotime() - $start ); printf ( "\nWARNING: can't connect to daemon on startup for %.3f sec\t\t\t\n", $tm ); } } if ( $retval==0 && !empty($error) ) $retval = 2; // no errors, but there were warnings return $retval; } function StopSearchd ( $config, $pidfile ) { global $g_locals, $action_retries, $action_wait_timeout; if ( file_exists($pidfile) && count(file($pidfile)) ) { $path = $g_locals['searchd']; $dummy = array(); exec ( "$path --config $config --stopwait", $dummy, $ret ); $i = 0; while ( file_exists ( $pidfile ) && $i < $action_retries ) { usleep ( $action_wait_timeout ); $i++; } } } function StopWaitSearchd ( $config, $pidfile ) { global $g_locals, $action_retries, $action_wait_timeout; $ret = 0; if ( file_exists($pidfile) && count(file($pidfile)) ) { $path = $g_locals['searchd']; $dummy = array(); exec ( "$path --config $config --stopwait", $dummy, $ret ); } return $ret; } function KillSearchd ( $config, $pidfile, $signal, $unlinkpid=True ) { global $windows, $action_wait_timeout; if ( file_exists($pidfile) && count(file($pidfile)) ) { if ( !$windows ) { $fp = fopen($pidfile,"r"); $pid = fread ( $fp, filesize ( $pidfile ) ); fclose ($fp); exec ("kill -s $signal $pid"); if ( $unlinkpid && file_exists ( $pidfile ) ) { usleep ( $action_wait_timeout ); unlink ( $pidfile ); } } else StopSearchd ($config, $pidfile); } } function IsModelGenMode () { global $g_model; return $g_model; } function CompareResultSetFixup ( &$set, $roundoff, $variants_match ) { global $g_ignore_weights; if ( !is_array($set) ) return; if ( $roundoff && !@$set["resarray"] ) // FIXME! support resarray too foreach ( $set["attrs"] as $name=>$type ) if ( $type==SPH_ATTR_FLOAT ) { foreach ( $set["matches"] as $id=>$match ) $set["matches"][$id]["attrs"][$name] = sprintf ( "%.{$roundoff}f", $set["matches"][$id]["attrs"][$name] ); } if ( $g_ignore_weights ) { if ( isset($set["matches"]) ) { if ( @$set["resarray"] ) { for ( $i=0; $i$match ) unset ( $set["matches"][$id]["weight"] ); } } if ( @$set["words"] ) foreach ( $set["words"] as $word=>$info ) $set["words"][$word] = array ( "hits"=>-1, "docs"=>-1 ); if ( isset($set["sphinxql"]) && isset($set["rows"]) ) { for ( $i=0; $i$v ) { if ( $v==SPH_ATTR_MULTI64 ) $set["attrs"][$k] = SPH_ATTR_MULTI; } } } function ChildrenArray ( $node, $name="" ) { $res = array (); if ( !empty($node) && $node->hasChildNodes() ) for ( $i=0; $i<$node->childNodes->length; $i++ ) { $child = $node->childNodes->item ( $i ); if ( $name=="" || strtolower($child->nodeName)==$name ) $res[] = $child; } return $res; } function NextState ( &$iter, &$limits, $ps ) { if ( $ps>count($limits) ) return; ++$iter[$ps]; if ( $iter[$ps]>=$limits[$ps]) { $iter[$ps]=0; NextState ($iter,$limits,$ps+1); } } function GetVariants ( $qnode, $enc ) { $res = array(); $iters = array(); $limits = array(); $pos = array(); $values = array(); $members = array(); foreach ( ChildrenArray ( $qnode) as $node ) { if ( $node->nodeType != XML_TEXT_NODE && $node->nodeType != XML_DOCUMENT_NODE && strtolower ( $node->nodeName ) == "variants" ) { $limits[] = $node->attributes->length; $vals = array(); foreach ( AttrArray ($node) as $attr ) $vals[] = iconv ( 'utf-8', $enc, $attr->nodeValue ); $values[] = $vals; $iters[] = 0; $pos[] = count ($members); $members[] = $vals[0]; } else $members[] = iconv ( 'utf-8', $enc, $node->nodeValue ); } $num_states = 1; for ( $i=0; $ihasAttributes() ) for ( $i=0; $i<$node->attributes->length; $i++ ) { $child = $node->attributes->item ( $i ); if ( $name=="" || strtolower($child->nodeName)==$name ) $res[] = $child; } return $res; } function GetfirstAttr ( $node ) { if ( !empty($node) && $node->hasAttributes() ) return $node->attributes->item (0); return NULL; } function GetFirstChild ( $node, $name ) { $children = ChildrenArray ( $node, $name ); return empty($children) ? NULL : $children[0]; } function GetFirstChildValue ( $node, $name, $default="" ) { $child = GetFirstChild ( $node, $name ); return is_null($child) ? $default : $child->nodeValue; } function ConnectSpecificQL($agent) { global $agents; $address = $agents[$agent]["address"]; $port = $agents[$agent]["sqlport"]; // echo "Connecting to agent $address:$port\n"; if ($address == "localhost") $address = "127.0.0.1"; return @mysqli_connect ( $address, '', '', '', $port ); } function ConnectQL() { return ConnectSpecificQL(0); } class QLClient { private $_conn = false; function Reconnect() { if ($this->_conn!==false) @mysqli_close($this->_conn); $this->_conn = ConnectQL(); return $this->_conn!==false; } function Query($q) { if ($this->_conn===false) return "NOT CONNECTED"; $r = @mysqli_query($this->_conn, $q); if (!$r) return "ERROR: ".mysqli_error($this->_conn); if ( $r===true ) return "OK"; $n = 0; $res = ""; while ($row = mysqli_fetch_row($r)) { $res .= join(" | ", $row) . "\n"; $n++; } $res .= "$n rows"; return $res; } } class APIClient extends SphinxClient { function XQuery ( $query, $index="*", $comment="" ) { $res = $this->Query($query, $index, $comment); if ($res===false) return $this->GetLastError(); unset($res["time"]); return $res; } function XUpdateAttributes ( $index, $attrs, $values, $mva=false, $ignorenonexistent=false ) { $res = $this->UpdateAttributes ( $index, $attrs, $values, $mva, $ignorenonexistent ); if ($res===false) return $this->GetLastError(); return $res; } } class SphinxConfig { private $_name; private $_db_create; private $_db_drop; private $_db_insert; private $_custom_insert; private $_counters; private $_dynamic_entries; private $_queries; private $_sphqueries; private $_query_settings; private $_query_attributes; private $_indexer_runs; private $_custom_test; private $_sd_address; private $_sd_port; private $_sd_sphinxql_port; private $_sd_pid_file; private $_num_agents; private $_subtest; private $_subtestcount; private $_results; private $_results_model; private $_prereqs; private $_config; ///< config DOM node private $_use_sphinxql; ///< true, if sphinxql queries exist private $_indexdata; ///< data for use "insert into" instead of run indexer private $_connection; ///< mysql connection (since we cound use mysql ans sqphinxql together) private $_testdir; ///< the path to the directory with current test (namely for accessing data without knowing the test name) function SetConnection ( $connection ) { $this->_connection = $connection; } function SphinxConfig () { global $sd_address, $sd_port, $sd_sphinxql_port, $sd_pid_file; $this->_counters = array (); $this->_dynamic_entries = array (); $this->_queries = array (); $this->_sphqueries = array (); $this->_results = array (); $this->_results_model = array (); $this->_query_attributes = array (); $this->_indexer_runs = array (); $this->_db_create = array (); $this->_db_drop = array (); $this->_db_insert = array (); $this->_custom_insert = array (); $this->_num_agents = 1; $this->_subtest = 0; $this->_subtestcount = 0; $this->_sd_address = $sd_address; $this->_sd_port = $sd_port; $this->_sd_sphinxql_port = $sd_sphinxql_port; $this->_sd_pid_file = $sd_pid_file; $this->_custom_test = ""; $this->_compat098 = false; $this->_skip_indexer = false; $this->_use_sphinxql = false; $this->_indexdata = array (); $this->_connection = false; $this->_testdir = ""; } function EnableCompat098 () { $this->_compat098 = true; } function SubtestNo () { return $this->_subtest; } function SubtestCount () { return $this->_subtestcount; } function Name () { return $this->_name; } function DB_Drop () { return $this->_db_drop; } function DB_Create () { return $this->_db_create; } function DB_Insert () { return $this->_db_insert; } function DB_CustomInsert () { return $this->_custom_insert; } function NumAgents () { return $this->_num_agents; } function AddressAPI () { return $this->_sd_address; } function Port () { return $this->_sd_port; } function Requires ( $name ) { return isset($this->_prereqs[$name]); } function IsQueryTest () { return strlen ( $this->_custom_test ) == 0; } function IsSphinxqlTest () { return $this->_use_sphinxql; } function IsNeedDB() { return ! ( empty ( $this->_db_drop ) && empty ( $this->_db_create ) && empty ( $this->_db_insert ) ); } function IsRt() { global $g_locals; if ( !array_key_exists ('rt_mode', $g_locals) ) return false; return $g_locals['rt_mode']; } function NeedIndexerEx () { return count ( $this->_indexer_runs ) > 0; } function Results () { return $this->_results; } function GetQuery ( $i ) { return $this->_queries[$i]; } function IsSkipIndexer () { return $this->_skip_indexer; } function ResetResults () { $this->_results = array (); } function SetTestDir ( $dir ) { $this->_testdir = $dir; } function GetLocal ( $key ) { global $g_locals; if ( !array_key_exists ( $key, $g_locals ) ) { printf ( "FATAL: unbound local variable '%s' (go add it at ~/.sphinx).\n", $key ); exit ( 1 ); } return $g_locals[$key]; } function CreateNextConfig () { return $this->GenNextCfg ( 0 ); } function SubtestFinished () { $this->_subtest++; } function SubtestFailed () { $this->_subtest++; $failed = array (); array_push ( $failed, "failed" ); if ( IsModelGenMode () ) array_push ( $this->_results_model, $failed ); } function ModelSubtestFailed () { $failed = array (); array_push ( $failed, "failed" ); return $this->_results_model [$this->SubtestNo ()] == $failed; } function SetAgent ( $agent ) { if ( !is_array ( $agent ) ) return; $this->_sd_address = $agent ["address"]; $this->_sd_port = $agent ["port"]; $this->_sd_sphinxql_port = $agent ["sqlport"]; } function SetPIDFile ( $pidfile ) { $this->_sd_pid_file = $pidfile; } function GenNextCfg ( $i ) { if ( count ( $this->_dynamic_entries ) == 0 ) return FALSE; $num_variants = count ( ChildrenArray ( $this->_dynamic_entries[$i], "variant" ) ); if ( $this->_counters [$i] == $num_variants - 1 ) { if ( $i == count ( $this->_dynamic_entries ) - 1 ) return FALSE; else { $this->_counters [$i] = 0; return $this->GenNextCfg ( $i + 1 ); } } else $this->_counters [$i]++; return TRUE; } function WriteCustomTestResults ( $fp ) { $res_fmt = $this->FormatResultSet ( 0, $this->_results ); fwrite ( $fp, $res_fmt ); } function GatherEntities ( $node, &$array ) { foreach ( ChildrenArray($node) as $child ) if ( $child->nodeType == XML_ELEMENT_NODE ) array_push ( $array, $child->nodeValue ); } function GatherNodes ( $node ) { if ( $node->nodeType != XML_TEXT_NODE && $node->nodeType != XML_DOCUMENT_NODE && strtolower ( $node->nodeName ) == "dynamic" ) { $node->id = count ( $this->_dynamic_entries ); array_push ( $this->_dynamic_entries, $node ); array_push ( $this->_counters, 0 ); } for ( $i = 0; !is_null ( $node->childNodes ) && $i < $node->childNodes->length; $i++ ) $this->GatherNodes ( $node->childNodes->item ( $i ) ); } function ParseRange ( $range ) { if ( !$range ) return false; $values = explode ( ' ', $range ); if ( count($values) != 2 ) { printf ( "ERROR: malformed range attribute: '%s'\n", $range ); return false; } return array ( 'min' => $values[0], 'max' => $values[1] ); } function ParseIndexWeights ( $weights ) { if ( !$weights ) return false; $result = array(); preg_match_all ( '/([^\s]+):(\d+)/', $weights, $matches, PREG_SET_ORDER ); foreach ( $matches as $match ) $result [ $match[1] ] = (int)$match[2]; return $result; } function SphinxQLAttr ($node) { $len = $node->attributes->length; if ( $len == 0 ) return false; $vals = array(); foreach( AttrArray( $node ) as $attr ) { $vals[$attr->nodeName]=$attr->nodeValue; } return $vals; } function Load ( $config_file ) { // load the file $doc = new DOMDocument ( "1.0" ); if ( !$doc->load ( $config_file ) ) return false; // check for proper root node if ( !$doc->hasChildNodes() ) return false; $xml = $doc->childNodes->item(0); if ( strtolower($xml->nodeName)!="test" ) return false; $custom = GetFirstChild ( $xml, "custom_test" ); if ( $custom ) { $this->_custom_test = $custom->nodeValue; if ( $doc->encoding != 'utf-8' ) $this->_custom_test = iconv ( 'utf-8', $doc->encoding, $this->_custom_test ); } // extract indexer run params $indexer_run = GetFirstChild ( $xml, "indexer" ); if ( $indexer_run ) { foreach ( ChildrenArray ( $indexer_run, "run" ) as $run ) $this->_indexer_runs [] = $run->nodeValue; } // extract meta-indexes $use_meta = true; $metaindexes = array(); foreach ( ChildrenArray ( $xml, "metaindex" ) as $meta ) { $tmp = array(); foreach ( ChildrenArray ( $meta, "index") as $idx ) $tmp[] = iconv ( 'utf-8', $doc->encoding, $idx->nodeValue ); $name = GetFirstAttr ( $meta ); $metaindexes[$name->nodeValue] = $tmp; } if ( empty ($metaindexes) ) $use_meta = false; // extract queries $qs = GetFirstChild ( $xml, "queries" ); if ( $qs ) { // new and cool foreach ( ChildrenArray ( $qs, "query" ) as $q ) { $res = array ( "query" => array ( iconv ( 'utf-8', $doc->encoding, $q->nodeValue ) ) ); // parse query mode $mode = 0; $mode_s = $q->getAttribute("mode"); switch ( $mode_s ) { case "": $mode_s = "(default)"; break; case "all": $mode = SPH_MATCH_ALL; break; case "any": $mode = SPH_MATCH_ANY; break; case "phrase": $mode = SPH_MATCH_PHRASE; break; case "extended": $mode = SPH_MATCH_EXTENDED; break; case "extended2": $mode = SPH_MATCH_EXTENDED2; break; case "fullscan": $mode = SPH_MATCH_FULLSCAN; break; default: printf ( "$config_file: unknown matching mode '%s'\n", $mode_s ); return false; } $res["mode"] = $mode; $res["mode_s"] = $mode_s; // parse ranker $ranker = 0; $ranker_s = $q->getAttribute("ranker"); if ( empty($ranker_s) ) { $ranker_s = "(default)"; } else { $ranker = @constant("SPH_RANK_" . strtoupper($ranker_s)); if ( $ranker===NULL ) { printf ( "$config_file: unknown ranker '%s'\n", $ranker_s ); return false; } } $res["ranker"] = $ranker; $res["ranker_s"] = $ranker_s; // parse filter $res["filter"] = $q->getAttribute("filter"); $res["filter_value"] = $q->getAttribute("filter_value" ); $res["filter_range"] = $this->ParseRange ( $q->getAttribute("filter_range" ) ); $res["filter_str"] = $q->getAttribute("filter_str"); // parse sort mode and get clause $sortmode = 0; $sortmode_s = $q->getAttribute("sortmode"); switch ( $sortmode_s ) { case "": $sortmode_s = "(default)"; break; case "extended": $sortmode = SPH_SORT_EXTENDED; break; case "expr": $sortmode = SPH_SORT_EXPR; break; case "attr_asc": $sortmode = SPH_SORT_ATTR_ASC; break; case "attr_desc": $sortmode = SPH_SORT_ATTR_DESC; break; default: printf ( "$config_file: unknown sorting mode '%s'\n", $sortmode_s ); return false; } $res["sortmode"] = $sortmode; $res["sortmode_s" ] = $sortmode_s; $res["sortby"] = $q->getAttribute("sortby"); // groupby $groupfunc = 0; $groupfunc_s = $q->getAttribute("groupfunc"); switch ( $groupfunc_s ) { case "": $groupfunc = SPH_GROUPBY_ATTR; $groupfunc_s = "attr"; break; case "day": $groupfunc = SPH_GROUPBY_DAY; break; case "week": $groupfunc = SPH_GROUPBY_WEEK; break; case "month": $groupfunc = SPH_GROUPBY_MONTH; break; case "year": $groupfunc = SPH_GROUPBY_YEAR; break; case "attr": $groupfunc = SPH_GROUPBY_ATTR; break; case "attrpair": $groupfunc = SPH_GROUPBY_ATTRPAIR; break; default: printf ( "$config_file: unknown groupby func '%s'\n", $groupfunc_s ); return false; } $res["groupfunc"] = $groupfunc; $res["groupfunc_s"] = $groupfunc_s; $res["groupattr"] = $q->getAttribute("groupattr"); $groupsort = $q->getAttribute("groupsort"); if ( $groupsort == "" ) $groupsort = "@group desc"; $res["groupsort"] = $groupsort; $res["groupdistinct"] = $q->getAttribute("groupdistinct"); $res["resarray"] = $q->getAttribute("resarray"); $res["index"] = $q->getAttribute("index"); $res["select"] = $q->getAttribute("select"); $res["id_range"] = $this->ParseRange ( $q->getAttribute("id_range") ); $res["index_weights"] = $this->ParseIndexWeights ( $q->getAttribute("index_weights") ); $res["roundoff"] = $q->getAttribute("roundoff"); $res["expect_error"] = $q->getAttribute("expect_error"); $res["tag"] = $q->getAttribute("tag"); $res["cutoff"] = $q->getAttribute("cutoff"); $res["limits"] = $q->getAttribute("limits"); // add query if ( $q->getAttribute("source") ) { $source = $q->getAttribute("source"); if ( substr ( $source, 0, 6 ) == "local:" ) $source = $this->GetLocal ( substr ( $source, 6 ) ); if ( !is_readable($source) ) { printf ( "FATAL: query source file '%s' not found.\n", $source ); exit ( 1 ); } $queries = file ( $source, FILE_IGNORE_NEW_LINES ); $limit = $this->GetLocal('qlimit'); $res["query"] = $limit ? array_slice( $queries, 0, $limit ) : $queries; } $this->_queries[] = $res; } } else { // legacy $qs = array (); $this->GatherEntities ( GetFirstChild ( $xml, "query" ), $qs ); foreach ( $qs as $q ) { $this->_queries[] = array ( "query" => array ( $q ), "mode" => 0, "mode_s" => "(default)", "ranker" => 0, "ranker_s" => "(default)" ); } } // extract queries $qs = GetFirstChild ( $xml, "sphqueries" ); if ( $qs ) { $this->_use_sphinxql = true; // new and cool if ( $use_meta ) { foreach ( ChildrenArray ( $qs, "sphinxql" ) as $q ) { $attrs = $this->SphinxQLAttr($q); $was_replaced = false; foreach ( $metaindexes as $name=>$indexes ) foreach ($indexes as $index) { $foo = 0; $res = str_replace ( $name, $index, GetVariants ( $q, $doc->encoding ), $foo ); if ($foo>0) { $was_replaced = true; if (!$attrs) foreach ($res as $r) $this->_sphqueries[]=$r; else foreach ($res as $r) $this->_sphqueries[]=array($r,$attrs); } } if (!$was_replaced) // no metaindexes; emit 'as is' { if (!$attrs) foreach ( GetVariants ( $q, $doc->encoding ) as $r) $this->_sphqueries[]=$r; else foreach ( GetVariants ( $q, $doc->encoding ) as $r) $this->_sphqueries[]=array($r,$attrs); } } } else { foreach ( ChildrenArray ( $qs, "sphinxql" ) as $q ) { $attrs = $this->SphinxQLAttr($q); if (!$attrs) $this->_sphqueries[] = iconv('utf-8', $doc->encoding, $q->nodeValue); else $this->_sphqueries[] = array(iconv('utf-8', $doc->encoding, $q->nodeValue),$attrs); } } } // extract my settings $this->_config = GetFirstChild ( $xml, "config" ); $this->GatherNodes ( $this->_config ); $this->GatherEntities ( GetFirstChild ( $xml, "query_attributes" ), $this->_query_attributes ); foreach ( ChildrenArray ( $xml, "db_create" ) as $node ) $this->_db_create []=$node->nodeValue; foreach ( ChildrenArray ( $xml, "db_drop" ) as $node ) $this->_db_drop []=$node->nodeValue; foreach ( ChildrenArray ( $xml, "db_insert" ) as $node ) $this->_db_insert [] = iconv ( 'utf-8', $doc->encoding, $node->nodeValue ); foreach ( ChildrenArray ( $xml, "custom_insert" ) as $node ) $this->_custom_insert []=$node->nodeValue; $this->_name = GetFirstChildValue ( $xml, "name" ); $this->_query_settings = GetFirstChildValue ( $xml, "query_settings" ); $this->_num_agents = GetFirstChildValue ( $xml, "num_agents", 1 ); $this->_skip_indexer = GetFirstChildValue ( $xml, "skip_indexer", false )!==false; $this->_prereqs = array(); $prereqs = GetFirstChild ( $xml, "requires", false ); if ( $prereqs ) foreach ( ChildrenArray ( $prereqs ) as $node ) $this->_prereqs [ $node->nodeName ] = 1; // precalc subtests count $this->_subtestcount = 1; foreach ( $this->_dynamic_entries as $entry ) { $variants = count ( ChildrenArray ( $entry, "variant" ) ); $this->_subtestcount *= max ( $variants, 1 ); } return true; } function RunIndexerEx ( &$error ) { foreach ( $this->_indexer_runs as $param ) { $retval = RunIndexer ( $error, $param ); if ( $retval != 0 ) return $retval; } return 0; } function FixupErrorMessage ( $s ) { global $agents; $tr = array( $agents[0]["address"].":".$agents[0]["port"] => "", $agents[1]["address"].":".$agents[1]["port"] => "", $agents[2]["address"].":".$agents[2]["port"] => "" ); $s = strtr ( $s, $tr ); $s = preg_replace ( "/or \d+ other tokens/", "or N other tokens", $s ); return $s; } function RunQuerySphinxQL ( &$error, $bench=false ) { global $g_pick_query; $total = $done = 0; $qcount = count($this->_sphqueries); if ( $bench === true ) $qcount *= 2; $connection=false; $qmin = 0; $qmax = $qcount - 1; $old_agent = -1; $use_agent = 0; $sleep_agent=0; if ( $g_pick_query>0 ) { $qmin = $g_pick_query-1; $qmax = $g_pick_query-1; } for ( $n=$qmin; $n<=$qmax; $n++ ) { if ( $bench === false ) { $query = $this->_sphqueries[$n]; } else { if ( ($n%2)==0 ) $query = $this->_sphqueries[$n/2]; else $query = 'show meta'; } $sleep_agent=0; $use_agent=0; if (is_array($query)) { foreach ( $query[1] as $k => $v ) { if ($k=="d") $use_agent = $v; elseif ($k=="sleep") $sleep_agent = $v; } $query = $query[0]; } if ($old_agent!=$use_agent) { if ($old_agent!=-1) mysqli_close($connection); if ($sleep_agent>0) usleep($sleep_agent); if (!($connection = ConnectSpecificQL($use_agent))) return false; $old_agent = $use_agent; } if ( $query=="RECONNECT" ) { mysqli_close($connection); if (!($connection = ConnectSpecificQL($use_agent))) return false; $r = array("sphinxql"=>$query, "error"=>"reconnected ok!", "errno"=>0); $this->_results[] = $r; if ( IsModelGenMode () ) $this->_results_model[$this->SubtestNo ()][] = $r; continue; } $query_result = array (); $no_time = false; if ( $bench===false && ( stripos ( $query, 'show' )!==false ) && ( stripos ( $query, 'meta' )!==false ) ) $no_time = true; if ( strpos ($query, ";")===FALSE ) // process a single-query line // FIXME! If a query contains ';' it would be false positive for such codepath. { $query_result["sphinxql"]=$query; $result = mysqli_wr ($query,$connection); if ($result===true) $query_result["total_affected"] = mysqli_affected_rows($connection); else if ($result===false) { $query_result["error"] = $this->FixupErrorMessage ( mysqli_error( $connection ) ); $query_result["errno"] = mysqli_errno( $connection ); } else { $query_result["total_rows"] = mysqli_num_rows($result); while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { if ( $no_time===true && array_key_exists ( 'Variable_name', $row ) && $row['Variable_name']=='time' ) continue; $query_result["rows"][] = $row; } mysqli_free_result($result); } $this->_results[] = $query_result; } else { $parts = explode (';',$query); if ( mysqli_multi_query ($connection,$query) ) { $resultset_num = 0; do { if ($result = mysqli_store_result($connection)) { $query_result["total_rows"] = mysqli_num_rows ($result); if (array_key_exists ("rows", $query_result) ) unset ($query_result["rows"]); while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { if ( $no_time===true && array_key_exists ( 'Variable_name', $row ) && $row['Variable_name']=='time' ) continue; $query_result["rows"][] = $row; } mysqli_free_result($result); } else { if (mysqli_field_count($connection)) // there were some fields. An error occured. { $query_result["error"] = mysqli_error( $connection ); $query_result["errno"] = mysqli_errno( $connection ); } else $query_result["total_affected"] = mysqli_affected_rows($connection); } if ($resultset_num==0) $query_result["sphinxql"]="$query"; else $query_result["sphinxql"]=($resultset_num_results[] = $query_result; if (!mysqli_more_results($connection)) break; if ( IsModelGenMode () ) { $this->_results_model[$this->SubtestNo ()][] = $query_result; } $query_result = array (); } while (mysqli_next_result($connection)); } else { $query_result["sphinxql"]=$query; $query_result["error"] = mysqli_error( $connection ); $query_result["errno"] = mysqli_errno( $connection ); $this->_results[] = $query_result; } } if ( IsModelGenMode () ) { $this->_results_model[$this->SubtestNo ()][] = $query_result; } } mysqli_close ( $connection ); return true; } function RunQuery ( $index, &$error, $benchmark = null ) { global $sd_address, $sd_port, $action_retries, $action_wait_timeout, $g_pick_query; $query_results = array (); $total = $done = 0; if ( $benchmark ) { foreach ( $this->_queries as $qinfo ) $total += count($qinfo['query']); $prefix = $benchmark; $compact = true; $tm = 0; $start = MyMicrotime(); } else $compact = false; $cl = new APIClient; $pconn = $benchmark && method_exists ( $cl, 'Open' ); if ( $pconn ) { $cl = new APIClient; $cl->SetServer ( $sd_address, $sd_port ); $cl->Open (); } $retries = 1; if ( !$benchmark ) $retries = $action_retries; // tricky bit // sometimes, we run some API queries and then some QL queries! // so when picker points to an API query, choose it // but if it points past, adjust the picker $qmin = 0; $qmax = count($this->_queries) - 1; if ( $g_pick_query>0 ) { if ( $g_pick_query<=$qmax ) { $qmin = $g_pick_query-1; $qmax = $g_pick_query-1; } else { $g_pick_query -= count($this->_queries); return true; } } for ( $n=$qmin; $n<=$qmax; $n++ ) { $qinfo = $this->_queries[$n]; foreach ( $qinfo['query'] as $query ) { if ( $benchmark && MyMicrotime() > $tm ) { $tm = MyMicrotime(); $est = $done ? ( ( $tm - $start ) / $done ) * ( $total - $done ) : 0 ; $qps = $done / ( $tm - $start ); printf ( "\r$prefix %d/%d (est. %s, qps %.1f)", $done, $total, sphFormatTime($est), $qps ); $tm += 1; } $bOk = FALSE; for ( $i=0; $i<$retries && !$bOk; $i++ ) { if ( !$pconn ) { $cl = new APIClient(); $cl->SetServer ( $sd_address, $sd_port ); } else { $cl->ResetFilters (); $cl->ResetGroupBy (); } $results = 0; if ( empty($this->_query_settings) ) { $my_index = $index; if ( @$qinfo["mode"] ) $cl->SetMatchMode ( $qinfo["mode"] ); if ( @$qinfo["ranker"] ) $cl->SetRankingMode ( $qinfo["ranker"] ); if ( @$qinfo["sortmode"] ) $cl->SetSortMode ( $qinfo["sortmode"], $qinfo["sortby"] ); if ( @$qinfo["groupattr"] ) $cl->SetGroupBy ( $qinfo["groupattr"], $qinfo["groupfunc"], $qinfo["groupsort"] ); if ( @$qinfo["groupdistinct"] ) $cl->SetGroupDistinct ( $qinfo["groupdistinct"] ); if ( @$qinfo["resarray"] ) $cl->SetArrayResult ( true ); if ( @$qinfo["select"] ) $cl->SetSelect ( $qinfo["select"] ); if ( @$qinfo["id_range"] ) $cl->SetIDRange ( $qinfo["id_range"]["min"], $qinfo["id_range"]["max"] ); if ( @$qinfo["index"] ) $my_index = $qinfo["index"]; if ( @$qinfo["index_weights"] ) $cl->SetIndexWeights ( $qinfo["index_weights"] ); if ( @$qinfo["cutoff"] ) $cl->SetLimits ( 0, 20, 0, $qinfo["cutoff"] ); if ( @$qinfo["limits"] ) $cl->SetLimits ( 0, (int)$qinfo["limits"] ); if ( @$qinfo["filter"] ) { $name = $qinfo["filter"]; if ( @$qinfo["filter_value"] ) $cl->SetFilter ( $name, array ( $qinfo["filter_value"] ) ); elseif ( @$qinfo["filter_range"] ) { $range = $qinfo["filter_range"]; $cl->SetFilterRange ( $name, $range['min'], $range['max'] ); } elseif ( @$qinfo["filter_str"] ) $cl->SetFilterString ( $name, $qinfo["filter_str"] ); } $results = $cl->Query ( $query, $my_index, "run".(1+$this->SubtestNo()) ); if ( is_array($results) ) { $results["resarray"] = (int)@$qinfo["resarray"]; $results["roundoff"] = (int)@$qinfo["roundoff"]; } } else { $run_func = create_function( '$client, $query, $index, &$results', $this->_query_settings ); $run_func ( $cl, $query, $index, $results ); } if ( $results ) { // let also work with "array of arrays" result if ( array_key_exists ( "error",$results ) ) { $bOk = TRUE; if ( $compact ) $results = array ( $n, $results['total'], $results['total_found'], $results['time'] ); else $results ["query"] = $query; array_push ( $query_results, $results ); } else foreach ( $results as $result ) { $bOk = TRUE; if ( $compact ) $result = array ( $n, $result['total'], $result['total_found'], $result['time'] ); else $result ["query"] = $query; array_push ( $query_results, $result ); } } else if ( @$qinfo["expect_error"] && !$cl->IsConnectError() ) { $bOk = true; array_push ( $query_results, array ( "query" => $query, "error" => $cl->GetLastError(), "warning" => "", "total" => 0, "total_found" => 0, "time" => 0 ) ); } else { if ( method_exists ( $cl, 'IsConnectError' ) && $cl->IsConnectError() ) usleep ( $action_wait_timeout ); else if ( $benchmark && $done ) { array_push ( $query_results, array ( $n, -1, -1, 0 ) ); $bOk = true; } else break; } } $done++; if ( !$bOk ) { $error = sprintf ( "query %d/%d: %s", $n+1, count($this->_queries), $cl->GetLastError() ); return FALSE; } } } $this->_results = $query_results; if ( IsModelGenMode () && count($this->_queries) !=0 ) array_push ( $this->_results_model, $query_results ); if ( $benchmark ) printf ( " - done in %s\n", sphFormatTime ( MyMicrotime() - $start ) ); if ( $pconn ) $cl->Close (); return TRUE; } function RunCustomTest ( & $error ) { global $sd_address, $sd_port, $action_retries, $action_wait_timeout, $g_locals; $bOk = false; $results = false; for ( $i = 0; $i < $action_retries && !$bOk; $i++ ) { $cl = new APIClient; $cl->SetServer ( $sd_address, $sd_port ); $results = false; $run_func = create_function( '$client, $ql, &$results', $this->_custom_test ); if ( !LegacyConnectDB()) return FALSE; $GLOBALS["this_test"] = $this->_testdir; $ql = new QLClient(); $run_func ( $cl, $ql, $results ); @mysql_close(); $gl_conn = NULL; if ( $results ) $bOk = TRUE; else usleep ( $action_wait_timeout ); } if ( !$bOk ) { $error = $cl->GetLastError (); return FALSE; } $my_results = array (); $my_results [] = $results; $this->_results = $my_results; if ( IsModelGenMode () ) array_push ( $this->_results_model, $my_results ); return TRUE; } function FixKeys ( $v ) { if ( is_array($v) ) { $result = array(); foreach ( $v as $key=>$value ) { if ( $key==PHP_INT_MAX || $key==-PHP_INT_MAX-1 ) $key = (int)$key; $result[$key] = $this->FixKeys ( $value ); } return $result; } else return $v; } function IsBigNum ( $v ) { return is_int($v) && ( $v>2147483647 || $v<-2147483648 ); } function FixSerialize64 ( $v, & $fixarr ) { if ( is_array($v) ) { foreach ( $v as $key=>$value ) { if ($this->IsBigNum($key)) $fixarr[] = $key; $this->FixSerialize64 ( $value, $fixarr ); } } else if ($this->IsBigNum($v)) $fixarr[] = $v; } function LoadModel ( $filename ) { if ( ! IsModelGenMode () ) { if ( ! file_exists ( $filename ) ) return -1; $contents = file_get_contents ( $filename ); if ( ! $contents ) return 0; $this->_results_model = $this->FixKeys ( unserialize ( $contents ) ); } return 1; } function CompareToModel () { return $this->CompareResults ( $this->FixKeys ( $this->_results ), $this->_results_model [$this->SubtestNo ()] ); } function CompareResultSets ( $set1, $set2 ) { $roundoff = 0; if ( isset($set1["roundoff"]) ) $roundoff = $set1["roundoff"]; if ( isset($set2["roundoff"]) ) $roundoff = $set2["roundoff"]; $variants_match = $this->Requires("variant_match"); CompareResultSetFixup ( $set1, $roundoff, $variants_match ); CompareResultSetFixup ( $set2, $roundoff, $variants_match ); return $set1==$set2; } function CompareResults ( $query1, $query2 ) { if ( count($query1)!=count($query2) ) return false; for ( $i=0; $iCompareResultSets ( $query1[$i], $query2[$i] ) ) return false; return true; } /// returns false if everything is okay /// returns error messages if something failed function CheckVariants ( $output_path ) { if ( !$this->Requires("variant_match") ) return false; $total = count ( $this->_results_model ); if ( $total==1 ) return "variant match required, but there are no variants"; else if ( !$this->IsQueryTest() ) return "variant match is not supported with custom tests"; $failed = false; $output = ''; for ( $i=1; $i<$total; $i++ ) { $nqueries = count ( $this->_results_model[0] ); for ( $k=0; $k<$nqueries; $k++ ) if ( !$this->CompareResultSets ( $this->_results_model[0][$k], $this->_results_model[$i][$k] ) ) { $first = $this->FormatResultSet ( $k+1, $this->_results_model[0][$k] ); $current = $this->FormatResultSet ( $k+1, $this->_results_model[$i][$k] ); file_put_contents ( "first", $first ); file_put_contents ( "current", $current ); system ( "diff --unified=3 first current > diff.txt" ); $diff = file_get_contents ( "diff.txt" ); unlink ( "current" ); unlink ( "first" ); unlink ( "diff.txt" ); $output .= $diff . "\n"; $failed = true; } } if ( $failed ) { file_put_contents ( $output_path, $output ); return "variants mismatch; see $output_path for details"; } // all ok, indicated by false ("no error") return false; } function WriteReportHeader ( $fp ) { fprintf ( $fp, "==== Run %d ====\n", $this->SubtestNo () + 1 ); fwrite ( $fp, "Settings:\n" ); $this->WriteDiff ( $fp ); fwrite ( $fp, "\n" ); if ( !empty ( $this->_query_settings ) ) fprintf ( $fp, "Query settings:\n%s\n", $this->_query_settings ); } function FormatResultSet ( $nquery, $result, $opts=array() ) { global $sd_skip_indexer; if ( !$this->IsQueryTest () || !is_array($result) ) return var_export ( $result, true )."\n"; if ( array_key_exists ("sphinxql", $result) ) { $str = "sphinxql-$nquery> $result[sphinxql];\n"; if ( array_key_exists ("total_affected", $result) ) { $str .= "Query OK, $result[total_affected] rows affected\n"; } else if ( array_key_exists ("error", $result) ) { $str .= "ERROR $result[errno]: $result[error]\n"; } else if (array_key_exists ("rows", $result) ) { foreach ( $result["rows"][0] as $key=>$s ) $str .= "\t$key"; $str .= "\n"; foreach ($result["rows"] as $row) { foreach ($row as $value) { if ( $this->Requires("sphinxql_keep_null") && is_null ( $value ) ) $value = 'NULL'; $str .= "\t$value"; } $str .="\n"; } $str .="$result[total_rows] rows in set\n"; } else if ( isset($result["total_rows"]) ) { $str .= "$result[total_rows] rows in set\n"; } return $str."\n"; } // format header $qinfo = @$this->_queries[$nquery-1]; if ( @array_key_exists ( "index", $qinfo ) && $qinfo ["index"] != '*' ) $str = "--- Query $nquery (mode=$qinfo[mode_s],ranker=$qinfo[ranker_s],index=$qinfo[index]) ---\n"; else $str = "--- Query $nquery (mode=$qinfo[mode_s],ranker=$qinfo[ranker_s]) ---\n"; if ( @$qinfo["groupattr"] ) $str .= "GroupBy: attr: '".$qinfo["groupattr"]."' func: '".$qinfo["groupfunc_s"]."' sort: '".$qinfo["groupsort"]."'\n"; if ( @$qinfo["sortmode"] == SPH_SORT_EXPR ) $str .= "Sort: expr: ".$qinfo["sortby"]."\n"; $str .= @"Query '$result[query]': retrieved $result[total_found] of $result[total] matches in $result[time] sec.\n"; if ( @array_key_exists ( "error", $result ) && $result["error"] ) $str .= "Error: $result[error]\n"; if ( @array_key_exists ( "warning", $result ) && $result["warning"] ) $str .= "Warning: $result[warning]\n"; $array_result = @$result["resarray"]; // format keywords if ( isset($result["words"]) && is_array($result["words"]) ) { $str .= "Word stats:\n"; foreach ( $result ["words"] as $word => $word_result ) { $hits = $word_result ["hits"]; $docs = $word_result ["docs"]; $str .= "\t'$word' found $hits times in $docs documents\n"; } } // format attribute types if ( @$opts["format_attrs"] ) { $typenames = array ( SPH_ATTR_INTEGER => "int", SPH_ATTR_TIMESTAMP=> "timestamp", SPH_ATTR_ORDINAL => "ordinal", SPH_ATTR_BOOL => "bool", SPH_ATTR_FLOAT => "float", SPH_ATTR_BIGINT => "bigint", SPH_ATTR_STRING => "string", SPH_ATTR_MULTI => "mva", SPH_ATTR_MULTI64 => "mva" ); // !COMMIT $n = 1; $str .= "Result set attributes:\n"; foreach ( $result["attrs"] as $name=>$type ) { $typename = "type-$type"; if ( $typenames[$type] ) $typename = $typenames[$type]; $str .= "\tattr $n: $typename $name\n"; $n++; } } // check our table for well-known id column names $idcol = ""; if ( $this->IsNeedDB() ) $r = $this->_connection->query ( "DESC test_table" ); else $r = false; if ( $r ) { while ( $row = $r->fetch_assoc() ) { $idcand = strtolower ( $row["Field"] ); if ( in_array ( $idcand, array ( "id", "document_id" ) ) ) { $idcol = $idcand; break; } } } // format matches $str .= "\n"; if ( isset($result["matches"]) && is_array($result["matches"]) ) { $n = 1; $str .= "Matches:"; foreach ( $result ["matches"] as $doc => $docinfo ) { $doc_id = $array_result ? $docinfo["id"] : $doc; $weight = $docinfo["weight"]; $str .= "\n$n. doc_id=$doc_id, weight=$weight"; $n++; // only format specified attrs if requested if ( !empty ( $this->_query_attributes ) ) { foreach ( $this->_query_attributes as $attr ) if ( isset($docinfo ["attrs"][$attr]) ) { $val = $docinfo["attrs"][$attr]; if ( is_array ( $val ) ) $val = join ( " ", $val ); $str .= " $attr=$val"; } continue; } // fetch and format fields from db by default if ( $idcol ) { if ( $this->IsNeedDB() ) $query_res = $this->_connection->query ( "select * from test_table where $idcol = $doc_id" ); else $query_res = false; if ( $query_res ) { $row = $query_res->fetch_assoc (); if ( $row ) foreach ( $row as $col_name => $col_content ) if ( array_search ( $col_name, $result["fields"] )!==false ) $str .= " $col_name=\"$col_content\""; } } // format attrs foreach ( $docinfo["attrs"] as $attr=>$val ) { if ( is_array($val) ) $val = join ( ",", $val ); $str .= " $attr=\"$val\""; } } $str .= "\n\n"; } return $str . "\n"; } /// format and write a single result set into log file function WriteQuery ( $fp, $nquery, $result ) { $res_fmt = $this->FormatResultSet ( $nquery, $result ); fwrite ( $fp, $res_fmt ); } /// write all the result sets function WriteResults ( $fp ) { if ( $this->IsQueryTest () ) { $nquery = 1; foreach ( $this->_results as $result ) $this->WriteQuery ( $fp, $nquery++, $result ); } else $this->WriteCustomTestResults ( $fp ); } /// write difference from the reference result sets function WriteReferenceResultsDiff ( $fp ) { global $windows; $nquery = 0; if ( !is_array ( $this->_results_model [ $this->SubtestNo() ] ) ) return; fwrite ( $fp, "Run settings:\n" ); $this->WriteDiff ( $fp ); fwrite ( $fp, "\n" ); foreach ( $this->_results_model [ $this->SubtestNo() ] as $ref ) { if (!array_key_exists ($nquery,$this->_results)) { printf ( "FAILED, model has more results than current test.\n" ); break; } $cur = $this->_results[$nquery]; if ( $this->CompareResultSets ( $ref, $cur ) ) { $nquery++; continue; } $opts = array(); if ( isset($cur["attrs"]) || isset($ref["attrs"]) ) if ( @$cur["attrs"]!=@$ref["attrs"] ) $opts["format_attrs"] = 1; $result_f_cur = $this->FormatResultSet ( $nquery+1, $this->_results[$nquery], $opts ); $result_f_ref = $this->FormatResultSet ( $nquery+1, $ref, $opts ); file_put_contents ( "current", $result_f_cur ); file_put_contents ( "reference", $result_f_ref ); system ( "diff --unified=3 reference current > diffed.txt" ); $diffed = file_get_contents ( "diffed.txt" ); unlink ( "current" ); unlink ( "reference" ); unlink ( "diffed.txt" ); $nquery++; fwrite ( $fp, "=== query $nquery diff start ===\n" ); fwrite ( $fp, $diffed ); fwrite ( $fp, "=== query $nquery diff end ===\n" ); } $nref = count ( array_keys ( $this->_results_model [ $this->SubtestNo() ] ) ); $nres = count ( array_keys ( $this->_results ) ); if ( $nres > $nref ) { $delta = $nres - $nref; fwrite ( $fp, "$delta result set(s) missing from model!\n" ); } } function EraseIndexFiles ( $path ) { $dh = glob ( "./$path.*" ); foreach ( $dh as $entry ) { if ( is_file ($entry) ) unlink ($entry); } } function WriteConfig ( $filename, $agentid, &$msg, $collectdata = true ) { global $g_locals; $fp = fopen ( $filename, 'w' ); if ( !$fp ) { $msg = "Can't open file $filename for writing"; return FALSE; } $this->Dump ( $this->_config, $fp, false, $agentid ); fclose ( $fp ); $fp = fopen ( $filename, 'r' ); if ( !$fp ) { $msg = "Can't open file $filename for reading"; return FALSE; } $config = fread ( $fp, filesize ( $filename ) ); fclose ( $fp ); // for rt case - extract the schema from the config // and make the new config, making the index as rt instead if ( $this->IsRt() ) { $body = 1; $srcname = 2; $parent = 4; $content = 5; $epilog = 6; $pattern = "/.*?(source\s+(\S*?)(\s*\:\s*(\S*?))?\s*\{(.*?)\})(.*?)/s"; preg_match_all ( $pattern, $config, $matches, PREG_SET_ORDER | PREG_OFFSET_CAPTURE ); $schemas = array(); $shift = 0; $newconfig = ""; // parse sources foreach ( $matches as $match ) { $lines = explode("\n", $match[$content][0]); $insert_schema = array(); $insert_types = array(); if ( $match[$parent][0] != "" ) $insert_types = $schemas[$match[$parent][0]]['types']; $sql_query_pre = array(); $sql_query = ""; foreach ( $lines as $line ) { // skip comment lines (if any) if ( preg_match ( "/\s*#/" , $line ) > 0 ) continue; // extract config key/value pairs $eq = strpos ( $line,"=" ); if ($eq == 0) continue; $key = strtolower ( trim ( substr($line,0,$eq), " \t" ) ); $value = trim ( substr($line,$eq+1), " \t" ); // handle known keys switch ( $key ) { case "type": if ( $value != "mysql" ) { $msg = "non-mysql source (type=$value), skipping..."; return FALSE; } break; case "sql_attr_uint": $insert_types[$value] = "rt_attr_uint"; break; case "sql_attr_bigint": $insert_types[$value] = "rt_attr_bigint"; break; case "sql_attr_float": $insert_types[$value] = "rt_attr_float"; break; case "sql_attr_timestamp": $insert_types[$value] = "rt_attr_timestamp"; break; //case "sql_attr_multi": $insert_types[$value] = "rt_attr_multi"; break; case "sql_attr_bool": $insert_types[$value] = "rt_attr_bool"; break; case "sql_attr_json": $insert_types[$value] = "rt_attr_json"; break; case "sql_attr_string": $insert_types[$value] = "rt_attr_string"; break; case "sql_field_string": $insert_types[$value] = "FIELD"; break; case "sql_query_pre": $sql_query_pre[] = $value; break; case "sql_query": $sql_query = $value; break; } } // query is kinda mandatory if ( !$sql_query ) { $msg = "missing sql_query"; return false; } // now let's connect to MySQL, run the query, and fetch the values $conn = ConnectDB(); if (mysqli_connect_error()) { $msg = "can't connect or select the database"; return false; } // gotta run pre-queries first! foreach ( $sql_query_pre as $q ) { if ( mysqli_wr ( $q, $conn ) ) continue; $msg = sprintf ( "sql_query_pre failed (query=%s, error=%s)", $q, $conn->error ); $conn->close (); return false; } // run main query $res = mysqli_wr ( $sql_query, $conn ); if ( !$res ) { $msg = sprintf ( "sql_query failed (query=%s, error=%s)", $sql_query, $conn->error ); $msg = "sql_query can't fetch test data: " . $conn->error; $conn->close (); return false; } // fetch fields $insert_schema = array ( "id" => 0 ); for ( $i=1; $i < $conn->field_count; $i++ ) $insert_schema [ $res->fetch_field_direct ( $i )->name ] = $i; // fetch data $insert_values = array(); while ( $row = $res->fetch_row() ) $insert_values[] = array_values ( $row ); // cleanup $res->close(); $conn->close(); // store $schema = array(); $schema['types'] = $insert_types; if ( $match[$parent][0] != "" ) $schema['orders'] = $schemas[$match[$parent][0]]['orders']; else $schema['orders'] = $insert_schema; $schema['values'] = $insert_values; $schema['sqlport'] = $this->_sd_sphinxql_port; $schemas[$match[$srcname][0]] = $schema; $srclen = $match[$epilog][1] - $match[$body][1]; $config = substr_replace ( $config, "", $match[$body][1]-$shift,$srclen ); $shift += $srclen; } $body = 1; $idxname = 2; $parent = 4; $content = 5; $epilog = 6; $pattern = "/.*?(index\s+(\S*?)(\s*\:\s*(\S*?))?\s*\{(.*?)\})(.*?)/s"; preg_match_all ( $pattern, $config, $matches, PREG_SET_ORDER | PREG_OFFSET_CAPTURE ); $shift = 0; // parse indexes $indexes = array(); foreach ( $matches as $match ) { $idx = "index ".$match[$idxname][0]; if ( $match[$parent][0] != "" ) $idx .= " : ".$match[$parent][0]; $idx .= "\n{\n\tdict = keywords\n"; $lines = explode("\n", $match[$content][0]); $justcopy = false; $rtcopy = false; $idxbody = ""; foreach ($lines as $line) { // skip comment lines (if any) if ( preg_match ( "/\s*#/" , $line ) > 0 ) continue; $eq = strpos ( $line,"=" ); if ($eq == 0) continue; $key = strtolower ( trim ( substr($line,0,$eq), " \t" ) ); $value = trim ( substr($line,$eq+1), " \t" ); switch ( $key ) { case "type": if ($value=="rt") $rtcopy = true; else $justcopy = true; break; case "source"; { $idxbody .= "\ttype\t= rt\n"; if ( $collectdata ) $indexes[$match[$idxname][0]] = $schemas[$value]; foreach ( array_keys( $schemas[$value]['orders'] ) as $key ) if ( $key != "id" && $key != "document_id" ) { if ( array_key_exists ( $key, $schemas[$value]['types'] ) ) { if ( $schemas[$value]['types'][$key] == "FIELD") { $idxbody .= "\trt_field\t= $key\n"; $idxbody .= "\trt_attr_string\t= $key\n"; } else $idxbody .= "\t".$schemas[$value]['types'][$key]."\t= $key\n"; } else $idxbody .= "\trt_field\t= $key\n"; } break; } case "path": $this->EraseIndexFiles($value); if ($rtcopy) $justcopy = true; // no break! default: $idxbody .= "\t$key\t= $value\n"; } if ( $justcopy ) // explicitly defined type, don't transform to rt. { $idxbody = $match[$content][0]; break; } } $idx .= "$idxbody\n}\n"; $srclen = $match[$epilog][1] - $match[$body][1]; $config = substr_replace ($config, $idx, $match[$body][1]-$shift,$srclen ); $shift += $srclen-strlen($idx); } if ( $collectdata ) foreach ($indexes as $key => $value) $this->_indexdata[$key] = $value; $fp = fopen ( $filename, 'w' ); if ( !$fp ) { $msg = "Can't open $filename for writing"; return FALSE; } fwrite ( $fp, $config ); fclose ( $fp ); } else // for rt indexes we need to clean up all index files before the run. { // remove binlog files if any $this->EraseIndexFiles ( 'data/binlog' ); $pattern = "/.*?index\s+\S*?(\s*\:\s*\S*?)?\s*\{(.*?)\}.*?/s"; preg_match_all ( $pattern, $config, $matches, PREG_SET_ORDER | PREG_OFFSET_CAPTURE ); // parse indexes $indexes = array(); foreach ( $matches as $match ) { $lines = explode("\n", $match[2][0]); $path = ""; $isrt = false; foreach ($lines as $line) { // skip comment lines (if any) if ( preg_match ( "/\s*#/" , $line ) > 0 ) continue; $eq = strpos ( $line,"=" ); if ($eq == 0) continue; $key = strtolower ( trim ( substr($line,0,$eq), " \t" ) ); $value = trim ( substr($line,$eq+1), " \t" ); switch ( $key ) { case "type": if ($value=="rt") $isrt = true; break; case "path": $path = $value; } if ( $isrt && $path!="" ) { $this->EraseIndexFiles($path); break; } } } } return TRUE; } function InsertIntoIndexer ( &$error ) { global $sd_address, $sd_sphinxql_port, $action_retries, $action_wait_timeout; $address = $sd_address; if ($address == "localhost") $address = "127.0.0.1"; $cn = false; $port = 0; foreach ( $this->_indexdata as $name => $data ) { if ( $port != $data["sqlport"] ) { $port = $data["sqlport"]; $connect_string = "$address:$port"; if ( $cn !== false ) $cn->close(); $cn = new mysqli( $address, "", "", "", $port ); } if ( $cn === false ) return false; $cols = join ( ", ", array_keys ( $data["orders"] ) ); $prefix = "INSERT INTO $name ($cols) VALUES "; $accum = ""; foreach ($data['values'] as $row) { $query = ""; foreach ( $row as $column ) { if ( $query!="" ) $query .=","; $query .="'".$cn->escape_string($column)."'"; } if ( ( strlen ($accum) + strlen ($query) ) > 1024000 ) ///error; return false; } $accum=""; } if ( $accum != "" ) $accum .=","; $accum .= "($query)"; } // final chunk; if ( $accum !="" ) { $result = @$cn->query ( $prefix.$accum ); if ( $result === false ) { $error = $cn->error; return false; } } } if ( $cn ) $cn->close(); return true; } function WriteDiff ( $fp ) { $this->Dump ( $this->_config, $fp, true, "all" ); } function WriteModel ( $filename ) { if ( IsModelGenMode () ) { $result = serialize ( $this->_results_model ); if (PHP_INT_SIZE>4) { $keys = array(); $this->FixSerialize64 ( $this->_results_model, $keys ); if ( sizeof($keys)>0 ) { $findes=array(); $replaces=array(); foreach ($keys as $key) { $findes[]="i:$key"; $replaces[]="s:".strlen($key).":\"$key\""; } $result = str_replace ( $findes, $replaces, $result ); } } file_put_contents ( $filename, $result ); } } function WriteSearchdSettings ( $fp ) { global $sd_log, $sd_query_log, $sd_read_timeout, $sd_max_children, $sd_pid_file; if ( $this->_compat098 ) { fwrite ( $fp, "\taddress = {$this->_sd_address}\n" ); fwrite ( $fp, "\tport = {$this->_sd_port}\n" ); } else { fwrite ( $fp, "\tlisten = {$this->_sd_address}:{$this->_sd_port}\n" ); fwrite ( $fp, "\tlisten = {$this->_sd_address}:{$this->_sd_sphinxql_port}:mysql41\n" ); } fwrite ( $fp, "\tlog = $sd_log\n" ); fwrite ( $fp, "\tquery_log = $sd_query_log\n" ); fwrite ( $fp, "\tread_timeout = $sd_read_timeout\n" ); fwrite ( $fp, "\tmax_children = $sd_max_children\n" ); fwrite ( $fp, "\tpid_file = ".$this->_sd_pid_file."\n" ); if ( $this->IsRt() ) fwrite ( $fp, "\tworkers = threads\n" ); } function WriteSqlSettings ( $fp, $attributes ) { global $g_locals; fwrite ( $fp, "\tsql_host = " . $g_locals['db-host'] . "\n" ); fwrite ( $fp, "\tsql_user = " . $g_locals['db-user'] . "\n" ); fwrite ( $fp, "\tsql_pass = " . $g_locals['db-password'] . "\n" ); fwrite ( $fp, "\tsql_port = " . $g_locals['db-port'] . "\n" ); $node = $attributes->getNamedItem('sql_db'); fprintf ( $fp, "\tsql_db = %s\n", $node ? $node->nodeValue : $g_locals['db-name'] ); } function WriteOdbcSettings ( $fp, $attributes ) { global $g_locals; $dsn=array(); $dsn[] = "Driver=" . $g_locals['odbc_driver']; $dsn[] = "Servername=" . $g_locals['db-host']; $dsn[] = "Port=" . $g_locals['db-port']; $dsn[] = "UID=" . $g_locals['db-user']; $dsn[] = "PWD=" . $g_locals['db-password']; $node = $attributes->getNamedItem('sql_db'); if ($node) $dsn[] = "Database=" . $node->nodeValue; else $dsn[] = "Database=" . $g_locals['db-name']; $dsn = join ( ";", $dsn ); fwrite ( $fp, "odbc_dsn = $dsn" ); } function Dump ( $node, $fp, $dynamic_only, $agentid ) { global $index_data_path, $agents; $nodename = strtolower ( $node->nodeName ); if ( !$dynamic_only ) switch ( $nodename ) { case "#text": fwrite ( $fp, $node->nodeValue ); return; case "static": fwrite ( $fp, $node->nodeValue ); return; case "searchd_settings": $this->WriteSearchdSettings ( $fp ); return; case "sql_settings": $this->WriteSqlSettings ( $fp, $node->attributes ); return; case "odbc_settings": $this->WriteOdbcSettings ( $fp, $node->attributes); return; case "my_address": case "agent0_address": fwrite ( $fp, $agents[0]["address"].":".$agents[0]["port"] ); return; case "agent_address": case "agent1_address": fwrite ( $fp, $agents[1]["address"].":".$agents[1]["port"] ); return; case "agent2_address": fwrite ( $fp, $agents[2]["address"].":".$agents[2]["port"] ); return; case "local": fwrite ( $fp, $this->GetLocal ( $node->nodeValue ) ); return; case "test_root": fwrite ( $fp, dirname(__FILE__) ); return; case "this_test": fwrite ( $fp, $this->_testdir ); return; case "data_path": { $subdir = GetfirstAttr($node); if ($subdir==NULL) { fwrite($fp, $index_data_path); return; } $path = "$index_data_path/$subdir->nodeValue"; if ( !file_exists ( $path ) ) mkdir ( $path ); EraseDirContents($path); fwrite($fp, $path); return; } } if ( $nodename=="variant" ) { fwrite ( $fp, "$node->nodeValue\n" ); } else if ( $nodename=="dynamic" ) { if ( !is_null($node->id) ) { $variants = ChildrenArray ( $node,"variant" ); $this->Dump ( $variants[$this->_counters[$node->id]], $fp, $dynamic_only, $agentid ); } } else if ( strpos ( $nodename, "agent" )===0 ) { if ( $agentid==="all" || $nodename=="agent$agentid" ) foreach ( ChildrenArray($node) as $child ) $this->Dump ( $child, $fp, $dynamic_only, $agentid ); } else { foreach ( ChildrenArray($node) as $child ) $this->Dump ( $child, $fp, $dynamic_only, $agentid ); } } } ////////////////////////////////////////////////////////////////////////// function HandleFailure ( $config, $report, $error, &$nfailed ) { $ret = true; if ( !IsModelGenMode() && !$config->ModelSubtestFailed () ) { $nfailed++; $ret = false; fwrite ( $report, "SUBTEST FAILED, UNEXPECTED ERROR:\n" ); } fwrite ( $report, "$error\n" ); $config->SubtestFailed (); return $ret; } function EraseDirContents ( $path ) { $fp = opendir ( $path ); if ( $fp ) { while ( ( $file = readdir ( $fp ) ) !== false ) { if ( $file!="." && $file!=".." && $file!="stub.txt" ) if (!is_dir("$path/$file")) unlink ( "$path/$file" ); } closedir ( $fp ); } } function CopyDirContents ( $from, $to ) { $ffrom = opendir ( $from ); if ( $ffrom && is_dir ( $to ) ) { while ( ( $file = readdir ( $ffrom ) ) !== false ) { if ( $file != "." && $file != ".." && !is_dir ( $file ) ) copy ( "$from/$file", "$to/$file" ); } closedir ( $ffrom ); } } function CheckConfig ( $config, $path ) { global $g_id64, $g_re2, $g_rlp, $g_odbc, $windows, $g_locals; if ( $config->Requires("id64") && !$g_id64 ) { printf ( "SKIPPING %s, %s - enable id64 to run this test\n", $path, $config->Name () ); return false; } if ( $config->Requires("id32") && $g_id64 ) { printf ( "SKIPPING %s, %s - disable id64 to run this test\n", $path, $config->Name () ); return false; } if ( $config->Requires("non-windows") && $windows ) { printf ( "SKIPPING %s, %s - use non-Windows system to run this test\n", $path, $config->Name () ); return false; } if ( $config->Requires("non-rt") && $config->IsRt() ) { printf ( "SKIPPING %s, %s - explicitly non-RT test skipped in RT mode\n", $path, $config->Name () ); return false; } if ( $config->Requires("re2") && !$g_re2 ) { printf ( "SKIPPING %s, %s - compile with regexp support to run this test\n", $path, $config->Name () ); return false; } if ( $config->Requires("rlp") && !$g_rlp ) { printf ( "SKIPPING %s, %s - compile with RLP support to run this test\n", $path, $config->Name () ); return false; } if ( $config->Requires("odbc") ) { if (!$g_odbc) { printf ( "SKIPPING %s, %s - compile with ODBC support to run this test\n", $path, $config->Name () ); return false; } if ( !isset($g_locals["odbc_driver"]) ) { printf ( "SKIPPING %s, %s - odbc_driver required, add it to your ~/.sphinx\n", $path, $config->Name () ); return false; } } if ( $config->NeedIndexerEx() && $config->IsRt() ) { printf ( "SKIPPING %s, %s - non-RT test that uses indexer skipped in RT mode\n", $path, $config->Name () ); return false; } if ( $config->Requires("lemmatizer_base") && !isset($g_locals["lemmatizer_base"]) ) { printf ( "SKIPPING %s, %s - lemmatizer_base required, add it to your ~/.sphinx\n", $path, $config->Name () ); return false; } return true; } function MarkTest ( $logfile, $test_dir ) { $log = fopen ( $logfile, "a" ); fwrite ( $log, "*** in test $test_dir ***\n"); fclose ( $log ); } function RunTest ( $test_dir, $skipdemo, $usemarks ) { global $index_data_path, $agents, $sd_pid_file, $sd_managed_searchd, $sd_skip_indexer, $g_id64, $windows, $g_locals, $sd_log, $sd_query_log, $g_pick_query; $model_file = $test_dir."/model.bin"; $conf_dir = $test_dir."/Conf"; $config = new SphinxConfig; $lmodel = $config->LoadModel ( $model_file ); $isdemo = false; $pick_query = -1; if ( is_int($g_pick_query) && $g_pick_query>0 ) $pick_query = $g_pick_query; if ( $lmodel==-1 ) { if ( $skipdemo ) { printf ( "Skipping %s, - this is demo or bugreport (no model.bin file)\n", $test_dir ); return array ( "tests_total"=>0, "tests_failed"=>0, "tests_skipped"=>1 ); } $isdemo = true; } if ( !$config->Load ( $test_dir."/test.xml" ) ) return; $config->SetTestDir ( $test_dir ); $prefix = sprintf ( "testing %s, %s...", $test_dir, $config->Name () ); if ( !CheckConfig ( $config, $test_dir ) ) return array ( "tests_total"=>0, "tests_failed"=>0, "tests_skipped"=>1 ); if ( $lmodel==0 ) { printf ( "$prefix FAILED, error loading model\n" ); return; } if ( $config->IsNeedDB() ) { $connection = CreateDB ( $config->DB_Drop(), $config->DB_Create(), $config->DB_Insert(), $config->DB_CustomInsert(), $sd_skip_indexer ); if ( $connection === false ) { printf ( "$prefix FAILED, error creating test DB" ); return; } $config->SetConnection($connection); } if ( !file_exists ( $conf_dir ) ) mkdir ( $conf_dir ); $report_path = "$test_dir/report"; $report_file = "$report_path.txt"; $report = fopen ( $report_file, "w" ); $nfailed = 0; $error = ""; $log = ""; // subtest failures log $nsubtests = $config->SubtestCount(); // config to pid hash, instances to stop // static is only to workaround PHP braindamage, otherwise $stop gets reset (at least on 5.2.2 under win32) static $stop = array(); $oldlog = ''; $oldquerylog = ''; if ( $isdemo ) { $oldlog = $sd_log; $oldquerylog = $sd_query_log; $sd_log = "$test_dir/searchd.log"; $sd_query_log = "$test_dir/query.log"; if (file_exists($sd_log)) unlink ($sd_log); if (file_exists($sd_query_log)) unlink ($sd_query_log); } if ( $usemarks ) { MarkTest($sd_log,$test_dir); MarkTest($sd_query_log,$test_dir); } do { // stop them all if ( !$sd_managed_searchd ) foreach ( $stop as $conf=>$pid ) StopSearchd ( $conf, $pid ); $stop = array(); // do the dew $subtest = $config->SubtestNo()+1; print ( "$prefix $subtest/$nsubtests\r" ); $config->WriteReportHeader ( $report ); $config->SetAgent ( $agents [0] ); $msg = ''; if (!$config->WriteConfig ( $conf_dir."/"."config_".$config->SubtestNo ().".conf", "all", $msg, false)) { print ("Interrupted, $msg\n"); continue; } $config->WriteConfig ( "config.conf", "all", $msg, $config->NumAgents () < 2 ); if ( !$sd_skip_indexer ) EraseDirContents ( $index_data_path ); if ( $config->Requires( "pre_copy_ref" ) ) CopyDirContents ( $test_dir . "/refdata/", "data/" ); if ( $config->IsSkipIndexer()===false && $sd_managed_searchd===false && $sd_skip_indexer===false ) { // standard run if ( !$config->IsRt() ) { $indexer_ret = RunIndexer ( $error, "--all" ); if ( $indexer_ret==2 ) { fwrite ( $report, "$error\n" ); } else if ( $indexer_ret!=0 ) { if ( !HandleFailure ( $config, $report, $error, $nfailed ) ) $log .= "\tsubtest $subtest: error running indexer with code $indexer_ret; see $report_file\n"; continue; } } // additional optional runs (eg for merge tests) $indexer_ret = $config->RunIndexerEx ( $error ); if ( $indexer_ret==2 ) { fwrite ( $report, "$error\n" ); } else if ( $indexer_ret!=0 ) { if ( !HandleFailure ( $config, $report, $error, $nfailed ) ) $log .= "\tsubtest $subtest: error running indexer with code $indexer_ret; see $report_file\n"; continue; } } $searchd_error = FALSE; if ( $config->NumAgents () == 1 ) { if ( $sd_managed_searchd ) $searchd_ret = 0; else $searchd_ret = StartSearchd ( "config.conf", "error.txt", $sd_pid_file, $error, $config->Requires ( "watchdog" ) ); $stop["config.conf"] = $sd_pid_file; if ( $searchd_ret == 1 ) { if ( !HandleFailure ( $config, $report, $error, $nfailed ) ) $log .= "\tsubtest $subtest: error starting searchd; see $report_file\n"; $searchd_error = TRUE; } else if ( $searchd_ret==2 ) { fwrite ( $report, "$error\n" ); } } else for ( $i = $config->NumAgents () - 1; $i >= 0 && !$searchd_error; $i-- ) { static $agent_id = 0; $agent_id++; $config_file = "config_".$agent_id.".conf"; $pid_file = "searchd_".$agent_id.".pid"; $stop[$config_file] = $pid_file; $msg = ''; $config->SetAgent ( $agents [$i] ); $config->SetPIDFile ( $pid_file ); if ( !$config->WriteConfig ( $config_file, $i, $msg ) ) continue; if ( $sd_managed_searchd ) $searchd_ret = 0; else $searchd_ret = StartSearchd ( $config_file, "error_".$agent_id.".txt", $pid_file, $error, $config->Requires ( "watchdog" ), $config->AddressAPI(), $config->Port() ); if ( $searchd_ret == 1 ) { if ( !HandleFailure ( $config, $report, $error, $nfailed ) ) $log .= "\tsubtest $subtest: error starting searchd; see $report_file\n"; $searchd_error = TRUE; } else if ( $searchd_ret==2 ) { fwrite ( $report, "$error\n" ); } } if ( $searchd_error ) continue; // in case of RT index - run "insert into" instead of indexer if ( $config->IsRt () ) $config->InsertIntoIndexer ( $error ); if ( $config->IsQueryTest () ) { $error = ""; if ( ! $config->RunQuery ( "*", $error ) ) { if ( !HandleFailure ( $config, $report, "$error\n", $nfailed ) ) $log .= "\tsubtest $subtest: query error: $error\n"; continue; } } else { if ( ! $config->RunCustomTest ( $error ) ) { if ( !HandleFailure ( $config, $report, "$error\n", $nfailed ) ) $log .= "\tsubtest $subtest: query error: $error\n"; continue; } } if ( $config->IsSphinxqlTest () ) { $error = ""; if ( ! $config->RunQuerySphinxQL ( $error ) ) { if ( !HandleFailure ( $config, $report, "$error\n", $nfailed ) ) $log .= "\tsubtest $subtest: query error: $error\n"; continue; } } $allmatch = $isdemo || IsModelGenMode() || $config->CompareToModel(); if ( !$allmatch ) { $log .= "\tsubtest $subtest: query results mismatch; see $report_file\n"; $nfailed++; } if ( $isdemo ) $log .= "\tdemo/bugreport $subtest done; see $report_file\n"; $config->WriteResults ( $report ); if ( !$allmatch ) { fwrite ( $report, "SUBTEST FAILED, RESULTS ARE DIFFERENT FROM THE REFERENCE:\n\n" ); $config->WriteReferenceResultsDiff ( $report ); } $config->SubtestFinished (); } while ( $config->CreateNextConfig () ); if ( $isdemo ) { $sd_log = $oldlog; $sd_query_log = $oldquerylog; } if ( !$sd_managed_searchd ) foreach ( $stop as $conf=>$pid ) StopSearchd ( $conf, $pid ); $total = $config->SubtestNo()+1; if ( IsModelGenMode () ) { $variant = $config->CheckVariants ( $report_path."_variant.txt" ); if ($variant===false) { $config->WriteModel ( $model_file ); printf ( "$prefix done; %d/%d subtests run\n", $config->SubtestNo(), $nsubtests ); } else { printf ( "$prefix done; %d/%d subtests: VARIANT CHECK FAILED: %s\n", $config->SubtestNo(), $nsubtests, $variant ); $nfailed = $total; } } else if ( $nfailed==0 ) printf ( "$prefix done; %d/%d subtests OK\n", $config->SubtestNo(), $nsubtests ); else printf ( "$prefix done; %d/%d subtests FAILED:\n%s", $nfailed, $nsubtests, $log ); fclose ( $report ); // cleanup DB after ourselves if ( !array_key_exists ('no_drop_db', $g_locals) && isset($connection) ) foreach ( $config->DB_Drop() as $q ) mysqli_wr ( $q, $connection ); return array ( "tests_total"=>$total, "tests_failed"=>$nfailed, "tests_skipped"=>0 ); } // // $Id$ // sphinx-2.2.11-release/test/data/0000755000175000017500000000000012743402012015747 5ustar alexeyalexeysphinx-2.2.11-release/test/data/stub.txt0000644000175000017500000000011412743402012017461 0ustar alexeyalexeyThis is stub file to force Mercurial to keep this folder in it's repository.sphinx-2.2.11-release/test/clean.sh0000755000175000017500000000065312743402012016463 0ustar alexeyalexey#!/bin/sh # must be run from tests dir if test ! -f ubertest.php; then exit 0; fi # clean subdirs for i in test_* do if test ! -f "$i/test.xml"; then continue; fi rm -f "$i/report.txt" rm -fr "$i/Conf/" done # clean test index data files rm -f data/*.sp* rm -f data/*.mvp rm -f data/*.meta data/*.lock data/*.kill data/*.ram rm -f data/binlog.* # clean test runs logs rm -f *.log rm -f searchd.pid error.txt config.conf sphinx-2.2.11-release/test/clean.cmd0000644000175000017500000000065712743402012016615 0ustar alexeyalexey@echo off if exist "ubertest.php" ( for /D %%i in (test_*) do ( if exist "%%i\test.xml" ( del /q "%%i\report.txt" 2>nul rmdir /s /q "%%i\Conf" 2>nul ) ) del /q "data\*.sp*" 2>nul del /q "data\*.mvp" 2>nul del /q "data\*.meta" "data\*.lock" "data\*.kill" "data\*.ram" "data\binlog.*" 2>nul del /q "*.log" 2>nul del /q "error*.txt" 2>nul del /q "config*.conf" 2>nul del /q "*.mdmp" 2>nul ) sphinx-2.2.11-release/test/bench/0000755000175000017500000000000012743402012016115 5ustar alexeyalexeysphinx-2.2.11-release/test/bench/subtree_cache.xml0000644000175000017500000000257612743402012021445 0ustar alexeyalexey subtree caches indexer { mem_limit = 512M } searchd { subtree_docs_cache = 256M subtree_hits_cache = 256M } source lj { type = mysql sql_query = select id, \ uncompress(content) content, \ channel_id \ from posting sql_attr_uint = channel_id } index lj { source = lj path = data/lj } AddQuery('one two 1'); $client->AddQuery('one two 2'); $client->AddQuery('one two 3'); $results = $client->RunQueries(); for ($i = 0; $i < 3; ++$i) if (is_array($results) && is_array($results[$i])) unset($results[$i]["time"]); // in this query we can see a major speed-up due to using caches $client->AddQuery("is s" me); $client->AddQuery("is s" you); $client->AddQuery("is s" him); $client->AddQuery("is s" she); $client->AddQuery("is s" her); $client->AddQuery("is s" he); $client->AddQuery("is s" we); $client->AddQuery("is s" they); $client->AddQuery("is s" the); $client->AddQuery("is s" br); $results = $client->RunQueries(); for ($i = 0; $i < 10; ++$i) if (is_array($results) && is_array($results[$i])) unset($results[$i]["time"]); ]]> sphinx-2.2.11-release/test/bench/match-modes.xml0000644000175000017500000000225312743402012021042 0ustar alexeyalexey match modes indexer { mem_limit = 128M } searchd { } source lj { type = mysql sql_query = select id, \ title, uncompress(content) content, \ unix_timestamp(published) published, channel_id \ from posting \ where id <= 1000000; sql_attr_uint = channel_id sql_attr_timestamp = published } index lj { source = lj path = data/lj } one|two|three|four nine|ten five|six|seven|eight "one two three four"/1 "nine ten"/1 "five six seven eight"/1 sphinx-2.2.11-release/test/bench/ljq1k.txt0000644000175000017500000004355712743402012017716 0ustar alexeyalexeycincinnati radio nueva vida strange bedfellows ron hermione channel thumbsucker ayu poetry books loans maribel guardia desnuda did you feel the mountain tremble chord abante tonigth s video camera concrete k rations bini orang 2 downloads tutorial otp bank hu hand heart london ribbon silk kc concepcion biography help home work araujo fhotos free patricia shemale jawatan kosong jabatan kerja raya yuri and friends hentai tuya soy boa korean lyric blue cross blue shield of alabama jawatan kosong jabatan kerja raya malaysia outstation dgn isteri orang araujo photos free patricia shemale bugil cewek galeri gambar jaqueline santarem nua layout for livejournal index of mp3 death cab 96 friend yuri situs cerita dewasa bristol line news papers tennessee cerita dewasa indonesia terbesar gambar anjing beach happy holiday motel myrtle anak dara melayu butterfly job news post campo behan ki chudai jane part free black shemale movie us state department travel advisory electric nyohah snow shia icons i feel my savior love cyndi ling video wang xin foto artis malaysia aa dodge ram tough 200 holidays music add to our guest book won ton recipe teenel com final fantasy x 2 intro movie curley david home fashions april 8 solar eclipse free real ringtones burn easy fat marionette kad jemputan perkahwinan cocktail google reincarnation foto tante girang in tua nua free lanas big boob taylor abg bugil gaim golf the calling wherever you may go codavr add book finance guest personal record cameras african drum samba wanna sexy jason movie midnight club 3 dub edition avenged sevenfold logo songc firex smoke alarm instruction manual 120 1182 chamber coltrane garland john paul red ufo cheung po tsai contoh kad jemputan kahwin tree climbing boot muurbloempjee burit ketat genrechallenge persatuan pengguna pulau pinang cap design business adsl xxnx essay acres lucky qh intel 8086 data sheet huan zhu ge ge lyric fan fiction twincest bill e tom baju dewi gambar kemben persik download indian music urdu defaults knowledge base course she want a pearl necklace china town in san francisco ryuk raito france chordtuner pictures of sex la bi xiao xin gratis ting.dk pictures star this week fiji diving pms bloating pertama kali cium kate moss ambasada amerykanska w warszawie jamin 94.5 radio station lawrence moreland malam pengantin aire fan minka ahly egypt abante una sa balita film photo star tamil vijay wedding cerita seks pertama kali anything that is funny site myspace.com t.j.tyne florence morning news consumption junction adult humor corn space jam ambasada amerykanska w polsce beverage nom 009 stps 1993 illinois tumbler set foto bugil mahasiswi indonesia times of india kehidupan pramugara yang terlampau coffee samples i gave him head hip hop nanawrimo add book dating guest online record download scruffs bdstudiogames dieting newport rahsia rahsia tahi lalat wanita smu bugil funny myspace.com shit site auburn add book book by created guest guest matt our script wright care feudalism breakdown land for sale in catskills sturm ruger co novels fiction low voltage outdoor lighting stroll o chair actresses 50 pills italyfilez cal poly fraternity www poisk ru harga mobil baru tattoos legal free music downloads daily fantasy football telegraph planning maksud tahi lalat add bad book credit guest mortgage record refinance 2005 gmc yukon ghetto quotes about stupid love wholesale tart burner body found unidentified boxing create new email id used free full version worm game download for nokia intel 8086 famosos desnudos bapes size 7 monkey new toy fifty pills tamil actress sex photo bugil ayu azhari defconone boobs final fantasy simdate rpg cheat codes earrings jayalalitha naked photos fifty pills south carolina bed breakfast rong fu 1 3 ethanol nitrophenyl earth our rotating view trisha bathing clips video dowload msn 7.0 teachers indian 4d trisha bathing clip witch craft love spells chumscrubber tech 8086 machine code pdf candle wick tagalog love phrase book ebay half kino govno.ru x_kyuuketsuki kids small recoil pads affairs bersetubuh book comment guest inurl post site uk pokemon leaf green free download julie berry snap on racing sabong video tohshimari boat insurance airferg feather masks space jam movie online free no bake cheese cake too short lyric concerts and events weight ryuusei, moriay free easy spells sun java downloads tanggal 29 desember 2007 actresses naked girlfriend ryuusei, moriya chaussures mode loss xunny hindi sex stories ? www.pag ibig.gov.ph www tv ru quote thank 11 no bake cheese cake recipe grandiva1968 stance togel tanggal 29 desember 2007 honey and clover icons apple blossom winchester va institusi kemahiran belia negara collision damage waiver comstock advancing technology vic reeves house arrest kekekekekekeke blackmail domme exercise bikes lipstick ytl power vetinari icons ivanafukalot movie double trouble game lyndsey dawn mckenzie rabilover4ever pdf dean sam dylan danny final fantasy simdate rpg cheat gambar lucah artis malaysia anak sma bugil stuffed animals pig feed les fils du vent whips modeling bugil gadis photo sma smp chat java room forever inuyasha kagome love cerita panas puffie nipples download situs dewasa indonesia dang hoa day die they until 17tahun com situs cerita dewasa indonesia terbesar add book buying guest home record real hunted house u haul rentals free shocking video kool serial seeker creepy freak elishavah rossiu simon fully connected topology sasuke karin fic audrina spy kids hindi non veg jokes digital devil saga ottawa the weather channel.com puffier nipples web design and development cerita seks lelaki melayu chemistry cloud rufus nano pet chia pet developers dean sam john bobby mpreg cipap aku blackmail mistress story meme news test maestro 156 truth dare chapter educativa mx vs atv unleashed dear daniel tracyeinny kieranrees perfect adbkulman xxx desnudos foto gratis hombres video y card court game rule whist agnes b clothing kuda 4d result katherine von drachenberg comment comment inurl org post site cerita dewasa accommodation plot of dead stars by paz marquez benitez zakupy national treasure riley regal cinemas 16 0 point soup watcher weight pixel initial korea bugil kat von d barbarella movie clip gambar pantat anak dara revenu.gouv.qc.ca fr ministere index.asp znajomi,puchoni i z movie egemenhoca hotmail sign in mychemicalslash ice cream treat 17tahun blogspot darn 2 beastility 400 080 cerita mama selingkuh zakupy agd coat west gv beastility story first word kosmos8 sadler oxford vocabulary workshop level f answer nancy grace biography not pantie wearing badpet 100 free black dating site numerologist.com the earth is not a cold lonely place download cewe smu bugil relatos filiales find patience strong cards laminators it tech lib aldebaran helicopter hind tetek awek free beastility movie did you know that 80% of ucsd students could not find the error above? pantat anak dara zakupy ze sklepu eye exam build entertainment home own pc system video hantu pontianak badfic_quotes gambar tanda kebesaran allah yuki kajiura mp3 download_images polich free taboo movie download hindi vedio songs rumah untuk disewa by creech sharon wanderer north tokyo odaiba how to write a admission letter for college gambar keajaiban allah swt grzewgorz napieralski,pis ryeo wook aunty chudai hindi in ko story world polska zakupy kelentit amoi prxy chudai hindi in ki ma meri nangi znajomi,urodziny peeping tom preschool igif gouv qc ca nod 32 download free sample of college admission letter gambar kebesaran allah swt macmillan publishing company world expo free chatline numbers yahoo map asian unblocker school free softwares loli links celulares moviles juegos bridget bardot pic www oferta educativa sena edu com boo cheap flights watch bet uncut music videos macmillan publishing wather .com bangla choti golpo mid century insurance texas stolen photo spa tub hillsong united chords doh state fl beinmotion fetus development lex terry.com go necta result tz lloyd banks the big withdraw debitha hbc reward ways to say i love you ilmu dalam islam desi humor hilda kovacq out tonight macmillan mcgraw hill.com hospital artis shari ayu bugle indonesia south carolina magic kinder converter wmv bangladeshi choti learn english kinky twist pics alpha lipoic jea yoube tracfone refer a friend speaker www magic kinder com choti online www project playlist com indian passport status check arts humanities book comment guest inurl org post site http images google com shoes electronic music stereo headphones suncoast schools fcu rockstarlexi volcano for kid snail mail pen pal business wholesale little girl nudity tamil songs free download testy z matematyki credit loan people poor working mpx220 problem meraba tetek surverys for myspace zelda minish cap walk through amg whistler village accommodation de fotos mujeres peludas gay cam free twilight posters wallpapers dat viet pbs kids ord chantal kreviazuk feel like home lyric free download gujarati songs mujeres peludas gratis the_bitchcave myspace random surveys makes me crinkle my nose where ever it goes i always know that you make me smile please stay for a while now just take your time where ever you go schenkel bhabhi ki chudai jackson mother of the groom dress anak smu bugil ripleys believe or not forever yours mother of the groom dress comics conventions tj maxx job application aaliyah i refuse louie viton bag michigan secretary of state work at home guide directory 3 brush stroke sin city comic scan gambar bencana tsunami plus size mother of the groom dress herbal body wrap famosos nus karen kaye fox sports radio dvd wizard pro free download resultados de la loteria nacional mexico uverworld wsb channel 2 davids bridal jeannette_sg the kinks mp3 book com comment guest inurl post site ambien addiction kitchen design online penny saver indian traffic exchanges hours michigan secretary state windows xp _u book check printable register james lipton delhi mms clip download retreat runaway bay jamaica villa photo abg bugil jetplane kiddie kandids rentals free rental aggreements create new id in yahoo david s bridal riesentitten wal mart job application fa shinigamis lot jrock pv download __fierce_elite beautiful dj lyric things tiesto machine necchi part sewing kisah kena rogol lordcenon dog health rachel chinese invitation word coyote e wile dating wal mart employee application free rental agreement form band wasp gambar anak smu telanjang tamil actress easy key lime pie musica para celulares gratis hotelkamer web content management system big 5 sporting goods bugil pondok putri davids bridal prom dress project runway am i way rates board election result school wauwatosa takeru nude pics of nigar khan play station game code and cheat jdrama dennis goode james ma r bearhug cat fight methotrexat,cytotec olsen twins undress lawn fill in the blank below to add to our guest book free resco keyboard pro v4 36 minneapolis renaissance festival meninos pelados rosetta stone foreign language nagie nastolatki threats sinn fein dream weaver tutorial ferari.jpg doggans87 ona zee pic web site traffic for sale fotos mujeres desnudas dakota in south weather yankton free house rental agreement form clapping gif megaupload post rock potzak omphalos bezrobocie w polsce harkins theather jawatan kosong kerajaan di putrajaya amys live journal help 100dagen yahoo parental control voelde hun sex yellow pages famoso camera google laski nagie ukryta gift and decorative games4girls sample bank secrecy act quizzes welcome sprays confett cerita rogol melayu quiz on u s time zone mammatje claudia schiffer philharmonic wroclaw cara pakai tudung sign our guest book country nokia 6230i theme persuade someone something local leo mikey tj maxx application free myspace background weld o let psa dna sony ericsson s700i alfred vargas www big lots store soal uan smp kai kan niet slum village fantastic volume 1 chemax 4.6 rus rental slim again plus paginas para descargar juegos musica imagenes para celular gratis fontella dreaming how to make a xylophone 1 credit golden union boy change girl into pretty transform witch tj maxx application in milwuakee gambar gadis berjilbab telanjang milena velba milk video cat fight tit twisting trisha krishnan bath video clip ciencia concurso convocatoria desde la leer mexico nacional goong ost lyrics maunder wayne ebook free seduction long puffy nipples san pablo storage yaoicon che max 4 6 rus weahter pork skewer christopher columbus villain best free porn videos brandeis fix golf slice rozmowy w toku.com.pl medical telco from hope learn live today tomorrow yesterday power rangers fonts bank soal 15k 17k artis foto indonesia telanjang q931 adolescentes bragas mp3 muzik freeexperianreport jannekeleber floral ml spi daily record wooster online credit report noli tangere fantasy yilin huge tit pinjaman peribadi bank rakyat olempia nk 2121 muzike shqip mp3 bragas transparente gundam 00 trisha krishnan bath download school download free ipod music shuffle muzik shqip career crusing girle window media player download tanzania go tz vid pinjaman peribadi myspace site unlocker how tall ben kweller is missouri cerita ganas bogel gambar malaysia noritta samsudin jessica alba sueprano top 10 mujeres peludas smp soal uan microsoft update window xp anarchy cook book foto bugil siswi smu unnatural inquirer 100 concert years verizon net sharing romance 122 voter dry how tall is ben kweller 17 belle fanfic nc shawn xnotquitedeadx gambar kote lelaki melayu free credit report from experian add book guest reading record tarot soal soal uan men s muzike ship mp3 b k candian lottery free mp3 veer zara main yaha hoo download audi a4 front mount intercooler asou sanae osama dubaitv.ae necchi sewing machine airlines blue green saucony 2007 saturn sky computer wont post 3d animation download free software art charity fund raiser fen bilgisi tr goal hayat bilgisi tr lost friends child care sanae asou nightside club heaven nyc lbc novy cas department recreation wauwatosa s100x100 cinema elmwood park shooting john reid kristen1818 golf advance boy codebreaker game pokemon cheats pinjaman peribadi bank rakyat malaysia audra marie model plus size 2005 soal uan amamos travesti nokia 3250 themes cerita pengalaman seks 2005 bank soal uan free verizon wireless ring tone tmnt summary of noli me tangere desi chudai k malayalam sex actress indiana jones soundtrack download 20000501 autoscout 24 ch word of the day eda wherever you are lyric south border 20000 2005 soal soal uan emc feelshiny artis bugil soal soal matematika sole mio lyric cellone usa.com kaltesherz eun kyung shin tmnt mikey ingrid vandebosch opposites big fat quiz of the year scale pdrm saman malaysia gambar siti nurhaliza keke wyat wallpaper tvxq foto bugil indonesian pinjaman modal affiliate exchange foreign program trading quiz of the year insurgent blog joey tante girang di indonesia cerita di ngentot pondok putri tanning bed tooth whitener puffy nipples gallery tanning bed teeth whitener michaelcuckseek carrier hvac wmv codec puritan slacks lexmark fashion mga kwentong pag ibig young puffy nipples mikey toaster het nunchuck king convert celsius nj doc wwwautoscout 24 de lolita pictures partition magic 8.rar gambar abg bugil vacationstogo reagle cinima pekao 24 pl curriculum colt commander ontherocks83 shinigami s lot torrie wilson photo borders book store www borders book store com takumi kun tomo yanagishita red light faith xander cerita seks ganas cann mercurio reagle cinamas theater hvr 1000u stefw zulu time chart bz wbk 24 pl cerita ngentot di pondok putri ich roque 8 year old boy toy poze porno reagle movie theater summer time mp3 osu okc chicken enchalada ring pampered chef st anthony prayer for lost item doorgeschakeld zaire foods nj.doc.com undertaker theme music pampered chef taco ring angel card post wink aku mengulum ayahku galerias de mujeres peludas koleksi gambar siti nurhaliza akihiko mitsuru just another school day fosters home for imaginary friends drama in korean lover paris soundtrack cliffs notes for the book 10 things to do before i die solilla center creative back seat bangers rza thrown in for birthday partes de un monitor bluh i will always love you anime download torrent bnf attorney mutiara kata cinta peeping tom video verizon.net sharing koleksi mutiara kata dsl start verizon.net baby first year album byron kari mythbusters pic baby shower invitation wording yoosu nc 17 dzien po fotos de pauline crespo movie qoutes add kilimanjaro link trek ayu azhari.com foto panas ks job letter thank video hot pants tgp bath download krishnan trisha kat tun posters bible black anime free download kpnemo lubbock texas showplace 6 early childhood education brown stove works inc gry jeje makoto muramatsu sensei bit torrent movie download antwerp gsfc.nasa.gov apod astropix html forever21 om ca 19 9 hp5 maricopa county jail mug shot drum duna tv hu bosch windshield wiper furnace troubleshooting sociology issue glacier bay boat nbc today show gambar anak dara rahsia tahi lalat memek tante anak smu krishnan trisha video bien mujeres peludas 900 23 kinto sol artis indonesia photo telanjang tokio_hotel_ru business more slice wrest tsk com tr canadian tire ca cow pie blues festival how to find someone elses ip address just ask geeves yahoo sports fantasy football free pron free cut and paste activity violently happy mount fuji restaurant new york izuna doujin pirates legal canons be9 fesyen muslimah cloud code codebreaker dark gambar kote super mario advance 4 rom national child dental health month education preschool electronic disease lucienad mobile phones avpme organized codebreaker download bizzaro dr library movie codebreaker green leaf pokemon codebreaker ps2 download chen kelly love paradise comic nintendo sprite colegio san agustin makati danger etro anime download dr bizzaro com gambar bogel nasha aziz dating guy younger dbz doujins florida key destination wedding game copy world whirl a gigs leviosarpg come shop wit me dr bizzaro 100 free unseen japan martin demichelis vileseagulls cra dont worry be happy todo cvcd action figures chapter 7 bankruptcy information download free metallica mp3 gres chudai ladki ki pan malaysia big sweep result channel disney ecco sphinx-2.2.11-release/test/bench/killlist_filter.xml0000644000175000017500000001256012743402012022037 0ustar alexeyalexey kill-list filter indexer { mem_limit = 512M } searchd { dist_threads = 2 } source i1 { type = mysql sql_query = select id, UNCOMPRESS(content) body, title, channel_id idd, ts, published, url_crc, author_id from posting sql_attr_uint = idd sql_attr_uint = ts sql_attr_uint = published sql_attr_uint = url_crc sql_attr_uint = author_id } index i1 { source = i1 path = data/i1 } source src2 : i1 { sql_query = select id, UNCOMPRESS(content) body, title, channel_id idd, ts, published, url_crc, author_id from posting where id>100000 and id<110000 sql_query_killlist = SELECT (id-100000)*10 FROM posting WHERE id>100000 and id<110000 } index i2 { source = src2 path = data/i2 } source src11 : src2 { sql_query = SELECT id, UNCOMPRESS(content) body, title, channel_id idd, ts, published, url_crc, author_id FROM posting where id>100000 and id<110000 sql_query_killlist = SELECT (id-100000)*10 FROM posting WHERE id>100000 and id<110000 and (id%2)=0 } index i11 { source = src11 path = data/i11 } source src12 : src2 { sql_query = SELECT id, UNCOMPRESS(content) body, title, channel_id idd, ts, published, url_crc, author_id FROM posting where id>120000 and id<130000 sql_query_killlist = SELECT (id-100000)*10 FROM posting WHERE id>120000 and id<130000 and (id%4)=0 } index i12 { source = src12 path = data/i12 } source src13 : src2 { sql_query = SELECT id, UNCOMPRESS(content) body, title, channel_id idd, ts, published, url_crc, author_id FROM posting where id>130000 and id<140000 sql_query_killlist = SELECT (id-100000)*10 FROM posting WHERE id>130000 and id<140000 and (id%7)=0 } index i13 { source = src13 path = data/i13 } source src14 : src2 { sql_query = SELECT id, UNCOMPRESS(content) body, title, channel_id idd, ts, published, url_crc, author_id FROM posting where id>140000 and id<150000 sql_query_killlist = SELECT (id-100000)*10 FROM posting WHERE id>140000 and id<150000 and (id%10)=0 } index i14 { source = src14 path = data/i14 } source src15 : src2 { sql_query = SELECT id, UNCOMPRESS(content) body, title, channel_id idd, ts, published, url_crc, author_id FROM posting where id>150000 and id<160000 sql_query_killlist = SELECT (id-100000)*10 FROM posting WHERE id>150000 and id<160000 and (id%30)=0 } index i15 { source = src15 path = data/i15 } source src16 : src2 { sql_query = SELECT id, UNCOMPRESS(content) body, title, channel_id idd, ts, published, url_crc, author_id FROM posting where id>160000 and id<170000 sql_query_killlist = SELECT (id-100000)*10 FROM posting WHERE id>160000 and id<170000 and (id%50)=0 } index i16 { source = src16 path = data/i16 } source src17 : src2 { sql_query = SELECT id, UNCOMPRESS(content) body, title, channel_id idd, ts, published, url_crc, author_id FROM posting where id>170000 and id<180000 sql_query_killlist = SELECT (id-100000)*10 FROM posting WHERE id>170000 and id<180000 and (id%100)=0 } index i17 { source = src17 path = data/i17 } source src18 : src2 { sql_query = SELECT id, UNCOMPRESS(content) body, title, channel_id idd, ts, published, url_crc, author_id FROM posting where id>180000 and id<190000 sql_query_killlist = SELECT (id-100000)*10 FROM posting WHERE id>180000 and id<190000 and (id%160)=0 } index i18 { source = src18 path = data/i18 } source src19 : src2 { sql_query = SELECT id, UNCOMPRESS(content) body, title, channel_id idd, ts, published, url_crc, author_id FROM posting where id>190000 and id<200000 sql_query_killlist = SELECT (id-100000)*10 FROM posting WHERE id>190000 and id<200000 and (id%200)=0 } index i19 { source = src19 path = data/i19 } select id, idd%4 as c from i1, i2 select id, idd%4 as c from i1, i11, i14, i15, i16, i17, i18, i19 where c=0 select id from i1, i2 where match ('cincinnati') select id from i1, i2 where match ('channel') select id from i1, i2 where match ('poetry') select id from i1, i2 where match ('books') select id from i1, i2 where match ('i feel my savior love') select id from i1, i2 where match ('holidays music') select id from i1, i2 where match ('star this week') select id from i1, i11, i14, i15, i16, i17, i18, i19 where match ('cincinnati') select id from i1, i11, i14, i15, i16, i17, i18, i19 where match ('channel') select id from i1, i11, i14, i15, i16, i17, i18, i19 where match ('poetry') select id from i1, i11, i14, i15, i16, i17, i18, i19 where match ('books') select id from i1, i11, i14, i15, i16, i17, i18, i19 where match ('i feel my savior love') select id from i1, i11, i14, i15, i16, i17, i18, i19 where match ('holidays music') select id from i1, i11, i14, i15, i16, i17, i18, i19 where match ('star this week') sphinx-2.2.11-release/test/bench/fullscan.xml0000644000175000017500000000172712743402012020455 0ustar alexeyalexey fullscan indexer { mem_limit = 128M } searchd { } source fullscan { type = mysql sql_query = select id, value, text from fullscan sql_attr_uint = value } index fullscan { source = fullscan path = data/fullscan docinfo = extern } dummy dummy dummy sphinx-2.2.11-release/test/bench/fullscan.php0000644000175000017500000000577712743402012020455 0ustar alexeyalexey 9999, 'tag'=> 9999, 's1'=>'' ); $jrand = array_rand ( $jnames, 3 ); $js[$m] = "'{"; for ( $j=0; $j filter 3 indexer { mem_limit = 512M } searchd { } source main { type = mysql sql_query = select id, UNCOMPRESS(content) body, title, channel_id idd, ts, published, url_crc, author_id from posting where id<100000 sql_attr_uint = idd sql_attr_uint = ts sql_attr_uint = published sql_attr_uint = url_crc sql_attr_uint = author_id } index main { source = main path = data/main } source delta1 : main { sql_query = select id, UNCOMPRESS(content) body, title, channel_id idd, ts, published, url_crc, author_id from posting where id>100000 and id<110000 sql_query_killlist = SELECT (id-100000)*10 FROM posting WHERE id>100000 and id<110000 and (id%10)=0 } index delta1 { source = delta1 path = data/delta1 } source delta10 : main { sql_query = select id, UNCOMPRESS(content) body, title, channel_id idd, ts, published, url_crc, author_id from posting where id>100000 and id<110000 sql_query_killlist = SELECT (id-100000)*10 FROM posting WHERE id>100000 and id<110000 } index delta10 { source = delta10 path = data/delta10 } index rt_main { type = rt path = data/rt_main docinfo = extern rt_mem_limit = 128M rt_field = body rt_field = title rt_attr_uint = idd rt_attr_uint = ts } index rt1 { type = rt path = data/rt1 docinfo = extern rt_mem_limit = 128M rt_field = body rt_field = title rt_attr_uint = idd rt_attr_uint = ts } index rt10 { type = rt path = data/rt10 docinfo = extern rt_mem_limit = 128M rt_field = body rt_field = title rt_attr_uint = idd rt_attr_uint = ts } Reconnect(); $res = populate_rt ( 0, 100000, 500, $ql, 'rt_main' ); $res['total'] = 500; $res['tag'] = 'insert rt_main'; $results[] = $res; $res = populate_rt ( 0, 100000, 500, $ql, 'rt1' ); $res['total'] = 500; $res['tag'] = 'insert rt1'; $results[] = $res; $res = populate_rt ( 0, 100000, 500, $ql, 'rt10' ); $res['total'] = 500; $res['tag'] = 'insert rt10'; $results[] = $res; //SELECT (id-100000)*10 FROM posting WHERE id>100000 and id<110000 and (id%10)=0 //SELECT (id-100000)*10 FROM posting WHERE id>100000 and id<110000 $ids = array(); $id_step = 100000 / 1000; for ( $del=1; $del<=1000; $del++ ) { $ids[] = $del * $id_step; } $res = delete_from_rt ( $ids, $ql, 'rt1' ); $res['tag'] = 'delete 1% from rt1'; $results[] = $res; $ids = array(); $id_step = 100000 / 10000; for ( $del=1; $del<=10000; $del++ ) { $ids[] = $del * $id_step; } $res = delete_from_rt ( $ids, $ql, 'rt10' ); $res['tag'] = 'delete 10% from rt10'; $results[] = $res; ]]> select id from main option comment='main + scan' select id from main, delta1 option comment='main,delta1 + scan' select id from main, delta10 option comment='main,delta10 + scan' select id from rt_main option comment='rt_main + scan' select id from rt1 option comment='rt1 + scan' select id from rt10 option comment='rt10 + scan' select id, idd%4 as c from main where c=0 option comment='main + scan;idd%4' select id, idd%4 as c from delta1 where c=0 option comment='delta1 + scan;idd%4' select id, idd%4 as c from delta10 where c=0 option comment='delta10 + scan;idd%4' select id, idd%4 as c from main, delta1 where c=0 option comment='main,delta1 + scan;idd%4' select id, idd%4 as c from main, delta10 where c=0 option comment='main,delta10 + scan;idd%4' select id, idd%4 as c from rt_main where c=0 option comment='rt_main + scan;idd%4' select id, idd%4 as c from rt1 where c=0 option comment='rt1 + scan;idd%4' select id, idd%4 as c from rt10 where c=0 option comment='rt10 + scan;idd%4' select id from main, delta1 where match ('cincinnati') option comment='main,delta1 + [cincinnati]' select id from main, delta10 where match ('cincinnati') option comment='main,delta10 + [cincinnati]' select id from rt1 where match ('cincinnati') option comment='rt1 + [cincinnati]' select id from rt10 where match ('cincinnati') option comment='rt10 + [cincinnati]' select id from main, delta1 where match ('channel') option comment='main,delta1 + [channel]' select id from main, delta10 where match ('channel') option comment='main,delta10 + [channel]' select id from rt1 where match ('channel') option comment='rt1 + [channel]' select id from rt10 where match ('channel') option comment='rt10 + [channel]' select id from main, delta1 where match ('poetry') option comment='main,delta1 + [poetry]' select id from main, delta10 where match ('poetry') option comment='main,delta10 + [poetry]' select id from rt1 where match ('poetry') option comment='rt1 + [poetry]' select id from rt10 where match ('poetry') option comment='rt10 + [poetry]' select id from main, delta1 where match ('books') option comment='main,delta1 + [books]' select id from main, delta10 where match ('books') option comment='main,delta10 + [books]' select id from rt1 where match ('books') option comment='rt1 + [books]' select id from rt10 where match ('books') option comment='rt10 + [books]' select id from main, delta1 where match ('i feel my savior love') option comment='main,delta1 + [i feel my savior love]' select id from main, delta10 where match ('i feel my savior love') option comment='main,delta10 + [i feel my savior love]' select id from rt1 where match ('i feel my savior love') option comment='rt1 + [i feel my savior love]' select id from rt10 where match ('i feel my savior love') option comment='rt10 + [i feel my savior love]' select id from main, delta1 where match ('holidays music') option comment='main,delta1 + [holidays music]' select id from main, delta10 where match ('holidays music') option comment='main,delta10 + [holidays music]' select id from rt1 where match ('holidays music') option comment='rt1 + [holidays music]' select id from rt10 where match ('holidays music') option comment='rt10 + [holidays music]' select id from main, delta1 where match ('star this week') option comment='main,delta1 + [star this week]' select id from main, delta10 where match ('star this week') option comment='main,delta10 + [star this week]' select id from rt1 where match ('star this week') option comment='rt1 + [star this week]' select id from rt10 where match ('star this week') option comment='rt10 + [star this week]' sphinx-2.2.11-release/test/bench/filter.xml0000644000175000017500000001434412743402012020132 0ustar alexeyalexey filter indexer { mem_limit = 128M } searchd { } source fullscan { type = mysql sql_query = select id, value as a1, value as a2, value as a3, id as b1, id as b2, id as b3, text, mva, j, gid, tag, s1 as s1raw, CRC32(s1) as s1folded from fullscan sql_attr_uint = a1 sql_attr_uint = a2 sql_attr_uint = a3 sql_attr_uint = b1 sql_attr_uint = b2 sql_attr_uint = b3 sql_attr_multi = uint mva from field sql_attr_json = j sql_attr_uint = gid sql_attr_uint = tag sql_attr_string = s1raw sql_attr_uint = s1folded } index fullscan { source = fullscan path = data/filter docinfo = extern } select id from fullscan where a1=3 OPTION comment='filter attr1' select id, a1=3 as cnd from fullscan where cnd=1 OPTION comment ='expr attr1' select id from fullscan where b1<10000 OPTION comment = 'filter attr1 block' select id, b1<6000 as cnd from fullscan where cnd=1 OPTION comment = 'expr attr1 block' select id from fullscan where a1=3 and a2=3 OPTION comment = 'filter attr2' select id, a1=3 and a2=3 as cnd from fullscan where cnd=1 OPTION comment = 'expr attr2' select id from fullscan where b1<10000 and b2<20000 OPTION comment = 'filter attr2 block' select id, b1<10000 and b2<20000 as cnd from fullscan where cnd=1 OPTION comment = 'expr attr2 block' select id from fullscan where a1=3 and a2=3 and a3=3 OPTION comment = 'filter attr3' select id, a1=3 and a2=3 and a3=3 as cnd from fullscan where cnd=1 OPTION comment = 'expr attr3' select id from fullscan where b1<10000 and b2<20000 and b3<30000 OPTION comment = 'filter attr3 block' select id, b1<10000 and b2<20000 and b3<30000 as cnd from fullscan where cnd=1 OPTION comment = 'expr attr3 block' select id from fullscan where mva in ( 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) OPTION comment = 'filter mva10' select id, in ( mva, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) as cnd from fullscan where cnd=1 OPTION comment = 'expr mva10' select id from fullscan where mva in ( 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 ) OPTION comment = 'filter mva10 dupes' select id, in ( mva, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 ) as cnd from fullscan where cnd=1 OPTION comment = 'expr mva10 dupes' select id from fullscan where s1folded=2212294583 OPTION comment = 'crc32 filter' select id from fullscan where j.s1='1' OPTION comment = 'str filter' select id from fullscan group by s1folded OPTION comment = 'crc32 group' select id from fullscan group by s1raw OPTION comment = 'str group' select id from fullscan group by j.s1 OPTION comment = 'json group' select id from fullscan where gid=1 OPTION comment = 'filter attr' select id from fullscan where j.gid=1 OPTION comment = 'filter json' select id, gid=1 as cnd from fullscan where cnd=1 OPTION comment = 'expr attr' select id, j.gid=1 as cnd from fullscan where cnd=1 OPTION comment = 'expr json' select id from fullscan where gid=100 and tag=761 OPTION comment = '2x filter attr' select id from fullscan where j.gid=100 and j.tag=761 OPTION comment = '2x filter json' select id, gid=1 and tag=761 as cnd from fullscan where cnd=1 OPTION comment = '2x expr attr' select id, j.gid=100 and j.tag=761 as cnd from fullscan where cnd=1 OPTION comment = '2x expr json' select id from fullscan group by gid OPTION comment = 'group N1 attr' select id from fullscan group 2 by gid OPTION comment = 'group N2 attr' select id from fullscan group 5 by gid OPTION comment = 'group N5 attr' select id from fullscan group by j.gid OPTION comment = 'group N1 json' select id from fullscan group 2 by j.gid OPTION comment = 'group N2 json' select id from fullscan group 5 by j.gid OPTION comment = 'group N5 json' select id from fullscan order by gid asc OPTION comment = 'order attr asc' select id from fullscan order by j.gid asc OPTION comment = 'order json asc' select id, gid+1 as o from fullscan order by o asc OPTION comment = 'order expr asc' select id from fullscan order by gid desc, tag asc OPTION comment = 'order 2 attr' select id from fullscan order by j.gid desc, j.tag asc OPTION comment = 'order 2 json' select id, gid+1 as o1, tag+1 o2 from fullscan order by o1 desc, o2 asc OPTION comment = 'order 2 expr' select id from fullscan order by s1raw desc OPTION comment = 'order string raw' select id from fullscan order by j.s1 desc OPTION comment = 'order string json' sphinx-2.2.11-release/test/bench/FILTER-chart4.xml0000644000175000017500000000323712743402012021014 0ustar alexeyalexey filter indexer { mem_limit = 128M } searchd { } source fullscan { type = mysql sql_query = select id, value as a1, value as a2, value as a3, id as b1, id as b2, id as b3, text, mva, j, gid, tag, s1 as s1raw, CRC32(s1) as s1folded from fullscan sql_attr_uint = a1 sql_attr_uint = a2 sql_attr_uint = a3 sql_attr_uint = b1 sql_attr_uint = b2 sql_attr_uint = b3 sql_attr_multi = uint mva from field sql_attr_json = j sql_attr_uint = gid sql_attr_uint = tag sql_attr_string = s1raw sql_attr_uint = s1folded } index fullscan { source = fullscan path = data/filter docinfo = extern } select id from fullscan order by gid asc OPTION comment = 'order attr asc' select id from fullscan order by j.gid asc OPTION comment = 'order json asc' select id, gid+1 as o from fullscan order by o asc OPTION comment = 'order expr asc' select id from fullscan order by gid desc, tag asc OPTION comment = 'order 2 attr' select id from fullscan order by j.gid desc, j.tag asc OPTION comment = 'order 2 json' select id, gid+1 as o1, tag+1 o2 from fullscan order by o1 desc, o2 asc OPTION comment = 'order 2 expr' select id from fullscan order by s1raw desc OPTION comment = 'order string raw' select id from fullscan order by j.s1 desc OPTION comment = 'order string json' sphinx-2.2.11-release/test/bench/FILTER-chart3.xml0000644000175000017500000000321012743402012021002 0ustar alexeyalexey filter indexer { mem_limit = 128M } searchd { } source fullscan { type = mysql sql_query = select id, value as a1, value as a2, value as a3, id as b1, id as b2, id as b3, text, mva, j, gid, tag, s1 as s1raw, CRC32(s1) as s1folded from fullscan sql_attr_uint = a1 sql_attr_uint = a2 sql_attr_uint = a3 sql_attr_uint = b1 sql_attr_uint = b2 sql_attr_uint = b3 sql_attr_multi = uint mva from field sql_attr_json = j sql_attr_uint = gid sql_attr_uint = tag sql_attr_string = s1raw sql_attr_uint = s1folded } index fullscan { source = fullscan path = data/filter docinfo = extern } select id from fullscan group by gid OPTION comment = 'group N1 attr' select id from fullscan group 2 by gid OPTION comment = 'group N2 attr' select id from fullscan group 5 by gid OPTION comment = 'group N5 attr' select id from fullscan group by j.gid OPTION comment = 'group N1 json' select id from fullscan group 2 by j.gid OPTION comment = 'group N2 json' select id from fullscan group 5 by j.gid OPTION comment = 'group N5 json' select id from fullscan group by s1folded OPTION comment = 'crc32 group' select id from fullscan group by s1raw OPTION comment = 'str group' select id from fullscan group by j.s1 OPTION comment = 'json group' sphinx-2.2.11-release/test/bench/FILTER-chart2.xml0000644000175000017500000000541312743402012021010 0ustar alexeyalexey filter indexer { mem_limit = 128M } searchd { } source fullscan { type = mysql sql_query = select id, value as a1, value as a2, value as a3, id as b1, id as b2, id as b3, text, mva, j, gid, tag, s1 as s1raw, CRC32(s1) as s1folded from fullscan sql_attr_uint = a1 sql_attr_uint = a2 sql_attr_uint = a3 sql_attr_uint = b1 sql_attr_uint = b2 sql_attr_uint = b3 sql_attr_multi = uint mva from field sql_attr_json = j sql_attr_uint = gid sql_attr_uint = tag sql_attr_string = s1raw sql_attr_uint = s1folded } index fullscan { source = fullscan path = data/filter docinfo = extern } select id from fullscan where gid=1 OPTION comment = 'filter attr' select id from fullscan where j.gid=1 OPTION comment = 'filter json' select id, gid=1 as cnd from fullscan where cnd=1 OPTION comment = 'expr attr' select id, j.gid=1 as cnd from fullscan where cnd=1 OPTION comment = 'expr json' select id from fullscan where gid=100 and tag=761 OPTION comment = '2x filter attr' select id from fullscan where j.gid=100 and j.tag=761 OPTION comment = '2x filter json' select id, gid=1 and tag=761 as cnd from fullscan where cnd=1 OPTION comment = '2x expr attr' select id, j.gid=100 and j.tag=761 as cnd from fullscan where cnd=1 OPTION comment = '2x expr json' select id from fullscan where s1folded=2212294583 OPTION comment = 'crc32 filter' select id from fullscan where j.s1='1' OPTION comment = 'str filter' select id from fullscan where mva in ( 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) OPTION comment = 'filter mva10' select id, in ( mva, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20) as cnd from fullscan where cnd=1 OPTION comment = 'expr mva10' select id from fullscan where mva in ( 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 ) OPTION comment = 'filter mva10 dupes' select id, in ( mva, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 ) as cnd from fullscan where cnd=1 OPTION comment = 'expr mva10 dupes' sphinx-2.2.11-release/test/bench/FILTER-chart1.xml0000644000175000017500000000466512743402012021017 0ustar alexeyalexey filter indexer { mem_limit = 128M } searchd { } source fullscan { type = mysql sql_query = select id, value as a1, value as a2, value as a3, id as b1, id as b2, id as b3, text, mva, j, gid, tag, s1 as s1raw, CRC32(s1) as s1folded from fullscan sql_attr_uint = a1 sql_attr_uint = a2 sql_attr_uint = a3 sql_attr_uint = b1 sql_attr_uint = b2 sql_attr_uint = b3 sql_attr_multi = uint mva from field sql_attr_json = j sql_attr_uint = gid sql_attr_uint = tag sql_attr_string = s1raw sql_attr_uint = s1folded } index fullscan { source = fullscan path = data/filter docinfo = extern } select id from fullscan where a1=3 OPTION comment='filter attr1' select id, a1=3 as cnd from fullscan where cnd=1 OPTION comment ='expr attr1' select id from fullscan where b1<10000 OPTION comment = 'filter attr1 block' select id, b1<6000 as cnd from fullscan where cnd=1 OPTION comment = 'expr attr1 block' select id from fullscan where a1=3 and a2=3 OPTION comment = 'filter attr2' select id, a1=3 and a2=3 as cnd from fullscan where cnd=1 OPTION comment = 'expr attr2' select id from fullscan where b1<10000 and b2<20000 OPTION comment = 'filter attr2 block' select id, b1<10000 and b2<20000 as cnd from fullscan where cnd=1 OPTION comment = 'expr attr2 block' select id from fullscan where a1=3 and a2=3 and a3=3 OPTION comment = 'filter attr3' select id, a1=3 and a2=3 and a3=3 as cnd from fullscan where cnd=1 OPTION comment = 'expr attr3' select id from fullscan where b1<10000 and b2<20000 and b3<30000 OPTION comment = 'filter attr3 block' select id, b1<10000 and b2<20000 and b3<30000 as cnd from fullscan where cnd=1 OPTION comment = 'expr attr3 block' sphinx-2.2.11-release/test/bench.php0000644000175000017500000003653512743402012016642 0ustar alexeyalexey array(), 'sources' => $sources, 'versions' => array ( $data[0]['version'], $data[1]['version'] ), 'checksums' => $data[0]['hash'] == $data[1]['hash'], ); if ( count($data[0]['results']) != count($data[1]['results']) ) Fatal ( "unable to produce the report, result set sizes mismatch" ); $combined = array(); $skip = array(); foreach ( $data as &$set ) { $out = array(); for ( $i=0; $i $tag, 'time' => 0, 'total' => 0, 'total_found' => 0 ); } $row['time'] = (float)$row['time']; $out[$tag]['time'] += $row['time']; $out[$tag]['total'] += $row['total']; $out[$tag]['total_found'] += $row['total_found']; } $combined[] = $out; } if ( array_keys($combined[0]) != array_keys($combined[1]) ) Fatal ( "unable to produce the report, tag sets mismatch" ); $report['aggregate'] = sphCompareSets ( array ( array_values ( $combined[0] ), array_values ( $combined[1] ) ) ); $report['detailed'] = sphCompareSets ( array ( $data[0]['results'], $data[1]['results'] ) ); return $report; } //////////////////////////////////////////////////////////////////////////////// function sphTextReport ( $report ) { global $g_locals; $mode = $g_locals['mode']; $width = array (); $header = array ( 'query', basename ( $report['sources'][0], '.bin' ) , basename ( $report['sources'][1], '.bin' ), '%', 'total', 'total found' ); foreach ( $header as $title ) $width[] = strlen($title); foreach ( $report[$mode] as $row ) { if ( count($row)==1 ) continue; for ( $i=0; $i 40 ) $text = substr ( $text, 0, 37 ) . '...'; printf ( '%s |', str_pad ( $text, $width[$i] + 2, ' ', STR_PAD_LEFT ) ); $i++; } printf("\n"); } if ( !count ( $report[$mode] ) ) printf ( "empty report.\n" ); } //////////////////////////////////////////////////////////////////////////////// /// erases rt index function EraseRtIndex ( $path, $name ) { $fp = opendir ( $path ); if ( $fp ) { $name .= '.'; while ( ( $file = readdir ( $fp ) ) !== false ) { if ( $file != "." && $file != ".." && !is_dir ( $file ) && strripos ( $file, $name ) !==false ) unlink ( "$file" ); } closedir ( $fp ); } } //////////////////////////////////////////////////////////////////////////////// /// returns results file name on success; false on failure function sphBenchmark ( $name, $locals, $force_reindex ) { // load config $config = new SphinxConfig ( $locals ); if ( !( $config->Load ( "bench/$name.xml" ) && CheckConfig ( $config, $name ) ) ) return false; global $g_locals; $g_locals['rt_mode']= $config->Requires('force-rt'); $reindex_rt = $config->Requires('reindex-rt'); // temporary limitations assert ( $config->SubtestCount()==1 ); // find unused output prefix $i = 0; for ( ; file_exists("bench-results/$name.$i.bin"); $i++ ); $output = "bench-results/$name.$i"; printf ( "benchmarking: %s\n", $config->Name() ); // grab index names and paths $msg = ''; $config->WriteConfig ( 'config.conf', 'all', $msg ); $indexes = array(); $indexes_rt = array(); $text = file_get_contents('config.conf'); preg_match_all ( '/index\s+(\S+)\s+{[^}]+path\s*=\s*(.*)[^}]+}/m', $text, $matches ); for ( $i=0; $i $path ) { $skip_rt = ( $reindex_rt && array_key_exists ( $indexName, $indexes_rt ) ); printf ( "index: %s - ", $indexName ); if ( ( $config->IsRt() && $force_reindex ) || $skip_rt ) EraseRtIndex ( $locals['data'], $path ); if ( !$config->IsRt() && ( !is_readable ( "$path.spa" ) || !is_readable ( "$path.spi" ) || $force_reindex ) && !$skip_rt ) { printf ( "indexing... " ); $tm = MyMicrotime(); $result = RunIndexer ( $error, $indexName ); $tm = MyMicrotime() - $tm; if ( $result==1 ) { printf ( "\nerror running the indexer:\n%s\n", $error ); return false; } else if ( $result==2 ) printf ( "done in %s, there were warnings:\n%s\n", sphFormatTime($tm), $error ); else printf ( "done in %s - ", sphFormatTime($tm) ); } if ( !$config->IsRt() && !$skip_rt ) { $hash = array ( 'spi' => md5_file ( "$path.spi" ), 'spa' => md5_file ( "$path.spa" ) ); printf ( "%s\n", $hash['spi'] ); } else { $hash = array ( 'xml'=>md5_file ("bench/$name.xml") ); printf ( "%s\n", $hash['xml'] ); } } // start searchd if ( !$locals['skip-searchd'] ) { $result = StartSearchd ( 'config.conf', "$output.searchd.txt", 'searchd.pid', $error ); if ( $result==1 ) { printf ( "error starting searchd:\n%s\n", $error ); return false; } else if ( $result==2 ) printf ( "searchd warning: %s\n", $error ); } $report = array ( 'results' => array(), 'time' => time(), 'hash' => $hash, 'version' => GetVersion() ); // run the benchmark foreach ( array('custom', 'ql', 'api') as $mode ) { $config->ResetResults(); $isOK = false; if ( $mode=='ql' && $config->IsSphinxqlTest () ) { $isOK = $config->RunQuerySphinxQL ( $error, true ); } else if ( $mode=='api' && $config->IsQueryTest () ) { $isOK = $config->RunQuery ( '*', $error, 'warming-up:' ) && $config->RunQuery ( '*', $error, 'profiling:' ); } else if ( $mode=='custom' ) { $isOK = $config->RunCustomTest ( $error ); } else { continue; } if ( $isOK ) { $i = 0; $q = null; $lastQuery = ''; $lastTag = ''; foreach ( $config->Results() as $result ) { if ( $mode=='ql' ) { if ( $result['sphinxql']=='show meta' ) { $report['results'][] = array ( 'total' => $result['rows'][0]['Value'], 'total_found' => $result['rows'][1]['Value'], 'time' => $result['rows'][2]['Value'], 'query' => $lastQuery, 'tag' => $lastTag ); } else { $lastQuery = $result['sphinxql']; $lastTag = $lastQuery; $matches = array(); if ( preg_match_all ( "/comment.*=.*\'(.*)\'/", $lastQuery, $matches ) ) { $lastTag = $matches[1][0]; } } } else if ( $mode=='api' ) { if ( $result[0] !== $q ) { $i = 0; $q = $result[0]; } $query = $config->GetQuery ( $q ); $report['results'][] = array ( 'total' => $result[1], 'total_found' => $result[2], 'time' => $result[3], 'query' => $query['query'][$i++], 'tag' => $query['tag'] ); } else if ( $mode=='custom' ) { foreach ( $result as $r ) { $report['results'][] = array ( 'total' => $r['total'], 'total_found' => $r['total_found'], 'time' => $r['time'], 'query' => $r['query'], 'tag' => $r['tag'] ); } } } } else { printf ( "\nfailed to run queries at %s:\n%s\n", $mode, $error ); } } file_put_contents ( "$output.bin", serialize ( $report ) ); printf ( "results saved to: $output.bin\n" ); // shutdown StopSearchd ( 'config.conf', 'searchd.pid' ); // all good return $output; } //////////////////////////////////////////////////////////////////////////////// /// pick $count freshest run files for $bench benchmark function PickFreshest ( $bench, $count ) { // traverse results dir for $bench.RUNID.bin $found = array(); $dh = opendir ( "bench-results" ); if ( $dh ) { while ( $entry = readdir ( $dh ) ) { if ( substr ( $entry, 0, 1+strlen($bench) )!==$bench."." ) continue; if ( substr ( $entry, -4 )!==".bin" ) continue; $index = (int)substr ( $entry, 1+strlen($bench) ); $found[$index] = "bench-results/$entry"; } closedir ( $dh ); } if ( !$found ) return null; ksort ( $found ); return array_slice ( array_values ( $found ), -$count ); } /// lookup run file by name, doing some common guesses function LookupRun ( $name ) { // try full BENCH.RUNID guesses first $found = null; foreach ( array ( $name, "$name.bin", "bench-results/$name", "bench-results/$name.bin" ) as $guess ) { if ( is_readable($guess) ) { $found = $guess; break; } } // try pick the freshest one by bench name next if ( !$found ) list($found) = PickFreshest ( $name, 1 ); // still not found? too bad if ( !$found ) Fatal ( "no run files for '$name' found" ); return $found; } function BenchPrintHelp ( $path ) { print << [OPTIONS] Commands are: b, benchmark BENCH benchmark (and store run result) bv BENCH benchmark, view run result bb BENCH (forcibly) build index, benchmark bbv BENCH (forcibly) build index, benchmark, view run result c, compare BENCH compare two latest run results of given benchmark c, compare BENCH RUNID1 RUNID2 c, compare BENCH.RUNID1 BENCH.RUNID2 compare two given run results t, try BENCH benchmark, view, but do not store run result v, view BENCH.RUNID view given run result Examples: bench.php b mytest run 'mytest' benchmark bench.php v mytest view latest 'mytest' run result bench.php v mytest.4 view 4th 'mytest' run result bench.php c mytest 3 7 bench.php c mytest.3 mytest.7 compare runs 3 and 7 of 'mytest' benchmark EOT; } function AvailableBenchmarks () { $dh = opendir ( "bench" ); if ( !$dh ) return; $avail = array (); while ( $entry = readdir ( $dh ) ) if ( substr ( $entry, -4 )===".xml" ) $avail[] = substr ( $entry, 0, -4 ); closedir ( $dh ); return join ( ", or ", $avail ); } function Main ( $argv ) { if ( count($argv)==1 ) { BenchPrintHelp ( $argv[0] ); return 0; } $mode = null; $files = array(); $locals = array(); // parse arguments $force_reindex = false; $view_results = false; $unlink_run = false; for ( $i=1; $i' STRING(REGEX REPLACE "^.*<[Nn][Aa][Mm][Ee]>" "" test_name "${test_name}") # cut out all from the to the end STRING(REGEX REPLACE ".*$" "" test_name "${test_name}") else() set (test_name "") endif() set (test_name "${onetest} ${test_name}") add_test(NAME "\"${test_name}\"" # CONFIGURATIONS Debug WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" COMMAND php ubertest.php -s $ t ${onetest}) endforeach() sphinx-2.2.11-release/src/0000755000175000017500000000000012743605102014653 5ustar alexeyalexeysphinx-2.2.11-release/src/sphinxversion.h0000644000175000017500000000024412743603712017750 0ustar alexeyalexey#define SPH_SVN_TAG "rel22" #define SPH_SVN_REV 95ae9a6 #define SPH_SVN_REVSTR "95ae9a6" #define SPH_GIT_COMMIT_ID "95ae9a6" #define SPH_SVN_TAGREV "rel22_95ae9a6" sphinx-2.2.11-release/src/yysphinxselect.h0000644000175000017500000000516012743402012020114 0ustar alexeyalexey/* A Bison parser, made by GNU Bison 3.0.2. */ /* Bison interface for Yacc-like parsers in C Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ #ifndef YY_YY_YYSPHINXSELECT_H_INCLUDED # define YY_YY_YYSPHINXSELECT_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif #if YYDEBUG extern int yydebug; #endif /* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE enum yytokentype { SEL_TOKEN = 258, SEL_ID = 259, SEL_AS = 260, SEL_AVG = 261, SEL_MAX = 262, SEL_MIN = 263, SEL_SUM = 264, SEL_GROUP_CONCAT = 265, SEL_GROUPBY = 266, SEL_COUNT = 267, SEL_WEIGHT = 268, SEL_DISTINCT = 269, SEL_OPTION = 270, SEL_COMMENT_OPEN = 271, SEL_COMMENT_CLOSE = 272, TOK_DIV = 273, TOK_MOD = 274, TOK_NEG = 275, TOK_LTE = 276, TOK_GTE = 277, TOK_EQ = 278, TOK_NE = 279, TOK_CONST_STRING = 280, TOK_OR = 281, TOK_AND = 282, TOK_NOT = 283, TOK_IS = 284, TOK_NULL = 285, TOK_FOR = 286, TOK_FUNC_IN = 287 }; #endif /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef int YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 #endif int yyparse (SelectParser_t * pParser); #endif /* !YY_YY_YYSPHINXSELECT_H_INCLUDED */ sphinx-2.2.11-release/src/yysphinxselect.c0000644000175000017500000020434012743402012020110 0ustar alexeyalexey/* A Bison parser, made by GNU Bison 3.0.2. */ /* Bison implementation for Yacc-like parsers in C Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ /* C LALR(1) parser skeleton written by Richard Stallman, by simplifying the original so-called "semantic" parser. */ /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. There are some unavoidable exceptions within include files to define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ /* Identify Bison output. */ #define YYBISON 1 /* Bison version. */ #define YYBISON_VERSION "3.0.2" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" /* Pure parsers. */ #define YYPURE 1 /* Push parsers. */ #define YYPUSH 0 /* Pull parsers. */ #define YYPULL 1 /* Copy the first part of user declarations. */ #if USE_WINDOWS #pragma warning(push,1) #pragma warning(disable:4702) // unreachable code #endif # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus # define YY_NULLPTR nullptr # else # define YY_NULLPTR 0 # endif # endif /* Enabling verbose error messages. */ #ifdef YYERROR_VERBOSE # undef YYERROR_VERBOSE # define YYERROR_VERBOSE 1 #else # define YYERROR_VERBOSE 1 #endif /* In a future release of Bison, this section will be replaced by #include "yysphinxselect.h". */ #ifndef YY_YY_YYSPHINXSELECT_H_INCLUDED # define YY_YY_YYSPHINXSELECT_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif #if YYDEBUG extern int yydebug; #endif /* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE enum yytokentype { SEL_TOKEN = 258, SEL_ID = 259, SEL_AS = 260, SEL_AVG = 261, SEL_MAX = 262, SEL_MIN = 263, SEL_SUM = 264, SEL_GROUP_CONCAT = 265, SEL_GROUPBY = 266, SEL_COUNT = 267, SEL_WEIGHT = 268, SEL_DISTINCT = 269, SEL_OPTION = 270, SEL_COMMENT_OPEN = 271, SEL_COMMENT_CLOSE = 272, TOK_DIV = 273, TOK_MOD = 274, TOK_NEG = 275, TOK_LTE = 276, TOK_GTE = 277, TOK_EQ = 278, TOK_NE = 279, TOK_CONST_STRING = 280, TOK_OR = 281, TOK_AND = 282, TOK_NOT = 283, TOK_IS = 284, TOK_NULL = 285, TOK_FOR = 286, TOK_FUNC_IN = 287 }; #endif /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef int YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 #endif int yyparse (SelectParser_t * pParser); #endif /* !YY_YY_YYSPHINXSELECT_H_INCLUDED */ /* Copy the second part of user declarations. */ #ifdef short # undef short #endif #ifdef YYTYPE_UINT8 typedef YYTYPE_UINT8 yytype_uint8; #else typedef unsigned char yytype_uint8; #endif #ifdef YYTYPE_INT8 typedef YYTYPE_INT8 yytype_int8; #else typedef signed char yytype_int8; #endif #ifdef YYTYPE_UINT16 typedef YYTYPE_UINT16 yytype_uint16; #else typedef unsigned short int yytype_uint16; #endif #ifdef YYTYPE_INT16 typedef YYTYPE_INT16 yytype_int16; #else typedef short int yytype_int16; #endif #ifndef YYSIZE_T # ifdef __SIZE_TYPE__ # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t # elif ! defined YYSIZE_T # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else # define YYSIZE_T unsigned int # endif #endif #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ # if defined YYENABLE_NLS && YYENABLE_NLS # if ENABLE_NLS # include /* INFRINGES ON USER NAME SPACE */ # define YY_(Msgid) dgettext ("bison-runtime", Msgid) # endif # endif # ifndef YY_ # define YY_(Msgid) Msgid # endif #endif #ifndef YY_ATTRIBUTE # if (defined __GNUC__ \ && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C # define YY_ATTRIBUTE(Spec) __attribute__(Spec) # else # define YY_ATTRIBUTE(Spec) /* empty */ # endif #endif #ifndef YY_ATTRIBUTE_PURE # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) #endif #ifndef YY_ATTRIBUTE_UNUSED # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) #endif #if !defined _Noreturn \ && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) # if defined _MSC_VER && 1200 <= _MSC_VER # define _Noreturn __declspec (noreturn) # else # define _Noreturn YY_ATTRIBUTE ((__noreturn__)) # endif #endif /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(E) ((void) (E)) #else # define YYUSE(E) /* empty */ #endif #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ /* Suppress an incorrect diagnostic about yylval being uninitialized. */ # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ _Pragma ("GCC diagnostic pop") #else # define YY_INITIAL_VALUE(Value) Value #endif #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN # define YY_IGNORE_MAYBE_UNINITIALIZED_END #endif #ifndef YY_INITIAL_VALUE # define YY_INITIAL_VALUE(Value) /* Nothing. */ #endif #if ! defined yyoverflow || YYERROR_VERBOSE /* The parser invokes alloca or malloc; define the necessary symbols. */ # ifdef YYSTACK_USE_ALLOCA # if YYSTACK_USE_ALLOCA # ifdef __GNUC__ # define YYSTACK_ALLOC __builtin_alloca # elif defined __BUILTIN_VA_ARG_INCR # include /* INFRINGES ON USER NAME SPACE */ # elif defined _AIX # define YYSTACK_ALLOC __alloca # elif defined _MSC_VER # include /* INFRINGES ON USER NAME SPACE */ # define alloca _alloca # else # define YYSTACK_ALLOC alloca # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS # include /* INFRINGES ON USER NAME SPACE */ /* Use EXIT_SUCCESS as a witness for stdlib.h. */ # ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 # endif # endif # endif # endif # endif # ifdef YYSTACK_ALLOC /* Pacify GCC's 'empty if-body' warning. */ # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) # ifndef YYSTACK_ALLOC_MAXIMUM /* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely invoke alloca (N) if N exceeds 4096. Use a slightly smaller number to allow for a few compiler-allocated temporary stack slots. */ # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ # endif # else # define YYSTACK_ALLOC YYMALLOC # define YYSTACK_FREE YYFREE # ifndef YYSTACK_ALLOC_MAXIMUM # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM # endif # if (defined __cplusplus && ! defined EXIT_SUCCESS \ && ! ((defined YYMALLOC || defined malloc) \ && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ # ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 # endif # endif # ifndef YYMALLOC # define YYMALLOC malloc # if ! defined malloc && ! defined EXIT_SUCCESS void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free # if ! defined free && ! defined EXIT_SUCCESS void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif # endif #endif /* ! defined yyoverflow || YYERROR_VERBOSE */ #if (! defined yyoverflow \ && (! defined __cplusplus \ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { yytype_int16 yyss_alloc; YYSTYPE yyvs_alloc; }; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) # define YYCOPY_NEEDED 1 /* Relocate STACK from its old location to the new one. The local variables YYSIZE and YYSTACKSIZE give the old and new number of elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ Stack = &yyptr->Stack_alloc; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (0) #endif #if defined YYCOPY_NEEDED && YYCOPY_NEEDED /* Copy COUNT objects from SRC to DST. The source and destination do not overlap. */ # ifndef YYCOPY # if defined __GNUC__ && 1 < __GNUC__ # define YYCOPY(Dst, Src, Count) \ __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) # else # define YYCOPY(Dst, Src, Count) \ do \ { \ YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (Dst)[yyi] = (Src)[yyi]; \ } \ while (0) # endif # endif #endif /* !YYCOPY_NEEDED */ /* YYFINAL -- State number of the termination state. */ #define YYFINAL 75 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 818 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 51 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 20 /* YYNRULES -- Number of rules. */ #define YYNRULES 99 /* YYNSTATES -- Number of states. */ #define YYNSTATES 193 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 287 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM as returned by yylex, without out-of-bounds checking. */ static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 36, 29, 2, 43, 44, 34, 32, 42, 33, 48, 35, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 30, 2, 31, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 49, 2, 50, 2, 2, 45, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 46, 28, 47, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 37, 38, 39, 40, 41 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint8 yyrline[] = { 0, 57, 57, 58, 59, 63, 64, 68, 69, 71, 73, 74, 78, 79, 80, 81, 82, 83, 84, 85, 86, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 123, 124, 128, 129, 130, 131, 132, 133, 134, 138, 139, 143, 144, 148, 149, 153, 154, 158, 165, 166, 170, 174, 175, 179, 180, 180, 180, 180, 180, 180, 180, 181, 181, 181, 181, 181, 181, 182, 182, 182, 182, 182, 182, 182, 182, 183, 183, 187, 188, 189, 193 }; #endif #if YYDEBUG || YYERROR_VERBOSE || 1 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { "$end", "error", "$undefined", "SEL_TOKEN", "SEL_ID", "SEL_AS", "SEL_AVG", "SEL_MAX", "SEL_MIN", "SEL_SUM", "SEL_GROUP_CONCAT", "SEL_GROUPBY", "SEL_COUNT", "SEL_WEIGHT", "SEL_DISTINCT", "SEL_OPTION", "SEL_COMMENT_OPEN", "SEL_COMMENT_CLOSE", "TOK_DIV", "TOK_MOD", "TOK_NEG", "TOK_LTE", "TOK_GTE", "TOK_EQ", "TOK_NE", "TOK_CONST_STRING", "TOK_OR", "TOK_AND", "'|'", "'&'", "'<'", "'>'", "'+'", "'-'", "'*'", "'/'", "'%'", "TOK_NOT", "TOK_IS", "TOK_NULL", "TOK_FOR", "TOK_FUNC_IN", "','", "'('", "')'", "'`'", "'{'", "'}'", "'.'", "'['", "']'", "$accept", "select", "select_list", "select_item", "opt_alias", "select_expr", "expr", "select_atom", "function", "arglist", "consthash", "hash_key", "arg", "comment", "json_field", "json_expr", "subscript", "ident", "subkey", "for_loop", YY_NULLPTR }; #endif # ifdef YYPRINT /* YYTOKNUM[NUM] -- (External) token number corresponding to the (internal) symbol number NUM (which must be that of a token). */ static const yytype_uint16 yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 124, 38, 60, 62, 43, 45, 42, 47, 37, 283, 284, 285, 286, 287, 44, 40, 41, 96, 123, 125, 46, 91, 93 }; # endif #define YYPACT_NINF -44 #define yypact_value_is_default(Yystate) \ (!!((Yystate) == (-44))) #define YYTABLE_NINF -74 #define yytable_value_is_error(Yytable_value) \ 0 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ static const yytype_int16 yypact[] = { 72, -31, -15, -44, -7, 31, 46, 61, 67, 71, 73, 76, -44, -44, 82, -44, -44, -44, -44, -44, -44, -44, -44, -44, 358, -44, 358, -44, 77, 358, 10, 0, 126, -12, -44, 5, 718, -44, -44, -44, 90, 91, -44, 138, 402, 182, 54, -44, 358, 358, 358, 358, 358, 83, -5, 86, 128, -44, 92, 93, -44, -44, -44, -44, -44, -44, 226, 540, -44, -44, 87, -44, -44, -36, 111, -44, 270, -44, -44, 134, -44, 358, 358, 358, 358, 314, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, 358, -17, -44, -44, 698, 11, -44, -44, -44, -44, -44, -44, -44, -44, 104, 461, -44, 559, 486, 513, 578, 597, -44, 136, 122, -44, 132, 358, 358, 718, 12, -44, -44, 0, -44, 164, -44, -44, -44, -44, 89, 89, -44, 782, 782, 16, 737, 756, 775, 89, 89, -3, -3, -44, -44, -44, 129, -44, 402, 125, 226, -44, -44, -44, -44, 358, -44, 358, -44, -44, -44, 130, -44, 167, 654, 676, -44, 149, -44, -44, 135, -44, -44, 616, 635, -44, 156, 175, 439, -44, -44, -44, -44, 54, -44, -44 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. Performed when YYTABLE does not specify something else to do. Zero means the default is an error. */ static const yytype_uint8 yydefact[] = { 0, 50, 49, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 0, 85, 86, 87, 88, 89, 90, 91, 92, 93, 0, 7, 94, 95, 0, 0, 0, 0, 0, 2, 5, 9, 12, 21, 44, 4, 0, 45, 68, 0, 0, 0, 69, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, 77, 78, 79, 80, 81, 23, 24, 0, 0, 50, 49, 0, 62, 63, 0, 0, 1, 0, 3, 10, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 52, 64, 0, 58, 72, 73, 76, 77, 82, 94, 96, 0, 0, 71, 0, 0, 0, 0, 0, 18, 0, 0, 55, 0, 0, 0, 64, 0, 42, 22, 0, 43, 0, 6, 11, 34, 35, 36, 37, 48, 38, 39, 41, 40, 32, 31, 29, 30, 25, 26, 27, 28, 33, 0, 46, 0, 0, 0, 51, 98, 97, 13, 0, 14, 0, 15, 16, 17, 0, 19, 0, 0, 0, 57, 0, 60, 47, 0, 56, 59, 0, 0, 20, 0, 0, 0, 54, 53, 66, 61, 72, 99, 67 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { -44, -44, -44, 123, -44, -44, -24, 150, -44, 144, -44, 68, 55, 178, 28, 29, -44, -43, 170, -44 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 32, 33, 34, 80, 35, 36, 37, 38, 102, 73, 74, 103, 39, 40, 41, 46, 42, 47, 156 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule whose number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { 64, 110, 65, 71, 14, 67, 130, -72, 78, 120, 79, 131, 43, 68, 69, 81, 82, 44, 45, 101, 153, 112, 154, -73, 114, 115, 116, 117, 118, 121, 76, 95, 96, 97, 81, 82, 48, 83, 84, 85, 86, 72, 126, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 157, 157, 158, 173, 135, 136, 137, 138, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 49, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 50, 15, 16, 17, 18, 19, 20, 21, 56, 22, 23, 171, 172, 44, 45, 51, 24, 25, 81, 82, 26, 52, 27, 177, 28, 53, 29, 54, 30, 31, 55, 66, 93, 94, 95, 96, 97, 75, 119, 98, -67, 122, 123, 129, 126, 132, 124, 125, 134, 180, 168, 181, 1, 2, 3, 57, 58, 59, 60, 61, 62, 63, 11, 12, 13, 159, 170, 15, 16, 17, 18, 19, 20, 21, 99, 22, 23, 169, 175, 176, 178, 183, 24, 184, 188, 182, 26, 185, 27, 189, 28, 70, 29, 100, 30, 31, 1, 2, 3, 57, 58, 59, 60, 61, 62, 63, 11, 12, 13, 174, 133, 15, 16, 17, 18, 19, 20, 21, 111, 22, 23, 127, 77, 179, 191, 192, 24, 113, 0, 0, 26, 0, 27, 0, 28, 0, 29, 0, 30, 31, 1, 2, 3, 57, 58, 59, 60, 61, 62, 63, 11, 12, 13, 0, 0, 15, 16, 17, 18, 19, 20, 21, 99, 22, 23, 0, 0, 0, 0, 0, 24, 0, 0, 0, 26, 0, 27, 0, 28, 0, 29, 0, 30, 31, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 22, 23, 0, 0, 0, 0, 0, 24, 25, 0, 0, 26, 0, 27, 0, 28, 0, 29, 0, 30, 31, 1, 2, 3, 57, 58, 59, 60, 61, 62, 63, 11, 12, 13, 0, 0, 15, 16, 17, 18, 19, 20, 21, 139, 22, 23, 0, 0, 0, 0, 0, 24, 0, 0, 0, 26, 0, 27, 0, 28, 0, 29, 0, 30, 31, 1, 2, 3, 57, 58, 59, 60, 61, 62, 63, 11, 12, 13, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 22, 23, 0, 0, 0, 0, 0, 24, 0, 0, 0, 26, 0, 27, 0, 28, 0, 29, 0, 30, 31, 104, 105, 3, 57, 106, 107, 60, 61, 62, 63, 108, 12, 13, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 0, 27, 190, 105, 3, 57, 106, 107, 60, 61, 62, 63, 108, 12, 13, 0, 0, 15, 16, 17, 18, 19, 20, 21, 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 0, 27, 81, 82, 0, 83, 84, 85, 86, 0, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 0, 0, 0, 0, 0, 0, 81, 82, 0, 83, 84, 85, 86, 160, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 0, 0, 0, 0, 0, 162, 0, 163, 81, 82, 0, 83, 84, 85, 86, 0, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 0, 0, 0, 0, 0, 164, 0, 165, 81, 82, 0, 83, 84, 85, 86, 0, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 81, 82, 0, 83, 84, 85, 86, 128, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 81, 82, 0, 83, 84, 85, 86, 161, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 81, 82, 0, 83, 84, 85, 86, 166, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 81, 82, 0, 83, 84, 85, 86, 167, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 81, 82, 0, 83, 84, 85, 86, 186, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 81, 82, 0, 83, 84, 85, 86, 187, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 0, 0, 0, 81, 82, 162, 83, 84, 85, 86, 0, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 0, 0, 0, 81, 82, 164, 83, 84, 85, 86, 0, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 0, 81, 82, 155, 83, 84, 85, 86, 0, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 81, 82, 0, 83, 84, 85, 86, 0, 0, 0, 89, 90, 91, 92, 93, 94, 95, 96, 97, 81, 82, 0, 83, 84, 85, 86, 0, 0, 0, 0, 90, 91, 92, 93, 94, 95, 96, 97, 81, 82, 0, 83, 84, 85, 86, 81, 82, 0, 83, 84, 91, 92, 93, 94, 95, 96, 97, 91, 92, 93, 94, 95, 96, 97 }; static const yytype_int16 yycheck[] = { 24, 44, 26, 3, 16, 29, 42, 38, 3, 14, 5, 47, 43, 3, 4, 18, 19, 48, 49, 43, 37, 45, 39, 38, 48, 49, 50, 51, 52, 34, 42, 34, 35, 36, 18, 19, 43, 21, 22, 23, 24, 41, 66, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 42, 42, 44, 44, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 43, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 43, 18, 19, 20, 21, 22, 23, 24, 15, 26, 27, 124, 125, 48, 49, 43, 33, 34, 18, 19, 37, 43, 39, 155, 41, 43, 43, 43, 45, 46, 43, 43, 32, 33, 34, 35, 36, 0, 44, 38, 38, 44, 3, 45, 157, 23, 43, 43, 3, 162, 3, 164, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 50, 23, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 44, 3, 39, 44, 3, 33, 23, 17, 44, 37, 41, 39, 3, 41, 30, 43, 44, 45, 46, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 130, 76, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 66, 33, 157, 185, 185, 33, 46, -1, -1, 37, -1, 39, -1, 41, -1, 43, -1, 45, 46, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, 33, -1, -1, -1, 37, -1, 39, -1, 41, -1, 43, -1, 45, 46, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, -1, 26, 27, -1, -1, -1, -1, -1, 33, 34, -1, -1, 37, -1, 39, -1, 41, -1, 43, -1, 45, 46, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, 33, -1, -1, -1, 37, -1, 39, -1, 41, -1, 43, -1, 45, 46, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, -1, 26, 27, -1, -1, -1, -1, -1, 33, -1, -1, -1, 37, -1, 39, -1, 41, -1, 43, -1, 45, 46, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, -1, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, -1, 39, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, -1, -1, 18, 19, 20, 21, 22, 23, 24, -1, 26, 27, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, -1, 39, 18, 19, -1, 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, -1, -1, -1, -1, -1, -1, 18, 19, -1, 21, 22, 23, 24, 50, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, -1, -1, -1, -1, -1, 42, -1, 44, 18, 19, -1, 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, -1, -1, -1, -1, -1, 42, -1, 44, 18, 19, -1, 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 18, 19, -1, 21, 22, 23, 24, 44, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 18, 19, -1, 21, 22, 23, 24, 44, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 18, 19, -1, 21, 22, 23, 24, 44, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 18, 19, -1, 21, 22, 23, 24, 44, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 18, 19, -1, 21, 22, 23, 24, 44, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 18, 19, -1, 21, 22, 23, 24, 44, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, -1, -1, -1, 18, 19, 42, 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, -1, -1, -1, 18, 19, 42, 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, -1, 18, 19, 40, 21, 22, 23, 24, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 18, 19, -1, 21, 22, 23, 24, -1, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 18, 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, 29, 30, 31, 32, 33, 34, 35, 36, 18, 19, -1, 21, 22, 23, 24, 18, 19, -1, 21, 22, 30, 31, 32, 33, 34, 35, 36, 30, 31, 32, 33, 34, 35, 36 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { 0, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23, 24, 26, 27, 33, 34, 37, 39, 41, 43, 45, 46, 52, 53, 54, 56, 57, 58, 59, 64, 65, 66, 68, 43, 48, 49, 67, 69, 43, 43, 43, 43, 43, 43, 43, 43, 15, 6, 7, 8, 9, 10, 11, 12, 57, 57, 43, 57, 3, 4, 58, 3, 41, 61, 62, 0, 42, 64, 3, 5, 55, 18, 19, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 25, 44, 57, 60, 63, 3, 4, 7, 8, 13, 37, 68, 25, 57, 69, 57, 57, 57, 57, 57, 44, 14, 34, 44, 3, 43, 43, 57, 60, 44, 45, 42, 47, 23, 54, 3, 57, 57, 57, 57, 25, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 37, 39, 40, 70, 42, 44, 50, 50, 44, 42, 44, 42, 44, 44, 44, 3, 44, 23, 57, 57, 44, 62, 3, 39, 68, 44, 63, 57, 57, 44, 3, 23, 41, 44, 44, 17, 3, 3, 65, 66 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { 0, 51, 52, 52, 52, 53, 53, 54, 54, 55, 55, 55, 56, 56, 56, 56, 56, 56, 56, 56, 56, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 58, 58, 59, 59, 59, 59, 59, 59, 59, 60, 60, 61, 61, 62, 62, 63, 63, 64, 65, 65, 66, 67, 67, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 69, 69, 69, 70 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { 0, 2, 1, 2, 1, 1, 3, 1, 2, 0, 1, 2, 1, 4, 4, 4, 4, 4, 3, 4, 5, 1, 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 3, 4, 3, 1, 1, 4, 3, 6, 6, 3, 5, 4, 1, 3, 3, 5, 1, 1, 1, 1, 6, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 3, 4 }; #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) #define YYEMPTY (-2) #define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrorlab #define YYRECOVERING() (!!yyerrstatus) #define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY) \ { \ yychar = (Token); \ yylval = (Value); \ YYPOPSTACK (yylen); \ yystate = *yyssp; \ goto yybackup; \ } \ else \ { \ yyerror (pParser, YY_("syntax error: cannot back up")); \ YYERROR; \ } \ while (0) /* Error token number */ #define YYTERROR 1 #define YYERRCODE 256 /* Enable debugging if requested. */ #if YYDEBUG # ifndef YYFPRINTF # include /* INFRINGES ON USER NAME SPACE */ # define YYFPRINTF fprintf # endif # define YYDPRINTF(Args) \ do { \ if (yydebug) \ YYFPRINTF Args; \ } while (0) /* This macro is provided for backward compatibility. */ #ifndef YY_LOCATION_PRINT # define YY_LOCATION_PRINT(File, Loc) ((void) 0) #endif # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yy_symbol_print (stderr, \ Type, Value, pParser); \ YYFPRINTF (stderr, "\n"); \ } \ } while (0) /*----------------------------------------. | Print this symbol's value on YYOUTPUT. | `----------------------------------------*/ static void yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, SelectParser_t * pParser) { FILE *yyo = yyoutput; YYUSE (yyo); YYUSE (pParser); if (!yyvaluep) return; # ifdef YYPRINT if (yytype < YYNTOKENS) YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); # endif YYUSE (yytype); } /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ static void yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, SelectParser_t * pParser) { YYFPRINTF (yyoutput, "%s %s (", yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); yy_symbol_value_print (yyoutput, yytype, yyvaluep, pParser); YYFPRINTF (yyoutput, ")"); } /*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | | TOP (included). | `------------------------------------------------------------------*/ static void yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) { YYFPRINTF (stderr, "Stack now"); for (; yybottom <= yytop; yybottom++) { int yybot = *yybottom; YYFPRINTF (stderr, " %d", yybot); } YYFPRINTF (stderr, "\n"); } # define YY_STACK_PRINT(Bottom, Top) \ do { \ if (yydebug) \ yy_stack_print ((Bottom), (Top)); \ } while (0) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ static void yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, SelectParser_t * pParser) { unsigned long int yylno = yyrline[yyrule]; int yynrhs = yyr2[yyrule]; int yyi; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno); /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yystos[yyssp[yyi + 1 - yynrhs]], &(yyvsp[(yyi + 1) - (yynrhs)]) , pParser); YYFPRINTF (stderr, "\n"); } } # define YY_REDUCE_PRINT(Rule) \ do { \ if (yydebug) \ yy_reduce_print (yyssp, yyvsp, Rule, pParser); \ } while (0) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ /* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only if the built-in stack extension method is used). Do not make this value too large; the results are undefined if YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif #if YYERROR_VERBOSE # ifndef yystrlen # if defined __GLIBC__ && defined _STRING_H # define yystrlen strlen # else /* Return the length of YYSTR. */ static YYSIZE_T yystrlen (const char *yystr) { YYSIZE_T yylen; for (yylen = 0; yystr[yylen]; yylen++) continue; return yylen; } # endif # endif # ifndef yystpcpy # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE # define yystpcpy stpcpy # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ static char * yystpcpy (char *yydest, const char *yysrc) { char *yyd = yydest; const char *yys = yysrc; while ((*yyd++ = *yys++) != '\0') continue; return yyd - 1; } # endif # endif # ifndef yytnamerr /* Copy to YYRES the contents of YYSTR after stripping away unnecessary quotes and backslashes, so that it's suitable for yyerror. The heuristic is that double-quoting is unnecessary unless the string contains an apostrophe, a comma, or backslash (other than backslash-backslash). YYSTR is taken from yytname. If YYRES is null, do not copy; instead, return the length of what the result would have been. */ static YYSIZE_T yytnamerr (char *yyres, const char *yystr) { if (*yystr == '"') { YYSIZE_T yyn = 0; char const *yyp = yystr; for (;;) switch (*++yyp) { case '\'': case ',': goto do_not_strip_quotes; case '\\': if (*++yyp != '\\') goto do_not_strip_quotes; /* Fall through. */ default: if (yyres) yyres[yyn] = *yyp; yyn++; break; case '"': if (yyres) yyres[yyn] = '\0'; return yyn; } do_not_strip_quotes: ; } if (! yyres) return yystrlen (yystr); return yystpcpy (yyres, yystr) - yyres; } # endif /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message about the unexpected token YYTOKEN for the state stack whose top is YYSSP. Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is not large enough to hold the message. In that case, also set *YYMSG_ALLOC to the required number of bytes. Return 2 if the required number of bytes is too large to store. */ static int yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, yytype_int16 *yyssp, int yytoken) { YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); YYSIZE_T yysize = yysize0; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; /* Internationalized format string. */ const char *yyformat = YY_NULLPTR; /* Arguments of yyformat. */ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; /* Number of reported tokens (one for the "unexpected", one per "expected"). */ int yycount = 0; /* There are many possibilities here to consider: - If this state is a consistent state with a default action, then the only way this function was invoked is if the default action is an error action. In that case, don't check for expected tokens because there are none. - The only way there can be no lookahead present (in yychar) is if this state is a consistent state with a default action. Thus, detecting the absence of a lookahead is sufficient to determine that there is no unexpected or expected token to report. In that case, just report a simple "syntax error". - Don't assume there isn't a lookahead just because this state is a consistent state with a default action. There might have been a previous inconsistent state, consistent state with a non-default action, or user semantic action that manipulated yychar. - Of course, the expected token list depends on states to have correct lookahead information, and it depends on the parser not to perform extra reductions after fetching a lookahead from the scanner and before detecting a syntax error. Thus, state merging (from LALR or IELR) and default reductions corrupt the expected token list. However, the list is correct for canonical LR with one exception: it will still contain any token that will not be accepted due to an error action in a later state. */ if (yytoken != YYEMPTY) { int yyn = yypact[*yyssp]; yyarg[yycount++] = yytname[yytoken]; if (!yypact_value_is_default (yyn)) { /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. In other words, skip the first -YYN actions for this state because they are default actions. */ int yyxbegin = yyn < 0 ? -yyn : 0; /* Stay within bounds of both yycheck and yytname. */ int yychecklim = YYLAST - yyn + 1; int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; int yyx; for (yyx = yyxbegin; yyx < yyxend; ++yyx) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR && !yytable_value_is_error (yytable[yyx + yyn])) { if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) { yycount = 1; yysize = yysize0; break; } yyarg[yycount++] = yytname[yyx]; { YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) return 2; yysize = yysize1; } } } } switch (yycount) { # define YYCASE_(N, S) \ case N: \ yyformat = S; \ break YYCASE_(0, YY_("syntax error")); YYCASE_(1, YY_("syntax error, unexpected %s")); YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); # undef YYCASE_ } { YYSIZE_T yysize1 = yysize + yystrlen (yyformat); if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) return 2; yysize = yysize1; } if (*yymsg_alloc < yysize) { *yymsg_alloc = 2 * yysize; if (! (yysize <= *yymsg_alloc && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; return 1; } /* Avoid sprintf, as that infringes on the user's name space. Don't have undefined behavior even if the translation produced a string with the wrong number of "%s"s. */ { char *yyp = *yymsg; int yyi = 0; while ((*yyp = *yyformat) != '\0') if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) { yyp += yytnamerr (yyp, yyarg[yyi++]); yyformat += 2; } else { yyp++; yyformat++; } } return 0; } #endif /* YYERROR_VERBOSE */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, SelectParser_t * pParser) { YYUSE (yyvaluep); YYUSE (pParser); if (!yymsg) yymsg = "Deleting"; YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN YYUSE (yytype); YY_IGNORE_MAYBE_UNINITIALIZED_END } /*----------. | yyparse. | `----------*/ int yyparse (SelectParser_t * pParser) { /* The lookahead symbol. */ int yychar; /* The semantic value of the lookahead symbol. */ /* Default value used for initialization, for pacifying older GCCs or non-GCC compilers. */ YY_INITIAL_VALUE (static YYSTYPE yyval_default;) YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); /* Number of syntax errors so far. */ int yynerrs; int yystate; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* The stacks and their tools: 'yyss': related to states. 'yyvs': related to semantic values. Refer to the stacks through separate pointers, to allow yyoverflow to reallocate them elsewhere. */ /* The state stack. */ yytype_int16 yyssa[YYINITDEPTH]; yytype_int16 *yyss; yytype_int16 *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE *yyvs; YYSTYPE *yyvsp; YYSIZE_T yystacksize; int yyn; int yyresult; /* Lookahead token as an internal (translated) token number. */ int yytoken = 0; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; #if YYERROR_VERBOSE /* Buffer for error messages, and its allocated size. */ char yymsgbuf[128]; char *yymsg = yymsgbuf; YYSIZE_T yymsg_alloc = sizeof yymsgbuf; #endif #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) /* The number of symbols on the RHS of the reduced rule. Keep to zero when no symbol should be popped. */ int yylen = 0; yyssp = yyss = yyssa; yyvsp = yyvs = yyvsa; yystacksize = YYINITDEPTH; YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ goto yysetstate; /*------------------------------------------------------------. | yynewstate -- Push a new state, which is found in yystate. | `------------------------------------------------------------*/ yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */ yyssp++; yysetstate: *yyssp = yystate; if (yyss + yystacksize - 1 <= yyssp) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; #ifdef yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; yytype_int16 *yyss1 = yyss; /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */ yyoverflow (YY_("memory exhausted"), &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); yyss = yyss1; yyvs = yyvs1; } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE goto yyexhaustedlab; # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyexhaustedlab; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; { yytype_int16 *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyexhaustedlab; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, yyvs); # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif #endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); if (yyss + yystacksize - 1 <= yyssp) YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", yystate)); if (yystate == YYFINAL) YYACCEPT; goto yybackup; /*-----------. | yybackup. | `-----------*/ yybackup: /* Do appropriate processing given the current state. Read a lookahead token if we need one and don't already have one. */ /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; if (yypact_value_is_default (yyn)) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); yychar = yylex (&yylval, pParser); } if (yychar <= YYEOF) { yychar = yytoken = YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } else { yytoken = YYTRANSLATE (yychar); YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); } /* If the proper action on seeing token YYTOKEN is to reduce or to detect an error, take that action. */ yyn += yytoken; if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) goto yydefault; yyn = yytable[yyn]; if (yyn <= 0) { if (yytable_value_is_error (yyn)) goto yyerrlab; yyn = -yyn; goto yyreduce; } /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; /* Shift the lookahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); /* Discard the shifted token. */ yychar = YYEMPTY; yystate = yyn; YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; YY_IGNORE_MAYBE_UNINITIALIZED_END goto yynewstate; /*-----------------------------------------------------------. | yydefault -- do the default action for the current state. | `-----------------------------------------------------------*/ yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; goto yyreduce; /*-----------------------------. | yyreduce -- Do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; /* If YYLEN is nonzero, implement the default value of the action: '$$ = $1'. Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized. */ yyval = yyvsp[1-yylen]; YY_REDUCE_PRINT (yyn); switch (yyn) { case 7: { pParser->AddItem ( &(yyvsp[0]) ); } break; case 10: { pParser->AliasLastItem ( &(yyvsp[0]) ); } break; case 11: { pParser->AliasLastItem ( &(yyvsp[0]) ); } break; case 12: { pParser->AddItem ( &(yyvsp[0]) ); } break; case 13: { pParser->AddItem ( &(yyvsp[-1]), SPH_AGGR_AVG, &(yyvsp[-3]), &(yyvsp[0]) ); } break; case 14: { pParser->AddItem ( &(yyvsp[-1]), SPH_AGGR_MAX, &(yyvsp[-3]), &(yyvsp[0]) ); } break; case 15: { pParser->AddItem ( &(yyvsp[-1]), SPH_AGGR_MIN, &(yyvsp[-3]), &(yyvsp[0]) ); } break; case 16: { pParser->AddItem ( &(yyvsp[-1]), SPH_AGGR_SUM, &(yyvsp[-3]), &(yyvsp[0]) ); } break; case 17: { pParser->AddItem ( &(yyvsp[-1]), SPH_AGGR_CAT, &(yyvsp[-3]), &(yyvsp[0]) ); } break; case 18: { pParser->AddItem ( "groupby()", &(yyvsp[-2]), &(yyvsp[0]) ); } break; case 19: { pParser->AddItem ( "count(*)", &(yyvsp[-3]), &(yyvsp[0]) ); } break; case 20: { pParser->AddItem ( "@distinct", &(yyvsp[-4]), &(yyvsp[0]) ); } break; case 22: { (yyval) = (yyvsp[-1]); (yyval).m_iEnd = (yyvsp[-1]).m_iEnd; } break; case 23: { (yyval) = (yyvsp[-1]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 24: { (yyval) = (yyvsp[-1]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 25: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 26: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 27: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 28: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 29: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 30: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 31: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 32: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 33: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 34: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 35: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 36: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 37: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 38: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 39: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 40: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 41: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 42: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 43: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 46: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 47: { (yyval) = (yyvsp[-3]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 48: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 51: { (yyval) = (yyvsp[-3]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 52: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 53: { (yyval) = (yyvsp[-5]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 54: { (yyval) = (yyvsp[-5]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 55: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 56: { (yyval) = (yyvsp[-4]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 57: { (yyval) = (yyvsp[-3]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 66: { pParser->AddOption ( &(yyvsp[-3]), &(yyvsp[-1]) ); } break; case 69: { (yyval) = (yyvsp[-1]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 71: { (yyval) = (yyvsp[-1]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 96: { (yyval) = (yyvsp[-1]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 97: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 98: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 99: { (yyval) = (yyvsp[-3]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; default: break; } /* User semantic actions sometimes alter yychar, and that requires that yytoken be updated with the new translation. We take the approach of translating immediately before every use of yytoken. One alternative is translating here after every semantic action, but that translation would be missed if the semantic action invokes YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an incorrect destructor might then be invoked immediately. In the case of YYERROR or YYBACKUP, subsequent parser actions might lead to an incorrect destructor call or verbose syntax error message before the lookahead is translated. */ YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; /* Now 'shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ yyn = yyr1[yyn]; yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else yystate = yydefgoto[yyn - YYNTOKENS]; goto yynewstate; /*--------------------------------------. | yyerrlab -- here on detecting error. | `--------------------------------------*/ yyerrlab: /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; #if ! YYERROR_VERBOSE yyerror (pParser, YY_("syntax error")); #else # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ yyssp, yytoken) { char const *yymsgp = YY_("syntax error"); int yysyntax_error_status; yysyntax_error_status = YYSYNTAX_ERROR; if (yysyntax_error_status == 0) yymsgp = yymsg; else if (yysyntax_error_status == 1) { if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); if (!yymsg) { yymsg = yymsgbuf; yymsg_alloc = sizeof yymsgbuf; yysyntax_error_status = 2; } else { yysyntax_error_status = YYSYNTAX_ERROR; yymsgp = yymsg; } } yyerror (pParser, yymsgp); if (yysyntax_error_status == 2) goto yyexhaustedlab; } # undef YYSYNTAX_ERROR #endif } if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an error, discard it. */ if (yychar <= YYEOF) { /* Return failure if at end of input. */ if (yychar == YYEOF) YYABORT; } else { yydestruct ("Error: discarding", yytoken, &yylval, pParser); yychar = YYEMPTY; } } /* Else will try to reuse lookahead token after shifting the error token. */ goto yyerrlab1; /*---------------------------------------------------. | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: /* Pacify compilers like GCC when the user code never invokes YYERROR and the label yyerrorlab therefore never appears in user code. */ if (/*CONSTCOND*/ 0) goto yyerrorlab; /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); yystate = *yyssp; goto yyerrlab1; /*-------------------------------------------------------------. | yyerrlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) { yyn = yypact[yystate]; if (!yypact_value_is_default (yyn)) { yyn += YYTERROR; if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) { yyn = yytable[yyn]; if (0 < yyn) break; } } /* Pop the current state because it cannot handle the error token. */ if (yyssp == yyss) YYABORT; yydestruct ("Error: popping", yystos[yystate], yyvsp, pParser); YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); } YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; YY_IGNORE_MAYBE_UNINITIALIZED_END /* Shift the error token. */ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); yystate = yyn; goto yynewstate; /*-------------------------------------. | yyacceptlab -- YYACCEPT comes here. | `-------------------------------------*/ yyacceptlab: yyresult = 0; goto yyreturn; /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ yyabortlab: yyresult = 1; goto yyreturn; #if !defined yyoverflow || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ yyexhaustedlab: yyerror (pParser, YY_("memory exhausted")); yyresult = 2; /* Fall through. */ #endif yyreturn: if (yychar != YYEMPTY) { /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ yytoken = YYTRANSLATE (yychar); yydestruct ("Cleanup: discarding lookahead", yytoken, &yylval, pParser); } /* Do not reclaim the symbols of the rule whose action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (yylen); YY_STACK_PRINT (yyss, yyssp); while (yyssp != yyss) { yydestruct ("Cleanup: popping", yystos[*yyssp], yyvsp, pParser); YYPOPSTACK (1); } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif #if YYERROR_VERBOSE if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); #endif return yyresult; } #if USE_WINDOWS #pragma warning(pop) #endif sphinx-2.2.11-release/src/yysphinxquery.h0000644000175000017500000000504212743402012020001 0ustar alexeyalexey/* A Bison parser, made by GNU Bison 3.0.2. */ /* Bison interface for Yacc-like parsers in C Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ #ifndef YY_YY_YYSPHINXQUERY_H_INCLUDED # define YY_YY_YYSPHINXQUERY_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif #if YYDEBUG extern int yydebug; #endif /* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE enum yytokentype { TOK_KEYWORD = 258, TOK_NEAR = 259, TOK_INT = 260, TOK_FLOAT = 261, TOK_FIELDLIMIT = 262, TOK_ZONE = 263, TOK_ZONESPAN = 264, TOK_BEFORE = 265, TOK_SENTENCE = 266, TOK_PARAGRAPH = 267, TOK_MAYBE = 268 }; #endif /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE YYSTYPE; union YYSTYPE { XQNode_t * pNode; // tree node struct { int iValue; int iStrIndex; float fValue; } tInt; struct // field spec { FieldMask_t dMask; // acceptable fields mask int iMaxPos; // max allowed position within field } tFieldLimit; int iZoneVec; }; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 #endif int yyparse (XQParser_t * pParser); #endif /* !YY_YY_YYSPHINXQUERY_H_INCLUDED */ sphinx-2.2.11-release/src/yysphinxquery.c0000644000175000017500000015123612743402012020003 0ustar alexeyalexey/* A Bison parser, made by GNU Bison 3.0.2. */ /* Bison implementation for Yacc-like parsers in C Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ /* C LALR(1) parser skeleton written by Richard Stallman, by simplifying the original so-called "semantic" parser. */ /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. There are some unavoidable exceptions within include files to define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ /* Identify Bison output. */ #define YYBISON 1 /* Bison version. */ #define YYBISON_VERSION "3.0.2" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" /* Pure parsers. */ #define YYPURE 1 /* Push parsers. */ #define YYPUSH 0 /* Pull parsers. */ #define YYPULL 1 /* Copy the first part of user declarations. */ #if USE_WINDOWS #pragma warning(push,1) #endif # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus # define YY_NULLPTR nullptr # else # define YY_NULLPTR 0 # endif # endif /* Enabling verbose error messages. */ #ifdef YYERROR_VERBOSE # undef YYERROR_VERBOSE # define YYERROR_VERBOSE 1 #else # define YYERROR_VERBOSE 1 #endif /* In a future release of Bison, this section will be replaced by #include "yysphinxquery.h". */ #ifndef YY_YY_YYSPHINXQUERY_H_INCLUDED # define YY_YY_YYSPHINXQUERY_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif #if YYDEBUG extern int yydebug; #endif /* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE enum yytokentype { TOK_KEYWORD = 258, TOK_NEAR = 259, TOK_INT = 260, TOK_FLOAT = 261, TOK_FIELDLIMIT = 262, TOK_ZONE = 263, TOK_ZONESPAN = 264, TOK_BEFORE = 265, TOK_SENTENCE = 266, TOK_PARAGRAPH = 267, TOK_MAYBE = 268 }; #endif /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE YYSTYPE; union YYSTYPE { XQNode_t * pNode; // tree node struct { int iValue; int iStrIndex; float fValue; } tInt; struct // field spec { FieldMask_t dMask; // acceptable fields mask int iMaxPos; // max allowed position within field } tFieldLimit; int iZoneVec; }; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 #endif int yyparse (XQParser_t * pParser); #endif /* !YY_YY_YYSPHINXQUERY_H_INCLUDED */ /* Copy the second part of user declarations. */ #ifdef short # undef short #endif #ifdef YYTYPE_UINT8 typedef YYTYPE_UINT8 yytype_uint8; #else typedef unsigned char yytype_uint8; #endif #ifdef YYTYPE_INT8 typedef YYTYPE_INT8 yytype_int8; #else typedef signed char yytype_int8; #endif #ifdef YYTYPE_UINT16 typedef YYTYPE_UINT16 yytype_uint16; #else typedef unsigned short int yytype_uint16; #endif #ifdef YYTYPE_INT16 typedef YYTYPE_INT16 yytype_int16; #else typedef short int yytype_int16; #endif #ifndef YYSIZE_T # ifdef __SIZE_TYPE__ # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t # elif ! defined YYSIZE_T # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else # define YYSIZE_T unsigned int # endif #endif #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ # if defined YYENABLE_NLS && YYENABLE_NLS # if ENABLE_NLS # include /* INFRINGES ON USER NAME SPACE */ # define YY_(Msgid) dgettext ("bison-runtime", Msgid) # endif # endif # ifndef YY_ # define YY_(Msgid) Msgid # endif #endif #ifndef YY_ATTRIBUTE # if (defined __GNUC__ \ && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C # define YY_ATTRIBUTE(Spec) __attribute__(Spec) # else # define YY_ATTRIBUTE(Spec) /* empty */ # endif #endif #ifndef YY_ATTRIBUTE_PURE # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) #endif #ifndef YY_ATTRIBUTE_UNUSED # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) #endif #if !defined _Noreturn \ && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) # if defined _MSC_VER && 1200 <= _MSC_VER # define _Noreturn __declspec (noreturn) # else # define _Noreturn YY_ATTRIBUTE ((__noreturn__)) # endif #endif /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(E) ((void) (E)) #else # define YYUSE(E) /* empty */ #endif #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ /* Suppress an incorrect diagnostic about yylval being uninitialized. */ # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ _Pragma ("GCC diagnostic pop") #else # define YY_INITIAL_VALUE(Value) Value #endif #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN # define YY_IGNORE_MAYBE_UNINITIALIZED_END #endif #ifndef YY_INITIAL_VALUE # define YY_INITIAL_VALUE(Value) /* Nothing. */ #endif #if ! defined yyoverflow || YYERROR_VERBOSE /* The parser invokes alloca or malloc; define the necessary symbols. */ # ifdef YYSTACK_USE_ALLOCA # if YYSTACK_USE_ALLOCA # ifdef __GNUC__ # define YYSTACK_ALLOC __builtin_alloca # elif defined __BUILTIN_VA_ARG_INCR # include /* INFRINGES ON USER NAME SPACE */ # elif defined _AIX # define YYSTACK_ALLOC __alloca # elif defined _MSC_VER # include /* INFRINGES ON USER NAME SPACE */ # define alloca _alloca # else # define YYSTACK_ALLOC alloca # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS # include /* INFRINGES ON USER NAME SPACE */ /* Use EXIT_SUCCESS as a witness for stdlib.h. */ # ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 # endif # endif # endif # endif # endif # ifdef YYSTACK_ALLOC /* Pacify GCC's 'empty if-body' warning. */ # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) # ifndef YYSTACK_ALLOC_MAXIMUM /* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely invoke alloca (N) if N exceeds 4096. Use a slightly smaller number to allow for a few compiler-allocated temporary stack slots. */ # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ # endif # else # define YYSTACK_ALLOC YYMALLOC # define YYSTACK_FREE YYFREE # ifndef YYSTACK_ALLOC_MAXIMUM # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM # endif # if (defined __cplusplus && ! defined EXIT_SUCCESS \ && ! ((defined YYMALLOC || defined malloc) \ && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ # ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 # endif # endif # ifndef YYMALLOC # define YYMALLOC malloc # if ! defined malloc && ! defined EXIT_SUCCESS void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free # if ! defined free && ! defined EXIT_SUCCESS void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif # endif #endif /* ! defined yyoverflow || YYERROR_VERBOSE */ #if (! defined yyoverflow \ && (! defined __cplusplus \ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { yytype_int16 yyss_alloc; YYSTYPE yyvs_alloc; }; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) # define YYCOPY_NEEDED 1 /* Relocate STACK from its old location to the new one. The local variables YYSIZE and YYSTACKSIZE give the old and new number of elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ Stack = &yyptr->Stack_alloc; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (0) #endif #if defined YYCOPY_NEEDED && YYCOPY_NEEDED /* Copy COUNT objects from SRC to DST. The source and destination do not overlap. */ # ifndef YYCOPY # if defined __GNUC__ && 1 < __GNUC__ # define YYCOPY(Dst, Src, Count) \ __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) # else # define YYCOPY(Dst, Src, Count) \ do \ { \ YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (Dst)[yyi] = (Src)[yyi]; \ } \ while (0) # endif # endif #endif /* !YYCOPY_NEEDED */ /* YYFINAL -- State number of the termination state. */ #define YYFINAL 10 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 159 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 23 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 14 /* YYNRULES -- Number of rules. */ #define YYNRULES 49 /* YYNSTATES -- Number of states. */ #define YYNSTATES 79 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 268 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM as returned by yylex, without out-of-bounds checking. */ static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 15, 17, 2, 2, 2, 2, 2, 20, 21, 2, 2, 2, 14, 2, 19, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 22, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 16, 2, 18, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint8 yyrline[] = { 0, 56, 56, 60, 61, 64, 66, 67, 68, 72, 73, 74, 78, 79, 80, 84, 85, 86, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 106, 107, 108, 109, 113, 114, 118, 119, 123, 124, 128, 129, 133, 134, 135, 136, 137, 138, 139 }; #endif #if YYDEBUG || YYERROR_VERBOSE || 1 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { "$end", "error", "$undefined", "TOK_KEYWORD", "TOK_NEAR", "TOK_INT", "TOK_FLOAT", "TOK_FIELDLIMIT", "TOK_ZONE", "TOK_ZONESPAN", "TOK_BEFORE", "TOK_SENTENCE", "TOK_PARAGRAPH", "TOK_MAYBE", "'-'", "'!'", "'|'", "'\"'", "'~'", "'/'", "'('", "')'", "'='", "$accept", "query", "expr", "tok_limiter", "beforelist", "orlistf", "orlist", "atom", "keyword", "sentence", "paragraph", "sp_item", "phrase", "phrasetoken", YY_NULLPTR }; #endif # ifdef YYPRINT /* YYTOKNUM[NUM] -- (External) token number corresponding to the (internal) symbol number NUM (which must be that of a token). */ static const yytype_uint16 yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 45, 33, 124, 34, 126, 47, 40, 41, 61 }; # endif #define YYPACT_NINF -40 #define yypact_value_is_default(Yystate) \ (!!((Yystate) == (-40))) #define YYTABLE_NINF -41 #define yytable_value_is_error(Yytable_value) \ 0 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ static const yytype_int16 yypact[] = { 109, -40, -40, -40, 21, 150, 2, 26, -40, -7, -40, 26, -40, -40, -40, 109, 109, 45, 109, 52, -40, 41, 34, 20, 61, 109, 109, 109, 109, 9, -7, -7, -40, -40, 19, -40, -40, -40, -40, 22, -40, 65, -40, 88, 125, -40, 72, 72, 72, 72, -40, -40, 9, 9, 44, 87, -8, -40, -40, 85, 125, -40, -40, -40, -40, -40, -40, -40, -40, -40, -40, 49, 127, -40, 105, -40, -40, -40, -40 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. Performed when YYTABLE does not specify something else to do. Zero means the default is an error. */ static const yytype_uint8 yydefact[] = { 5, 6, 7, 8, 0, 5, 0, 3, 9, 12, 1, 4, 31, 32, 33, 5, 5, 0, 5, 0, 15, 18, 19, 20, 0, 5, 5, 5, 5, 0, 13, 14, 46, 47, 21, 48, 49, 44, 45, 0, 43, 0, 41, 5, 0, 34, 0, 0, 0, 0, 11, 10, 0, 0, 0, 0, 25, 42, 29, 0, 0, 39, 36, 38, 35, 37, 17, 16, 22, 23, 24, 0, 0, 30, 0, 26, 27, 28, 40 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int8 yypgoto[] = { -40, -40, 38, 121, -4, 126, 119, 101, -6, -40, -40, 66, -26, -39 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int8 yydefgoto[] = { -1, 4, 5, 6, 7, 8, 9, 20, 40, 22, 23, 24, 41, 42 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule whose number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int8 yytable[] = { 21, 11, 57, -40, -40, 12, 27, 13, 14, 28, 71, 72, 12, 45, 13, 14, 15, 16, 59, 17, 57, 10, 18, 21, 19, 12, 17, 13, 14, 18, 25, 19, 47, 45, 74, 57, 26, 54, 55, 11, 61, 61, 61, 61, 39, 46, 21, 21, 12, 68, 13, 14, -39, -39, 75, 12, 43, 13, 14, 32, 0, 33, 34, 35, 36, 37, 38, 39, 12, 44, 13, 14, 48, 49, 39, 12, 0, 13, 14, 32, 0, 33, 56, 35, 36, 37, 38, 39, 12, 60, 13, 14, 69, 70, 39, 1, 2, 3, 0, 32, 0, 33, 73, 35, 36, 37, 38, 39, 12, 58, 13, 14, 62, 63, 64, 65, 1, 2, 3, 32, 0, 33, 78, 35, 36, 37, 38, 39, 12, 0, 13, 14, 76, 77, 30, 31, 29, 29, 0, 32, 0, 33, 0, 35, 36, 37, 38, 39, 52, 53, -2, 50, 51, 66, 67, 0, 0, 1, 2, 3 }; static const yytype_int8 yycheck[] = { 6, 5, 41, 11, 12, 3, 13, 5, 6, 16, 18, 19, 3, 19, 5, 6, 14, 15, 44, 17, 59, 0, 20, 29, 22, 3, 17, 5, 6, 20, 4, 22, 12, 39, 60, 74, 10, 18, 19, 43, 46, 47, 48, 49, 22, 11, 52, 53, 3, 5, 5, 6, 11, 12, 5, 3, 18, 5, 6, 14, -1, 16, 17, 18, 19, 20, 21, 22, 3, 17, 5, 6, 11, 12, 22, 3, -1, 5, 6, 14, -1, 16, 17, 18, 19, 20, 21, 22, 3, 17, 5, 6, 5, 6, 22, 7, 8, 9, -1, 14, -1, 16, 17, 18, 19, 20, 21, 22, 3, 21, 5, 6, 46, 47, 48, 49, 7, 8, 9, 14, -1, 16, 17, 18, 19, 20, 21, 22, 3, -1, 5, 6, 5, 6, 15, 16, 15, 16, -1, 14, -1, 16, -1, 18, 19, 20, 21, 22, 27, 28, 0, 25, 26, 52, 53, -1, -1, 7, 8, 9 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { 0, 7, 8, 9, 24, 25, 26, 27, 28, 29, 0, 27, 3, 5, 6, 14, 15, 17, 20, 22, 30, 31, 32, 33, 34, 4, 10, 13, 16, 26, 29, 29, 14, 16, 17, 18, 19, 20, 21, 22, 31, 35, 36, 25, 17, 31, 11, 12, 11, 12, 28, 28, 26, 26, 18, 19, 17, 36, 21, 35, 17, 31, 34, 34, 34, 34, 30, 30, 5, 5, 6, 18, 19, 17, 35, 5, 5, 6, 17 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { 0, 23, 24, 25, 25, 26, 26, 26, 26, 27, 27, 27, 28, 28, 28, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 36, 36, 36, 36, 36 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { 0, 2, 1, 1, 2, 0, 1, 1, 1, 1, 3, 3, 1, 3, 3, 2, 4, 4, 1, 1, 1, 2, 4, 4, 4, 3, 5, 5, 5, 3, 4, 1, 1, 1, 2, 3, 3, 3, 3, 1, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1 }; #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) #define YYEMPTY (-2) #define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrorlab #define YYRECOVERING() (!!yyerrstatus) #define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY) \ { \ yychar = (Token); \ yylval = (Value); \ YYPOPSTACK (yylen); \ yystate = *yyssp; \ goto yybackup; \ } \ else \ { \ yyerror (pParser, YY_("syntax error: cannot back up")); \ YYERROR; \ } \ while (0) /* Error token number */ #define YYTERROR 1 #define YYERRCODE 256 /* Enable debugging if requested. */ #if YYDEBUG # ifndef YYFPRINTF # include /* INFRINGES ON USER NAME SPACE */ # define YYFPRINTF fprintf # endif # define YYDPRINTF(Args) \ do { \ if (yydebug) \ YYFPRINTF Args; \ } while (0) /* This macro is provided for backward compatibility. */ #ifndef YY_LOCATION_PRINT # define YY_LOCATION_PRINT(File, Loc) ((void) 0) #endif # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yy_symbol_print (stderr, \ Type, Value, pParser); \ YYFPRINTF (stderr, "\n"); \ } \ } while (0) /*----------------------------------------. | Print this symbol's value on YYOUTPUT. | `----------------------------------------*/ static void yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, XQParser_t * pParser) { FILE *yyo = yyoutput; YYUSE (yyo); YYUSE (pParser); if (!yyvaluep) return; # ifdef YYPRINT if (yytype < YYNTOKENS) YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); # endif YYUSE (yytype); } /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ static void yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, XQParser_t * pParser) { YYFPRINTF (yyoutput, "%s %s (", yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); yy_symbol_value_print (yyoutput, yytype, yyvaluep, pParser); YYFPRINTF (yyoutput, ")"); } /*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | | TOP (included). | `------------------------------------------------------------------*/ static void yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) { YYFPRINTF (stderr, "Stack now"); for (; yybottom <= yytop; yybottom++) { int yybot = *yybottom; YYFPRINTF (stderr, " %d", yybot); } YYFPRINTF (stderr, "\n"); } # define YY_STACK_PRINT(Bottom, Top) \ do { \ if (yydebug) \ yy_stack_print ((Bottom), (Top)); \ } while (0) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ static void yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, XQParser_t * pParser) { unsigned long int yylno = yyrline[yyrule]; int yynrhs = yyr2[yyrule]; int yyi; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno); /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yystos[yyssp[yyi + 1 - yynrhs]], &(yyvsp[(yyi + 1) - (yynrhs)]) , pParser); YYFPRINTF (stderr, "\n"); } } # define YY_REDUCE_PRINT(Rule) \ do { \ if (yydebug) \ yy_reduce_print (yyssp, yyvsp, Rule, pParser); \ } while (0) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ /* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only if the built-in stack extension method is used). Do not make this value too large; the results are undefined if YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif #if YYERROR_VERBOSE # ifndef yystrlen # if defined __GLIBC__ && defined _STRING_H # define yystrlen strlen # else /* Return the length of YYSTR. */ static YYSIZE_T yystrlen (const char *yystr) { YYSIZE_T yylen; for (yylen = 0; yystr[yylen]; yylen++) continue; return yylen; } # endif # endif # ifndef yystpcpy # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE # define yystpcpy stpcpy # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ static char * yystpcpy (char *yydest, const char *yysrc) { char *yyd = yydest; const char *yys = yysrc; while ((*yyd++ = *yys++) != '\0') continue; return yyd - 1; } # endif # endif # ifndef yytnamerr /* Copy to YYRES the contents of YYSTR after stripping away unnecessary quotes and backslashes, so that it's suitable for yyerror. The heuristic is that double-quoting is unnecessary unless the string contains an apostrophe, a comma, or backslash (other than backslash-backslash). YYSTR is taken from yytname. If YYRES is null, do not copy; instead, return the length of what the result would have been. */ static YYSIZE_T yytnamerr (char *yyres, const char *yystr) { if (*yystr == '"') { YYSIZE_T yyn = 0; char const *yyp = yystr; for (;;) switch (*++yyp) { case '\'': case ',': goto do_not_strip_quotes; case '\\': if (*++yyp != '\\') goto do_not_strip_quotes; /* Fall through. */ default: if (yyres) yyres[yyn] = *yyp; yyn++; break; case '"': if (yyres) yyres[yyn] = '\0'; return yyn; } do_not_strip_quotes: ; } if (! yyres) return yystrlen (yystr); return yystpcpy (yyres, yystr) - yyres; } # endif /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message about the unexpected token YYTOKEN for the state stack whose top is YYSSP. Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is not large enough to hold the message. In that case, also set *YYMSG_ALLOC to the required number of bytes. Return 2 if the required number of bytes is too large to store. */ static int yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, yytype_int16 *yyssp, int yytoken) { YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); YYSIZE_T yysize = yysize0; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; /* Internationalized format string. */ const char *yyformat = YY_NULLPTR; /* Arguments of yyformat. */ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; /* Number of reported tokens (one for the "unexpected", one per "expected"). */ int yycount = 0; /* There are many possibilities here to consider: - If this state is a consistent state with a default action, then the only way this function was invoked is if the default action is an error action. In that case, don't check for expected tokens because there are none. - The only way there can be no lookahead present (in yychar) is if this state is a consistent state with a default action. Thus, detecting the absence of a lookahead is sufficient to determine that there is no unexpected or expected token to report. In that case, just report a simple "syntax error". - Don't assume there isn't a lookahead just because this state is a consistent state with a default action. There might have been a previous inconsistent state, consistent state with a non-default action, or user semantic action that manipulated yychar. - Of course, the expected token list depends on states to have correct lookahead information, and it depends on the parser not to perform extra reductions after fetching a lookahead from the scanner and before detecting a syntax error. Thus, state merging (from LALR or IELR) and default reductions corrupt the expected token list. However, the list is correct for canonical LR with one exception: it will still contain any token that will not be accepted due to an error action in a later state. */ if (yytoken != YYEMPTY) { int yyn = yypact[*yyssp]; yyarg[yycount++] = yytname[yytoken]; if (!yypact_value_is_default (yyn)) { /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. In other words, skip the first -YYN actions for this state because they are default actions. */ int yyxbegin = yyn < 0 ? -yyn : 0; /* Stay within bounds of both yycheck and yytname. */ int yychecklim = YYLAST - yyn + 1; int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; int yyx; for (yyx = yyxbegin; yyx < yyxend; ++yyx) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR && !yytable_value_is_error (yytable[yyx + yyn])) { if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) { yycount = 1; yysize = yysize0; break; } yyarg[yycount++] = yytname[yyx]; { YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) return 2; yysize = yysize1; } } } } switch (yycount) { # define YYCASE_(N, S) \ case N: \ yyformat = S; \ break YYCASE_(0, YY_("syntax error")); YYCASE_(1, YY_("syntax error, unexpected %s")); YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); # undef YYCASE_ } { YYSIZE_T yysize1 = yysize + yystrlen (yyformat); if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) return 2; yysize = yysize1; } if (*yymsg_alloc < yysize) { *yymsg_alloc = 2 * yysize; if (! (yysize <= *yymsg_alloc && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; return 1; } /* Avoid sprintf, as that infringes on the user's name space. Don't have undefined behavior even if the translation produced a string with the wrong number of "%s"s. */ { char *yyp = *yymsg; int yyi = 0; while ((*yyp = *yyformat) != '\0') if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) { yyp += yytnamerr (yyp, yyarg[yyi++]); yyformat += 2; } else { yyp++; yyformat++; } } return 0; } #endif /* YYERROR_VERBOSE */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, XQParser_t * pParser) { YYUSE (yyvaluep); YYUSE (pParser); if (!yymsg) yymsg = "Deleting"; YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN YYUSE (yytype); YY_IGNORE_MAYBE_UNINITIALIZED_END } /*----------. | yyparse. | `----------*/ int yyparse (XQParser_t * pParser) { /* The lookahead symbol. */ int yychar; /* The semantic value of the lookahead symbol. */ /* Default value used for initialization, for pacifying older GCCs or non-GCC compilers. */ YY_INITIAL_VALUE (static YYSTYPE yyval_default;) YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); /* Number of syntax errors so far. */ int yynerrs; int yystate; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* The stacks and their tools: 'yyss': related to states. 'yyvs': related to semantic values. Refer to the stacks through separate pointers, to allow yyoverflow to reallocate them elsewhere. */ /* The state stack. */ yytype_int16 yyssa[YYINITDEPTH]; yytype_int16 *yyss; yytype_int16 *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE *yyvs; YYSTYPE *yyvsp; YYSIZE_T yystacksize; int yyn; int yyresult; /* Lookahead token as an internal (translated) token number. */ int yytoken = 0; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; #if YYERROR_VERBOSE /* Buffer for error messages, and its allocated size. */ char yymsgbuf[128]; char *yymsg = yymsgbuf; YYSIZE_T yymsg_alloc = sizeof yymsgbuf; #endif #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) /* The number of symbols on the RHS of the reduced rule. Keep to zero when no symbol should be popped. */ int yylen = 0; yyssp = yyss = yyssa; yyvsp = yyvs = yyvsa; yystacksize = YYINITDEPTH; YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ goto yysetstate; /*------------------------------------------------------------. | yynewstate -- Push a new state, which is found in yystate. | `------------------------------------------------------------*/ yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */ yyssp++; yysetstate: *yyssp = yystate; if (yyss + yystacksize - 1 <= yyssp) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; #ifdef yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; yytype_int16 *yyss1 = yyss; /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */ yyoverflow (YY_("memory exhausted"), &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); yyss = yyss1; yyvs = yyvs1; } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE goto yyexhaustedlab; # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyexhaustedlab; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; { yytype_int16 *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyexhaustedlab; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, yyvs); # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif #endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); if (yyss + yystacksize - 1 <= yyssp) YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", yystate)); if (yystate == YYFINAL) YYACCEPT; goto yybackup; /*-----------. | yybackup. | `-----------*/ yybackup: /* Do appropriate processing given the current state. Read a lookahead token if we need one and don't already have one. */ /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; if (yypact_value_is_default (yyn)) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); yychar = yylex (&yylval, pParser); } if (yychar <= YYEOF) { yychar = yytoken = YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } else { yytoken = YYTRANSLATE (yychar); YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); } /* If the proper action on seeing token YYTOKEN is to reduce or to detect an error, take that action. */ yyn += yytoken; if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) goto yydefault; yyn = yytable[yyn]; if (yyn <= 0) { if (yytable_value_is_error (yyn)) goto yyerrlab; yyn = -yyn; goto yyreduce; } /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; /* Shift the lookahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); /* Discard the shifted token. */ yychar = YYEMPTY; yystate = yyn; YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; YY_IGNORE_MAYBE_UNINITIALIZED_END goto yynewstate; /*-----------------------------------------------------------. | yydefault -- do the default action for the current state. | `-----------------------------------------------------------*/ yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; goto yyreduce; /*-----------------------------. | yyreduce -- Do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; /* If YYLEN is nonzero, implement the default value of the action: '$$ = $1'. Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized. */ yyval = yyvsp[1-yylen]; YY_REDUCE_PRINT (yyn); switch (yyn) { case 2: { pParser->AddQuery ( (yyvsp[0].pNode) ); } break; case 3: { (yyval.pNode) = (yyvsp[0].pNode); } break; case 4: { (yyval.pNode) = pParser->AddOp ( SPH_QUERY_AND, (yyvsp[-1].pNode), (yyvsp[0].pNode) ); } break; case 6: { pParser->SetFieldSpec ( (yyvsp[0].tFieldLimit).dMask, (yyvsp[0].tFieldLimit).iMaxPos ); } break; case 7: { pParser->SetZoneVec ( (yyvsp[0].iZoneVec) ); } break; case 8: { pParser->SetZoneVec ( (yyvsp[0].iZoneVec), true ); } break; case 9: { (yyval.pNode) = (yyvsp[0].pNode); } break; case 10: { (yyval.pNode) = pParser->AddOp ( SPH_QUERY_BEFORE, (yyvsp[-2].pNode), (yyvsp[0].pNode) ); } break; case 11: { (yyval.pNode) = pParser->AddOp ( SPH_QUERY_NEAR, (yyvsp[-2].pNode), (yyvsp[0].pNode), (yyvsp[-1].tInt).iValue ); } break; case 12: { (yyval.pNode) = (yyvsp[0].pNode); } break; case 13: { (yyval.pNode) = pParser->AddOp ( SPH_QUERY_NOT, (yyvsp[0].pNode), NULL ); } break; case 14: { (yyval.pNode) = pParser->AddOp ( SPH_QUERY_NOT, (yyvsp[0].pNode), NULL ); } break; case 15: { (yyval.pNode) = (yyvsp[0].pNode); } break; case 16: { (yyval.pNode) = pParser->AddOp ( SPH_QUERY_OR, (yyvsp[-3].pNode), (yyvsp[0].pNode) ); } break; case 17: { (yyval.pNode) = pParser->AddOp ( SPH_QUERY_MAYBE, (yyvsp[-3].pNode), (yyvsp[0].pNode) ); } break; case 18: { (yyval.pNode) = (yyvsp[0].pNode); } break; case 19: { (yyval.pNode) = (yyvsp[0].pNode); } break; case 20: { (yyval.pNode) = (yyvsp[0].pNode); } break; case 21: { (yyval.pNode) = NULL; } break; case 22: { (yyval.pNode) = NULL; } break; case 23: { (yyval.pNode) = NULL; } break; case 24: { (yyval.pNode) = NULL; } break; case 25: { (yyval.pNode) = (yyvsp[-1].pNode); pParser->SetPhrase ( (yyval.pNode), false ); } break; case 26: { (yyval.pNode) = (yyvsp[-3].pNode); if ( (yyval.pNode) ) { assert ( (yyval.pNode)->m_dWords.GetLength() ); (yyval.pNode)->SetOp ( SPH_QUERY_PROXIMITY ); (yyval.pNode)->m_iOpArg = (yyvsp[0].tInt).iValue; pParser->m_iAtomPos = (yyval.pNode)->FixupAtomPos(); } } break; case 27: { (yyval.pNode) = (yyvsp[-3].pNode); if ( (yyval.pNode) ) { assert ( (yyval.pNode)->m_dWords.GetLength() ); (yyval.pNode)->SetOp ( SPH_QUERY_QUORUM ); (yyval.pNode)->m_iOpArg = (yyvsp[0].tInt).iValue; } } break; case 28: { (yyval.pNode) = (yyvsp[-3].pNode); if ( (yyval.pNode) ) { assert ( (yyval.pNode)->m_dWords.GetLength() ); (yyval.pNode)->SetOp ( SPH_QUERY_QUORUM ); (yyval.pNode)->m_iOpArg = (yyvsp[0].tInt).fValue * 100; (yyval.pNode)->m_bPercentOp = true; } } break; case 29: { (yyval.pNode) = (yyvsp[-1].pNode); } break; case 30: { (yyval.pNode) = (yyvsp[-1].pNode); pParser->SetPhrase ( (yyval.pNode), true ); } break; case 31: { (yyval.pNode) = (yyvsp[0].pNode); } break; case 32: { (yyval.pNode) = pParser->AddKeyword ( ( (yyvsp[0].tInt).iStrIndex>=0 ) ? pParser->m_dIntTokens[(yyvsp[0].tInt).iStrIndex].cstr() : NULL ); } break; case 33: { (yyval.pNode) = pParser->AddKeyword ( ( (yyvsp[0].tInt).iStrIndex>=0 ) ? pParser->m_dIntTokens[(yyvsp[0].tInt).iStrIndex].cstr() : NULL ); } break; case 34: { (yyval.pNode) = (yyvsp[0].pNode); assert ( (yyval.pNode)->m_dWords.GetLength()==1 ); if ( !((yyval.pNode)->m_dWords[0].m_sWord.IsEmpty()) ) (yyval.pNode)->m_dWords[0].m_sWord.SetSprintf ( "=%s", (yyval.pNode)->m_dWords[0].m_sWord.cstr() ); } break; case 35: { (yyval.pNode) = pParser->AddOp ( SPH_QUERY_SENTENCE, (yyvsp[-2].pNode), (yyvsp[0].pNode) ); } break; case 36: { (yyval.pNode) = pParser->AddOp ( SPH_QUERY_SENTENCE, (yyvsp[-2].pNode), (yyvsp[0].pNode) ); } break; case 37: { (yyval.pNode) = pParser->AddOp ( SPH_QUERY_PARAGRAPH, (yyvsp[-2].pNode), (yyvsp[0].pNode) ); } break; case 38: { (yyval.pNode) = pParser->AddOp ( SPH_QUERY_PARAGRAPH, (yyvsp[-2].pNode), (yyvsp[0].pNode) ); } break; case 39: { (yyval.pNode) = (yyvsp[0].pNode); } break; case 40: { (yyval.pNode) = (yyvsp[-1].pNode); if ( (yyval.pNode) ) { assert ( (yyval.pNode)->m_dWords.GetLength() ); (yyval.pNode)->SetOp ( SPH_QUERY_PHRASE); } } break; case 41: { (yyval.pNode) = (yyvsp[0].pNode); } break; case 42: { (yyval.pNode) = pParser->AddKeyword ( (yyvsp[-1].pNode), (yyvsp[0].pNode) ); } break; case 43: { (yyval.pNode) = (yyvsp[0].pNode); } break; case 44: { (yyval.pNode) = NULL; } break; case 45: { (yyval.pNode) = NULL; } break; case 46: { (yyval.pNode) = NULL; } break; case 47: { (yyval.pNode) = NULL; } break; case 48: { (yyval.pNode) = NULL; } break; case 49: { (yyval.pNode) = NULL; } break; default: break; } /* User semantic actions sometimes alter yychar, and that requires that yytoken be updated with the new translation. We take the approach of translating immediately before every use of yytoken. One alternative is translating here after every semantic action, but that translation would be missed if the semantic action invokes YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an incorrect destructor might then be invoked immediately. In the case of YYERROR or YYBACKUP, subsequent parser actions might lead to an incorrect destructor call or verbose syntax error message before the lookahead is translated. */ YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; /* Now 'shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ yyn = yyr1[yyn]; yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else yystate = yydefgoto[yyn - YYNTOKENS]; goto yynewstate; /*--------------------------------------. | yyerrlab -- here on detecting error. | `--------------------------------------*/ yyerrlab: /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; #if ! YYERROR_VERBOSE yyerror (pParser, YY_("syntax error")); #else # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ yyssp, yytoken) { char const *yymsgp = YY_("syntax error"); int yysyntax_error_status; yysyntax_error_status = YYSYNTAX_ERROR; if (yysyntax_error_status == 0) yymsgp = yymsg; else if (yysyntax_error_status == 1) { if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); if (!yymsg) { yymsg = yymsgbuf; yymsg_alloc = sizeof yymsgbuf; yysyntax_error_status = 2; } else { yysyntax_error_status = YYSYNTAX_ERROR; yymsgp = yymsg; } } yyerror (pParser, yymsgp); if (yysyntax_error_status == 2) goto yyexhaustedlab; } # undef YYSYNTAX_ERROR #endif } if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an error, discard it. */ if (yychar <= YYEOF) { /* Return failure if at end of input. */ if (yychar == YYEOF) YYABORT; } else { yydestruct ("Error: discarding", yytoken, &yylval, pParser); yychar = YYEMPTY; } } /* Else will try to reuse lookahead token after shifting the error token. */ goto yyerrlab1; /*---------------------------------------------------. | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: /* Pacify compilers like GCC when the user code never invokes YYERROR and the label yyerrorlab therefore never appears in user code. */ if (/*CONSTCOND*/ 0) goto yyerrorlab; /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); yystate = *yyssp; goto yyerrlab1; /*-------------------------------------------------------------. | yyerrlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) { yyn = yypact[yystate]; if (!yypact_value_is_default (yyn)) { yyn += YYTERROR; if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) { yyn = yytable[yyn]; if (0 < yyn) break; } } /* Pop the current state because it cannot handle the error token. */ if (yyssp == yyss) YYABORT; yydestruct ("Error: popping", yystos[yystate], yyvsp, pParser); YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); } YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; YY_IGNORE_MAYBE_UNINITIALIZED_END /* Shift the error token. */ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); yystate = yyn; goto yynewstate; /*-------------------------------------. | yyacceptlab -- YYACCEPT comes here. | `-------------------------------------*/ yyacceptlab: yyresult = 0; goto yyreturn; /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ yyabortlab: yyresult = 1; goto yyreturn; #if !defined yyoverflow || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ yyexhaustedlab: yyerror (pParser, YY_("memory exhausted")); yyresult = 2; /* Fall through. */ #endif yyreturn: if (yychar != YYEMPTY) { /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ yytoken = YYTRANSLATE (yychar); yydestruct ("Cleanup: discarding lookahead", yytoken, &yylval, pParser); } /* Do not reclaim the symbols of the rule whose action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (yylen); YY_STACK_PRINT (yyss, yyssp); while (yyssp != yyss) { yydestruct ("Cleanup: popping", yystos[*yyssp], yyvsp, pParser); YYPOPSTACK (1); } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif #if YYERROR_VERBOSE if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); #endif return yyresult; } #if USE_WINDOWS #pragma warning(pop) #endif sphinx-2.2.11-release/src/yysphinxql.h0000644000175000017500000001131212743402012017245 0ustar alexeyalexey/* A Bison parser, made by GNU Bison 3.0.2. */ /* Bison interface for Yacc-like parsers in C Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ #ifndef YY_YY_YYSPHINXQL_H_INCLUDED # define YY_YY_YYSPHINXQL_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif #if YYDEBUG extern int yydebug; #endif /* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE enum yytokentype { TOK_IDENT = 258, TOK_ATIDENT = 259, TOK_CONST_INT = 260, TOK_CONST_FLOAT = 261, TOK_CONST_MVA = 262, TOK_QUOTED_STRING = 263, TOK_USERVAR = 264, TOK_SYSVAR = 265, TOK_CONST_STRINGS = 266, TOK_BAD_NUMERIC = 267, TOK_SUBKEY = 268, TOK_DOT_NUMBER = 269, TOK_ADD = 270, TOK_AGENT = 271, TOK_ALTER = 272, TOK_AS = 273, TOK_ASC = 274, TOK_ATTACH = 275, TOK_ATTRIBUTES = 276, TOK_AVG = 277, TOK_BEGIN = 278, TOK_BETWEEN = 279, TOK_BIGINT = 280, TOK_BOOL = 281, TOK_BY = 282, TOK_CALL = 283, TOK_CHARACTER = 284, TOK_CHUNK = 285, TOK_COLLATION = 286, TOK_COLUMN = 287, TOK_COMMIT = 288, TOK_COMMITTED = 289, TOK_COUNT = 290, TOK_CREATE = 291, TOK_DATABASES = 292, TOK_DELETE = 293, TOK_DESC = 294, TOK_DESCRIBE = 295, TOK_DISTINCT = 296, TOK_DIV = 297, TOK_DOUBLE = 298, TOK_DROP = 299, TOK_FACET = 300, TOK_FALSE = 301, TOK_FLOAT = 302, TOK_FLUSH = 303, TOK_FOR = 304, TOK_FROM = 305, TOK_FUNCTION = 306, TOK_GLOBAL = 307, TOK_GROUP = 308, TOK_GROUPBY = 309, TOK_GROUP_CONCAT = 310, TOK_HAVING = 311, TOK_ID = 312, TOK_IN = 313, TOK_INDEX = 314, TOK_INSERT = 315, TOK_INT = 316, TOK_INTEGER = 317, TOK_INTO = 318, TOK_IS = 319, TOK_ISOLATION = 320, TOK_JSON = 321, TOK_LEVEL = 322, TOK_LIKE = 323, TOK_LIMIT = 324, TOK_MATCH = 325, TOK_MAX = 326, TOK_META = 327, TOK_MIN = 328, TOK_MOD = 329, TOK_MULTI = 330, TOK_MULTI64 = 331, TOK_NAMES = 332, TOK_NULL = 333, TOK_OPTION = 334, TOK_ORDER = 335, TOK_OPTIMIZE = 336, TOK_PLAN = 337, TOK_PLUGIN = 338, TOK_PLUGINS = 339, TOK_PROFILE = 340, TOK_RAND = 341, TOK_RAMCHUNK = 342, TOK_READ = 343, TOK_RECONFIGURE = 344, TOK_REPEATABLE = 345, TOK_REPLACE = 346, TOK_REMAP = 347, TOK_RETURNS = 348, TOK_ROLLBACK = 349, TOK_RTINDEX = 350, TOK_SELECT = 351, TOK_SERIALIZABLE = 352, TOK_SET = 353, TOK_SETTINGS = 354, TOK_SESSION = 355, TOK_SHOW = 356, TOK_SONAME = 357, TOK_START = 358, TOK_STATUS = 359, TOK_STRING = 360, TOK_SUM = 361, TOK_TABLE = 362, TOK_TABLES = 363, TOK_THREADS = 364, TOK_TO = 365, TOK_TRANSACTION = 366, TOK_TRUE = 367, TOK_TRUNCATE = 368, TOK_TYPE = 369, TOK_UNCOMMITTED = 370, TOK_UPDATE = 371, TOK_VALUES = 372, TOK_VARIABLES = 373, TOK_WARNINGS = 374, TOK_WEIGHT = 375, TOK_WHERE = 376, TOK_WITHIN = 377, TOK_OR = 378, TOK_AND = 379, TOK_NE = 380, TOK_LTE = 381, TOK_GTE = 382, TOK_NOT = 383, TOK_NEG = 384 }; #endif /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef int YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 #endif int yyparse (SqlParser_c * pParser); #endif /* !YY_YY_YYSPHINXQL_H_INCLUDED */ sphinx-2.2.11-release/src/yysphinxql.c0000644000175000017500000054261312743402012017255 0ustar alexeyalexey/* A Bison parser, made by GNU Bison 3.0.2. */ /* Bison implementation for Yacc-like parsers in C Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ /* C LALR(1) parser skeleton written by Richard Stallman, by simplifying the original so-called "semantic" parser. */ /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. There are some unavoidable exceptions within include files to define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ /* Identify Bison output. */ #define YYBISON 1 /* Bison version. */ #define YYBISON_VERSION "3.0.2" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" /* Pure parsers. */ #define YYPURE 1 /* Push parsers. */ #define YYPUSH 0 /* Pull parsers. */ #define YYPULL 1 /* Copy the first part of user declarations. */ #if USE_WINDOWS #pragma warning(push,1) #pragma warning(disable:4702) // unreachable code #endif // some helpers #include // for FLT_MAX static void AddInsval ( SqlParser_c * pParser, CSphVector & dVec, const SqlNode_t & tNode ) { SqlInsert_t & tIns = dVec.Add(); tIns.m_iType = tNode.m_iType; tIns.m_iVal = tNode.m_iValue; // OPTIMIZE? copy conditionally based on type? tIns.m_fVal = tNode.m_fValue; if ( tIns.m_iType==TOK_QUOTED_STRING ) pParser->ToStringUnescape ( tIns.m_sVal, tNode ); tIns.m_pVals = tNode.m_pValues; } #define TRACK_BOUNDS(_res,_left,_right) \ _res = _left; \ if ( _res.m_iStart>0 && pParser->m_pBuf[_res.m_iStart-1]=='`' ) \ _res.m_iStart--; \ _res.m_iEnd = _right.m_iEnd; \ _res.m_iType = 0; # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus # define YY_NULLPTR nullptr # else # define YY_NULLPTR 0 # endif # endif /* Enabling verbose error messages. */ #ifdef YYERROR_VERBOSE # undef YYERROR_VERBOSE # define YYERROR_VERBOSE 1 #else # define YYERROR_VERBOSE 1 #endif /* In a future release of Bison, this section will be replaced by #include "yysphinxql.h". */ #ifndef YY_YY_YYSPHINXQL_H_INCLUDED # define YY_YY_YYSPHINXQL_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif #if YYDEBUG extern int yydebug; #endif /* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE enum yytokentype { TOK_IDENT = 258, TOK_ATIDENT = 259, TOK_CONST_INT = 260, TOK_CONST_FLOAT = 261, TOK_CONST_MVA = 262, TOK_QUOTED_STRING = 263, TOK_USERVAR = 264, TOK_SYSVAR = 265, TOK_CONST_STRINGS = 266, TOK_BAD_NUMERIC = 267, TOK_SUBKEY = 268, TOK_DOT_NUMBER = 269, TOK_ADD = 270, TOK_AGENT = 271, TOK_ALTER = 272, TOK_AS = 273, TOK_ASC = 274, TOK_ATTACH = 275, TOK_ATTRIBUTES = 276, TOK_AVG = 277, TOK_BEGIN = 278, TOK_BETWEEN = 279, TOK_BIGINT = 280, TOK_BOOL = 281, TOK_BY = 282, TOK_CALL = 283, TOK_CHARACTER = 284, TOK_CHUNK = 285, TOK_COLLATION = 286, TOK_COLUMN = 287, TOK_COMMIT = 288, TOK_COMMITTED = 289, TOK_COUNT = 290, TOK_CREATE = 291, TOK_DATABASES = 292, TOK_DELETE = 293, TOK_DESC = 294, TOK_DESCRIBE = 295, TOK_DISTINCT = 296, TOK_DIV = 297, TOK_DOUBLE = 298, TOK_DROP = 299, TOK_FACET = 300, TOK_FALSE = 301, TOK_FLOAT = 302, TOK_FLUSH = 303, TOK_FOR = 304, TOK_FROM = 305, TOK_FUNCTION = 306, TOK_GLOBAL = 307, TOK_GROUP = 308, TOK_GROUPBY = 309, TOK_GROUP_CONCAT = 310, TOK_HAVING = 311, TOK_ID = 312, TOK_IN = 313, TOK_INDEX = 314, TOK_INSERT = 315, TOK_INT = 316, TOK_INTEGER = 317, TOK_INTO = 318, TOK_IS = 319, TOK_ISOLATION = 320, TOK_JSON = 321, TOK_LEVEL = 322, TOK_LIKE = 323, TOK_LIMIT = 324, TOK_MATCH = 325, TOK_MAX = 326, TOK_META = 327, TOK_MIN = 328, TOK_MOD = 329, TOK_MULTI = 330, TOK_MULTI64 = 331, TOK_NAMES = 332, TOK_NULL = 333, TOK_OPTION = 334, TOK_ORDER = 335, TOK_OPTIMIZE = 336, TOK_PLAN = 337, TOK_PLUGIN = 338, TOK_PLUGINS = 339, TOK_PROFILE = 340, TOK_RAND = 341, TOK_RAMCHUNK = 342, TOK_READ = 343, TOK_RECONFIGURE = 344, TOK_REPEATABLE = 345, TOK_REPLACE = 346, TOK_REMAP = 347, TOK_RETURNS = 348, TOK_ROLLBACK = 349, TOK_RTINDEX = 350, TOK_SELECT = 351, TOK_SERIALIZABLE = 352, TOK_SET = 353, TOK_SETTINGS = 354, TOK_SESSION = 355, TOK_SHOW = 356, TOK_SONAME = 357, TOK_START = 358, TOK_STATUS = 359, TOK_STRING = 360, TOK_SUM = 361, TOK_TABLE = 362, TOK_TABLES = 363, TOK_THREADS = 364, TOK_TO = 365, TOK_TRANSACTION = 366, TOK_TRUE = 367, TOK_TRUNCATE = 368, TOK_TYPE = 369, TOK_UNCOMMITTED = 370, TOK_UPDATE = 371, TOK_VALUES = 372, TOK_VARIABLES = 373, TOK_WARNINGS = 374, TOK_WEIGHT = 375, TOK_WHERE = 376, TOK_WITHIN = 377, TOK_OR = 378, TOK_AND = 379, TOK_NE = 380, TOK_LTE = 381, TOK_GTE = 382, TOK_NOT = 383, TOK_NEG = 384 }; #endif /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef int YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 #endif int yyparse (SqlParser_c * pParser); #endif /* !YY_YY_YYSPHINXQL_H_INCLUDED */ /* Copy the second part of user declarations. */ #ifdef short # undef short #endif #ifdef YYTYPE_UINT8 typedef YYTYPE_UINT8 yytype_uint8; #else typedef unsigned char yytype_uint8; #endif #ifdef YYTYPE_INT8 typedef YYTYPE_INT8 yytype_int8; #else typedef signed char yytype_int8; #endif #ifdef YYTYPE_UINT16 typedef YYTYPE_UINT16 yytype_uint16; #else typedef unsigned short int yytype_uint16; #endif #ifdef YYTYPE_INT16 typedef YYTYPE_INT16 yytype_int16; #else typedef short int yytype_int16; #endif #ifndef YYSIZE_T # ifdef __SIZE_TYPE__ # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t # elif ! defined YYSIZE_T # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else # define YYSIZE_T unsigned int # endif #endif #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ # if defined YYENABLE_NLS && YYENABLE_NLS # if ENABLE_NLS # include /* INFRINGES ON USER NAME SPACE */ # define YY_(Msgid) dgettext ("bison-runtime", Msgid) # endif # endif # ifndef YY_ # define YY_(Msgid) Msgid # endif #endif #ifndef YY_ATTRIBUTE # if (defined __GNUC__ \ && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C # define YY_ATTRIBUTE(Spec) __attribute__(Spec) # else # define YY_ATTRIBUTE(Spec) /* empty */ # endif #endif #ifndef YY_ATTRIBUTE_PURE # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) #endif #ifndef YY_ATTRIBUTE_UNUSED # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) #endif #if !defined _Noreturn \ && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) # if defined _MSC_VER && 1200 <= _MSC_VER # define _Noreturn __declspec (noreturn) # else # define _Noreturn YY_ATTRIBUTE ((__noreturn__)) # endif #endif /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(E) ((void) (E)) #else # define YYUSE(E) /* empty */ #endif #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ /* Suppress an incorrect diagnostic about yylval being uninitialized. */ # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ _Pragma ("GCC diagnostic pop") #else # define YY_INITIAL_VALUE(Value) Value #endif #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN # define YY_IGNORE_MAYBE_UNINITIALIZED_END #endif #ifndef YY_INITIAL_VALUE # define YY_INITIAL_VALUE(Value) /* Nothing. */ #endif #if ! defined yyoverflow || YYERROR_VERBOSE /* The parser invokes alloca or malloc; define the necessary symbols. */ # ifdef YYSTACK_USE_ALLOCA # if YYSTACK_USE_ALLOCA # ifdef __GNUC__ # define YYSTACK_ALLOC __builtin_alloca # elif defined __BUILTIN_VA_ARG_INCR # include /* INFRINGES ON USER NAME SPACE */ # elif defined _AIX # define YYSTACK_ALLOC __alloca # elif defined _MSC_VER # include /* INFRINGES ON USER NAME SPACE */ # define alloca _alloca # else # define YYSTACK_ALLOC alloca # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS # include /* INFRINGES ON USER NAME SPACE */ /* Use EXIT_SUCCESS as a witness for stdlib.h. */ # ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 # endif # endif # endif # endif # endif # ifdef YYSTACK_ALLOC /* Pacify GCC's 'empty if-body' warning. */ # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) # ifndef YYSTACK_ALLOC_MAXIMUM /* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely invoke alloca (N) if N exceeds 4096. Use a slightly smaller number to allow for a few compiler-allocated temporary stack slots. */ # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ # endif # else # define YYSTACK_ALLOC YYMALLOC # define YYSTACK_FREE YYFREE # ifndef YYSTACK_ALLOC_MAXIMUM # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM # endif # if (defined __cplusplus && ! defined EXIT_SUCCESS \ && ! ((defined YYMALLOC || defined malloc) \ && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ # ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 # endif # endif # ifndef YYMALLOC # define YYMALLOC malloc # if ! defined malloc && ! defined EXIT_SUCCESS void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free # if ! defined free && ! defined EXIT_SUCCESS void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif # endif #endif /* ! defined yyoverflow || YYERROR_VERBOSE */ #if (! defined yyoverflow \ && (! defined __cplusplus \ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { yytype_int16 yyss_alloc; YYSTYPE yyvs_alloc; }; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) # define YYCOPY_NEEDED 1 /* Relocate STACK from its old location to the new one. The local variables YYSIZE and YYSTACKSIZE give the old and new number of elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ Stack = &yyptr->Stack_alloc; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (0) #endif #if defined YYCOPY_NEEDED && YYCOPY_NEEDED /* Copy COUNT objects from SRC to DST. The source and destination do not overlap. */ # ifndef YYCOPY # if defined __GNUC__ && 1 < __GNUC__ # define YYCOPY(Dst, Src, Count) \ __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) # else # define YYCOPY(Dst, Src, Count) \ do \ { \ YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (Dst)[yyi] = (Src)[yyi]; \ } \ while (0) # endif # endif #endif /* !YYCOPY_NEEDED */ /* YYFINAL -- State number of the termination state. */ #define YYFINAL 240 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 4778 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 148 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 138 /* YYNRULES -- Number of rules. */ #define YYNRULES 485 /* YYNSTATES -- Number of states. */ #define YYNSTATES 845 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 384 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM as returned by yylex, without out-of-bounds checking. */ static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 137, 126, 2, 141, 142, 135, 133, 143, 134, 2, 136, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 140, 129, 127, 130, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 146, 2, 147, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 144, 125, 145, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 128, 131, 132, 138, 139 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { 0, 174, 174, 175, 176, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 220, 221, 221, 221, 221, 221, 221, 222, 222, 222, 222, 222, 222, 223, 223, 223, 223, 223, 224, 224, 224, 224, 224, 225, 225, 225, 225, 225, 226, 226, 226, 226, 226, 226, 227, 227, 227, 227, 227, 228, 228, 228, 228, 228, 228, 229, 229, 229, 229, 229, 229, 230, 230, 230, 230, 230, 231, 231, 231, 231, 231, 232, 232, 232, 232, 232, 233, 233, 233, 233, 233, 234, 234, 234, 234, 234, 234, 235, 235, 235, 235, 235, 235, 236, 236, 236, 236, 236, 237, 237, 237, 237, 241, 241, 241, 247, 248, 249, 253, 254, 255, 259, 260, 268, 269, 276, 278, 282, 286, 293, 294, 295, 299, 312, 319, 321, 326, 335, 351, 352, 356, 357, 360, 362, 363, 367, 368, 369, 370, 371, 372, 373, 374, 375, 379, 380, 383, 385, 389, 393, 394, 395, 399, 404, 408, 415, 423, 431, 440, 445, 450, 455, 460, 465, 470, 475, 480, 485, 490, 495, 500, 505, 510, 515, 520, 525, 530, 535, 540, 545, 553, 554, 559, 565, 571, 577, 583, 584, 585, 586, 587, 591, 592, 603, 604, 605, 609, 615, 622, 628, 634, 636, 639, 641, 648, 652, 658, 660, 666, 668, 672, 683, 685, 689, 693, 700, 701, 705, 706, 707, 710, 712, 716, 721, 728, 730, 734, 738, 739, 743, 748, 753, 759, 764, 772, 777, 784, 794, 795, 796, 797, 798, 799, 800, 801, 802, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 846, 847, 851, 852, 856, 857, 861, 862, 866, 867, 873, 876, 878, 882, 883, 884, 885, 886, 887, 888, 889, 890, 895, 900, 905, 910, 919, 920, 923, 925, 933, 938, 943, 948, 949, 950, 954, 959, 964, 969, 978, 979, 983, 984, 985, 997, 998, 1002, 1003, 1004, 1005, 1006, 1013, 1014, 1015, 1019, 1020, 1026, 1034, 1035, 1038, 1040, 1044, 1045, 1049, 1050, 1054, 1055, 1059, 1063, 1064, 1068, 1069, 1070, 1071, 1072, 1075, 1076, 1080, 1081, 1085, 1091, 1101, 1109, 1113, 1120, 1121, 1128, 1138, 1144, 1146, 1150, 1155, 1159, 1166, 1168, 1172, 1173, 1179, 1187, 1188, 1194, 1198, 1204, 1212, 1213, 1217, 1231, 1237, 1241, 1246, 1260, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1283, 1291, 1298, 1309, 1313, 1320, 1321, 1325, 1329, 1330, 1334, 1338, 1345, 1352, 1358, 1359, 1360, 1364, 1365, 1366, 1367, 1373, 1384, 1385, 1386, 1387, 1388, 1393, 1404, 1416, 1425, 1434, 1444, 1452, 1453, 1457, 1461, 1465, 1475, 1486, 1497, 1508, 1519, 1520, 1524, 1527, 1528, 1532, 1533, 1534, 1535, 1539, 1540, 1544, 1549, 1551, 1555, 1564, 1568, 1576, 1577, 1581 }; #endif #if YYDEBUG || YYERROR_VERBOSE || 1 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { "$end", "error", "$undefined", "TOK_IDENT", "TOK_ATIDENT", "TOK_CONST_INT", "TOK_CONST_FLOAT", "TOK_CONST_MVA", "TOK_QUOTED_STRING", "TOK_USERVAR", "TOK_SYSVAR", "TOK_CONST_STRINGS", "TOK_BAD_NUMERIC", "TOK_SUBKEY", "TOK_DOT_NUMBER", "TOK_ADD", "TOK_AGENT", "TOK_ALTER", "TOK_AS", "TOK_ASC", "TOK_ATTACH", "TOK_ATTRIBUTES", "TOK_AVG", "TOK_BEGIN", "TOK_BETWEEN", "TOK_BIGINT", "TOK_BOOL", "TOK_BY", "TOK_CALL", "TOK_CHARACTER", "TOK_CHUNK", "TOK_COLLATION", "TOK_COLUMN", "TOK_COMMIT", "TOK_COMMITTED", "TOK_COUNT", "TOK_CREATE", "TOK_DATABASES", "TOK_DELETE", "TOK_DESC", "TOK_DESCRIBE", "TOK_DISTINCT", "TOK_DIV", "TOK_DOUBLE", "TOK_DROP", "TOK_FACET", "TOK_FALSE", "TOK_FLOAT", "TOK_FLUSH", "TOK_FOR", "TOK_FROM", "TOK_FUNCTION", "TOK_GLOBAL", "TOK_GROUP", "TOK_GROUPBY", "TOK_GROUP_CONCAT", "TOK_HAVING", "TOK_ID", "TOK_IN", "TOK_INDEX", "TOK_INSERT", "TOK_INT", "TOK_INTEGER", "TOK_INTO", "TOK_IS", "TOK_ISOLATION", "TOK_JSON", "TOK_LEVEL", "TOK_LIKE", "TOK_LIMIT", "TOK_MATCH", "TOK_MAX", "TOK_META", "TOK_MIN", "TOK_MOD", "TOK_MULTI", "TOK_MULTI64", "TOK_NAMES", "TOK_NULL", "TOK_OPTION", "TOK_ORDER", "TOK_OPTIMIZE", "TOK_PLAN", "TOK_PLUGIN", "TOK_PLUGINS", "TOK_PROFILE", "TOK_RAND", "TOK_RAMCHUNK", "TOK_READ", "TOK_RECONFIGURE", "TOK_REPEATABLE", "TOK_REPLACE", "TOK_REMAP", "TOK_RETURNS", "TOK_ROLLBACK", "TOK_RTINDEX", "TOK_SELECT", "TOK_SERIALIZABLE", "TOK_SET", "TOK_SETTINGS", "TOK_SESSION", "TOK_SHOW", "TOK_SONAME", "TOK_START", "TOK_STATUS", "TOK_STRING", "TOK_SUM", "TOK_TABLE", "TOK_TABLES", "TOK_THREADS", "TOK_TO", "TOK_TRANSACTION", "TOK_TRUE", "TOK_TRUNCATE", "TOK_TYPE", "TOK_UNCOMMITTED", "TOK_UPDATE", "TOK_VALUES", "TOK_VARIABLES", "TOK_WARNINGS", "TOK_WEIGHT", "TOK_WHERE", "TOK_WITHIN", "TOK_OR", "TOK_AND", "'|'", "'&'", "'='", "TOK_NE", "'<'", "'>'", "TOK_LTE", "TOK_GTE", "'+'", "'-'", "'*'", "'/'", "'%'", "TOK_NOT", "TOK_NEG", "';'", "'('", "')'", "','", "'{'", "'}'", "'['", "']'", "$accept", "request", "statement", "ident_set", "ident", "multi_stmt_list", "multi_stmt", "select", "select1", "opt_tablefunc_args", "tablefunc_args_list", "tablefunc_arg", "subselect_start", "opt_outer_order", "opt_outer_limit", "select_from", "select_items_list", "select_item", "opt_alias", "select_expr", "ident_list", "opt_where_clause", "where_clause", "where_expr", "where_item", "filter_item", "expr_ident", "const_int", "const_float", "const_list", "string_list", "opt_group_clause", "opt_int", "group_items_list", "opt_having_clause", "opt_group_order_clause", "group_order_clause", "opt_order_clause", "order_clause", "order_items_list", "order_item", "opt_limit_clause", "limit_clause", "opt_option_clause", "option_clause", "option_list", "option_item", "named_const_list", "named_const", "expr", "function", "arglist", "arg", "consthash", "hash_key", "hash_val", "show_stmt", "like_filter", "show_what", "index_or_table", "opt_chunk", "set_stmt", "set_global_stmt", "set_string_value", "boolean_value", "set_value", "simple_set_value", "transact_op", "start_transaction", "insert_into", "insert_or_replace", "opt_column_list", "column_ident", "column_list", "insert_rows_list", "insert_row", "insert_vals_list", "insert_val", "opt_insert_options", "insert_options_list", "insert_option", "delete_from", "call_proc", "call_args_list", "call_arg", "const_string_list", "opt_call_opts_list", "call_opts_list", "call_opt", "opt_as", "call_opt_name", "describe", "describe_tok", "show_tables", "show_databases", "update", "update_items_list", "update_item", "alter_col_type", "alter", "show_variables", "opt_show_variables_where", "show_variables_where", "show_variables_where_list", "show_variables_where_entry", "show_collation", "show_character_set", "set_transaction", "opt_scope", "isolation_level", "create_function", "udf_type", "drop_function", "attach_index", "flush_rtindex", "flush_ramchunk", "flush_index", "select_sysvar", "sysvar_list", "sysvar_item", "sysvar_name", "select_dual", "truncate", "optimize_index", "create_plugin", "drop_plugin", "json_field", "json_expr", "subscript", "subkey", "streq", "strval", "opt_facet_by_items_list", "facet_by", "facet_item", "facet_expr", "facet_items_list", "facet_stmt", YY_NULLPTR }; #endif # ifdef YYPRINT /* YYTOKNUM[NUM] -- (External) token number corresponding to the (internal) symbol number NUM (which must be that of a token). */ static const yytype_uint16 yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 124, 38, 61, 380, 60, 62, 381, 382, 43, 45, 42, 47, 37, 383, 384, 59, 40, 41, 44, 123, 125, 91, 93 }; # endif #define YYPACT_NINF -660 #define yypact_value_is_default(Yystate) \ (!!((Yystate) == (-660))) #define YYTABLE_NINF -478 #define yytable_value_is_error(Yytable_value) \ 0 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ static const yytype_int16 yypact[] = { 4598, 95, 74, -660, 3854, -660, 48, 88, -660, -660, 51, 89, -660, 124, -660, -660, 832, 3974, 532, 18, 91, 3854, 143, -660, -19, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, 154, -660, -660, -660, 3854, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, 3854, 3854, 3854, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, 97, 3854, 3854, 3854, 3854, 3854, -660, 3854, 3854, 3854, 100, -660, -660, -660, -660, -660, -660, -660, 107, 131, 144, 162, 177, 193, 194, -660, 200, 216, 217, 218, 219, 222, 223, 1684, -660, 1684, 1684, 3298, 59, -11, -660, 3407, 165, -660, -39, -660, 3407, 159, 172, -660, 99, 116, 167, 4094, 3854, 2709, 176, 180, 254, 3527, 269, -660, 161, -660, -660, 161, -660, -660, -660, -660, 161, -660, 161, 289, -660, -660, 3854, 252, -660, 3854, -660, -34, -660, 1684, 105, -660, 3854, 161, 284, 72, 264, 41, 287, 263, -29, -660, 267, -660, -660, -660, 974, 1684, 1826, -5, 1826, 1826, 240, 1684, 1826, 1826, 1684, 1684, 1684, 1684, 242, 244, 245, 246, -660, -660, 4316, -660, -660, -40, 261, -660, -660, 1968, 66, -660, 2346, 1116, 3854, -660, -660, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 1684, 385, 389, -660, -660, -660, -47, 1684, 2709, 2709, 277, 278, 355, -660, -660, -660, -660, -660, 274, -660, 2469, 344, 306, 9, 307, -660, 404, -660, -660, -660, -660, 3854, -660, -660, 31, 50, -660, 3854, 3854, 4614, -660, 3407, -7, 1258, 4214, 294, -660, 273, -660, -660, 383, 384, 323, -660, -660, -660, -660, 101, 32, -660, -660, -660, 295, -660, 34, 432, 2100, -660, 433, 316, 1400, -660, 4599, 79, -660, 4349, 4614, 82, 3854, 304, 85, 92, -660, 4380, 102, 115, 544, 582, 680, 4413, -660, 1542, 1684, 1684, -660, 3298, -660, 2589, 300, 298, -660, -660, -29, -660, 4614, -660, -660, -660, 4628, 4641, 658, 561, 146, -660, 146, 118, 118, 118, 118, -9, -9, -660, -660, -660, 305, -660, -660, 371, 146, 274, 274, 309, 3069, 442, 2709, -660, -660, -660, -660, 447, -660, -660, -660, -660, 387, 161, -660, 161, -660, 329, 314, -660, 359, 454, -660, 361, 453, 3854, -660, -660, 69, -24, -660, 336, -660, -660, -660, 1684, 386, 1684, 3636, 347, 3854, 3854, 3854, -660, -660, -660, -660, -660, 117, 119, 41, 326, -660, -660, -660, -660, -660, 363, 367, -660, 330, 331, 332, 335, 339, -660, 340, 341, 342, 2100, 66, 346, -660, -660, 192, -660, -660, 1116, 345, 3854, -660, 1826, -660, -660, 348, -660, -660, -660, -660, -660, -660, -660, 1684, -660, 1684, 1684, -660, 4218, 4252, 362, -660, -660, -660, -660, -660, 390, 435, -660, 487, -660, 14, -660, -660, 366, -660, 52, -660, -660, 2223, 3854, -660, -660, -660, -660, 373, 378, -660, 36, 3854, 289, 84, -660, 475, 434, -660, 364, -660, -660, -660, 125, 368, 286, -660, -660, -660, 14, -660, 496, 56, -660, 365, -660, -660, 497, 502, 3854, 379, 3854, 375, 376, 3854, 505, 396, -31, 2100, 84, 4, -16, 70, 80, 84, 84, 84, 84, 481, 397, 483, -660, -660, 4446, 4477, 4283, 2589, 1116, 401, 539, 423, -660, 128, 405, 0, 459, -660, -660, -660, -660, 3854, 408, -660, 542, 3854, 10, -660, -660, -660, -660, -660, -660, 2829, -660, -660, 3636, 46, -26, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, 3745, 46, -660, -660, 66, 409, 410, 411, -660, -660, 412, 415, -660, -660, -660, 436, 440, -660, 19, -660, 480, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, 13, 3189, 417, 3854, -660, -660, 425, -660, -2, 488, -660, 540, 517, 515, -660, -660, 14, -660, -660, -660, 446, 163, -660, 566, -660, -660, -660, 166, 438, 81, 437, -660, -660, 39, 173, -660, 572, 368, -660, -660, -660, -660, 558, -660, -660, -660, -660, -660, -660, 84, 84, -660, 184, 186, -660, -660, 19, -660, -660, -660, 444, -660, -660, 66, 439, -660, 1826, 3854, 550, 514, 2949, 508, 2949, 386, 189, 14, -660, 3854, 443, -660, 448, -660, -660, 2949, -660, 46, 462, 450, -660, -660, -660, -660, -660, -660, -660, -660, 587, 195, 202, 3189, -660, 207, 2949, 591, -660, -660, 455, 573, -660, 434, -660, -660, -660, -660, -660, -660, -660, 594, 572, -660, -660, -660, -660, 456, 437, 463, 2949, 2949, 289, -660, -660, 466, 603, -660, 437, -660, 1826, -660, 213, 467, -660 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. Performed when YYTABLE does not specify something else to do. Zero means the default is an error. */ static const yytype_uint16 yydefact[] = { 0, 0, 0, 358, 0, 355, 0, 0, 403, 402, 0, 0, 361, 0, 362, 356, 0, 438, 438, 0, 0, 0, 0, 2, 3, 126, 129, 132, 134, 130, 131, 7, 8, 357, 5, 0, 6, 9, 10, 0, 11, 12, 13, 28, 14, 15, 16, 23, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27, 29, 30, 0, 0, 0, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 66, 65, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 124, 84, 83, 85, 86, 87, 88, 90, 89, 91, 92, 94, 95, 93, 96, 97, 98, 99, 101, 102, 100, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 125, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 0, 0, 0, 0, 0, 455, 0, 0, 0, 31, 259, 261, 262, 477, 264, 460, 263, 38, 41, 50, 57, 59, 66, 65, 260, 0, 71, 78, 80, 93, 108, 120, 0, 151, 0, 0, 0, 258, 0, 149, 153, 156, 286, 241, 457, 153, 0, 287, 288, 0, 0, 44, 63, 68, 0, 100, 0, 0, 0, 0, 435, 314, 439, 329, 314, 321, 322, 320, 440, 314, 330, 314, 245, 316, 313, 0, 0, 359, 0, 165, 0, 1, 0, 4, 128, 0, 314, 0, 0, 0, 0, 0, 0, 0, 451, 0, 454, 453, 463, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 78, 80, 265, 266, 0, 310, 309, 0, 0, 471, 472, 0, 468, 469, 0, 0, 0, 154, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, 242, 459, 0, 0, 0, 0, 0, 0, 0, 353, 354, 352, 351, 350, 336, 348, 0, 0, 0, 314, 0, 436, 0, 405, 318, 317, 404, 0, 323, 246, 331, 429, 462, 0, 0, 482, 483, 153, 478, 0, 0, 0, 127, 363, 401, 426, 0, 0, 0, 212, 214, 376, 216, 0, 0, 374, 375, 388, 392, 386, 0, 0, 0, 384, 0, 306, 0, 297, 305, 0, 303, 0, 305, 0, 0, 0, 0, 0, 163, 0, 0, 0, 0, 0, 0, 0, 300, 0, 0, 0, 284, 0, 285, 0, 477, 0, 470, 143, 167, 150, 156, 155, 276, 277, 283, 282, 274, 273, 280, 475, 281, 271, 272, 278, 279, 267, 268, 269, 270, 275, 243, 458, 289, 0, 476, 337, 338, 0, 0, 0, 0, 344, 346, 335, 345, 0, 343, 347, 334, 333, 0, 314, 319, 314, 315, 0, 247, 248, 0, 0, 326, 0, 0, 0, 427, 430, 0, 0, 407, 0, 166, 481, 480, 0, 232, 0, 0, 0, 0, 0, 0, 213, 215, 390, 378, 217, 0, 0, 0, 0, 447, 448, 446, 450, 449, 0, 0, 202, 41, 50, 57, 0, 66, 206, 71, 77, 120, 0, 201, 169, 170, 174, 0, 207, 465, 0, 0, 0, 291, 0, 157, 294, 0, 162, 296, 295, 161, 292, 293, 158, 0, 159, 0, 0, 160, 0, 0, 0, 312, 311, 307, 474, 473, 0, 221, 168, 0, 290, 0, 341, 340, 0, 349, 0, 324, 325, 0, 0, 328, 332, 327, 428, 0, 431, 432, 0, 0, 245, 0, 484, 0, 241, 233, 479, 366, 365, 367, 0, 0, 0, 425, 452, 377, 0, 389, 0, 397, 387, 393, 394, 385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 136, 0, 304, 164, 0, 0, 0, 0, 0, 0, 223, 229, 244, 0, 0, 0, 0, 444, 437, 251, 254, 0, 250, 249, 0, 0, 0, 409, 410, 408, 406, 413, 414, 0, 485, 364, 0, 0, 379, 369, 416, 418, 417, 423, 415, 421, 419, 420, 422, 424, 218, 391, 398, 0, 0, 445, 464, 0, 0, 0, 0, 211, 204, 0, 0, 205, 172, 171, 0, 0, 181, 0, 199, 0, 197, 175, 188, 198, 176, 189, 185, 194, 184, 193, 187, 196, 186, 195, 0, 0, 0, 0, 299, 298, 0, 308, 0, 0, 224, 0, 0, 227, 230, 339, 0, 442, 441, 443, 0, 0, 255, 0, 434, 433, 412, 0, 90, 238, 234, 236, 368, 0, 0, 372, 0, 0, 360, 400, 399, 396, 397, 395, 210, 203, 209, 208, 173, 0, 0, 219, 0, 0, 200, 182, 0, 141, 142, 140, 137, 138, 133, 467, 0, 466, 0, 0, 0, 145, 0, 0, 0, 232, 0, 0, 252, 0, 0, 411, 0, 239, 240, 0, 371, 0, 0, 380, 381, 370, 183, 191, 192, 190, 177, 179, 0, 0, 0, 0, 301, 0, 0, 0, 135, 225, 222, 0, 228, 241, 342, 257, 256, 253, 235, 237, 373, 0, 0, 220, 178, 180, 139, 0, 144, 146, 0, 0, 245, 383, 382, 0, 0, 226, 231, 148, 0, 147, 0, 0, 302 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { -660, -660, -660, -14, -4, -660, 369, -660, 231, -660, -660, -191, -660, -660, -660, 67, -3, 333, -186, -660, -10, -660, -303, -481, -660, -161, -637, -217, -543, -541, -140, -660, -660, -660, -660, -660, -660, -154, -660, -659, -162, -567, -660, -569, -660, -660, 71, -660, -152, 226, -660, -258, 108, -660, 230, 15, -660, -207, -660, -660, -660, -660, -660, 201, -660, -86, 203, -660, -660, -660, -660, -660, -8, -660, -660, -98, -660, -485, -660, -660, -175, -660, -660, -660, 158, -660, -660, -660, -20, -660, -660, -660, -660, -660, -660, -660, -660, 83, -660, -660, -660, -660, -660, -660, 12, -660, -660, -660, 636, -660, -660, -660, -660, -660, -660, -660, -660, -660, -660, 349, -660, -660, -660, -660, -660, -660, -52, -332, -660, 372, -660, 358, -660, -660, 183, -660, 185, -660 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 22, 23, 157, 196, 24, 25, 26, 27, 706, 764, 765, 546, 773, 808, 28, 197, 198, 292, 199, 411, 547, 376, 512, 513, 514, 515, 488, 369, 489, 757, 627, 715, 810, 777, 717, 718, 574, 575, 734, 735, 312, 313, 341, 342, 459, 460, 725, 726, 385, 201, 382, 383, 281, 282, 543, 29, 336, 233, 234, 464, 30, 31, 451, 452, 327, 328, 32, 33, 34, 35, 480, 579, 580, 654, 655, 738, 370, 742, 791, 792, 36, 37, 371, 372, 490, 492, 591, 592, 669, 745, 38, 39, 40, 41, 42, 470, 471, 665, 43, 44, 467, 468, 566, 567, 45, 46, 47, 216, 634, 48, 498, 49, 50, 51, 52, 53, 54, 202, 203, 204, 55, 56, 57, 58, 59, 205, 206, 286, 287, 207, 208, 477, 478, 349, 350, 351, 243 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule whose number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { 158, 646, 386, 215, 389, 390, 589, 650, 393, 394, 629, 239, 733, 686, 472, 362, 337, 238, 314, 362, 475, 338, 759, 339, 362, 644, 241, 755, 648, 604, 310, 435, 368, 293, 721, 245, 387, 362, 357, 288, 486, 362, 363, 516, 362, 461, 362, 363, 771, 364, 365, 362, 363, 740, 364, 365, 246, 247, 248, 493, 365, 462, 688, 685, 346, 294, 692, 695, 697, 699, 701, 703, 283, 284, 668, 362, 363, 335, 690, 283, 284, 494, 283, 284, 365, 362, 363, 359, 693, 362, 363, 436, 375, 605, 365, 495, 496, 375, 365, 159, 785, 731, 162, 404, 311, 405, 484, 485, 548, 347, 164, 682, 450, -106, 347, 722, 360, 741, 465, 569, 786, 242, 689, -467, 683, 455, 307, 308, 309, 236, 388, 160, 289, 62, 163, 463, 476, 809, 161, 497, 631, 289, 632, 240, 448, 687, 756, 828, 448, 633, 733, 252, 730, 448, 760, 250, 251, 238, 253, 254, 293, 255, 256, 257, 474, -461, 448, 570, 739, 733, 366, 466, 838, 448, 487, 366, 165, 642, 516, 778, 366, 487, 367, 167, 166, 746, 237, 737, 293, 542, 60, 280, 294, 837, 733, 291, 568, 320, -388, -388, 291, 352, 61, 353, 366, 285, 354, 293, 321, 326, 795, 797, 285, 333, 366, 285, 606, 244, 366, 801, 294, 521, 522, 315, 524, 522, 316, 527, 522, 335, 343, 438, 439, 345, 528, 522, -466, 472, 249, 294, 356, 258, 200, 317, 530, 522, 832, 557, 259, 558, 607, 305, 306, 307, 308, 309, 608, 531, 522, 585, 586, 587, 588, 839, 674, 318, 676, 651, 652, 679, 719, 586, 260, 516, 368, 301, 302, 303, 304, 305, 306, 307, 308, 309, 238, 261, 414, -440, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 262, 820, 780, 781, 329, 783, 586, 217, 656, 657, 326, 326, 788, 789, 516, 263, 609, 610, 611, 612, 613, 614, 449, 798, 586, 799, 800, 615, 814, 586, 658, 264, 265, 458, 824, 586, 215, 293, 266, 469, 473, 825, 800, 291, 659, 660, 827, 522, 643, 661, 222, 647, 843, 522, 267, 268, 269, 270, 662, 663, 271, 272, 330, 223, 334, 340, 666, 344, 511, 294, 358, 361, 769, 224, 374, 225, 226, 373, 377, 391, 525, 399, 400, 401, 402, 406, 684, 433, 664, 691, 694, 696, 698, 700, 702, 228, 174, 280, 229, 541, 231, 440, 441, 542, 442, 443, 453, 454, 456, 457, 232, 479, 481, 482, 276, 483, 277, 278, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 368, 449, 491, 326, 499, 517, 516, -477, 516, 545, 526, 544, 549, 550, 551, 554, 484, 368, 556, 516, 559, 560, 561, 562, 563, 564, 565, 571, 581, 594, 573, 348, 593, 595, 605, 596, 597, 598, 516, 578, 599, 582, 583, 584, 600, 601, 602, 603, 381, 384, 624, 616, 626, 623, 619, 392, 628, 630, 395, 396, 397, 398, 516, 516, 640, 641, 649, 310, 667, 671, 511, 476, 670, 653, 672, 408, 805, 680, 675, 413, 617, 677, 678, 415, 416, 417, 418, 419, 420, 421, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 794, 796, 681, 704, 705, 707, 437, 713, 714, 716, 720, 723, 217, 727, 728, 748, 749, 750, 751, 638, 458, 752, 758, 766, 753, 218, 815, 219, 754, 469, 770, 774, 772, 220, 775, 776, 368, 779, 782, 790, 668, 806, 413, 784, 787, 804, 842, 807, 221, 817, 293, 803, 811, 821, 818, 222, 673, 822, 673, 823, 829, 673, 830, 835, 831, 511, 833, 293, 223, 278, 836, 840, 841, 844, 519, 355, 826, 625, 224, 812, 225, 226, 294, 541, 802, 712, 412, 813, 293, 819, 381, 538, 539, 816, 618, 639, 227, 724, 540, 294, 228, 565, 711, 229, 230, 231, 553, 793, 736, 511, 555, 834, 578, 590, 747, 232, 645, 729, 235, 768, 294, 422, 409, 572, 434, 0, 0, 576, 0, 744, 0, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 532, 533, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 293, 763, 348, 767, 348, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 293, 0, 534, 535, 0, 0, 0, 0, 0, 0, 294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 413, 0, 0, 0, 0, 0, 0, 0, 0, 0, 294, 0, 0, 0, 0, 620, 0, 621, 622, 0, 0, 0, 0, 238, 0, 0, 511, 0, 511, 0, 0, 0, 0, 724, 0, 0, 0, 0, 0, 511, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 763, 0, 0, 511, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 0, 536, 0, 0, 511, 511, 0, 0, 0, 0, 0, 0, 0, 168, 169, 170, 171, 0, 172, 173, 174, 0, 0, 0, 175, 64, 65, 66, 413, 67, 68, 69, 176, 71, 72, 177, 74, 0, 75, 76, 77, 78, 79, 80, 81, 178, 83, 84, 85, 86, 87, 88, 0, 179, 90, 0, 0, 180, 92, 93, 0, 94, 95, 96, 181, 182, 99, 183, 184, 100, 101, 102, 185, 104, 0, 105, 106, 107, 108, 0, 109, 186, 111, 187, 0, 113, 114, 115, 0, 116, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 188, 129, 130, 131, 0, 132, 133, 134, 135, 136, 137, 138, 139, 140, 189, 142, 143, 144, 145, 146, 0, 147, 148, 149, 150, 151, 152, 153, 190, 155, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 0, 0, 193, 0, 0, 194, 0, 0, 195, 273, 169, 170, 171, 0, 378, 173, 0, 0, 0, 0, 175, 64, 65, 66, 0, 67, 68, 69, 70, 71, 72, 177, 74, 0, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 179, 90, 0, 0, 180, 92, 93, 0, 94, 95, 96, 97, 98, 99, 183, 184, 100, 101, 102, 185, 104, 0, 105, 106, 107, 108, 0, 109, 274, 111, 275, 0, 113, 114, 115, 0, 116, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 188, 129, 130, 131, 0, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 0, 147, 148, 149, 150, 151, 152, 153, 190, 155, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 0, 0, 0, 193, 0, 0, 379, 380, 0, 195, 273, 169, 170, 171, 0, 172, 173, 0, 0, 0, 0, 175, 64, 65, 66, 0, 67, 68, 69, 176, 71, 72, 177, 74, 0, 75, 76, 77, 78, 79, 80, 81, 178, 83, 84, 85, 86, 87, 88, 0, 179, 90, 0, 0, 180, 92, 93, 0, 94, 95, 96, 181, 182, 99, 183, 184, 100, 101, 102, 185, 104, 0, 105, 106, 107, 108, 0, 109, 186, 111, 187, 0, 113, 114, 115, 0, 116, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 188, 129, 130, 131, 0, 132, 133, 134, 135, 136, 137, 138, 139, 140, 189, 142, 143, 144, 145, 146, 0, 147, 148, 149, 150, 151, 152, 153, 190, 155, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 0, 0, 193, 0, 0, 194, 0, 0, 195, 168, 169, 170, 171, 0, 172, 173, 0, 0, 0, 0, 175, 64, 65, 66, 0, 67, 68, 69, 176, 71, 72, 177, 74, 0, 75, 76, 77, 78, 79, 80, 81, 178, 83, 84, 85, 86, 87, 88, 0, 179, 90, 0, 0, 180, 92, 93, 0, 94, 95, 96, 181, 182, 99, 183, 184, 100, 101, 102, 185, 104, 0, 105, 106, 107, 108, 0, 109, 186, 111, 187, 0, 113, 114, 115, 0, 116, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 188, 129, 130, 131, 0, 132, 133, 134, 135, 136, 137, 138, 139, 140, 189, 142, 143, 144, 145, 146, 0, 147, 148, 149, 150, 151, 152, 153, 190, 155, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 0, 0, 193, 0, 0, 194, 0, 0, 195, 273, 169, 170, 171, 0, 172, 173, 0, 0, 0, 0, 175, 64, 65, 66, 0, 67, 68, 69, 70, 71, 72, 177, 74, 0, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 179, 90, 0, 0, 180, 92, 93, 0, 94, 95, 96, 97, 98, 99, 183, 184, 100, 101, 102, 185, 104, 0, 105, 106, 107, 108, 0, 109, 274, 111, 275, 0, 113, 114, 115, 0, 116, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 188, 129, 130, 131, 518, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 0, 147, 148, 149, 150, 151, 152, 153, 190, 155, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 0, 0, 0, 193, 0, 0, 194, 0, 0, 195, 273, 169, 170, 171, 0, 378, 173, 0, 0, 0, 0, 175, 64, 65, 66, 0, 67, 68, 69, 70, 71, 72, 177, 74, 0, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 179, 90, 0, 0, 180, 92, 93, 0, 94, 95, 96, 97, 98, 99, 183, 184, 100, 101, 102, 185, 104, 0, 105, 106, 107, 108, 0, 109, 274, 111, 275, 0, 113, 114, 115, 0, 116, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 188, 129, 130, 131, 0, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 0, 147, 148, 149, 150, 151, 152, 153, 190, 155, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 0, 0, 0, 193, 0, 0, 194, 380, 0, 195, 273, 169, 170, 171, 0, 172, 173, 0, 0, 0, 0, 175, 64, 65, 66, 0, 67, 68, 69, 70, 71, 72, 177, 74, 0, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 179, 90, 0, 0, 180, 92, 93, 0, 94, 95, 96, 97, 98, 99, 183, 184, 100, 101, 102, 185, 104, 0, 105, 106, 107, 108, 0, 109, 274, 111, 275, 0, 113, 114, 115, 0, 116, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 188, 129, 130, 131, 0, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 0, 147, 148, 149, 150, 151, 152, 153, 190, 155, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 0, 0, 0, 193, 0, 0, 194, 0, 0, 195, 273, 169, 170, 171, 0, 378, 173, 0, 0, 0, 0, 175, 64, 65, 66, 0, 67, 68, 69, 70, 71, 72, 177, 74, 0, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 179, 90, 0, 0, 180, 92, 93, 0, 94, 95, 96, 97, 98, 99, 183, 184, 100, 101, 102, 185, 104, 0, 105, 106, 107, 108, 0, 109, 274, 111, 275, 0, 113, 114, 115, 0, 116, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 188, 129, 130, 131, 0, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 0, 147, 148, 149, 150, 151, 152, 153, 190, 155, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 0, 0, 0, 193, 0, 0, 194, 0, 0, 195, 273, 169, 170, 171, 0, 407, 173, 0, 0, 0, 0, 175, 64, 65, 66, 0, 67, 68, 69, 70, 71, 72, 177, 74, 0, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 179, 90, 0, 0, 180, 92, 93, 0, 94, 95, 96, 97, 98, 99, 183, 184, 100, 101, 102, 185, 104, 0, 105, 106, 107, 108, 0, 109, 274, 111, 275, 0, 113, 114, 115, 0, 116, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 188, 129, 130, 131, 0, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 0, 147, 148, 149, 150, 151, 152, 153, 190, 155, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 63, 500, 0, 193, 0, 0, 194, 0, 0, 195, 0, 0, 64, 65, 66, 0, 67, 68, 69, 70, 71, 72, 501, 74, 0, 75, 76, 77, 78, 79, 80, 81, 502, 83, 84, 85, 86, 87, 88, 0, 503, 90, 504, 0, 91, 92, 93, 0, 94, 95, 96, 505, 98, 99, 506, 0, 100, 101, 102, 507, 104, 0, 105, 106, 107, 108, 0, 508, 110, 111, 112, 0, 113, 114, 115, 0, 116, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 0, 147, 148, 149, 150, 151, 152, 153, 509, 155, 156, 0, 0, 0, 63, 0, 635, 0, 0, 636, 0, 0, 0, 0, 0, 0, 64, 65, 66, 510, 67, 68, 69, 70, 71, 72, 73, 74, 0, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 89, 90, 0, 0, 91, 92, 93, 0, 94, 95, 96, 97, 98, 99, 0, 0, 100, 101, 102, 103, 104, 0, 105, 106, 107, 108, 0, 109, 110, 111, 112, 0, 113, 114, 115, 0, 116, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 0, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 0, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, 66, 637, 67, 68, 69, 70, 71, 72, 73, 74, 0, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 89, 90, 0, 0, 91, 92, 93, 0, 94, 95, 96, 97, 98, 99, 0, 0, 100, 101, 102, 103, 104, 0, 105, 106, 107, 108, 0, 109, 110, 111, 112, 0, 113, 114, 115, 0, 116, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 0, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 0, 0, 0, 63, 0, 362, 0, 0, 444, 0, 0, 0, 0, 0, 0, 64, 65, 66, 410, 67, 68, 69, 70, 71, 72, 73, 74, 0, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 89, 90, 0, 445, 91, 92, 93, 0, 94, 95, 96, 97, 98, 99, 0, 0, 100, 101, 102, 103, 104, 0, 105, 106, 107, 108, 0, 109, 110, 111, 112, 0, 113, 114, 115, 446, 116, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 447, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 63, 0, 362, 0, 0, 0, 0, 0, 0, 0, 0, 448, 64, 65, 66, 0, 67, 68, 69, 70, 71, 72, 73, 74, 0, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 89, 90, 0, 0, 91, 92, 93, 0, 94, 95, 96, 97, 98, 99, 0, 0, 100, 101, 102, 103, 104, 0, 105, 106, 107, 108, 0, 109, 110, 111, 112, 0, 113, 114, 115, 0, 116, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 0, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 63, 0, 322, 323, 0, 324, 0, 0, 0, 0, 0, 448, 64, 65, 66, 0, 67, 68, 69, 70, 71, 72, 73, 74, 0, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 89, 90, 0, 0, 91, 92, 93, 0, 94, 95, 96, 97, 98, 99, 0, 0, 100, 101, 102, 103, 104, 0, 105, 106, 107, 108, 0, 109, 110, 111, 112, 0, 113, 114, 115, 325, 116, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 0, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 63, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, 66, 0, 67, 68, 69, 70, 71, 72, 501, 74, 0, 75, 76, 77, 78, 79, 80, 81, 502, 83, 84, 85, 86, 87, 88, 0, 503, 90, 504, 0, 91, 92, 93, 0, 94, 95, 96, 505, 98, 99, 506, 0, 100, 101, 102, 507, 104, 0, 105, 106, 107, 108, 0, 109, 110, 111, 112, 0, 113, 114, 115, 0, 116, 0, 117, 118, 119, 120, 121, 732, 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 0, 147, 148, 149, 150, 151, 152, 153, 509, 155, 156, 63, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, 66, 0, 67, 68, 69, 70, 71, 72, 501, 74, 0, 75, 76, 77, 78, 79, 80, 81, 502, 83, 84, 85, 86, 87, 88, 0, 503, 90, 504, 0, 91, 92, 93, 0, 94, 95, 96, 505, 98, 99, 506, 0, 100, 101, 102, 507, 104, 0, 105, 106, 107, 108, 0, 109, 110, 111, 112, 0, 113, 114, 115, 0, 116, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 0, 147, 148, 149, 150, 151, 152, 153, 509, 155, 156, 63, 0, 552, 0, 0, 444, 0, 0, 0, 0, 0, 0, 64, 65, 66, 0, 67, 68, 69, 70, 71, 72, 73, 74, 0, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 89, 90, 0, 0, 91, 92, 93, 0, 94, 95, 96, 97, 98, 99, 0, 0, 100, 101, 102, 103, 104, 0, 105, 106, 107, 108, 0, 109, 110, 111, 112, 0, 113, 114, 115, 0, 116, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 0, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 63, 0, 761, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, 66, 0, 67, 68, 69, 70, 71, 72, 73, 74, 0, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 89, 90, 0, 0, 91, 92, 93, 0, 94, 95, 96, 97, 98, 99, 762, 0, 100, 101, 102, 103, 104, 0, 105, 106, 107, 108, 0, 109, 110, 111, 112, 0, 113, 114, 115, 0, 116, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 63, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 0, 64, 65, 66, 0, 67, 68, 69, 70, 71, 72, 73, 74, 0, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 89, 90, 0, 0, 91, 92, 93, 0, 94, 95, 96, 97, 98, 99, 0, 279, 100, 101, 102, 103, 104, 0, 105, 106, 107, 108, 0, 109, 110, 111, 112, 0, 113, 114, 115, 0, 116, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 63, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 0, 64, 65, 66, 290, 67, 68, 69, 70, 71, 72, 73, 74, 0, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 89, 90, 0, 0, 91, 92, 93, 0, 94, 95, 96, 97, 98, 99, 0, 0, 100, 101, 102, 103, 104, 0, 105, 106, 107, 108, 0, 109, 110, 111, 112, 0, 113, 114, 115, 0, 116, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 0, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 63, 0, 0, 0, 0, 331, 0, 0, 0, 0, 0, 0, 64, 65, 66, 0, 67, 68, 69, 70, 71, 72, 73, 74, 0, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 89, 90, 0, 0, 91, 92, 93, 0, 94, 95, 96, 97, 98, 99, 0, 0, 100, 101, 102, 103, 104, 0, 105, 106, 107, 108, 0, 109, 110, 111, 112, 0, 113, 114, 115, 0, 116, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, 132, 133, 134, 135, 136, 137, 138, 332, 140, 141, 142, 143, 144, 145, 146, 63, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 0, 64, 65, 66, 0, 67, 68, 69, 70, 71, 72, 73, 74, 0, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 89, 90, 0, 0, 91, 92, 93, 0, 94, 95, 96, 97, 98, 99, 577, 0, 100, 101, 102, 103, 104, 0, 105, 106, 107, 108, 0, 109, 110, 111, 112, 0, 113, 114, 115, 0, 116, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 63, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 0, 64, 65, 66, 0, 67, 68, 69, 70, 71, 72, 73, 74, 0, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 89, 90, 0, 0, 91, 92, 93, 0, 94, 95, 96, 97, 98, 99, 0, 0, 100, 101, 102, 103, 104, 0, 105, 106, 107, 108, 743, 109, 110, 111, 112, 0, 113, 114, 115, 0, 116, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 63, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 0, 64, 65, 66, 0, 67, 68, 69, 70, 71, 72, 73, 74, 0, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 89, 90, 0, 0, 91, 92, 93, 0, 94, 95, 96, 97, 98, 99, 0, 0, 100, 101, 102, 103, 104, 0, 105, 106, 107, 108, 0, 109, 110, 111, 112, 0, 113, 114, 115, 0, 116, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 0, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 63, 0, 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, 64, 65, 66, 0, 67, 68, 69, 70, 71, 72, 73, 74, 0, 75, 210, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 89, 90, 0, 0, 91, 92, 93, 0, 94, 211, 96, 97, 98, 99, 0, 0, 212, 101, 102, 103, 104, 0, 105, 106, 107, 108, 0, 109, 110, 111, 112, 0, 113, 114, 213, 0, 116, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, 132, 133, 134, 214, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 0, 0, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 63, 0, 0, 0, 0, 0, 319, 0, 0, 0, 0, 0, 64, 65, 66, 0, 67, 68, 69, 70, 71, 72, 73, 74, 0, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 89, 90, 0, 0, 91, 92, 93, 0, 94, 95, 96, 97, 98, 99, 0, 0, 100, 101, 102, 103, 104, 0, 105, 106, 107, 108, 0, 109, 110, 111, 112, 0, 113, 114, 0, 0, 116, 0, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, -439, 0, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 63, 0, 0, 0, 0, 0, 0, 209, 0, 0, 0, 0, 64, 65, 66, 0, 67, 68, 69, 70, 71, 72, 73, 74, 0, 75, 210, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 0, 89, 90, 0, 293, 91, 92, 93, 0, 94, 95, 96, 97, 98, 99, 0, 0, 100, 101, 102, 103, 104, 0, 105, 106, 107, 108, 0, 109, 110, 111, 112, 0, 113, 114, 213, 294, 116, 293, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 0, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 293, 294, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 0, 0, 0, 0, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 294, 293, 0, 0, 533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 294, 293, 0, 0, 0, 535, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 293, 294, 0, 0, 710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 294, 293, 0, 0, 403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 294, 293, 0, 0, 523, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 293, 294, 0, 529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 294, 0, 0, 0, 537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 0, 0, 0, 0, 708, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 1, 0, 0, 2, 709, 0, 3, 0, 0, 0, 0, 4, 0, 0, 0, 0, 5, 0, 0, 6, 0, 7, 8, 9, 0, 0, 293, 10, 0, 0, 0, 11, 0, 520, 0, 0, 0, 0, 0, 0, 0, 293, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 293, 0, 0, 294, 0, 0, 0, 0, 0, 13, 0, 0, 0, 293, 0, 0, 0, 0, 294, 14, 0, 0, 15, 0, 16, 0, 17, 0, 0, 18, 0, 19, 294, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 21, 294, 0, 0, 0, 0, 0, 0, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309 }; static const yytype_int16 yycheck[] = { 4, 570, 260, 17, 262, 263, 491, 574, 266, 267, 551, 21, 649, 9, 346, 5, 223, 21, 204, 5, 27, 228, 9, 230, 5, 568, 45, 8, 571, 510, 69, 78, 249, 42, 34, 39, 41, 5, 245, 50, 8, 5, 6, 375, 5, 14, 5, 6, 50, 8, 14, 5, 6, 79, 8, 14, 60, 61, 62, 25, 14, 30, 78, 606, 98, 74, 609, 610, 611, 612, 613, 614, 13, 14, 18, 5, 6, 68, 8, 13, 14, 47, 13, 14, 14, 5, 6, 15, 8, 5, 6, 138, 121, 124, 14, 61, 62, 121, 14, 51, 19, 642, 51, 143, 143, 145, 5, 6, 411, 143, 21, 142, 329, 104, 143, 115, 44, 143, 68, 143, 39, 140, 138, 64, 605, 332, 135, 136, 137, 111, 135, 83, 143, 59, 83, 104, 143, 774, 50, 105, 88, 143, 90, 0, 134, 141, 687, 806, 134, 97, 787, 161, 142, 134, 141, 159, 160, 161, 162, 163, 42, 165, 166, 167, 350, 0, 134, 470, 653, 806, 134, 121, 831, 134, 142, 134, 87, 141, 510, 720, 134, 142, 141, 59, 95, 670, 95, 141, 42, 406, 95, 195, 74, 830, 831, 199, 127, 211, 142, 143, 204, 96, 107, 98, 134, 146, 101, 42, 212, 213, 753, 754, 146, 217, 134, 146, 24, 63, 134, 760, 74, 142, 143, 64, 142, 143, 127, 142, 143, 68, 234, 317, 318, 237, 142, 143, 64, 569, 141, 74, 244, 141, 16, 127, 142, 143, 813, 454, 141, 456, 58, 133, 134, 135, 136, 137, 64, 142, 143, 142, 143, 142, 143, 832, 596, 98, 598, 142, 143, 601, 142, 143, 141, 605, 491, 129, 130, 131, 132, 133, 134, 135, 136, 137, 288, 141, 290, 111, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 141, 789, 142, 143, 127, 142, 143, 16, 25, 26, 317, 318, 142, 143, 649, 141, 127, 128, 129, 130, 131, 132, 329, 142, 143, 142, 143, 138, 142, 143, 47, 141, 141, 340, 142, 143, 353, 42, 141, 346, 347, 142, 143, 350, 61, 62, 142, 143, 568, 66, 59, 571, 142, 143, 141, 141, 141, 141, 75, 76, 141, 141, 111, 72, 98, 79, 586, 118, 375, 74, 89, 110, 707, 82, 114, 84, 85, 93, 114, 142, 387, 142, 141, 141, 141, 127, 606, 5, 105, 609, 610, 611, 612, 613, 614, 104, 10, 404, 107, 406, 109, 127, 127, 623, 52, 134, 65, 104, 104, 8, 119, 141, 32, 32, 191, 95, 193, 194, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 653, 441, 143, 443, 8, 8, 774, 127, 776, 147, 142, 147, 143, 78, 141, 9, 5, 670, 67, 787, 127, 143, 99, 5, 99, 8, 466, 127, 117, 102, 80, 241, 142, 102, 124, 141, 141, 141, 806, 479, 141, 481, 482, 483, 141, 141, 141, 141, 258, 259, 96, 142, 53, 127, 142, 265, 5, 127, 268, 269, 270, 271, 830, 831, 127, 123, 27, 69, 8, 8, 510, 143, 143, 141, 8, 285, 770, 8, 135, 289, 520, 142, 142, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 753, 754, 142, 58, 143, 58, 316, 142, 5, 122, 141, 88, 16, 141, 8, 142, 142, 142, 142, 559, 560, 142, 78, 142, 124, 29, 779, 31, 124, 569, 141, 27, 80, 37, 53, 56, 789, 127, 8, 3, 18, 27, 352, 141, 143, 142, 840, 69, 52, 142, 42, 143, 80, 127, 142, 59, 596, 143, 598, 8, 5, 601, 143, 143, 27, 605, 8, 42, 72, 379, 143, 141, 5, 142, 379, 242, 803, 546, 82, 776, 84, 85, 74, 623, 760, 624, 289, 777, 42, 787, 400, 401, 402, 781, 522, 560, 100, 637, 404, 74, 104, 641, 623, 107, 108, 109, 441, 741, 652, 649, 443, 822, 652, 491, 670, 119, 569, 641, 18, 707, 74, 299, 286, 476, 311, -1, -1, 478, -1, 669, -1, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -1, -1, -1, -1, 142, 143, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -1, 42, 705, 476, 707, 478, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -1, -1, 42, -1, 142, 143, -1, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 518, -1, -1, -1, -1, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, 533, -1, 535, 536, -1, -1, -1, -1, 771, -1, -1, 774, -1, 776, -1, -1, -1, -1, 781, -1, -1, -1, -1, -1, 787, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -1, -1, -1, 803, -1, -1, 806, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -1, -1, -1, -1, -1, 143, -1, -1, 830, 831, -1, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, -1, 8, 9, 10, -1, -1, -1, 14, 15, 16, 17, 624, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, -1, -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, 77, -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, 135, -1, -1, 138, -1, -1, 141, -1, -1, 144, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, 14, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, -1, -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, 77, -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, -1, -1, -1, 138, -1, -1, 141, 142, -1, 144, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, 14, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, -1, -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, 77, -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, 135, -1, -1, 138, -1, -1, 141, -1, -1, 144, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, 14, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, -1, -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, 77, -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, 135, -1, -1, 138, -1, -1, 141, -1, -1, 144, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, 14, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, -1, -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, 77, -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, -1, -1, -1, 138, -1, -1, 141, -1, -1, 144, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, 14, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, -1, -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, 77, -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, -1, -1, -1, 138, -1, -1, 141, 142, -1, 144, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, 14, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, -1, -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, 77, -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, -1, -1, -1, 138, -1, -1, 141, -1, -1, 144, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, 14, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, -1, -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, 77, -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, -1, -1, -1, 138, -1, -1, 141, -1, -1, 144, 3, 4, 5, 6, -1, 8, 9, -1, -1, -1, -1, 14, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, -1, -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, 77, -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, 3, 4, -1, 138, -1, -1, 141, -1, -1, 144, -1, -1, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, 45, -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, 57, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, 77, -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -1, -1, -1, 3, -1, 5, -1, -1, 8, -1, -1, -1, -1, -1, -1, 15, 16, 17, 141, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, -1, -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, 77, -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15, 16, 17, 141, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, -1, -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, 77, -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -1, -1, -1, 3, -1, 5, -1, -1, 8, -1, -1, -1, -1, -1, -1, 15, 16, 17, 141, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, -1, 46, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 3, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, 134, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, -1, -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, 77, -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 3, -1, 5, 6, -1, 8, -1, -1, -1, -1, -1, 134, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, -1, -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, 77, 78, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, 45, -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, 57, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, 77, -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, 45, -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, 57, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, 77, -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 3, -1, 5, -1, -1, 8, -1, -1, -1, -1, -1, -1, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, -1, -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, 77, -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 3, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, -1, -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, 57, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, 77, -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 3, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -1, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, -1, -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, 77, -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 3, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -1, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, -1, -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, 77, -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 3, -1, -1, -1, -1, 8, -1, -1, -1, -1, -1, -1, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, -1, -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, 77, -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 3, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -1, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, -1, -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, 57, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, 77, -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 3, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -1, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, -1, -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, 69, 70, 71, 72, 73, -1, 75, 76, 77, -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 3, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -1, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, -1, -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, 77, -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 3, -1, -1, -1, -1, -1, -1, 10, -1, -1, -1, -1, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, -1, -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, 77, -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, -1, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 3, -1, -1, -1, -1, -1, 9, -1, -1, -1, -1, -1, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, -1, -1, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, -1, -1, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 3, -1, -1, -1, -1, -1, -1, 10, -1, -1, -1, -1, 15, 16, 17, -1, 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, -1, 43, 44, -1, 42, 47, 48, 49, -1, 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, 61, 62, 63, -1, 65, 66, 67, 68, -1, 70, 71, 72, 73, -1, 75, 76, 77, 74, 79, 42, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -1, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 42, 74, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, -1, -1, -1, -1, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -1, 74, 42, -1, -1, 143, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 74, 42, -1, -1, -1, 143, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -1, 42, 74, -1, -1, 143, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 74, 42, -1, -1, 142, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 74, 42, -1, -1, 142, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -1, 42, 74, -1, 142, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 74, -1, -1, -1, 142, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, -1, -1, -1, -1, 142, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 17, -1, -1, 20, 142, -1, 23, -1, -1, -1, -1, 28, -1, -1, -1, -1, 33, -1, -1, 36, -1, 38, 39, 40, -1, -1, 42, 44, -1, -1, -1, 48, -1, 49, -1, -1, -1, -1, -1, -1, -1, 42, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 42, -1, -1, 74, -1, -1, -1, -1, -1, 81, -1, -1, -1, 42, -1, -1, -1, -1, 74, 91, -1, -1, 94, -1, 96, -1, 98, -1, -1, 101, -1, 103, 74, -1, -1, -1, -1, -1, -1, -1, -1, 113, -1, -1, 116, 74, -1, -1, -1, -1, -1, -1, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint16 yystos[] = { 0, 17, 20, 23, 28, 33, 36, 38, 39, 40, 44, 48, 60, 81, 91, 94, 96, 98, 101, 103, 113, 116, 149, 150, 153, 154, 155, 156, 163, 204, 209, 210, 215, 216, 217, 218, 229, 230, 239, 240, 241, 242, 243, 247, 248, 253, 254, 255, 258, 260, 261, 262, 263, 264, 265, 269, 270, 271, 272, 273, 95, 107, 59, 3, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 44, 47, 48, 49, 51, 52, 53, 54, 55, 56, 59, 60, 61, 62, 63, 65, 66, 67, 68, 70, 71, 72, 73, 75, 76, 77, 79, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 151, 152, 51, 83, 50, 51, 83, 21, 87, 95, 59, 3, 4, 5, 6, 8, 9, 10, 14, 22, 25, 35, 43, 47, 54, 55, 57, 58, 62, 71, 73, 92, 106, 120, 134, 135, 138, 141, 144, 152, 164, 165, 167, 197, 198, 266, 267, 268, 274, 275, 278, 279, 10, 29, 52, 59, 77, 100, 151, 256, 16, 29, 31, 37, 52, 59, 72, 82, 84, 85, 100, 104, 107, 108, 109, 119, 206, 207, 256, 111, 95, 152, 168, 0, 45, 140, 285, 63, 152, 152, 152, 152, 141, 152, 152, 168, 152, 152, 152, 152, 152, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 3, 71, 73, 197, 197, 197, 58, 152, 201, 202, 13, 14, 146, 276, 277, 50, 143, 18, 152, 166, 42, 74, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 69, 143, 189, 190, 166, 64, 127, 127, 98, 9, 151, 152, 5, 6, 8, 78, 152, 213, 214, 127, 111, 8, 104, 152, 98, 68, 205, 205, 205, 205, 79, 191, 192, 152, 118, 152, 98, 143, 197, 282, 283, 284, 96, 98, 101, 154, 152, 205, 89, 15, 44, 110, 5, 6, 8, 14, 134, 141, 175, 176, 225, 231, 232, 93, 114, 121, 170, 114, 8, 141, 142, 197, 199, 200, 197, 197, 199, 41, 135, 199, 199, 142, 197, 199, 199, 197, 197, 197, 197, 142, 141, 141, 141, 142, 143, 145, 127, 8, 197, 277, 141, 168, 165, 197, 152, 197, 197, 197, 197, 197, 197, 197, 279, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 5, 267, 78, 138, 197, 213, 213, 127, 127, 52, 134, 8, 46, 78, 112, 134, 152, 175, 211, 212, 65, 104, 205, 104, 8, 152, 193, 194, 14, 30, 104, 208, 68, 121, 249, 250, 152, 244, 245, 275, 152, 166, 27, 143, 280, 281, 141, 219, 32, 32, 95, 5, 6, 8, 142, 175, 177, 233, 143, 234, 25, 47, 61, 62, 105, 259, 8, 4, 25, 35, 43, 45, 54, 57, 62, 70, 120, 141, 152, 171, 172, 173, 174, 275, 8, 96, 156, 49, 142, 143, 142, 142, 152, 142, 142, 142, 142, 142, 142, 142, 143, 142, 143, 143, 142, 197, 197, 202, 152, 175, 203, 147, 147, 160, 169, 170, 143, 78, 141, 5, 211, 9, 214, 67, 205, 205, 127, 143, 99, 5, 99, 8, 152, 251, 252, 127, 143, 170, 127, 282, 80, 185, 186, 284, 57, 152, 220, 221, 117, 152, 152, 152, 142, 143, 142, 143, 225, 232, 235, 236, 142, 102, 102, 141, 141, 141, 141, 141, 141, 141, 141, 171, 124, 24, 58, 64, 127, 128, 129, 130, 131, 132, 138, 142, 152, 200, 142, 197, 197, 197, 127, 96, 163, 53, 179, 5, 177, 127, 88, 90, 97, 257, 5, 8, 141, 152, 194, 127, 123, 141, 175, 176, 245, 191, 175, 176, 27, 189, 142, 143, 141, 222, 223, 25, 26, 47, 61, 62, 66, 75, 76, 105, 246, 175, 8, 18, 237, 143, 8, 8, 152, 275, 135, 275, 142, 142, 275, 8, 142, 142, 171, 175, 176, 9, 141, 78, 138, 8, 175, 176, 8, 175, 176, 175, 176, 175, 176, 175, 176, 175, 176, 58, 143, 157, 58, 142, 142, 143, 203, 164, 142, 5, 180, 122, 183, 184, 142, 141, 34, 115, 88, 152, 195, 196, 141, 8, 252, 142, 177, 86, 174, 187, 188, 220, 141, 224, 225, 79, 143, 226, 69, 152, 238, 225, 236, 142, 142, 142, 142, 142, 124, 124, 8, 177, 178, 78, 9, 141, 5, 57, 152, 158, 159, 142, 152, 274, 275, 141, 50, 80, 161, 27, 53, 56, 182, 177, 127, 142, 143, 8, 142, 141, 19, 39, 143, 142, 143, 3, 227, 228, 223, 175, 176, 175, 176, 142, 142, 143, 177, 178, 143, 142, 199, 27, 69, 162, 174, 181, 80, 173, 185, 142, 175, 196, 142, 142, 188, 225, 127, 143, 8, 142, 142, 159, 142, 187, 5, 143, 27, 189, 8, 228, 143, 143, 174, 187, 191, 141, 5, 199, 142, 142 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { 0, 148, 149, 149, 149, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 152, 152, 152, 153, 153, 153, 154, 154, 154, 155, 155, 156, 156, 157, 157, 158, 158, 159, 159, 159, 160, 161, 162, 162, 162, 163, 164, 164, 165, 165, 166, 166, 166, 167, 167, 167, 167, 167, 167, 167, 167, 167, 168, 168, 169, 169, 170, 171, 171, 171, 172, 172, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 175, 175, 176, 176, 176, 177, 177, 178, 178, 179, 179, 180, 180, 181, 181, 182, 182, 183, 183, 184, 185, 185, 186, 186, 187, 187, 188, 188, 188, 189, 189, 190, 190, 191, 191, 192, 193, 193, 194, 194, 194, 194, 194, 195, 195, 196, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 199, 199, 200, 200, 201, 201, 202, 202, 203, 203, 204, 205, 205, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 206, 207, 207, 208, 208, 209, 209, 209, 209, 209, 209, 210, 210, 210, 210, 211, 211, 212, 212, 212, 213, 213, 214, 214, 214, 214, 214, 215, 215, 215, 216, 216, 217, 218, 218, 219, 219, 220, 220, 221, 221, 222, 222, 223, 224, 224, 225, 225, 225, 225, 225, 226, 226, 227, 227, 228, 229, 230, 231, 231, 232, 232, 233, 233, 234, 234, 235, 235, 236, 237, 237, 238, 238, 239, 240, 240, 241, 242, 243, 244, 244, 245, 245, 245, 245, 245, 245, 246, 246, 246, 246, 246, 246, 246, 246, 246, 247, 247, 247, 248, 248, 249, 249, 250, 251, 251, 252, 253, 254, 255, 256, 256, 256, 257, 257, 257, 257, 258, 259, 259, 259, 259, 259, 260, 261, 262, 263, 264, 265, 266, 266, 267, 268, 269, 270, 271, 272, 273, 274, 274, 275, 276, 276, 277, 277, 277, 277, 278, 278, 279, 280, 280, 281, 282, 283, 284, 284, 285 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { 0, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 1, 1, 1, 1, 8, 1, 9, 0, 2, 1, 3, 1, 1, 1, 0, 3, 0, 2, 4, 11, 1, 3, 1, 2, 0, 1, 2, 1, 4, 4, 4, 4, 4, 4, 3, 5, 1, 3, 0, 1, 2, 1, 3, 3, 4, 1, 3, 3, 5, 6, 5, 6, 3, 4, 5, 3, 3, 3, 3, 3, 3, 5, 5, 5, 3, 3, 3, 3, 3, 3, 3, 4, 1, 1, 4, 3, 3, 1, 1, 4, 4, 4, 3, 1, 2, 1, 2, 1, 1, 3, 1, 3, 0, 4, 0, 1, 1, 3, 0, 2, 0, 1, 5, 0, 1, 3, 5, 1, 3, 1, 2, 2, 0, 1, 2, 4, 0, 1, 2, 1, 3, 3, 3, 5, 6, 3, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 3, 4, 4, 4, 4, 4, 4, 4, 3, 6, 6, 3, 8, 14, 1, 3, 1, 1, 3, 5, 1, 1, 1, 1, 2, 0, 2, 1, 2, 2, 3, 1, 1, 1, 2, 4, 4, 3, 4, 4, 1, 1, 0, 2, 4, 4, 4, 3, 4, 4, 7, 5, 5, 9, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 7, 1, 1, 0, 3, 1, 1, 1, 3, 1, 3, 3, 1, 3, 1, 1, 1, 3, 2, 0, 2, 1, 3, 3, 4, 6, 1, 3, 1, 3, 1, 3, 0, 2, 1, 3, 3, 0, 1, 1, 1, 3, 1, 1, 3, 3, 6, 1, 3, 3, 3, 5, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 6, 4, 4, 5, 0, 1, 2, 1, 3, 3, 2, 3, 6, 0, 1, 1, 2, 2, 2, 1, 7, 1, 1, 1, 1, 1, 3, 6, 3, 3, 2, 3, 1, 3, 2, 1, 2, 3, 3, 7, 5, 1, 1, 2, 1, 2, 1, 1, 3, 3, 3, 3, 1, 0, 2, 1, 2, 1, 1, 3, 5 }; #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) #define YYEMPTY (-2) #define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrorlab #define YYRECOVERING() (!!yyerrstatus) #define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY) \ { \ yychar = (Token); \ yylval = (Value); \ YYPOPSTACK (yylen); \ yystate = *yyssp; \ goto yybackup; \ } \ else \ { \ yyerror (pParser, YY_("syntax error: cannot back up")); \ YYERROR; \ } \ while (0) /* Error token number */ #define YYTERROR 1 #define YYERRCODE 256 /* Enable debugging if requested. */ #if YYDEBUG # ifndef YYFPRINTF # include /* INFRINGES ON USER NAME SPACE */ # define YYFPRINTF fprintf # endif # define YYDPRINTF(Args) \ do { \ if (yydebug) \ YYFPRINTF Args; \ } while (0) /* This macro is provided for backward compatibility. */ #ifndef YY_LOCATION_PRINT # define YY_LOCATION_PRINT(File, Loc) ((void) 0) #endif # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yy_symbol_print (stderr, \ Type, Value, pParser); \ YYFPRINTF (stderr, "\n"); \ } \ } while (0) /*----------------------------------------. | Print this symbol's value on YYOUTPUT. | `----------------------------------------*/ static void yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, SqlParser_c * pParser) { FILE *yyo = yyoutput; YYUSE (yyo); YYUSE (pParser); if (!yyvaluep) return; # ifdef YYPRINT if (yytype < YYNTOKENS) YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); # endif YYUSE (yytype); } /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ static void yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, SqlParser_c * pParser) { YYFPRINTF (yyoutput, "%s %s (", yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); yy_symbol_value_print (yyoutput, yytype, yyvaluep, pParser); YYFPRINTF (yyoutput, ")"); } /*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | | TOP (included). | `------------------------------------------------------------------*/ static void yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) { YYFPRINTF (stderr, "Stack now"); for (; yybottom <= yytop; yybottom++) { int yybot = *yybottom; YYFPRINTF (stderr, " %d", yybot); } YYFPRINTF (stderr, "\n"); } # define YY_STACK_PRINT(Bottom, Top) \ do { \ if (yydebug) \ yy_stack_print ((Bottom), (Top)); \ } while (0) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ static void yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, SqlParser_c * pParser) { unsigned long int yylno = yyrline[yyrule]; int yynrhs = yyr2[yyrule]; int yyi; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno); /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yystos[yyssp[yyi + 1 - yynrhs]], &(yyvsp[(yyi + 1) - (yynrhs)]) , pParser); YYFPRINTF (stderr, "\n"); } } # define YY_REDUCE_PRINT(Rule) \ do { \ if (yydebug) \ yy_reduce_print (yyssp, yyvsp, Rule, pParser); \ } while (0) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ /* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only if the built-in stack extension method is used). Do not make this value too large; the results are undefined if YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif #if YYERROR_VERBOSE # ifndef yystrlen # if defined __GLIBC__ && defined _STRING_H # define yystrlen strlen # else /* Return the length of YYSTR. */ static YYSIZE_T yystrlen (const char *yystr) { YYSIZE_T yylen; for (yylen = 0; yystr[yylen]; yylen++) continue; return yylen; } # endif # endif # ifndef yystpcpy # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE # define yystpcpy stpcpy # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ static char * yystpcpy (char *yydest, const char *yysrc) { char *yyd = yydest; const char *yys = yysrc; while ((*yyd++ = *yys++) != '\0') continue; return yyd - 1; } # endif # endif # ifndef yytnamerr /* Copy to YYRES the contents of YYSTR after stripping away unnecessary quotes and backslashes, so that it's suitable for yyerror. The heuristic is that double-quoting is unnecessary unless the string contains an apostrophe, a comma, or backslash (other than backslash-backslash). YYSTR is taken from yytname. If YYRES is null, do not copy; instead, return the length of what the result would have been. */ static YYSIZE_T yytnamerr (char *yyres, const char *yystr) { if (*yystr == '"') { YYSIZE_T yyn = 0; char const *yyp = yystr; for (;;) switch (*++yyp) { case '\'': case ',': goto do_not_strip_quotes; case '\\': if (*++yyp != '\\') goto do_not_strip_quotes; /* Fall through. */ default: if (yyres) yyres[yyn] = *yyp; yyn++; break; case '"': if (yyres) yyres[yyn] = '\0'; return yyn; } do_not_strip_quotes: ; } if (! yyres) return yystrlen (yystr); return yystpcpy (yyres, yystr) - yyres; } # endif /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message about the unexpected token YYTOKEN for the state stack whose top is YYSSP. Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is not large enough to hold the message. In that case, also set *YYMSG_ALLOC to the required number of bytes. Return 2 if the required number of bytes is too large to store. */ static int yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, yytype_int16 *yyssp, int yytoken) { YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); YYSIZE_T yysize = yysize0; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; /* Internationalized format string. */ const char *yyformat = YY_NULLPTR; /* Arguments of yyformat. */ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; /* Number of reported tokens (one for the "unexpected", one per "expected"). */ int yycount = 0; /* There are many possibilities here to consider: - If this state is a consistent state with a default action, then the only way this function was invoked is if the default action is an error action. In that case, don't check for expected tokens because there are none. - The only way there can be no lookahead present (in yychar) is if this state is a consistent state with a default action. Thus, detecting the absence of a lookahead is sufficient to determine that there is no unexpected or expected token to report. In that case, just report a simple "syntax error". - Don't assume there isn't a lookahead just because this state is a consistent state with a default action. There might have been a previous inconsistent state, consistent state with a non-default action, or user semantic action that manipulated yychar. - Of course, the expected token list depends on states to have correct lookahead information, and it depends on the parser not to perform extra reductions after fetching a lookahead from the scanner and before detecting a syntax error. Thus, state merging (from LALR or IELR) and default reductions corrupt the expected token list. However, the list is correct for canonical LR with one exception: it will still contain any token that will not be accepted due to an error action in a later state. */ if (yytoken != YYEMPTY) { int yyn = yypact[*yyssp]; yyarg[yycount++] = yytname[yytoken]; if (!yypact_value_is_default (yyn)) { /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. In other words, skip the first -YYN actions for this state because they are default actions. */ int yyxbegin = yyn < 0 ? -yyn : 0; /* Stay within bounds of both yycheck and yytname. */ int yychecklim = YYLAST - yyn + 1; int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; int yyx; for (yyx = yyxbegin; yyx < yyxend; ++yyx) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR && !yytable_value_is_error (yytable[yyx + yyn])) { if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) { yycount = 1; yysize = yysize0; break; } yyarg[yycount++] = yytname[yyx]; { YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) return 2; yysize = yysize1; } } } } switch (yycount) { # define YYCASE_(N, S) \ case N: \ yyformat = S; \ break YYCASE_(0, YY_("syntax error")); YYCASE_(1, YY_("syntax error, unexpected %s")); YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); # undef YYCASE_ } { YYSIZE_T yysize1 = yysize + yystrlen (yyformat); if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) return 2; yysize = yysize1; } if (*yymsg_alloc < yysize) { *yymsg_alloc = 2 * yysize; if (! (yysize <= *yymsg_alloc && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; return 1; } /* Avoid sprintf, as that infringes on the user's name space. Don't have undefined behavior even if the translation produced a string with the wrong number of "%s"s. */ { char *yyp = *yymsg; int yyi = 0; while ((*yyp = *yyformat) != '\0') if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) { yyp += yytnamerr (yyp, yyarg[yyi++]); yyformat += 2; } else { yyp++; yyformat++; } } return 0; } #endif /* YYERROR_VERBOSE */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, SqlParser_c * pParser) { YYUSE (yyvaluep); YYUSE (pParser); if (!yymsg) yymsg = "Deleting"; YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN YYUSE (yytype); YY_IGNORE_MAYBE_UNINITIALIZED_END } /*----------. | yyparse. | `----------*/ int yyparse (SqlParser_c * pParser) { /* The lookahead symbol. */ int yychar; /* The semantic value of the lookahead symbol. */ /* Default value used for initialization, for pacifying older GCCs or non-GCC compilers. */ YY_INITIAL_VALUE (static YYSTYPE yyval_default;) YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); /* Number of syntax errors so far. */ int yynerrs; int yystate; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* The stacks and their tools: 'yyss': related to states. 'yyvs': related to semantic values. Refer to the stacks through separate pointers, to allow yyoverflow to reallocate them elsewhere. */ /* The state stack. */ yytype_int16 yyssa[YYINITDEPTH]; yytype_int16 *yyss; yytype_int16 *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE *yyvs; YYSTYPE *yyvsp; YYSIZE_T yystacksize; int yyn; int yyresult; /* Lookahead token as an internal (translated) token number. */ int yytoken = 0; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; #if YYERROR_VERBOSE /* Buffer for error messages, and its allocated size. */ char yymsgbuf[128]; char *yymsg = yymsgbuf; YYSIZE_T yymsg_alloc = sizeof yymsgbuf; #endif #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) /* The number of symbols on the RHS of the reduced rule. Keep to zero when no symbol should be popped. */ int yylen = 0; yyssp = yyss = yyssa; yyvsp = yyvs = yyvsa; yystacksize = YYINITDEPTH; YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ goto yysetstate; /*------------------------------------------------------------. | yynewstate -- Push a new state, which is found in yystate. | `------------------------------------------------------------*/ yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */ yyssp++; yysetstate: *yyssp = yystate; if (yyss + yystacksize - 1 <= yyssp) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; #ifdef yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; yytype_int16 *yyss1 = yyss; /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */ yyoverflow (YY_("memory exhausted"), &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); yyss = yyss1; yyvs = yyvs1; } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE goto yyexhaustedlab; # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyexhaustedlab; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; { yytype_int16 *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyexhaustedlab; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, yyvs); # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif #endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); if (yyss + yystacksize - 1 <= yyssp) YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", yystate)); if (yystate == YYFINAL) YYACCEPT; goto yybackup; /*-----------. | yybackup. | `-----------*/ yybackup: /* Do appropriate processing given the current state. Read a lookahead token if we need one and don't already have one. */ /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; if (yypact_value_is_default (yyn)) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); yychar = yylex (&yylval, pParser); } if (yychar <= YYEOF) { yychar = yytoken = YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } else { yytoken = YYTRANSLATE (yychar); YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); } /* If the proper action on seeing token YYTOKEN is to reduce or to detect an error, take that action. */ yyn += yytoken; if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) goto yydefault; yyn = yytable[yyn]; if (yyn <= 0) { if (yytable_value_is_error (yyn)) goto yyerrlab; yyn = -yyn; goto yyreduce; } /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; /* Shift the lookahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); /* Discard the shifted token. */ yychar = YYEMPTY; yystate = yyn; YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; YY_IGNORE_MAYBE_UNINITIALIZED_END goto yynewstate; /*-----------------------------------------------------------. | yydefault -- do the default action for the current state. | `-----------------------------------------------------------*/ yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; goto yyreduce; /*-----------------------------. | yyreduce -- Do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; /* If YYLEN is nonzero, implement the default value of the action: '$$ = $1'. Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized. */ yyval = yyvsp[1-yylen]; YY_REDUCE_PRINT (yyn); switch (yyn) { case 2: { pParser->PushQuery(); } break; case 126: { pParser->PushQuery(); } break; case 127: { pParser->PushQuery(); } break; case 128: { pParser->PushQuery(); } break; case 133: { assert ( pParser->m_pStmt->m_eStmt==STMT_SELECT ); // set by table argument pParser->ToString ( pParser->m_pStmt->m_sTableFunc, (yyvsp[-6]) ); } break; case 135: { assert ( pParser->m_pStmt->m_eStmt==STMT_SELECT ); // set by subselect } break; case 138: { pParser->ToString ( pParser->m_pStmt->m_dTableFuncArgs.Add(), (yyvsp[0]) ); } break; case 139: { pParser->ToString ( pParser->m_pStmt->m_dTableFuncArgs.Add(), (yyvsp[0]) ); } break; case 143: { CSphVector & dItems = pParser->m_pQuery->m_dItems; if ( dItems.GetLength()!=1 || dItems[0].m_sExpr!="*" ) { yyerror ( pParser, "outer select list must be a single star" ); YYERROR; } dItems.Reset(); pParser->ResetSelect(); } break; case 144: { pParser->ToString ( pParser->m_pQuery->m_sOuterOrderBy, (yyvsp[0]) ); pParser->m_pQuery->m_bHasOuter = true; } break; case 146: { pParser->m_pQuery->m_iOuterLimit = (yyvsp[0]).m_iValue; pParser->m_pQuery->m_bHasOuter = true; } break; case 147: { pParser->m_pQuery->m_iOuterOffset = (yyvsp[-2]).m_iValue; pParser->m_pQuery->m_iOuterLimit = (yyvsp[0]).m_iValue; pParser->m_pQuery->m_bHasOuter = true; } break; case 148: { pParser->m_pStmt->m_eStmt = STMT_SELECT; pParser->ToString ( pParser->m_pQuery->m_sIndexes, (yyvsp[-7]) ); } break; case 151: { pParser->AddItem ( &(yyvsp[0]) ); } break; case 154: { pParser->AliasLastItem ( &(yyvsp[0]) ); } break; case 155: { pParser->AliasLastItem ( &(yyvsp[0]) ); } break; case 156: { pParser->AddItem ( &(yyvsp[0]) ); } break; case 157: { pParser->AddItem ( &(yyvsp[-1]), SPH_AGGR_AVG, &(yyvsp[-3]), &(yyvsp[0]) ); } break; case 158: { pParser->AddItem ( &(yyvsp[-1]), SPH_AGGR_MAX, &(yyvsp[-3]), &(yyvsp[0]) ); } break; case 159: { pParser->AddItem ( &(yyvsp[-1]), SPH_AGGR_MIN, &(yyvsp[-3]), &(yyvsp[0]) ); } break; case 160: { pParser->AddItem ( &(yyvsp[-1]), SPH_AGGR_SUM, &(yyvsp[-3]), &(yyvsp[0]) ); } break; case 161: { pParser->AddItem ( &(yyvsp[-1]), SPH_AGGR_CAT, &(yyvsp[-3]), &(yyvsp[0]) ); } break; case 162: { if ( !pParser->AddItem ( "count(*)", &(yyvsp[-3]), &(yyvsp[0]) ) ) YYERROR; } break; case 163: { if ( !pParser->AddItem ( "groupby()", &(yyvsp[-2]), &(yyvsp[0]) ) ) YYERROR; } break; case 164: { if ( !pParser->AddDistinct ( &(yyvsp[-1]), &(yyvsp[-4]), &(yyvsp[0]) ) ) YYERROR; } break; case 166: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 173: { if ( !pParser->SetMatch((yyvsp[-1])) ) YYERROR; } break; case 175: { CSphFilterSettings * pFilter = pParser->AddValuesFilter ( (yyvsp[-2]) ); if ( !pFilter ) YYERROR; pFilter->m_dValues.Add ( (yyvsp[0]).m_iValue ); } break; case 176: { CSphFilterSettings * pFilter = pParser->AddValuesFilter ( (yyvsp[-2]) ); if ( !pFilter ) YYERROR; pFilter->m_dValues.Add ( (yyvsp[0]).m_iValue ); pFilter->m_bExclude = true; } break; case 177: { CSphFilterSettings * pFilter = pParser->AddValuesFilter ( (yyvsp[-4]) ); if ( !pFilter ) YYERROR; pFilter->m_dValues = *(yyvsp[-1]).m_pValues.Ptr(); pFilter->m_dValues.Uniq(); } break; case 178: { CSphFilterSettings * pFilter = pParser->AddValuesFilter ( (yyvsp[-5]) ); if ( !pFilter ) YYERROR; pFilter->m_dValues = *(yyvsp[-1]).m_pValues.Ptr(); pFilter->m_dValues.Uniq(); pFilter->m_bExclude = true; } break; case 179: { if ( !pParser->AddStringListFilter ( (yyvsp[-4]), (yyvsp[-1]), false ) ) YYERROR; } break; case 180: { if ( !pParser->AddStringListFilter ( (yyvsp[-5]), (yyvsp[-1]), true ) ) YYERROR; } break; case 181: { if ( !pParser->AddUservarFilter ( (yyvsp[-2]), (yyvsp[0]), false ) ) YYERROR; } break; case 182: { if ( !pParser->AddUservarFilter ( (yyvsp[-3]), (yyvsp[0]), true ) ) YYERROR; } break; case 183: { if ( !pParser->AddIntRangeFilter ( (yyvsp[-4]), (yyvsp[-2]).m_iValue, (yyvsp[0]).m_iValue ) ) YYERROR; } break; case 184: { if ( !pParser->AddIntFilterGreater ( (yyvsp[-2]), (yyvsp[0]).m_iValue, false ) ) YYERROR; } break; case 185: { if ( !pParser->AddIntFilterLesser ( (yyvsp[-2]), (yyvsp[0]).m_iValue, false ) ) YYERROR; } break; case 186: { if ( !pParser->AddIntFilterGreater ( (yyvsp[-2]), (yyvsp[0]).m_iValue, true ) ) YYERROR; } break; case 187: { if ( !pParser->AddIntFilterLesser ( (yyvsp[-2]), (yyvsp[0]).m_iValue, true ) ) YYERROR; } break; case 188: { if ( !pParser->AddFloatRangeFilter ( (yyvsp[-2]), (yyvsp[0]).m_fValue, (yyvsp[0]).m_fValue, true ) ) YYERROR; } break; case 189: { if ( !pParser->AddFloatRangeFilter ( (yyvsp[-2]), (yyvsp[0]).m_fValue, (yyvsp[0]).m_fValue, true, true ) ) YYERROR; } break; case 190: { if ( !pParser->AddFloatRangeFilter ( (yyvsp[-4]), (yyvsp[-2]).m_fValue, (yyvsp[0]).m_fValue, true ) ) YYERROR; } break; case 191: { if ( !pParser->AddFloatRangeFilter ( (yyvsp[-4]), (yyvsp[-2]).m_iValue, (yyvsp[0]).m_fValue, true ) ) YYERROR; } break; case 192: { if ( !pParser->AddFloatRangeFilter ( (yyvsp[-4]), (yyvsp[-2]).m_fValue, (yyvsp[0]).m_iValue, true ) ) YYERROR; } break; case 193: { if ( !pParser->AddFloatRangeFilter ( (yyvsp[-2]), (yyvsp[0]).m_fValue, FLT_MAX, false ) ) YYERROR; } break; case 194: { if ( !pParser->AddFloatRangeFilter ( (yyvsp[-2]), -FLT_MAX, (yyvsp[0]).m_fValue, false ) ) YYERROR; } break; case 195: { if ( !pParser->AddFloatRangeFilter ( (yyvsp[-2]), (yyvsp[0]).m_fValue, FLT_MAX, true ) ) YYERROR; } break; case 196: { if ( !pParser->AddFloatRangeFilter ( (yyvsp[-2]), -FLT_MAX, (yyvsp[0]).m_fValue, true ) ) YYERROR; } break; case 197: { if ( !pParser->AddStringFilter ( (yyvsp[-2]), (yyvsp[0]), false ) ) YYERROR; } break; case 198: { if ( !pParser->AddStringFilter ( (yyvsp[-2]), (yyvsp[0]), true ) ) YYERROR; } break; case 199: { if ( !pParser->AddNullFilter ( (yyvsp[-2]), true ) ) YYERROR; } break; case 200: { if ( !pParser->AddNullFilter ( (yyvsp[-3]), false ) ) YYERROR; } break; case 202: { if ( !pParser->SetOldSyntax() ) YYERROR; } break; case 203: { (yyval).m_iType = SPHINXQL_TOK_COUNT; if ( !pParser->SetNewSyntax() ) YYERROR; } break; case 204: { (yyval).m_iType = SPHINXQL_TOK_GROUPBY; if ( !pParser->SetNewSyntax() ) YYERROR; } break; case 205: { (yyval).m_iType = SPHINXQL_TOK_WEIGHT; if ( !pParser->SetNewSyntax() ) YYERROR; } break; case 206: { (yyval).m_iType = SPHINXQL_TOK_ID; if ( !pParser->SetNewSyntax() ) YYERROR; } break; case 212: { (yyval).m_iType = TOK_CONST_INT; (yyval).m_iValue = (yyvsp[0]).m_iValue; } break; case 213: { (yyval).m_iType = TOK_CONST_INT; if ( (uint64_t)(yyvsp[0]).m_iValue > (uint64_t)LLONG_MAX ) (yyval).m_iValue = LLONG_MIN; else (yyval).m_iValue = -(yyvsp[0]).m_iValue; } break; case 214: { (yyval).m_iType = TOK_CONST_FLOAT; (yyval).m_fValue = (yyvsp[0]).m_fValue; } break; case 215: { (yyval).m_iType = TOK_CONST_FLOAT; (yyval).m_fValue = -(yyvsp[0]).m_fValue; } break; case 216: { (yyval).m_iType = TOK_CONST_FLOAT; (yyval).m_fValue = (yyvsp[0]).m_fValue; } break; case 217: { assert ( !(yyval).m_pValues.Ptr() ); (yyval).m_pValues = new RefcountedVector_c (); (yyval).m_pValues->Add ( (yyvsp[0]).m_iValue ); } break; case 218: { (yyval).m_pValues->Add ( (yyvsp[0]).m_iValue ); } break; case 219: { assert ( !(yyval).m_pValues.Ptr() ); (yyval).m_pValues = new RefcountedVector_c (); (yyval).m_pValues->Add ( (yyvsp[0]).m_iValue ); } break; case 220: { (yyval).m_pValues->Add ( (yyvsp[0]).m_iValue ); } break; case 224: { pParser->SetGroupbyLimit ( (yyvsp[0]).m_iValue ); } break; case 225: { pParser->AddGroupBy ( (yyvsp[0]) ); } break; case 226: { pParser->AddGroupBy ( (yyvsp[0]) ); } break; case 228: { pParser->AddHaving(); } break; case 231: { if ( pParser->m_pQuery->m_sGroupBy.IsEmpty() ) { yyerror ( pParser, "you must specify GROUP BY element in order to use WITHIN GROUP ORDER BY clause" ); YYERROR; } pParser->ToString ( pParser->m_pQuery->m_sSortBy, (yyvsp[0]) ); } break; case 234: { pParser->ToString ( pParser->m_pQuery->m_sOrderBy, (yyvsp[0]) ); } break; case 235: { pParser->m_pQuery->m_sOrderBy = "@random"; } break; case 237: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 239: { TRACK_BOUNDS ( (yyval), (yyvsp[-1]), (yyvsp[0]) ); } break; case 240: { TRACK_BOUNDS ( (yyval), (yyvsp[-1]), (yyvsp[0]) ); } break; case 243: { pParser->m_pQuery->m_iOffset = 0; pParser->m_pQuery->m_iLimit = (yyvsp[0]).m_iValue; } break; case 244: { pParser->m_pQuery->m_iOffset = (yyvsp[-2]).m_iValue; pParser->m_pQuery->m_iLimit = (yyvsp[0]).m_iValue; } break; case 250: { if ( !pParser->AddOption ( (yyvsp[-2]), (yyvsp[0]) ) ) YYERROR; } break; case 251: { if ( !pParser->AddOption ( (yyvsp[-2]), (yyvsp[0]) ) ) YYERROR; } break; case 252: { if ( !pParser->AddOption ( (yyvsp[-4]), pParser->GetNamedVec ( (yyvsp[-1]).m_iValue ) ) ) YYERROR; pParser->FreeNamedVec ( (yyvsp[-1]).m_iValue ); } break; case 253: { if ( !pParser->AddOption ( (yyvsp[-5]), (yyvsp[-3]), (yyvsp[-1]) ) ) YYERROR; } break; case 254: { if ( !pParser->AddOption ( (yyvsp[-2]), (yyvsp[0]) ) ) YYERROR; } break; case 255: { (yyval).m_iValue = pParser->AllocNamedVec (); pParser->AddConst ( (yyval).m_iValue, (yyvsp[0]) ); } break; case 256: { pParser->AddConst( (yyval).m_iValue, (yyvsp[0]) ); } break; case 257: { (yyval) = (yyvsp[-2]); (yyval).m_iValue = (yyvsp[0]).m_iValue; } break; case 259: { if ( !pParser->SetOldSyntax() ) YYERROR; } break; case 260: { if ( !pParser->SetNewSyntax() ) YYERROR; } break; case 265: { TRACK_BOUNDS ( (yyval), (yyvsp[-1]), (yyvsp[0]) ); } break; case 266: { TRACK_BOUNDS ( (yyval), (yyvsp[-1]), (yyvsp[0]) ); } break; case 267: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 268: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 269: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 270: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 271: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 272: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 273: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 274: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 275: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 276: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 277: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 278: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 279: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 280: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 281: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 282: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 283: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 284: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 285: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 289: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 290: { TRACK_BOUNDS ( (yyval), (yyvsp[-3]), (yyvsp[0]) ); } break; case 291: { TRACK_BOUNDS ( (yyval), (yyvsp[-3]), (yyvsp[0]) ); } break; case 292: { TRACK_BOUNDS ( (yyval), (yyvsp[-3]), (yyvsp[0]) ); } break; case 293: { TRACK_BOUNDS ( (yyval), (yyvsp[-3]), (yyvsp[0]) ); } break; case 294: { TRACK_BOUNDS ( (yyval), (yyvsp[-3]), (yyvsp[0]) ); } break; case 295: { TRACK_BOUNDS ( (yyval), (yyvsp[-3]), (yyvsp[0]) ); } break; case 296: { TRACK_BOUNDS ( (yyval), (yyvsp[-3]), (yyvsp[0]) ); } break; case 297: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 298: { TRACK_BOUNDS ( (yyval), (yyvsp[-5]), (yyvsp[0]) ); } break; case 299: { TRACK_BOUNDS ( (yyval), (yyvsp[-5]), (yyvsp[0]) ); } break; case 300: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 301: { TRACK_BOUNDS ( (yyval), (yyvsp[-7]), (yyvsp[0]) ); } break; case 302: { TRACK_BOUNDS ( (yyval), (yyvsp[-13]), (yyvsp[0]) ); } break; case 307: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 308: { TRACK_BOUNDS ( (yyval), (yyvsp[-4]), (yyvsp[0]) ); } break; case 315: { pParser->ToStringUnescape ( pParser->m_pStmt->m_sStringParam, (yyvsp[0]) ); } break; case 316: { pParser->m_pStmt->m_eStmt = STMT_SHOW_WARNINGS; } break; case 317: { pParser->m_pStmt->m_eStmt = STMT_SHOW_STATUS; } break; case 318: { pParser->m_pStmt->m_eStmt = STMT_SHOW_META; } break; case 319: { pParser->m_pStmt->m_eStmt = STMT_SHOW_AGENT_STATUS; } break; case 320: { pParser->m_pStmt->m_eStmt = STMT_SHOW_PROFILE; } break; case 321: { pParser->m_pStmt->m_eStmt = STMT_SHOW_PLAN; } break; case 322: { pParser->m_pStmt->m_eStmt = STMT_SHOW_PLUGINS; } break; case 323: { pParser->m_pStmt->m_eStmt = STMT_SHOW_THREADS; } break; case 324: { pParser->m_pStmt->m_eStmt = STMT_SHOW_AGENT_STATUS; pParser->ToStringUnescape ( pParser->m_pStmt->m_sIndex, (yyvsp[-2]) ); } break; case 325: { pParser->m_pStmt->m_eStmt = STMT_SHOW_AGENT_STATUS; pParser->ToString ( pParser->m_pStmt->m_sIndex, (yyvsp[-2]) ); } break; case 326: { pParser->m_pStmt->m_eStmt = STMT_SHOW_INDEX_STATUS; pParser->ToString ( pParser->m_pStmt->m_sIndex, (yyvsp[-1]) ); } break; case 327: { pParser->m_pStmt->m_eStmt = STMT_SHOW_INDEX_SETTINGS; pParser->ToString ( pParser->m_pStmt->m_sIndex, (yyvsp[-2]) ); } break; case 328: { pParser->m_pStmt->m_eStmt = STMT_SHOW_INDEX_SETTINGS; pParser->ToString ( pParser->m_pStmt->m_sIndex, (yyvsp[-2]) ); pParser->m_pStmt->m_iIntParam = int((yyvsp[-1]).m_fValue*10); } break; case 332: { pParser->m_pStmt->m_iIntParam = (yyvsp[0]).m_iValue; } break; case 333: { pParser->SetStatement ( (yyvsp[-2]), SET_LOCAL ); pParser->m_pStmt->m_iSetValue = (yyvsp[0]).m_iValue; } break; case 334: { pParser->SetStatement ( (yyvsp[-2]), SET_LOCAL ); pParser->ToString ( pParser->m_pStmt->m_sSetValue, (yyvsp[0]) ); } break; case 335: { pParser->SetStatement ( (yyvsp[-2]), SET_LOCAL ); pParser->m_pStmt->m_bSetNull = true; } break; case 336: { pParser->m_pStmt->m_eStmt = STMT_DUMMY; } break; case 337: { pParser->m_pStmt->m_eStmt = STMT_DUMMY; } break; case 338: { pParser->m_pStmt->m_eStmt = STMT_DUMMY; } break; case 339: { pParser->SetStatement ( (yyvsp[-4]), SET_GLOBAL_UVAR ); pParser->m_pStmt->m_dSetValues = *(yyvsp[-1]).m_pValues.Ptr(); } break; case 340: { pParser->SetStatement ( (yyvsp[-2]), SET_GLOBAL_SVAR ); pParser->ToString ( pParser->m_pStmt->m_sSetValue, (yyvsp[0]) ).Unquote(); } break; case 341: { pParser->SetStatement ( (yyvsp[-2]), SET_GLOBAL_SVAR ); pParser->m_pStmt->m_iSetValue = (yyvsp[0]).m_iValue; } break; case 342: { pParser->SetStatement ( (yyvsp[-4]), SET_INDEX_UVAR ); pParser->m_pStmt->m_dSetValues = *(yyvsp[-1]).m_pValues.Ptr(); pParser->ToString ( pParser->m_pStmt->m_sIndex, (yyvsp[-6]) ); } break; case 345: { (yyval).m_iValue = 1; } break; case 346: { (yyval).m_iValue = 0; } break; case 347: { (yyval).m_iValue = (yyvsp[0]).m_iValue; if ( (yyval).m_iValue!=0 && (yyval).m_iValue!=1 ) { yyerror ( pParser, "only 0 and 1 could be used as boolean values" ); YYERROR; } } break; case 355: { pParser->m_pStmt->m_eStmt = STMT_COMMIT; } break; case 356: { pParser->m_pStmt->m_eStmt = STMT_ROLLBACK; } break; case 357: { pParser->m_pStmt->m_eStmt = STMT_BEGIN; } break; case 360: { // everything else is pushed directly into parser within the rules pParser->ToString ( pParser->m_pStmt->m_sIndex, (yyvsp[-4]) ); } break; case 361: { pParser->m_pStmt->m_eStmt = STMT_INSERT; } break; case 362: { pParser->m_pStmt->m_eStmt = STMT_REPLACE; } break; case 367: { if ( !pParser->AddSchemaItem ( &(yyvsp[0]) ) ) { yyerror ( pParser, "unknown field" ); YYERROR; } } break; case 368: { if ( !pParser->AddSchemaItem ( &(yyvsp[0]) ) ) { yyerror ( pParser, "unknown field" ); YYERROR; } } break; case 371: { if ( !pParser->m_pStmt->CheckInsertIntegrity() ) { yyerror ( pParser, "wrong number of values here" ); YYERROR; } } break; case 372: { AddInsval ( pParser, pParser->m_pStmt->m_dInsertValues, (yyvsp[0]) ); } break; case 373: { AddInsval ( pParser, pParser->m_pStmt->m_dInsertValues, (yyvsp[0]) ); } break; case 374: { (yyval).m_iType = TOK_CONST_INT; (yyval).m_iValue = (yyvsp[0]).m_iValue; } break; case 375: { (yyval).m_iType = TOK_CONST_FLOAT; (yyval).m_fValue = (yyvsp[0]).m_fValue; } break; case 376: { (yyval).m_iType = TOK_QUOTED_STRING; (yyval).m_iStart = (yyvsp[0]).m_iStart; (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 377: { (yyval).m_iType = TOK_CONST_MVA; (yyval).m_pValues = (yyvsp[-1]).m_pValues; } break; case 378: { (yyval).m_iType = TOK_CONST_MVA; } break; case 383: { if ( !pParser->AddInsertOption ( (yyvsp[-2]), (yyvsp[0]) ) ) YYERROR; } break; case 384: { if ( !pParser->DeleteStatement ( &(yyvsp[-1]) ) ) YYERROR; } break; case 385: { pParser->m_pStmt->m_eStmt = STMT_CALL; pParser->ToString ( pParser->m_pStmt->m_sCallProc, (yyvsp[-4]) ); } break; case 386: { AddInsval ( pParser, pParser->m_pStmt->m_dInsertValues, (yyvsp[0]) ); } break; case 387: { AddInsval ( pParser, pParser->m_pStmt->m_dInsertValues, (yyvsp[0]) ); } break; case 389: { (yyval).m_iType = TOK_CONST_STRINGS; } break; case 390: { // FIXME? for now, one such array per CALL statement, tops if ( pParser->m_pStmt->m_dCallStrings.GetLength() ) { yyerror ( pParser, "unexpected constant string list" ); YYERROR; } pParser->ToStringUnescape ( pParser->m_pStmt->m_dCallStrings.Add(), (yyvsp[0]) ); } break; case 391: { pParser->ToStringUnescape ( pParser->m_pStmt->m_dCallStrings.Add(), (yyvsp[0]) ); } break; case 394: { assert ( pParser->m_pStmt->m_dCallOptNames.GetLength()==1 ); assert ( pParser->m_pStmt->m_dCallOptValues.GetLength()==1 ); } break; case 396: { pParser->ToString ( pParser->m_pStmt->m_dCallOptNames.Add(), (yyvsp[0]) ); AddInsval ( pParser, pParser->m_pStmt->m_dCallOptValues, (yyvsp[-2]) ); } break; case 401: { pParser->m_pStmt->m_eStmt = STMT_DESCRIBE; pParser->ToString ( pParser->m_pStmt->m_sIndex, (yyvsp[-1]) ); } break; case 404: { pParser->m_pStmt->m_eStmt = STMT_SHOW_TABLES; } break; case 405: { pParser->m_pStmt->m_eStmt = STMT_SHOW_DATABASES; } break; case 406: { if ( !pParser->UpdateStatement ( &(yyvsp[-4]) ) ) YYERROR; } break; case 409: { // it is performance-critical to forcibly inline this pParser->m_pStmt->m_tUpdate.m_dPool.Add ( (DWORD)(yyvsp[0]).m_iValue ); DWORD uHi = (DWORD)( (yyvsp[0]).m_iValue>>32 ); if ( uHi ) { pParser->m_pStmt->m_tUpdate.m_dPool.Add ( uHi ); pParser->AddUpdatedAttr ( (yyvsp[-2]), SPH_ATTR_BIGINT ); } else { pParser->AddUpdatedAttr ( (yyvsp[-2]), SPH_ATTR_INTEGER ); } } break; case 410: { // it is performance-critical to forcibly inline this pParser->m_pStmt->m_tUpdate.m_dPool.Add ( sphF2DW ( (yyvsp[0]).m_fValue ) ); pParser->AddUpdatedAttr ( (yyvsp[-2]), SPH_ATTR_FLOAT ); } break; case 411: { pParser->UpdateMVAAttr ( (yyvsp[-4]), (yyvsp[-1]) ); } break; case 412: { SqlNode_t tNoValues; pParser->UpdateMVAAttr ( (yyvsp[-3]), tNoValues ); } break; case 413: { // it is performance-critical to forcibly inline this pParser->m_pStmt->m_tUpdate.m_dPool.Add ( (DWORD)(yyvsp[0]).m_iValue ); DWORD uHi = (DWORD)( (yyvsp[0]).m_iValue>>32 ); if ( uHi ) { pParser->m_pStmt->m_tUpdate.m_dPool.Add ( uHi ); pParser->AddUpdatedAttr ( (yyvsp[-2]), SPH_ATTR_BIGINT ); } else { pParser->AddUpdatedAttr ( (yyvsp[-2]), SPH_ATTR_INTEGER ); } } break; case 414: { // it is performance-critical to forcibly inline this pParser->m_pStmt->m_tUpdate.m_dPool.Add ( sphF2DW ( (yyvsp[0]).m_fValue ) ); pParser->AddUpdatedAttr ( (yyvsp[-2]), SPH_ATTR_FLOAT ); } break; case 415: { (yyval).m_iValue = SPH_ATTR_INTEGER; } break; case 416: { (yyval).m_iValue = SPH_ATTR_BIGINT; } break; case 417: { (yyval).m_iValue = SPH_ATTR_FLOAT; } break; case 418: { (yyval).m_iValue = SPH_ATTR_BOOL; } break; case 419: { (yyval).m_iValue = SPH_ATTR_UINT32SET; } break; case 420: { (yyval).m_iValue = SPH_ATTR_INT64SET; } break; case 421: { (yyval).m_iValue = SPH_ATTR_JSON; } break; case 422: { (yyval).m_iValue = SPH_ATTR_STRING; } break; case 423: { (yyval).m_iValue = SPH_ATTR_INTEGER; } break; case 424: { SqlStmt_t & tStmt = *pParser->m_pStmt; tStmt.m_eStmt = STMT_ALTER_ADD; pParser->ToString ( tStmt.m_sIndex, (yyvsp[-4]) ); pParser->ToString ( tStmt.m_sAlterAttr, (yyvsp[-1]) ); tStmt.m_eAlterColType = (ESphAttr)(yyvsp[0]).m_iValue; } break; case 425: { SqlStmt_t & tStmt = *pParser->m_pStmt; tStmt.m_eStmt = STMT_ALTER_DROP; pParser->ToString ( tStmt.m_sIndex, (yyvsp[-3]) ); pParser->ToString ( tStmt.m_sAlterAttr, (yyvsp[0]) ); } break; case 426: { SqlStmt_t & tStmt = *pParser->m_pStmt; tStmt.m_eStmt = STMT_ALTER_RECONFIGURE; pParser->ToString ( tStmt.m_sIndex, (yyvsp[-1]) ); } break; case 427: { pParser->m_pStmt->m_eStmt = STMT_SHOW_VARIABLES; } break; case 428: { pParser->m_pStmt->m_eStmt = STMT_SHOW_VARIABLES; pParser->ToStringUnescape ( pParser->m_pStmt->m_sStringParam, (yyvsp[0]) ); } break; case 435: { pParser->m_pStmt->m_eStmt = STMT_SHOW_COLLATION; } break; case 436: { pParser->m_pStmt->m_eStmt = STMT_SHOW_CHARACTER_SET; } break; case 437: { pParser->m_pStmt->m_eStmt = STMT_DUMMY; } break; case 445: { SqlStmt_t & tStmt = *pParser->m_pStmt; tStmt.m_eStmt = STMT_CREATE_FUNCTION; pParser->ToString ( tStmt.m_sUdfName, (yyvsp[-4]) ); pParser->ToStringUnescape ( tStmt.m_sUdfLib, (yyvsp[0]) ); tStmt.m_eUdfType = (ESphAttr) (yyvsp[-2]).m_iValue; } break; case 446: { (yyval).m_iValue = SPH_ATTR_INTEGER; } break; case 447: { (yyval).m_iValue = SPH_ATTR_BIGINT; } break; case 448: { (yyval).m_iValue = SPH_ATTR_FLOAT; } break; case 449: { (yyval).m_iValue = SPH_ATTR_STRINGPTR; } break; case 450: { (yyval).m_iValue = SPH_ATTR_INTEGER; } break; case 451: { SqlStmt_t & tStmt = *pParser->m_pStmt; tStmt.m_eStmt = STMT_DROP_FUNCTION; pParser->ToString ( tStmt.m_sUdfName, (yyvsp[0]) ); } break; case 452: { SqlStmt_t & tStmt = *pParser->m_pStmt; tStmt.m_eStmt = STMT_ATTACH_INDEX; pParser->ToString ( tStmt.m_sIndex, (yyvsp[-3]) ); pParser->ToString ( tStmt.m_sStringParam, (yyvsp[0]) ); } break; case 453: { SqlStmt_t & tStmt = *pParser->m_pStmt; tStmt.m_eStmt = STMT_FLUSH_RTINDEX; pParser->ToString ( tStmt.m_sIndex, (yyvsp[0]) ); } break; case 454: { SqlStmt_t & tStmt = *pParser->m_pStmt; tStmt.m_eStmt = STMT_FLUSH_RAMCHUNK; pParser->ToString ( tStmt.m_sIndex, (yyvsp[0]) ); } break; case 455: { SqlStmt_t & tStmt = *pParser->m_pStmt; tStmt.m_eStmt = STMT_FLUSH_INDEX; } break; case 456: { pParser->m_pStmt->m_eStmt = STMT_SELECT_SYSVAR; pParser->ToString ( pParser->m_pStmt->m_tQuery.m_sQuery, (yyvsp[-1]) ); } break; case 460: { pParser->AddItem ( &(yyvsp[0]) ); } break; case 461: { pParser->m_pStmt->m_eStmt = STMT_SELECT_DUAL; pParser->ToString ( pParser->m_pStmt->m_tQuery.m_sQuery, (yyvsp[0]) ); } break; case 462: { SqlStmt_t & tStmt = *pParser->m_pStmt; tStmt.m_eStmt = STMT_TRUNCATE_RTINDEX; pParser->ToString ( tStmt.m_sIndex, (yyvsp[0]) ); } break; case 463: { SqlStmt_t & tStmt = *pParser->m_pStmt; tStmt.m_eStmt = STMT_OPTIMIZE_INDEX; pParser->ToString ( tStmt.m_sIndex, (yyvsp[0]) ); } break; case 464: { SqlStmt_t & s = *pParser->m_pStmt; s.m_eStmt = STMT_CREATE_PLUGIN; pParser->ToString ( s.m_sUdfName, (yyvsp[-4]) ); pParser->ToStringUnescape ( s.m_sStringParam, (yyvsp[-2]) ); pParser->ToStringUnescape ( s.m_sUdfLib, (yyvsp[0]) ); } break; case 465: { SqlStmt_t & s = *pParser->m_pStmt; s.m_eStmt = STMT_DROP_PLUGIN; pParser->ToString ( s.m_sUdfName, (yyvsp[-2]) ); pParser->ToStringUnescape ( s.m_sStringParam, (yyvsp[0]) ); } break; case 468: { (yyval) = (yyvsp[-1]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 470: { (yyval) = (yyvsp[-1]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 471: { (yyval) = (yyvsp[0]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 472: { (yyval) = (yyvsp[0]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 473: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 474: { (yyval) = (yyvsp[-2]); (yyval).m_iEnd = (yyvsp[0]).m_iEnd; } break; case 475: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 476: { TRACK_BOUNDS ( (yyval), (yyvsp[-2]), (yyvsp[0]) ); } break; case 480: { pParser->m_pQuery->m_sFacetBy = pParser->m_pQuery->m_sGroupBy; pParser->m_pQuery->m_sGroupBy = ""; pParser->AddCount (); } break; case 482: { pParser->AddItem ( &(yyvsp[0]) ); pParser->AddGroupBy ( (yyvsp[0]) ); } break; case 485: { pParser->m_pStmt->m_eStmt = STMT_FACET; if ( pParser->m_pQuery->m_sFacetBy.IsEmpty() ) { pParser->m_pQuery->m_sFacetBy = pParser->m_pQuery->m_sGroupBy; pParser->AddCount (); } } break; default: break; } /* User semantic actions sometimes alter yychar, and that requires that yytoken be updated with the new translation. We take the approach of translating immediately before every use of yytoken. One alternative is translating here after every semantic action, but that translation would be missed if the semantic action invokes YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an incorrect destructor might then be invoked immediately. In the case of YYERROR or YYBACKUP, subsequent parser actions might lead to an incorrect destructor call or verbose syntax error message before the lookahead is translated. */ YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; /* Now 'shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ yyn = yyr1[yyn]; yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else yystate = yydefgoto[yyn - YYNTOKENS]; goto yynewstate; /*--------------------------------------. | yyerrlab -- here on detecting error. | `--------------------------------------*/ yyerrlab: /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; #if ! YYERROR_VERBOSE yyerror (pParser, YY_("syntax error")); #else # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ yyssp, yytoken) { char const *yymsgp = YY_("syntax error"); int yysyntax_error_status; yysyntax_error_status = YYSYNTAX_ERROR; if (yysyntax_error_status == 0) yymsgp = yymsg; else if (yysyntax_error_status == 1) { if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); if (!yymsg) { yymsg = yymsgbuf; yymsg_alloc = sizeof yymsgbuf; yysyntax_error_status = 2; } else { yysyntax_error_status = YYSYNTAX_ERROR; yymsgp = yymsg; } } yyerror (pParser, yymsgp); if (yysyntax_error_status == 2) goto yyexhaustedlab; } # undef YYSYNTAX_ERROR #endif } if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an error, discard it. */ if (yychar <= YYEOF) { /* Return failure if at end of input. */ if (yychar == YYEOF) YYABORT; } else { yydestruct ("Error: discarding", yytoken, &yylval, pParser); yychar = YYEMPTY; } } /* Else will try to reuse lookahead token after shifting the error token. */ goto yyerrlab1; /*---------------------------------------------------. | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: /* Pacify compilers like GCC when the user code never invokes YYERROR and the label yyerrorlab therefore never appears in user code. */ if (/*CONSTCOND*/ 0) goto yyerrorlab; /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); yystate = *yyssp; goto yyerrlab1; /*-------------------------------------------------------------. | yyerrlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) { yyn = yypact[yystate]; if (!yypact_value_is_default (yyn)) { yyn += YYTERROR; if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) { yyn = yytable[yyn]; if (0 < yyn) break; } } /* Pop the current state because it cannot handle the error token. */ if (yyssp == yyss) YYABORT; yydestruct ("Error: popping", yystos[yystate], yyvsp, pParser); YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); } YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; YY_IGNORE_MAYBE_UNINITIALIZED_END /* Shift the error token. */ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); yystate = yyn; goto yynewstate; /*-------------------------------------. | yyacceptlab -- YYACCEPT comes here. | `-------------------------------------*/ yyacceptlab: yyresult = 0; goto yyreturn; /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ yyabortlab: yyresult = 1; goto yyreturn; #if !defined yyoverflow || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ yyexhaustedlab: yyerror (pParser, YY_("memory exhausted")); yyresult = 2; /* Fall through. */ #endif yyreturn: if (yychar != YYEMPTY) { /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ yytoken = YYTRANSLATE (yychar); yydestruct ("Cleanup: discarding lookahead", yytoken, &yylval, pParser); } /* Do not reclaim the symbols of the rule whose action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (yylen); YY_STACK_PRINT (yyss, yyssp); while (yyssp != yyss) { yydestruct ("Cleanup: popping", yystos[*yyssp], yyvsp, pParser); YYPOPSTACK (1); } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif #if YYERROR_VERBOSE if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); #endif return yyresult; } #if USE_WINDOWS #pragma warning(pop) #endif sphinx-2.2.11-release/src/yysphinxjson.h0000644000175000017500000000420712743402012017607 0ustar alexeyalexey/* A Bison parser, made by GNU Bison 3.0.2. */ /* Bison interface for Yacc-like parsers in C Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ #ifndef YY_YY_YYSPHINXJSON_H_INCLUDED # define YY_YY_YYSPHINXJSON_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif #if YYDEBUG extern int yydebug; #endif /* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE enum yytokentype { TOK_IDENT = 258, TOK_INT = 259, TOK_FLOAT = 260, TOK_STRING = 261, TOK_TRUE = 262, TOK_FALSE = 263, TOK_NULL = 264 }; #endif /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef int YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 #endif int yyparse (JsonParser_c * pParser); #endif /* !YY_YY_YYSPHINXJSON_H_INCLUDED */ sphinx-2.2.11-release/src/yysphinxjson.c0000644000175000017500000013203712743402012017605 0ustar alexeyalexey/* A Bison parser, made by GNU Bison 3.0.2. */ /* Bison implementation for Yacc-like parsers in C Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ /* C LALR(1) parser skeleton written by Richard Stallman, by simplifying the original so-called "semantic" parser. */ /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. There are some unavoidable exceptions within include files to define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ /* Identify Bison output. */ #define YYBISON 1 /* Bison version. */ #define YYBISON_VERSION "3.0.2" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" /* Pure parsers. */ #define YYPURE 1 /* Push parsers. */ #define YYPUSH 0 /* Pull parsers. */ #define YYPULL 1 /* Copy the first part of user declarations. */ #if USE_WINDOWS #pragma warning(push,1) #pragma warning(disable:4702) // unreachable code #endif # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus # define YY_NULLPTR nullptr # else # define YY_NULLPTR 0 # endif # endif /* Enabling verbose error messages. */ #ifdef YYERROR_VERBOSE # undef YYERROR_VERBOSE # define YYERROR_VERBOSE 1 #else # define YYERROR_VERBOSE 1 #endif /* In a future release of Bison, this section will be replaced by #include "yysphinxjson.h". */ #ifndef YY_YY_YYSPHINXJSON_H_INCLUDED # define YY_YY_YYSPHINXJSON_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif #if YYDEBUG extern int yydebug; #endif /* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE enum yytokentype { TOK_IDENT = 258, TOK_INT = 259, TOK_FLOAT = 260, TOK_STRING = 261, TOK_TRUE = 262, TOK_FALSE = 263, TOK_NULL = 264 }; #endif /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef int YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 #endif int yyparse (JsonParser_c * pParser); #endif /* !YY_YY_YYSPHINXJSON_H_INCLUDED */ /* Copy the second part of user declarations. */ #ifdef short # undef short #endif #ifdef YYTYPE_UINT8 typedef YYTYPE_UINT8 yytype_uint8; #else typedef unsigned char yytype_uint8; #endif #ifdef YYTYPE_INT8 typedef YYTYPE_INT8 yytype_int8; #else typedef signed char yytype_int8; #endif #ifdef YYTYPE_UINT16 typedef YYTYPE_UINT16 yytype_uint16; #else typedef unsigned short int yytype_uint16; #endif #ifdef YYTYPE_INT16 typedef YYTYPE_INT16 yytype_int16; #else typedef short int yytype_int16; #endif #ifndef YYSIZE_T # ifdef __SIZE_TYPE__ # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t # elif ! defined YYSIZE_T # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else # define YYSIZE_T unsigned int # endif #endif #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ # if defined YYENABLE_NLS && YYENABLE_NLS # if ENABLE_NLS # include /* INFRINGES ON USER NAME SPACE */ # define YY_(Msgid) dgettext ("bison-runtime", Msgid) # endif # endif # ifndef YY_ # define YY_(Msgid) Msgid # endif #endif #ifndef YY_ATTRIBUTE # if (defined __GNUC__ \ && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C # define YY_ATTRIBUTE(Spec) __attribute__(Spec) # else # define YY_ATTRIBUTE(Spec) /* empty */ # endif #endif #ifndef YY_ATTRIBUTE_PURE # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) #endif #ifndef YY_ATTRIBUTE_UNUSED # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) #endif #if !defined _Noreturn \ && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) # if defined _MSC_VER && 1200 <= _MSC_VER # define _Noreturn __declspec (noreturn) # else # define _Noreturn YY_ATTRIBUTE ((__noreturn__)) # endif #endif /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(E) ((void) (E)) #else # define YYUSE(E) /* empty */ #endif #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ /* Suppress an incorrect diagnostic about yylval being uninitialized. */ # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ _Pragma ("GCC diagnostic pop") #else # define YY_INITIAL_VALUE(Value) Value #endif #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN # define YY_IGNORE_MAYBE_UNINITIALIZED_END #endif #ifndef YY_INITIAL_VALUE # define YY_INITIAL_VALUE(Value) /* Nothing. */ #endif #if ! defined yyoverflow || YYERROR_VERBOSE /* The parser invokes alloca or malloc; define the necessary symbols. */ # ifdef YYSTACK_USE_ALLOCA # if YYSTACK_USE_ALLOCA # ifdef __GNUC__ # define YYSTACK_ALLOC __builtin_alloca # elif defined __BUILTIN_VA_ARG_INCR # include /* INFRINGES ON USER NAME SPACE */ # elif defined _AIX # define YYSTACK_ALLOC __alloca # elif defined _MSC_VER # include /* INFRINGES ON USER NAME SPACE */ # define alloca _alloca # else # define YYSTACK_ALLOC alloca # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS # include /* INFRINGES ON USER NAME SPACE */ /* Use EXIT_SUCCESS as a witness for stdlib.h. */ # ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 # endif # endif # endif # endif # endif # ifdef YYSTACK_ALLOC /* Pacify GCC's 'empty if-body' warning. */ # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) # ifndef YYSTACK_ALLOC_MAXIMUM /* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely invoke alloca (N) if N exceeds 4096. Use a slightly smaller number to allow for a few compiler-allocated temporary stack slots. */ # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ # endif # else # define YYSTACK_ALLOC YYMALLOC # define YYSTACK_FREE YYFREE # ifndef YYSTACK_ALLOC_MAXIMUM # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM # endif # if (defined __cplusplus && ! defined EXIT_SUCCESS \ && ! ((defined YYMALLOC || defined malloc) \ && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ # ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 # endif # endif # ifndef YYMALLOC # define YYMALLOC malloc # if ! defined malloc && ! defined EXIT_SUCCESS void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free # if ! defined free && ! defined EXIT_SUCCESS void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif # endif #endif /* ! defined yyoverflow || YYERROR_VERBOSE */ #if (! defined yyoverflow \ && (! defined __cplusplus \ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { yytype_int16 yyss_alloc; YYSTYPE yyvs_alloc; }; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) # define YYCOPY_NEEDED 1 /* Relocate STACK from its old location to the new one. The local variables YYSIZE and YYSTACKSIZE give the old and new number of elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ Stack = &yyptr->Stack_alloc; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (0) #endif #if defined YYCOPY_NEEDED && YYCOPY_NEEDED /* Copy COUNT objects from SRC to DST. The source and destination do not overlap. */ # ifndef YYCOPY # if defined __GNUC__ && 1 < __GNUC__ # define YYCOPY(Dst, Src, Count) \ __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) # else # define YYCOPY(Dst, Src, Count) \ do \ { \ YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (Dst)[yyi] = (Src)[yyi]; \ } \ while (0) # endif # endif #endif /* !YYCOPY_NEEDED */ /* YYFINAL -- State number of the termination state. */ #define YYFINAL 18 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 29 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 16 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 6 /* YYNRULES -- Number of rules. */ #define YYNRULES 20 /* YYNSTATES -- Number of states. */ #define YYNSTATES 33 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 264 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM as returned by yylex, without out-of-bounds checking. */ static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 15, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 14, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 12, 2, 13, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 10, 2, 11, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint8 yyrline[] = { 0, 23, 23, 25, 26, 30, 31, 35, 36, 37, 38, 39, 40, 41, 42, 47, 51, 59, 75, 79, 85 }; #endif #if YYDEBUG || YYERROR_VERBOSE || 1 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { "$end", "error", "$undefined", "TOK_IDENT", "TOK_INT", "TOK_FLOAT", "TOK_STRING", "TOK_TRUE", "TOK_FALSE", "TOK_NULL", "'{'", "'}'", "'['", "']'", "':'", "','", "$accept", "json", "key", "value", "key_value_list", "value_list", YY_NULLPTR }; #endif # ifdef YYPRINT /* YYTOKNUM[NUM] -- (External) token number corresponding to the (internal) symbol number NUM (which must be that of a token). */ static const yytype_uint16 yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 123, 125, 91, 93, 58, 44 }; # endif #define YYPACT_NINF -20 #define yypact_value_is_default(Yystate) \ (!!((Yystate) == (-20))) #define YYTABLE_NINF -1 #define yytable_value_is_error(Yytable_value) \ 0 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ static const yytype_int8 yypact[] = { 10, 5, 9, 23, -20, -20, -5, -10, -20, -20, -20, -20, -20, -20, 5, 9, -20, -11, -20, 9, -20, 5, -8, 11, -20, 9, -20, -4, -20, -20, -20, 9, -20 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. Performed when YYTABLE does not specify something else to do. Zero means the default is an error. */ static const yytype_uint8 yydefact[] = { 2, 15, 18, 0, 6, 5, 0, 0, 7, 8, 9, 10, 11, 12, 15, 18, 19, 0, 1, 0, 3, 0, 0, 0, 4, 0, 16, 0, 13, 14, 20, 0, 17 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int8 yypgoto[] = { -20, -20, 4, -19, 13, 14 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int8 yydefgoto[] = { -1, 3, 6, 16, 7, 17 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule whose number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_uint8 yytable[] = { 26, 20, 24, 28, 25, 21, 30, 21, 4, 19, 31, 5, 32, 8, 9, 10, 11, 12, 13, 14, 1, 15, 2, 18, 29, 27, 25, 22, 0, 23 }; static const yytype_int8 yycheck[] = { 19, 11, 13, 11, 15, 15, 25, 15, 3, 14, 14, 6, 31, 4, 5, 6, 7, 8, 9, 10, 10, 12, 12, 0, 13, 21, 15, 14, -1, 15 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { 0, 10, 12, 17, 3, 6, 18, 20, 4, 5, 6, 7, 8, 9, 10, 12, 19, 21, 0, 14, 11, 15, 20, 21, 13, 15, 19, 18, 11, 13, 19, 14, 19 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { 0, 16, 17, 17, 17, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 21, 21, 21 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { 0, 2, 0, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 0, 3, 5, 0, 1, 3 }; #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) #define YYEMPTY (-2) #define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrorlab #define YYRECOVERING() (!!yyerrstatus) #define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY) \ { \ yychar = (Token); \ yylval = (Value); \ YYPOPSTACK (yylen); \ yystate = *yyssp; \ goto yybackup; \ } \ else \ { \ yyerror (pParser, YY_("syntax error: cannot back up")); \ YYERROR; \ } \ while (0) /* Error token number */ #define YYTERROR 1 #define YYERRCODE 256 /* Enable debugging if requested. */ #if YYDEBUG # ifndef YYFPRINTF # include /* INFRINGES ON USER NAME SPACE */ # define YYFPRINTF fprintf # endif # define YYDPRINTF(Args) \ do { \ if (yydebug) \ YYFPRINTF Args; \ } while (0) /* This macro is provided for backward compatibility. */ #ifndef YY_LOCATION_PRINT # define YY_LOCATION_PRINT(File, Loc) ((void) 0) #endif # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yy_symbol_print (stderr, \ Type, Value, pParser); \ YYFPRINTF (stderr, "\n"); \ } \ } while (0) /*----------------------------------------. | Print this symbol's value on YYOUTPUT. | `----------------------------------------*/ static void yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, JsonParser_c * pParser) { FILE *yyo = yyoutput; YYUSE (yyo); YYUSE (pParser); if (!yyvaluep) return; # ifdef YYPRINT if (yytype < YYNTOKENS) YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); # endif YYUSE (yytype); } /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ static void yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, JsonParser_c * pParser) { YYFPRINTF (yyoutput, "%s %s (", yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); yy_symbol_value_print (yyoutput, yytype, yyvaluep, pParser); YYFPRINTF (yyoutput, ")"); } /*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | | TOP (included). | `------------------------------------------------------------------*/ static void yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) { YYFPRINTF (stderr, "Stack now"); for (; yybottom <= yytop; yybottom++) { int yybot = *yybottom; YYFPRINTF (stderr, " %d", yybot); } YYFPRINTF (stderr, "\n"); } # define YY_STACK_PRINT(Bottom, Top) \ do { \ if (yydebug) \ yy_stack_print ((Bottom), (Top)); \ } while (0) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ static void yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, JsonParser_c * pParser) { unsigned long int yylno = yyrline[yyrule]; int yynrhs = yyr2[yyrule]; int yyi; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno); /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yystos[yyssp[yyi + 1 - yynrhs]], &(yyvsp[(yyi + 1) - (yynrhs)]) , pParser); YYFPRINTF (stderr, "\n"); } } # define YY_REDUCE_PRINT(Rule) \ do { \ if (yydebug) \ yy_reduce_print (yyssp, yyvsp, Rule, pParser); \ } while (0) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ /* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only if the built-in stack extension method is used). Do not make this value too large; the results are undefined if YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif #if YYERROR_VERBOSE # ifndef yystrlen # if defined __GLIBC__ && defined _STRING_H # define yystrlen strlen # else /* Return the length of YYSTR. */ static YYSIZE_T yystrlen (const char *yystr) { YYSIZE_T yylen; for (yylen = 0; yystr[yylen]; yylen++) continue; return yylen; } # endif # endif # ifndef yystpcpy # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE # define yystpcpy stpcpy # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ static char * yystpcpy (char *yydest, const char *yysrc) { char *yyd = yydest; const char *yys = yysrc; while ((*yyd++ = *yys++) != '\0') continue; return yyd - 1; } # endif # endif # ifndef yytnamerr /* Copy to YYRES the contents of YYSTR after stripping away unnecessary quotes and backslashes, so that it's suitable for yyerror. The heuristic is that double-quoting is unnecessary unless the string contains an apostrophe, a comma, or backslash (other than backslash-backslash). YYSTR is taken from yytname. If YYRES is null, do not copy; instead, return the length of what the result would have been. */ static YYSIZE_T yytnamerr (char *yyres, const char *yystr) { if (*yystr == '"') { YYSIZE_T yyn = 0; char const *yyp = yystr; for (;;) switch (*++yyp) { case '\'': case ',': goto do_not_strip_quotes; case '\\': if (*++yyp != '\\') goto do_not_strip_quotes; /* Fall through. */ default: if (yyres) yyres[yyn] = *yyp; yyn++; break; case '"': if (yyres) yyres[yyn] = '\0'; return yyn; } do_not_strip_quotes: ; } if (! yyres) return yystrlen (yystr); return yystpcpy (yyres, yystr) - yyres; } # endif /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message about the unexpected token YYTOKEN for the state stack whose top is YYSSP. Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is not large enough to hold the message. In that case, also set *YYMSG_ALLOC to the required number of bytes. Return 2 if the required number of bytes is too large to store. */ static int yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, yytype_int16 *yyssp, int yytoken) { YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); YYSIZE_T yysize = yysize0; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; /* Internationalized format string. */ const char *yyformat = YY_NULLPTR; /* Arguments of yyformat. */ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; /* Number of reported tokens (one for the "unexpected", one per "expected"). */ int yycount = 0; /* There are many possibilities here to consider: - If this state is a consistent state with a default action, then the only way this function was invoked is if the default action is an error action. In that case, don't check for expected tokens because there are none. - The only way there can be no lookahead present (in yychar) is if this state is a consistent state with a default action. Thus, detecting the absence of a lookahead is sufficient to determine that there is no unexpected or expected token to report. In that case, just report a simple "syntax error". - Don't assume there isn't a lookahead just because this state is a consistent state with a default action. There might have been a previous inconsistent state, consistent state with a non-default action, or user semantic action that manipulated yychar. - Of course, the expected token list depends on states to have correct lookahead information, and it depends on the parser not to perform extra reductions after fetching a lookahead from the scanner and before detecting a syntax error. Thus, state merging (from LALR or IELR) and default reductions corrupt the expected token list. However, the list is correct for canonical LR with one exception: it will still contain any token that will not be accepted due to an error action in a later state. */ if (yytoken != YYEMPTY) { int yyn = yypact[*yyssp]; yyarg[yycount++] = yytname[yytoken]; if (!yypact_value_is_default (yyn)) { /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. In other words, skip the first -YYN actions for this state because they are default actions. */ int yyxbegin = yyn < 0 ? -yyn : 0; /* Stay within bounds of both yycheck and yytname. */ int yychecklim = YYLAST - yyn + 1; int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; int yyx; for (yyx = yyxbegin; yyx < yyxend; ++yyx) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR && !yytable_value_is_error (yytable[yyx + yyn])) { if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) { yycount = 1; yysize = yysize0; break; } yyarg[yycount++] = yytname[yyx]; { YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) return 2; yysize = yysize1; } } } } switch (yycount) { # define YYCASE_(N, S) \ case N: \ yyformat = S; \ break YYCASE_(0, YY_("syntax error")); YYCASE_(1, YY_("syntax error, unexpected %s")); YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); # undef YYCASE_ } { YYSIZE_T yysize1 = yysize + yystrlen (yyformat); if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) return 2; yysize = yysize1; } if (*yymsg_alloc < yysize) { *yymsg_alloc = 2 * yysize; if (! (yysize <= *yymsg_alloc && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; return 1; } /* Avoid sprintf, as that infringes on the user's name space. Don't have undefined behavior even if the translation produced a string with the wrong number of "%s"s. */ { char *yyp = *yymsg; int yyi = 0; while ((*yyp = *yyformat) != '\0') if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) { yyp += yytnamerr (yyp, yyarg[yyi++]); yyformat += 2; } else { yyp++; yyformat++; } } return 0; } #endif /* YYERROR_VERBOSE */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, JsonParser_c * pParser) { YYUSE (yyvaluep); YYUSE (pParser); if (!yymsg) yymsg = "Deleting"; YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN YYUSE (yytype); YY_IGNORE_MAYBE_UNINITIALIZED_END } /*----------. | yyparse. | `----------*/ int yyparse (JsonParser_c * pParser) { /* The lookahead symbol. */ int yychar; /* The semantic value of the lookahead symbol. */ /* Default value used for initialization, for pacifying older GCCs or non-GCC compilers. */ YY_INITIAL_VALUE (static YYSTYPE yyval_default;) YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); /* Number of syntax errors so far. */ int yynerrs; int yystate; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* The stacks and their tools: 'yyss': related to states. 'yyvs': related to semantic values. Refer to the stacks through separate pointers, to allow yyoverflow to reallocate them elsewhere. */ /* The state stack. */ yytype_int16 yyssa[YYINITDEPTH]; yytype_int16 *yyss; yytype_int16 *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE *yyvs; YYSTYPE *yyvsp; YYSIZE_T yystacksize; int yyn; int yyresult; /* Lookahead token as an internal (translated) token number. */ int yytoken = 0; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; #if YYERROR_VERBOSE /* Buffer for error messages, and its allocated size. */ char yymsgbuf[128]; char *yymsg = yymsgbuf; YYSIZE_T yymsg_alloc = sizeof yymsgbuf; #endif #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) /* The number of symbols on the RHS of the reduced rule. Keep to zero when no symbol should be popped. */ int yylen = 0; yyssp = yyss = yyssa; yyvsp = yyvs = yyvsa; yystacksize = YYINITDEPTH; YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ goto yysetstate; /*------------------------------------------------------------. | yynewstate -- Push a new state, which is found in yystate. | `------------------------------------------------------------*/ yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */ yyssp++; yysetstate: *yyssp = yystate; if (yyss + yystacksize - 1 <= yyssp) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; #ifdef yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; yytype_int16 *yyss1 = yyss; /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */ yyoverflow (YY_("memory exhausted"), &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); yyss = yyss1; yyvs = yyvs1; } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE goto yyexhaustedlab; # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyexhaustedlab; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; { yytype_int16 *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyexhaustedlab; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, yyvs); # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif #endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); if (yyss + yystacksize - 1 <= yyssp) YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", yystate)); if (yystate == YYFINAL) YYACCEPT; goto yybackup; /*-----------. | yybackup. | `-----------*/ yybackup: /* Do appropriate processing given the current state. Read a lookahead token if we need one and don't already have one. */ /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; if (yypact_value_is_default (yyn)) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); yychar = yylex (&yylval, pParser); } if (yychar <= YYEOF) { yychar = yytoken = YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } else { yytoken = YYTRANSLATE (yychar); YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); } /* If the proper action on seeing token YYTOKEN is to reduce or to detect an error, take that action. */ yyn += yytoken; if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) goto yydefault; yyn = yytable[yyn]; if (yyn <= 0) { if (yytable_value_is_error (yyn)) goto yyerrlab; yyn = -yyn; goto yyreduce; } /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; /* Shift the lookahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); /* Discard the shifted token. */ yychar = YYEMPTY; yystate = yyn; YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; YY_IGNORE_MAYBE_UNINITIALIZED_END goto yynewstate; /*-----------------------------------------------------------. | yydefault -- do the default action for the current state. | `-----------------------------------------------------------*/ yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; goto yyreduce; /*-----------------------------. | yyreduce -- Do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; /* If YYLEN is nonzero, implement the default value of the action: '$$ = $1'. Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized. */ yyval = yyvsp[1-yylen]; YY_REDUCE_PRINT (yyn); switch (yyn) { case 3: { if ( !pParser->WriteNode ( (yyvsp[-1]) ) ) YYERROR; } break; case 4: { if ( !pParser->WriteNode ( (yyvsp[-1]) ) ) YYERROR; } break; case 13: { (yyval)=(yyvsp[-1]); } break; case 14: { (yyval)=(yyvsp[-1]); } break; case 15: { (yyval).m_eType = JSON_OBJECT; (yyval).m_iHandle = -1; } break; case 16: { (yyval).m_eType = JSON_OBJECT; (yyval).m_iHandle = pParser->m_dNodes.GetLength(); (yyvsp[0]).m_iKeyStart = (yyvsp[-2]).m_iStart; (yyvsp[0]).m_iKeyEnd = (yyvsp[-2]).m_iEnd; pParser->m_dNodes.Add().Add((yyvsp[0])); } break; case 17: { if ( (yyvsp[-4]).m_iHandle<0 ) { yyerror ( pParser, "unexpected ','" ); YYERROR; } (yyval) = (yyvsp[-4]); (yyvsp[0]).m_iKeyStart = (yyvsp[-2]).m_iStart; (yyvsp[0]).m_iKeyEnd = (yyvsp[-2]).m_iEnd; pParser->m_dNodes[(yyval).m_iHandle].Add((yyvsp[0])); } break; case 18: { (yyval).m_eType = JSON_MIXED_VECTOR; (yyval).m_iHandle = -1; } break; case 19: { (yyval).m_eType = JSON_MIXED_VECTOR; (yyval).m_iHandle = pParser->m_dNodes.GetLength(); pParser->m_dNodes.Add().Add((yyvsp[0])); } break; case 20: { if ( (yyvsp[-2]).m_iHandle<0 ) { yyerror ( pParser, "unexpected ','" ); YYERROR; } (yyval) = (yyvsp[-2]); pParser->m_dNodes[(yyval).m_iHandle].Add((yyvsp[0])); } break; default: break; } /* User semantic actions sometimes alter yychar, and that requires that yytoken be updated with the new translation. We take the approach of translating immediately before every use of yytoken. One alternative is translating here after every semantic action, but that translation would be missed if the semantic action invokes YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an incorrect destructor might then be invoked immediately. In the case of YYERROR or YYBACKUP, subsequent parser actions might lead to an incorrect destructor call or verbose syntax error message before the lookahead is translated. */ YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; /* Now 'shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ yyn = yyr1[yyn]; yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else yystate = yydefgoto[yyn - YYNTOKENS]; goto yynewstate; /*--------------------------------------. | yyerrlab -- here on detecting error. | `--------------------------------------*/ yyerrlab: /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; #if ! YYERROR_VERBOSE yyerror (pParser, YY_("syntax error")); #else # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ yyssp, yytoken) { char const *yymsgp = YY_("syntax error"); int yysyntax_error_status; yysyntax_error_status = YYSYNTAX_ERROR; if (yysyntax_error_status == 0) yymsgp = yymsg; else if (yysyntax_error_status == 1) { if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); if (!yymsg) { yymsg = yymsgbuf; yymsg_alloc = sizeof yymsgbuf; yysyntax_error_status = 2; } else { yysyntax_error_status = YYSYNTAX_ERROR; yymsgp = yymsg; } } yyerror (pParser, yymsgp); if (yysyntax_error_status == 2) goto yyexhaustedlab; } # undef YYSYNTAX_ERROR #endif } if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an error, discard it. */ if (yychar <= YYEOF) { /* Return failure if at end of input. */ if (yychar == YYEOF) YYABORT; } else { yydestruct ("Error: discarding", yytoken, &yylval, pParser); yychar = YYEMPTY; } } /* Else will try to reuse lookahead token after shifting the error token. */ goto yyerrlab1; /*---------------------------------------------------. | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: /* Pacify compilers like GCC when the user code never invokes YYERROR and the label yyerrorlab therefore never appears in user code. */ if (/*CONSTCOND*/ 0) goto yyerrorlab; /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); yystate = *yyssp; goto yyerrlab1; /*-------------------------------------------------------------. | yyerrlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) { yyn = yypact[yystate]; if (!yypact_value_is_default (yyn)) { yyn += YYTERROR; if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) { yyn = yytable[yyn]; if (0 < yyn) break; } } /* Pop the current state because it cannot handle the error token. */ if (yyssp == yyss) YYABORT; yydestruct ("Error: popping", yystos[yystate], yyvsp, pParser); YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); } YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; YY_IGNORE_MAYBE_UNINITIALIZED_END /* Shift the error token. */ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); yystate = yyn; goto yynewstate; /*-------------------------------------. | yyacceptlab -- YYACCEPT comes here. | `-------------------------------------*/ yyacceptlab: yyresult = 0; goto yyreturn; /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ yyabortlab: yyresult = 1; goto yyreturn; #if !defined yyoverflow || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ yyexhaustedlab: yyerror (pParser, YY_("memory exhausted")); yyresult = 2; /* Fall through. */ #endif yyreturn: if (yychar != YYEMPTY) { /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ yytoken = YYTRANSLATE (yychar); yydestruct ("Cleanup: discarding lookahead", yytoken, &yylval, pParser); } /* Do not reclaim the symbols of the rule whose action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (yylen); YY_STACK_PRINT (yyss, yyssp); while (yyssp != yyss) { yydestruct ("Cleanup: popping", yystos[*yyssp], yyvsp, pParser); YYPOPSTACK (1); } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif #if YYERROR_VERBOSE if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); #endif return yyresult; } #if USE_WINDOWS #pragma warning(pop) #endif sphinx-2.2.11-release/src/yysphinxexpr.h0000644000175000017500000000670212743402012017616 0ustar alexeyalexey/* A Bison parser, made by GNU Bison 3.0.2. */ /* Bison interface for Yacc-like parsers in C Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ #ifndef YY_YY_YYSPHINXEXPR_H_INCLUDED # define YY_YY_YYSPHINXEXPR_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif #if YYDEBUG extern int yydebug; #endif /* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE enum yytokentype { TOK_CONST_INT = 258, TOK_CONST_FLOAT = 259, TOK_CONST_STRING = 260, TOK_SUBKEY = 261, TOK_DOT_NUMBER = 262, TOK_ATTR_INT = 263, TOK_ATTR_BITS = 264, TOK_ATTR_FLOAT = 265, TOK_ATTR_MVA32 = 266, TOK_ATTR_MVA64 = 267, TOK_ATTR_STRING = 268, TOK_ATTR_FACTORS = 269, TOK_FUNC = 270, TOK_FUNC_IN = 271, TOK_FUNC_REMAP = 272, TOK_FUNC_PF = 273, TOK_USERVAR = 274, TOK_UDF = 275, TOK_HOOK_IDENT = 276, TOK_HOOK_FUNC = 277, TOK_IDENT = 278, TOK_ATTR_JSON = 279, TOK_ATID = 280, TOK_ATWEIGHT = 281, TOK_ID = 282, TOK_GROUPBY = 283, TOK_WEIGHT = 284, TOK_COUNT = 285, TOK_DISTINCT = 286, TOK_CONST_LIST = 287, TOK_ATTR_SINT = 288, TOK_MAP_ARG = 289, TOK_FOR = 290, TOK_ITERATOR = 291, TOK_IS = 292, TOK_NULL = 293, TOK_IS_NULL = 294, TOK_IS_NOT_NULL = 295, TOK_OR = 296, TOK_AND = 297, TOK_EQ = 298, TOK_NE = 299, TOK_LTE = 300, TOK_GTE = 301, TOK_DIV = 302, TOK_MOD = 303, TOK_NOT = 304, TOK_NEG = 305 }; #endif /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE YYSTYPE; union YYSTYPE { int64_t iConst; // constant value float fConst; // constant value uint64_t iAttrLocator; // attribute locator (rowitem for int/float; offset+size for bits) int iFunc; // function id int iNode; // node, or uservar, or udf index const char * sIdent; // generic identifier (token does NOT own ident storage; ie values are managed by parser) }; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 #endif int yyparse (ExprParser_t * pParser); #endif /* !YY_YY_YYSPHINXEXPR_H_INCLUDED */ sphinx-2.2.11-release/src/yysphinxexpr.c0000644000175000017500000020747412743402012017622 0ustar alexeyalexey/* A Bison parser, made by GNU Bison 3.0.2. */ /* Bison implementation for Yacc-like parsers in C Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ /* C LALR(1) parser skeleton written by Richard Stallman, by simplifying the original so-called "semantic" parser. */ /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. There are some unavoidable exceptions within include files to define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ /* Identify Bison output. */ #define YYBISON 1 /* Bison version. */ #define YYBISON_VERSION "3.0.2" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" /* Pure parsers. */ #define YYPURE 1 /* Push parsers. */ #define YYPUSH 0 /* Pull parsers. */ #define YYPULL 1 /* Copy the first part of user declarations. */ # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus # define YY_NULLPTR nullptr # else # define YY_NULLPTR 0 # endif # endif /* Enabling verbose error messages. */ #ifdef YYERROR_VERBOSE # undef YYERROR_VERBOSE # define YYERROR_VERBOSE 1 #else # define YYERROR_VERBOSE 1 #endif /* In a future release of Bison, this section will be replaced by #include "yysphinxexpr.h". */ #ifndef YY_YY_YYSPHINXEXPR_H_INCLUDED # define YY_YY_YYSPHINXEXPR_H_INCLUDED /* Debug traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif #if YYDEBUG extern int yydebug; #endif /* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE enum yytokentype { TOK_CONST_INT = 258, TOK_CONST_FLOAT = 259, TOK_CONST_STRING = 260, TOK_SUBKEY = 261, TOK_DOT_NUMBER = 262, TOK_ATTR_INT = 263, TOK_ATTR_BITS = 264, TOK_ATTR_FLOAT = 265, TOK_ATTR_MVA32 = 266, TOK_ATTR_MVA64 = 267, TOK_ATTR_STRING = 268, TOK_ATTR_FACTORS = 269, TOK_FUNC = 270, TOK_FUNC_IN = 271, TOK_FUNC_REMAP = 272, TOK_FUNC_PF = 273, TOK_USERVAR = 274, TOK_UDF = 275, TOK_HOOK_IDENT = 276, TOK_HOOK_FUNC = 277, TOK_IDENT = 278, TOK_ATTR_JSON = 279, TOK_ATID = 280, TOK_ATWEIGHT = 281, TOK_ID = 282, TOK_GROUPBY = 283, TOK_WEIGHT = 284, TOK_COUNT = 285, TOK_DISTINCT = 286, TOK_CONST_LIST = 287, TOK_ATTR_SINT = 288, TOK_MAP_ARG = 289, TOK_FOR = 290, TOK_ITERATOR = 291, TOK_IS = 292, TOK_NULL = 293, TOK_IS_NULL = 294, TOK_IS_NOT_NULL = 295, TOK_OR = 296, TOK_AND = 297, TOK_EQ = 298, TOK_NE = 299, TOK_LTE = 300, TOK_GTE = 301, TOK_DIV = 302, TOK_MOD = 303, TOK_NOT = 304, TOK_NEG = 305 }; #endif /* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE YYSTYPE; union YYSTYPE { int64_t iConst; // constant value float fConst; // constant value uint64_t iAttrLocator; // attribute locator (rowitem for int/float; offset+size for bits) int iFunc; // function id int iNode; // node, or uservar, or udf index const char * sIdent; // generic identifier (token does NOT own ident storage; ie values are managed by parser) }; # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 #endif int yyparse (ExprParser_t * pParser); #endif /* !YY_YY_YYSPHINXEXPR_H_INCLUDED */ /* Copy the second part of user declarations. */ #ifdef short # undef short #endif #ifdef YYTYPE_UINT8 typedef YYTYPE_UINT8 yytype_uint8; #else typedef unsigned char yytype_uint8; #endif #ifdef YYTYPE_INT8 typedef YYTYPE_INT8 yytype_int8; #else typedef signed char yytype_int8; #endif #ifdef YYTYPE_UINT16 typedef YYTYPE_UINT16 yytype_uint16; #else typedef unsigned short int yytype_uint16; #endif #ifdef YYTYPE_INT16 typedef YYTYPE_INT16 yytype_int16; #else typedef short int yytype_int16; #endif #ifndef YYSIZE_T # ifdef __SIZE_TYPE__ # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t # elif ! defined YYSIZE_T # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else # define YYSIZE_T unsigned int # endif #endif #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ # if defined YYENABLE_NLS && YYENABLE_NLS # if ENABLE_NLS # include /* INFRINGES ON USER NAME SPACE */ # define YY_(Msgid) dgettext ("bison-runtime", Msgid) # endif # endif # ifndef YY_ # define YY_(Msgid) Msgid # endif #endif #ifndef YY_ATTRIBUTE # if (defined __GNUC__ \ && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C # define YY_ATTRIBUTE(Spec) __attribute__(Spec) # else # define YY_ATTRIBUTE(Spec) /* empty */ # endif #endif #ifndef YY_ATTRIBUTE_PURE # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) #endif #ifndef YY_ATTRIBUTE_UNUSED # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) #endif #if !defined _Noreturn \ && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) # if defined _MSC_VER && 1200 <= _MSC_VER # define _Noreturn __declspec (noreturn) # else # define _Noreturn YY_ATTRIBUTE ((__noreturn__)) # endif #endif /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(E) ((void) (E)) #else # define YYUSE(E) /* empty */ #endif #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ /* Suppress an incorrect diagnostic about yylval being uninitialized. */ # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ _Pragma ("GCC diagnostic push") \ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ _Pragma ("GCC diagnostic pop") #else # define YY_INITIAL_VALUE(Value) Value #endif #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN # define YY_IGNORE_MAYBE_UNINITIALIZED_END #endif #ifndef YY_INITIAL_VALUE # define YY_INITIAL_VALUE(Value) /* Nothing. */ #endif #if ! defined yyoverflow || YYERROR_VERBOSE /* The parser invokes alloca or malloc; define the necessary symbols. */ # ifdef YYSTACK_USE_ALLOCA # if YYSTACK_USE_ALLOCA # ifdef __GNUC__ # define YYSTACK_ALLOC __builtin_alloca # elif defined __BUILTIN_VA_ARG_INCR # include /* INFRINGES ON USER NAME SPACE */ # elif defined _AIX # define YYSTACK_ALLOC __alloca # elif defined _MSC_VER # include /* INFRINGES ON USER NAME SPACE */ # define alloca _alloca # else # define YYSTACK_ALLOC alloca # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS # include /* INFRINGES ON USER NAME SPACE */ /* Use EXIT_SUCCESS as a witness for stdlib.h. */ # ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 # endif # endif # endif # endif # endif # ifdef YYSTACK_ALLOC /* Pacify GCC's 'empty if-body' warning. */ # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) # ifndef YYSTACK_ALLOC_MAXIMUM /* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely invoke alloca (N) if N exceeds 4096. Use a slightly smaller number to allow for a few compiler-allocated temporary stack slots. */ # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ # endif # else # define YYSTACK_ALLOC YYMALLOC # define YYSTACK_FREE YYFREE # ifndef YYSTACK_ALLOC_MAXIMUM # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM # endif # if (defined __cplusplus && ! defined EXIT_SUCCESS \ && ! ((defined YYMALLOC || defined malloc) \ && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ # ifndef EXIT_SUCCESS # define EXIT_SUCCESS 0 # endif # endif # ifndef YYMALLOC # define YYMALLOC malloc # if ! defined malloc && ! defined EXIT_SUCCESS void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free # if ! defined free && ! defined EXIT_SUCCESS void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif # endif #endif /* ! defined yyoverflow || YYERROR_VERBOSE */ #if (! defined yyoverflow \ && (! defined __cplusplus \ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { yytype_int16 yyss_alloc; YYSTYPE yyvs_alloc; }; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) # define YYCOPY_NEEDED 1 /* Relocate STACK from its old location to the new one. The local variables YYSIZE and YYSTACKSIZE give the old and new number of elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ Stack = &yyptr->Stack_alloc; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (0) #endif #if defined YYCOPY_NEEDED && YYCOPY_NEEDED /* Copy COUNT objects from SRC to DST. The source and destination do not overlap. */ # ifndef YYCOPY # if defined __GNUC__ && 1 < __GNUC__ # define YYCOPY(Dst, Src, Count) \ __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) # else # define YYCOPY(Dst, Src, Count) \ do \ { \ YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (Dst)[yyi] = (Src)[yyi]; \ } \ while (0) # endif # endif #endif /* !YYCOPY_NEEDED */ /* YYFINAL -- State number of the termination state. */ #define YYFINAL 53 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 522 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 68 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 21 /* YYNRULES -- Number of rules. */ #define YYNRULES 101 /* YYNSTATES -- Number of states. */ #define YYNSTATES 185 /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 305 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM as returned by yylex, without out-of-bounds checking. */ static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 55, 44, 2, 61, 62, 53, 51, 63, 52, 2, 54, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 47, 2, 48, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 66, 2, 67, 2, 2, 60, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 64, 43, 65, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 49, 50, 56, 57, 58, 59 }; #if YYDEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint8 yyrline[] = { 0, 93, 93, 97, 98, 99, 100, 101, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 143, 144, 145, 146, 150, 151, 152, 156, 157, 158, 159, 160, 161, 162, 166, 167, 171, 172, 173, 174, 175, 176, 177, 178, 182, 183, 187, 188, 189, 193, 194, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 211, 212, 216, 219, 220, 224, 225, 226, 227, 228, 232, 236, 237, 241, 242, 243, 247, 248 }; #endif #if YYDEBUG || YYERROR_VERBOSE || 1 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { "$end", "error", "$undefined", "TOK_CONST_INT", "TOK_CONST_FLOAT", "TOK_CONST_STRING", "TOK_SUBKEY", "TOK_DOT_NUMBER", "TOK_ATTR_INT", "TOK_ATTR_BITS", "TOK_ATTR_FLOAT", "TOK_ATTR_MVA32", "TOK_ATTR_MVA64", "TOK_ATTR_STRING", "TOK_ATTR_FACTORS", "TOK_FUNC", "TOK_FUNC_IN", "TOK_FUNC_REMAP", "TOK_FUNC_PF", "TOK_USERVAR", "TOK_UDF", "TOK_HOOK_IDENT", "TOK_HOOK_FUNC", "TOK_IDENT", "TOK_ATTR_JSON", "TOK_ATID", "TOK_ATWEIGHT", "TOK_ID", "TOK_GROUPBY", "TOK_WEIGHT", "TOK_COUNT", "TOK_DISTINCT", "TOK_CONST_LIST", "TOK_ATTR_SINT", "TOK_MAP_ARG", "TOK_FOR", "TOK_ITERATOR", "TOK_IS", "TOK_NULL", "TOK_IS_NULL", "TOK_IS_NOT_NULL", "TOK_OR", "TOK_AND", "'|'", "'&'", "TOK_EQ", "TOK_NE", "'<'", "'>'", "TOK_LTE", "TOK_GTE", "'+'", "'-'", "'*'", "'/'", "'%'", "TOK_DIV", "TOK_MOD", "TOK_NOT", "TOK_NEG", "'`'", "'('", "')'", "','", "'{'", "'}'", "'['", "']'", "$accept", "exprline", "attr", "expr", "maparg", "map_key", "arg", "arglist", "constlist", "stringlist", "constlist_or_uservar", "ident", "function", "json_field", "json_expr", "subscript", "subkey", "for_loop", "iterator", "streq", "strval", YY_NULLPTR }; #endif # ifdef YYPRINT /* YYTOKNUM[NUM] -- (External) token number corresponding to the (internal) symbol number NUM (which must be that of a token). */ static const yytype_uint16 yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 124, 38, 298, 299, 60, 62, 300, 301, 43, 45, 42, 47, 37, 302, 303, 304, 305, 96, 40, 41, 44, 123, 125, 91, 93 }; # endif #define YYPACT_NINF -165 #define yypact_value_is_default(Yystate) \ (!!((Yystate) == (-165))) #define YYTABLE_NINF -102 #define yytable_value_is_error(Yytable_value) \ 0 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ static const yytype_int16 yypact[] = { 325, -165, -165, -165, -165, -165, -165, -165, -165, -45, -42, -19, -13, 17, -165, 44, 6, 6, -165, -165, -165, 75, 325, 325, 19, 325, 37, 95, 405, -165, 103, 108, -165, -165, 113, 77, 263, 325, 139, 201, 263, -165, -165, 384, 6, -165, 6, 105, -165, -165, -165, 134, 373, -165, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, 325, -28, 325, 145, -165, -165, 151, -165, -165, -5, 194, -165, -22, 405, 135, 253, -165, 140, -165, -17, 68, 153, 166, 128, -165, -165, -165, -165, 65, 420, 434, 447, 458, -165, 458, 465, 465, 465, 465, -4, -4, -165, -165, -165, -165, -165, -165, 169, 458, -165, -165, -165, -165, -165, -43, 189, -165, 229, 193, -165, 263, 2, 325, -165, -165, -165, -165, -165, -165, -165, -5, -165, 11, 238, -165, -165, -165, -165, -165, -165, 124, 195, 197, 202, 315, 211, -165, -165, 23, -165, -165, 71, 252, -165, 208, 12, -165, -165, -165, -165, -165, 183, -165, 73, -165, -165, -165, -165, 126, 219, 230, 73, 130, 231, -165 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. Performed when YYTABLE does not specify something else to do. Zero means the default is an error. */ static const yytype_uint8 yydefact[] = { 0, 10, 11, 100, 12, 3, 4, 5, 101, 0, 0, 0, 0, 0, 17, 0, 95, 6, 13, 14, 15, 0, 0, 0, 0, 0, 0, 8, 2, 9, 0, 38, 39, 40, 0, 0, 0, 0, 0, 0, 0, 90, 91, 0, 96, 87, 86, 0, 18, 19, 6, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 53, 54, 52, 55, 75, 0, 50, 57, 0, 50, 0, 0, 82, 0, 77, 0, 0, 100, 101, 0, 88, 16, 7, 37, 36, 35, 27, 26, 33, 97, 34, 24, 25, 31, 32, 20, 21, 22, 23, 28, 29, 30, 41, 0, 98, 99, 72, 48, 49, 73, 0, 0, 47, 0, 0, 74, 0, 0, 0, 83, 76, 79, 92, 93, 89, 42, 0, 51, 0, 0, 80, 58, 59, 61, 67, 71, 0, 69, 70, 0, 0, 0, 43, 44, 0, 60, 62, 0, 0, 78, 0, 0, 85, 94, 84, 63, 65, 0, 68, 0, 45, 46, 64, 66, 0, 0, 0, 0, 0, 0, 81 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { -165, -165, -24, 1, -165, 171, -34, 192, -164, -165, -165, -165, -165, 154, 155, 297, 80, -165, -165, -165, -33 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 26, 27, 83, 124, 125, 81, 82, 151, 152, 153, 126, 29, 30, 31, 44, 45, 128, 32, 33, 34 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule whose number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { 51, 28, 84, 120, 87, 146, 147, 148, 121, 178, 116, 122, 41, 42, 156, 174, 35, 182, 123, 36, 140, 149, 141, 48, 49, 103, 52, 5, 6, 7, 117, 5, 6, 7, 157, 175, 80, 53, 85, 119, 129, 130, 37, 50, 93, 134, 130, 17, 38, 66, 67, 68, 69, 70, 150, 98, 99, 100, 101, 102, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 43, 118, 169, 170, 146, 147, 39, 24, 1, 2, 73, 24, 4, 5, 6, 7, 74, 75, 76, 77, 9, 10, 11, 12, 145, 13, 14, 15, 16, 17, 18, 19, 20, 40, 21, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 171, 94, 150, 94, 159, 160, 22, 135, 130, -85, 154, 166, 23, 47, 24, 25, 78, 71, 79, 1, 2, 73, -84, 4, 5, 6, 7, 74, 75, 76, 77, 9, 10, 11, 12, 72, 13, 14, 15, 16, 17, 18, 19, 20, 95, 21, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 176, 177, 179, 161, -100, 22, 183, 161, 96, 138, -101, 23, 131, 24, 25, 86, 133, 79, 1, 2, 73, 139, 4, 5, 6, 7, 74, 75, 76, 77, 9, 10, 11, 12, 136, 13, 14, 15, 16, 17, 18, 19, 20, 127, 21, 89, 90, 137, 142, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 143, 22, 158, 144, 165, 172, 161, 23, 162, 24, 25, 88, 163, 79, 1, 2, 73, 173, 4, 5, 6, 7, 74, 75, 76, 77, 9, 10, 11, 12, 180, 13, 14, 15, 16, 17, 18, 19, 20, 181, 21, 184, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 155, 167, 168, 46, 22, 132, 0, 0, 0, 0, 23, 0, 24, 25, 0, 0, 79, 1, 2, 3, 0, 4, 5, 6, 7, 0, 0, 8, 0, 9, 10, 11, 12, 0, 13, 14, 15, 16, 17, 18, 19, 20, 0, 21, 0, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 0, 22, 164, 0, 0, 0, 0, 23, 0, 24, 25, 1, 2, 91, 0, 4, 5, 6, 7, 0, 0, 92, 0, 9, 10, 11, 12, 0, 13, 14, 15, 16, 17, 18, 19, 20, 0, 21, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 0, 0, 0, 0, 97, 22, 0, 0, 0, 0, 0, 23, 0, 24, 25, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 64, 65, 66, 67, 68, 69, 70 }; static const yytype_int16 yycheck[] = { 24, 0, 36, 8, 38, 3, 4, 5, 13, 173, 38, 16, 6, 7, 3, 3, 61, 181, 23, 61, 63, 19, 65, 22, 23, 58, 25, 8, 9, 10, 58, 8, 9, 10, 23, 23, 35, 0, 37, 72, 62, 63, 61, 24, 43, 62, 63, 24, 61, 53, 54, 55, 56, 57, 52, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 66, 72, 3, 4, 3, 4, 61, 60, 3, 4, 5, 60, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 130, 20, 21, 22, 23, 24, 25, 26, 27, 61, 29, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 52, 44, 52, 46, 3, 4, 52, 62, 63, 37, 132, 158, 58, 61, 60, 61, 62, 37, 64, 3, 4, 5, 37, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 45, 20, 21, 22, 23, 24, 25, 26, 27, 62, 29, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 3, 4, 62, 63, 45, 52, 62, 63, 60, 67, 45, 58, 63, 60, 61, 62, 62, 64, 3, 4, 5, 38, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 67, 20, 21, 22, 23, 24, 25, 26, 27, 35, 29, 39, 40, 67, 45, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 23, 52, 16, 62, 45, 5, 63, 58, 63, 60, 61, 62, 62, 64, 3, 4, 5, 61, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 63, 20, 21, 22, 23, 24, 25, 26, 27, 61, 29, 62, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 140, 158, 158, 17, 52, 63, -1, -1, -1, -1, 58, -1, 60, 61, -1, -1, 64, 3, 4, 5, -1, 7, 8, 9, 10, -1, -1, 13, -1, 15, 16, 17, 18, -1, 20, 21, 22, 23, 24, 25, 26, 27, -1, 29, -1, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -1, -1, -1, -1, 52, 63, -1, -1, -1, -1, 58, -1, 60, 61, 3, 4, 5, -1, 7, 8, 9, 10, -1, -1, 13, -1, 15, 16, 17, 18, -1, 20, 21, 22, 23, 24, 25, 26, 27, -1, 29, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -1, -1, -1, -1, 62, 52, -1, -1, -1, -1, -1, 58, -1, 60, 61, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 51, 52, 53, 54, 55, 56, 57 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { 0, 3, 4, 5, 7, 8, 9, 10, 13, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 29, 52, 58, 60, 61, 69, 70, 71, 80, 81, 82, 86, 87, 88, 61, 61, 61, 61, 61, 61, 6, 7, 66, 83, 84, 83, 61, 71, 71, 24, 70, 71, 0, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 37, 45, 5, 11, 12, 13, 14, 62, 64, 71, 74, 75, 71, 74, 71, 62, 74, 62, 75, 75, 5, 13, 71, 84, 62, 60, 62, 71, 71, 71, 71, 71, 88, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 38, 58, 71, 88, 8, 13, 16, 23, 72, 73, 79, 35, 85, 62, 63, 63, 63, 62, 62, 62, 67, 67, 67, 38, 63, 65, 45, 23, 62, 74, 3, 4, 5, 19, 52, 76, 77, 78, 71, 73, 3, 23, 16, 3, 4, 63, 63, 62, 63, 45, 70, 81, 82, 3, 4, 52, 5, 61, 3, 23, 3, 4, 76, 62, 63, 61, 76, 62, 62 }; /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { 0, 68, 69, 70, 70, 70, 70, 70, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 72, 72, 72, 72, 73, 73, 73, 74, 74, 74, 74, 74, 74, 74, 75, 75, 76, 76, 76, 76, 76, 76, 76, 76, 77, 77, 78, 78, 78, 79, 79, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 81, 81, 82, 83, 83, 84, 84, 84, 84, 84, 85, 86, 86, 87, 87, 87, 88, 88 }; /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { 0, 2, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 3, 4, 3, 3, 5, 5, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 2, 1, 2, 3, 4, 3, 4, 1, 3, 1, 1, 1, 1, 1, 4, 3, 4, 3, 6, 4, 5, 14, 3, 4, 1, 1, 2, 1, 2, 3, 1, 1, 3, 3, 4, 1, 2, 3, 3, 3, 1, 1 }; #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) #define YYEMPTY (-2) #define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrorlab #define YYRECOVERING() (!!yyerrstatus) #define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY) \ { \ yychar = (Token); \ yylval = (Value); \ YYPOPSTACK (yylen); \ yystate = *yyssp; \ goto yybackup; \ } \ else \ { \ yyerror (pParser, YY_("syntax error: cannot back up")); \ YYERROR; \ } \ while (0) /* Error token number */ #define YYTERROR 1 #define YYERRCODE 256 /* Enable debugging if requested. */ #if YYDEBUG # ifndef YYFPRINTF # include /* INFRINGES ON USER NAME SPACE */ # define YYFPRINTF fprintf # endif # define YYDPRINTF(Args) \ do { \ if (yydebug) \ YYFPRINTF Args; \ } while (0) /* This macro is provided for backward compatibility. */ #ifndef YY_LOCATION_PRINT # define YY_LOCATION_PRINT(File, Loc) ((void) 0) #endif # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yy_symbol_print (stderr, \ Type, Value, pParser); \ YYFPRINTF (stderr, "\n"); \ } \ } while (0) /*----------------------------------------. | Print this symbol's value on YYOUTPUT. | `----------------------------------------*/ static void yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, ExprParser_t * pParser) { FILE *yyo = yyoutput; YYUSE (yyo); YYUSE (pParser); if (!yyvaluep) return; # ifdef YYPRINT if (yytype < YYNTOKENS) YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); # endif YYUSE (yytype); } /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ static void yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, ExprParser_t * pParser) { YYFPRINTF (yyoutput, "%s %s (", yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); yy_symbol_value_print (yyoutput, yytype, yyvaluep, pParser); YYFPRINTF (yyoutput, ")"); } /*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | | TOP (included). | `------------------------------------------------------------------*/ static void yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) { YYFPRINTF (stderr, "Stack now"); for (; yybottom <= yytop; yybottom++) { int yybot = *yybottom; YYFPRINTF (stderr, " %d", yybot); } YYFPRINTF (stderr, "\n"); } # define YY_STACK_PRINT(Bottom, Top) \ do { \ if (yydebug) \ yy_stack_print ((Bottom), (Top)); \ } while (0) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ static void yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, ExprParser_t * pParser) { unsigned long int yylno = yyrline[yyrule]; int yynrhs = yyr2[yyrule]; int yyi; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno); /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yystos[yyssp[yyi + 1 - yynrhs]], &(yyvsp[(yyi + 1) - (yynrhs)]) , pParser); YYFPRINTF (stderr, "\n"); } } # define YY_REDUCE_PRINT(Rule) \ do { \ if (yydebug) \ yy_reduce_print (yyssp, yyvsp, Rule, pParser); \ } while (0) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ /* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only if the built-in stack extension method is used). Do not make this value too large; the results are undefined if YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif #if YYERROR_VERBOSE # ifndef yystrlen # if defined __GLIBC__ && defined _STRING_H # define yystrlen strlen # else /* Return the length of YYSTR. */ static YYSIZE_T yystrlen (const char *yystr) { YYSIZE_T yylen; for (yylen = 0; yystr[yylen]; yylen++) continue; return yylen; } # endif # endif # ifndef yystpcpy # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE # define yystpcpy stpcpy # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ static char * yystpcpy (char *yydest, const char *yysrc) { char *yyd = yydest; const char *yys = yysrc; while ((*yyd++ = *yys++) != '\0') continue; return yyd - 1; } # endif # endif # ifndef yytnamerr /* Copy to YYRES the contents of YYSTR after stripping away unnecessary quotes and backslashes, so that it's suitable for yyerror. The heuristic is that double-quoting is unnecessary unless the string contains an apostrophe, a comma, or backslash (other than backslash-backslash). YYSTR is taken from yytname. If YYRES is null, do not copy; instead, return the length of what the result would have been. */ static YYSIZE_T yytnamerr (char *yyres, const char *yystr) { if (*yystr == '"') { YYSIZE_T yyn = 0; char const *yyp = yystr; for (;;) switch (*++yyp) { case '\'': case ',': goto do_not_strip_quotes; case '\\': if (*++yyp != '\\') goto do_not_strip_quotes; /* Fall through. */ default: if (yyres) yyres[yyn] = *yyp; yyn++; break; case '"': if (yyres) yyres[yyn] = '\0'; return yyn; } do_not_strip_quotes: ; } if (! yyres) return yystrlen (yystr); return yystpcpy (yyres, yystr) - yyres; } # endif /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message about the unexpected token YYTOKEN for the state stack whose top is YYSSP. Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is not large enough to hold the message. In that case, also set *YYMSG_ALLOC to the required number of bytes. Return 2 if the required number of bytes is too large to store. */ static int yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, yytype_int16 *yyssp, int yytoken) { YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); YYSIZE_T yysize = yysize0; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; /* Internationalized format string. */ const char *yyformat = YY_NULLPTR; /* Arguments of yyformat. */ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; /* Number of reported tokens (one for the "unexpected", one per "expected"). */ int yycount = 0; /* There are many possibilities here to consider: - If this state is a consistent state with a default action, then the only way this function was invoked is if the default action is an error action. In that case, don't check for expected tokens because there are none. - The only way there can be no lookahead present (in yychar) is if this state is a consistent state with a default action. Thus, detecting the absence of a lookahead is sufficient to determine that there is no unexpected or expected token to report. In that case, just report a simple "syntax error". - Don't assume there isn't a lookahead just because this state is a consistent state with a default action. There might have been a previous inconsistent state, consistent state with a non-default action, or user semantic action that manipulated yychar. - Of course, the expected token list depends on states to have correct lookahead information, and it depends on the parser not to perform extra reductions after fetching a lookahead from the scanner and before detecting a syntax error. Thus, state merging (from LALR or IELR) and default reductions corrupt the expected token list. However, the list is correct for canonical LR with one exception: it will still contain any token that will not be accepted due to an error action in a later state. */ if (yytoken != YYEMPTY) { int yyn = yypact[*yyssp]; yyarg[yycount++] = yytname[yytoken]; if (!yypact_value_is_default (yyn)) { /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. In other words, skip the first -YYN actions for this state because they are default actions. */ int yyxbegin = yyn < 0 ? -yyn : 0; /* Stay within bounds of both yycheck and yytname. */ int yychecklim = YYLAST - yyn + 1; int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; int yyx; for (yyx = yyxbegin; yyx < yyxend; ++yyx) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR && !yytable_value_is_error (yytable[yyx + yyn])) { if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) { yycount = 1; yysize = yysize0; break; } yyarg[yycount++] = yytname[yyx]; { YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) return 2; yysize = yysize1; } } } } switch (yycount) { # define YYCASE_(N, S) \ case N: \ yyformat = S; \ break YYCASE_(0, YY_("syntax error")); YYCASE_(1, YY_("syntax error, unexpected %s")); YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); # undef YYCASE_ } { YYSIZE_T yysize1 = yysize + yystrlen (yyformat); if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) return 2; yysize = yysize1; } if (*yymsg_alloc < yysize) { *yymsg_alloc = 2 * yysize; if (! (yysize <= *yymsg_alloc && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; return 1; } /* Avoid sprintf, as that infringes on the user's name space. Don't have undefined behavior even if the translation produced a string with the wrong number of "%s"s. */ { char *yyp = *yymsg; int yyi = 0; while ((*yyp = *yyformat) != '\0') if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) { yyp += yytnamerr (yyp, yyarg[yyi++]); yyformat += 2; } else { yyp++; yyformat++; } } return 0; } #endif /* YYERROR_VERBOSE */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, ExprParser_t * pParser) { YYUSE (yyvaluep); YYUSE (pParser); if (!yymsg) yymsg = "Deleting"; YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN YYUSE (yytype); YY_IGNORE_MAYBE_UNINITIALIZED_END } /*----------. | yyparse. | `----------*/ int yyparse (ExprParser_t * pParser) { /* The lookahead symbol. */ int yychar; /* The semantic value of the lookahead symbol. */ /* Default value used for initialization, for pacifying older GCCs or non-GCC compilers. */ YY_INITIAL_VALUE (static YYSTYPE yyval_default;) YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default); /* Number of syntax errors so far. */ int yynerrs; int yystate; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* The stacks and their tools: 'yyss': related to states. 'yyvs': related to semantic values. Refer to the stacks through separate pointers, to allow yyoverflow to reallocate them elsewhere. */ /* The state stack. */ yytype_int16 yyssa[YYINITDEPTH]; yytype_int16 *yyss; yytype_int16 *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE *yyvs; YYSTYPE *yyvsp; YYSIZE_T yystacksize; int yyn; int yyresult; /* Lookahead token as an internal (translated) token number. */ int yytoken = 0; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; #if YYERROR_VERBOSE /* Buffer for error messages, and its allocated size. */ char yymsgbuf[128]; char *yymsg = yymsgbuf; YYSIZE_T yymsg_alloc = sizeof yymsgbuf; #endif #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) /* The number of symbols on the RHS of the reduced rule. Keep to zero when no symbol should be popped. */ int yylen = 0; yyssp = yyss = yyssa; yyvsp = yyvs = yyvsa; yystacksize = YYINITDEPTH; YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ goto yysetstate; /*------------------------------------------------------------. | yynewstate -- Push a new state, which is found in yystate. | `------------------------------------------------------------*/ yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */ yyssp++; yysetstate: *yyssp = yystate; if (yyss + yystacksize - 1 <= yyssp) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; #ifdef yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; yytype_int16 *yyss1 = yyss; /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */ yyoverflow (YY_("memory exhausted"), &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); yyss = yyss1; yyvs = yyvs1; } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE goto yyexhaustedlab; # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyexhaustedlab; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; { yytype_int16 *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyexhaustedlab; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, yyvs); # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif #endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); if (yyss + yystacksize - 1 <= yyssp) YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", yystate)); if (yystate == YYFINAL) YYACCEPT; goto yybackup; /*-----------. | yybackup. | `-----------*/ yybackup: /* Do appropriate processing given the current state. Read a lookahead token if we need one and don't already have one. */ /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; if (yypact_value_is_default (yyn)) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); yychar = yylex (&yylval, pParser); } if (yychar <= YYEOF) { yychar = yytoken = YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } else { yytoken = YYTRANSLATE (yychar); YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); } /* If the proper action on seeing token YYTOKEN is to reduce or to detect an error, take that action. */ yyn += yytoken; if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) goto yydefault; yyn = yytable[yyn]; if (yyn <= 0) { if (yytable_value_is_error (yyn)) goto yyerrlab; yyn = -yyn; goto yyreduce; } /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; /* Shift the lookahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); /* Discard the shifted token. */ yychar = YYEMPTY; yystate = yyn; YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; YY_IGNORE_MAYBE_UNINITIALIZED_END goto yynewstate; /*-----------------------------------------------------------. | yydefault -- do the default action for the current state. | `-----------------------------------------------------------*/ yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; goto yyreduce; /*-----------------------------. | yyreduce -- Do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; /* If YYLEN is nonzero, implement the default value of the action: '$$ = $1'. Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized. */ yyval = yyvsp[1-yylen]; YY_REDUCE_PRINT (yyn); switch (yyn) { case 2: { pParser->m_iParsed = (yyvsp[0].iNode); } break; case 3: { (yyval.iNode) = pParser->AddNodeAttr ( TOK_ATTR_INT, (yyvsp[0].iAttrLocator) ); } break; case 4: { (yyval.iNode) = pParser->AddNodeAttr ( TOK_ATTR_BITS, (yyvsp[0].iAttrLocator) ); } break; case 5: { (yyval.iNode) = pParser->AddNodeAttr ( TOK_ATTR_FLOAT, (yyvsp[0].iAttrLocator) ); } break; case 6: { (yyval.iNode) = pParser->AddNodeAttr ( TOK_ATTR_JSON, (yyvsp[0].iAttrLocator) ); } break; case 7: { (yyval.iNode) = (yyvsp[-1].iNode); } break; case 10: { (yyval.iNode) = pParser->AddNodeInt ( (yyvsp[0].iConst) ); } break; case 11: { (yyval.iNode) = pParser->AddNodeFloat ( (yyvsp[0].fConst) ); } break; case 12: { (yyval.iNode) = pParser->AddNodeDotNumber ( (yyvsp[0].iConst) ); } break; case 13: { (yyval.iNode) = pParser->AddNodeID(); } break; case 14: { (yyval.iNode) = pParser->AddNodeWeight(); } break; case 15: { (yyval.iNode) = pParser->AddNodeID(); } break; case 16: { (yyval.iNode) = pParser->AddNodeWeight(); } break; case 17: { (yyval.iNode) = pParser->AddNodeHookIdent ( (yyvsp[0].iNode) ); } break; case 18: { (yyval.iNode) = pParser->AddNodeOp ( TOK_NEG, (yyvsp[0].iNode), -1 ); } break; case 19: { (yyval.iNode) = pParser->AddNodeOp ( TOK_NOT, (yyvsp[0].iNode), -1 ); if ( (yyval.iNode)<0 ) YYERROR; } break; case 20: { (yyval.iNode) = pParser->AddNodeOp ( '+', (yyvsp[-2].iNode), (yyvsp[0].iNode) ); } break; case 21: { (yyval.iNode) = pParser->AddNodeOp ( '-', (yyvsp[-2].iNode), (yyvsp[0].iNode) ); } break; case 22: { (yyval.iNode) = pParser->AddNodeOp ( '*', (yyvsp[-2].iNode), (yyvsp[0].iNode) ); } break; case 23: { (yyval.iNode) = pParser->AddNodeOp ( '/', (yyvsp[-2].iNode), (yyvsp[0].iNode) ); } break; case 24: { (yyval.iNode) = pParser->AddNodeOp ( '<', (yyvsp[-2].iNode), (yyvsp[0].iNode) ); } break; case 25: { (yyval.iNode) = pParser->AddNodeOp ( '>', (yyvsp[-2].iNode), (yyvsp[0].iNode) ); } break; case 26: { (yyval.iNode) = pParser->AddNodeOp ( '&', (yyvsp[-2].iNode), (yyvsp[0].iNode) ); } break; case 27: { (yyval.iNode) = pParser->AddNodeOp ( '|', (yyvsp[-2].iNode), (yyvsp[0].iNode) ); } break; case 28: { (yyval.iNode) = pParser->AddNodeOp ( '%', (yyvsp[-2].iNode), (yyvsp[0].iNode) ); } break; case 29: { (yyval.iNode) = pParser->AddNodeFunc ( FUNC_IDIV, pParser->AddNodeOp ( ',', (yyvsp[-2].iNode), (yyvsp[0].iNode) ) ); } break; case 30: { (yyval.iNode) = pParser->AddNodeOp ( '%', (yyvsp[-2].iNode), (yyvsp[0].iNode) ); } break; case 31: { (yyval.iNode) = pParser->AddNodeOp ( TOK_LTE, (yyvsp[-2].iNode), (yyvsp[0].iNode) ); } break; case 32: { (yyval.iNode) = pParser->AddNodeOp ( TOK_GTE, (yyvsp[-2].iNode), (yyvsp[0].iNode) ); } break; case 33: { (yyval.iNode) = pParser->AddNodeOp ( TOK_EQ, (yyvsp[-2].iNode), (yyvsp[0].iNode) ); } break; case 34: { (yyval.iNode) = pParser->AddNodeOp ( TOK_NE, (yyvsp[-2].iNode), (yyvsp[0].iNode) ); } break; case 35: { (yyval.iNode) = pParser->AddNodeOp ( TOK_AND, (yyvsp[-2].iNode), (yyvsp[0].iNode) ); if ( (yyval.iNode)<0 ) YYERROR; } break; case 36: { (yyval.iNode) = pParser->AddNodeOp ( TOK_OR, (yyvsp[-2].iNode), (yyvsp[0].iNode) ); if ( (yyval.iNode)<0 ) YYERROR; } break; case 37: { (yyval.iNode) = (yyvsp[-1].iNode); } break; case 41: { (yyval.iNode) = pParser->AddNodeOp ( TOK_IS_NULL, (yyvsp[-2].iNode), -1); } break; case 42: { (yyval.iNode) = pParser->AddNodeOp ( TOK_IS_NOT_NULL, (yyvsp[-3].iNode), -1); } break; case 43: { (yyval.iNode) = pParser->AddNodeMapArg ( (yyvsp[-2].sIdent), NULL, (yyvsp[0].iConst) ); } break; case 44: { (yyval.iNode) = pParser->AddNodeMapArg ( (yyvsp[-2].sIdent), (yyvsp[0].sIdent), 0 ); } break; case 45: { pParser->AppendToMapArg ( (yyval.iNode), (yyvsp[-2].sIdent), NULL, (yyvsp[0].iConst) ); } break; case 46: { pParser->AppendToMapArg ( (yyval.iNode), (yyvsp[-2].sIdent), (yyvsp[0].sIdent), 0 ); } break; case 47: { (yyval.sIdent) = (yyvsp[0].sIdent); } break; case 48: { (yyval.sIdent) = pParser->Attr2Ident((yyvsp[0].iAttrLocator)); } break; case 49: { (yyval.sIdent) = strdup("in"); } break; case 51: { (yyval.iNode) = (yyvsp[-1].iNode); } break; case 52: { (yyval.iNode) = pParser->AddNodeAttr ( TOK_ATTR_STRING, (yyvsp[0].iAttrLocator) ); } break; case 53: { (yyval.iNode) = pParser->AddNodeAttr ( TOK_ATTR_MVA32, (yyvsp[0].iAttrLocator) ); } break; case 54: { (yyval.iNode) = pParser->AddNodeAttr ( TOK_ATTR_MVA64, (yyvsp[0].iAttrLocator) ); } break; case 55: { (yyval.iNode) = pParser->AddNodeAttr ( TOK_ATTR_FACTORS, (yyvsp[0].iAttrLocator) ); } break; case 56: { (yyval.iNode) = pParser->AddNodeString ( (yyvsp[0].iConst) ); } break; case 57: { (yyval.iNode) = (yyvsp[0].iNode); } break; case 58: { (yyval.iNode) = pParser->AddNodeOp ( ',', (yyvsp[-2].iNode), (yyvsp[0].iNode) ); } break; case 59: { (yyval.iNode) = pParser->AddNodeConstlist ( (yyvsp[0].iConst) ); } break; case 60: { (yyval.iNode) = pParser->AddNodeConstlist ( -(yyvsp[0].iConst) );} break; case 61: { (yyval.iNode) = pParser->AddNodeConstlist ( (yyvsp[0].fConst) ); } break; case 62: { (yyval.iNode) = pParser->AddNodeConstlist ( -(yyvsp[0].fConst) );} break; case 63: { pParser->AppendToConstlist ( (yyval.iNode), (yyvsp[0].iConst) ); } break; case 64: { pParser->AppendToConstlist ( (yyval.iNode), -(yyvsp[0].iConst) );} break; case 65: { pParser->AppendToConstlist ( (yyval.iNode), (yyvsp[0].fConst) ); } break; case 66: { pParser->AppendToConstlist ( (yyval.iNode), -(yyvsp[0].fConst) );} break; case 67: { (yyval.iNode) = pParser->AddNodeConstlist ( (yyvsp[0].iConst) ); } break; case 68: { pParser->AppendToConstlist ( (yyval.iNode), (yyvsp[0].iConst) ); } break; case 71: { (yyval.iNode) = pParser->AddNodeUservar ( (yyvsp[0].iNode) ); } break; case 72: { (yyval.sIdent) = pParser->Attr2Ident ( (yyvsp[0].iAttrLocator) ); } break; case 74: { (yyval.iNode) = pParser->AddNodeFunc ( (yyvsp[-3].iFunc), (yyvsp[-1].iNode) ); if ( (yyval.iNode)<0 ) YYERROR; } break; case 75: { (yyval.iNode) = pParser->AddNodeFunc ( (yyvsp[-2].iFunc), -1 ); if ( (yyval.iNode)<0 ) YYERROR; } break; case 76: { (yyval.iNode) = pParser->AddNodeUdf ( (yyvsp[-3].iNode), (yyvsp[-1].iNode) ); if ( (yyval.iNode)<0 ) YYERROR; } break; case 77: { (yyval.iNode) = pParser->AddNodeUdf ( (yyvsp[-2].iNode), -1 ); if ( (yyval.iNode)<0 ) YYERROR; } break; case 78: { (yyval.iNode) = pParser->AddNodeFunc ( (yyvsp[-5].iFunc), (yyvsp[-3].iNode), (yyvsp[-1].iNode) ); } break; case 79: { (yyval.iNode) = pParser->AddNodeHookFunc ( (yyvsp[-3].iNode), (yyvsp[-1].iNode) ); if ( (yyval.iNode)<0 ) YYERROR; } break; case 80: { (yyval.iNode) = pParser->AddNodeFunc ( (yyvsp[-4].iFunc), (yyvsp[-2].iNode), (yyvsp[-1].iNode) ); } break; case 81: { (yyval.iNode) = pParser->AddNodeFunc ( (yyvsp[-13].iFunc), (yyvsp[-11].iNode), (yyvsp[-9].iNode), (yyvsp[-6].iNode), (yyvsp[-2].iNode) ); } break; case 82: { (yyval.iNode) = pParser->AddNodePF ( (yyvsp[-2].iNode), -1 ); } break; case 83: { (yyval.iNode) = pParser->AddNodePF ( (yyvsp[-3].iNode), (yyvsp[-1].iNode) ); } break; case 86: { (yyval.iNode) = pParser->AddNodeJsonField ( (yyvsp[-1].iAttrLocator), (yyvsp[0].iNode) ); } break; case 88: { (yyval.iNode) = pParser->AddNodeOp ( ',', (yyvsp[-1].iNode), (yyvsp[0].iNode) ); } break; case 89: { (yyval.iNode) = (yyvsp[-1].iNode); } break; case 90: { (yyval.iNode) = pParser->AddNodeJsonSubkey ( (yyvsp[0].iConst) ); } break; case 91: { (yyval.iNode) = pParser->AddNodeJsonSubkey ( (yyvsp[0].iConst) ); } break; case 92: { (yyval.iNode) = pParser->AddNodeString ( (yyvsp[-1].iConst) ); } break; case 93: { (yyval.iNode) = pParser->AddNodeAttr ( TOK_ATTR_STRING, (yyvsp[-1].iAttrLocator) ); } break; case 94: { (yyval.iNode) = pParser->AddNodeIdent ( (yyvsp[-2].sIdent), (yyvsp[0].iNode) ); } break; case 95: { (yyval.iNode) = pParser->AddNodeIdent ( (yyvsp[0].sIdent), -1 ); } break; case 96: { (yyval.iNode) = pParser->AddNodeIdent ( (yyvsp[-1].sIdent), (yyvsp[0].iNode) ); } break; case 97: { (yyval.iNode) = pParser->AddNodeOp ( TOK_EQ, (yyvsp[-2].iNode), (yyvsp[0].iNode) ); } break; case 98: { (yyval.iNode) = pParser->AddNodeOp ( TOK_EQ, (yyvsp[0].iNode), (yyvsp[-2].iNode) ); } break; case 99: { (yyval.iNode) = pParser->AddNodeOp ( TOK_EQ, (yyvsp[-2].iNode), (yyvsp[0].iNode) ); } break; case 100: { (yyval.iNode) = pParser->AddNodeString ( (yyvsp[0].iConst) ); } break; case 101: { (yyval.iNode) = pParser->AddNodeAttr ( TOK_ATTR_STRING, (yyvsp[0].iAttrLocator) ); } break; default: break; } /* User semantic actions sometimes alter yychar, and that requires that yytoken be updated with the new translation. We take the approach of translating immediately before every use of yytoken. One alternative is translating here after every semantic action, but that translation would be missed if the semantic action invokes YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an incorrect destructor might then be invoked immediately. In the case of YYERROR or YYBACKUP, subsequent parser actions might lead to an incorrect destructor call or verbose syntax error message before the lookahead is translated. */ YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; /* Now 'shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ yyn = yyr1[yyn]; yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else yystate = yydefgoto[yyn - YYNTOKENS]; goto yynewstate; /*--------------------------------------. | yyerrlab -- here on detecting error. | `--------------------------------------*/ yyerrlab: /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; #if ! YYERROR_VERBOSE yyerror (pParser, YY_("syntax error")); #else # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ yyssp, yytoken) { char const *yymsgp = YY_("syntax error"); int yysyntax_error_status; yysyntax_error_status = YYSYNTAX_ERROR; if (yysyntax_error_status == 0) yymsgp = yymsg; else if (yysyntax_error_status == 1) { if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); if (!yymsg) { yymsg = yymsgbuf; yymsg_alloc = sizeof yymsgbuf; yysyntax_error_status = 2; } else { yysyntax_error_status = YYSYNTAX_ERROR; yymsgp = yymsg; } } yyerror (pParser, yymsgp); if (yysyntax_error_status == 2) goto yyexhaustedlab; } # undef YYSYNTAX_ERROR #endif } if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an error, discard it. */ if (yychar <= YYEOF) { /* Return failure if at end of input. */ if (yychar == YYEOF) YYABORT; } else { yydestruct ("Error: discarding", yytoken, &yylval, pParser); yychar = YYEMPTY; } } /* Else will try to reuse lookahead token after shifting the error token. */ goto yyerrlab1; /*---------------------------------------------------. | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: /* Pacify compilers like GCC when the user code never invokes YYERROR and the label yyerrorlab therefore never appears in user code. */ if (/*CONSTCOND*/ 0) goto yyerrorlab; /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); yystate = *yyssp; goto yyerrlab1; /*-------------------------------------------------------------. | yyerrlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) { yyn = yypact[yystate]; if (!yypact_value_is_default (yyn)) { yyn += YYTERROR; if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) { yyn = yytable[yyn]; if (0 < yyn) break; } } /* Pop the current state because it cannot handle the error token. */ if (yyssp == yyss) YYABORT; yydestruct ("Error: popping", yystos[yystate], yyvsp, pParser); YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); } YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; YY_IGNORE_MAYBE_UNINITIALIZED_END /* Shift the error token. */ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); yystate = yyn; goto yynewstate; /*-------------------------------------. | yyacceptlab -- YYACCEPT comes here. | `-------------------------------------*/ yyacceptlab: yyresult = 0; goto yyreturn; /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ yyabortlab: yyresult = 1; goto yyreturn; #if !defined yyoverflow || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ yyexhaustedlab: yyerror (pParser, YY_("memory exhausted")); yyresult = 2; /* Fall through. */ #endif yyreturn: if (yychar != YYEMPTY) { /* Make sure we have latest lookahead translation. See comments at user semantic actions for why this is necessary. */ yytoken = YYTRANSLATE (yychar); yydestruct ("Cleanup: discarding lookahead", yytoken, &yylval, pParser); } /* Do not reclaim the symbols of the rule whose action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (yylen); YY_STACK_PRINT (yyss, yyssp); while (yyssp != yyss) { yydestruct ("Cleanup: popping", yystos[*yyssp], yyvsp, pParser); YYPOPSTACK (1); } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif #if YYERROR_VERBOSE if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); #endif return yyresult; } sphinx-2.2.11-release/src/yy.sh0000644000175000017500000000105112743402012015640 0ustar alexeyalexeybison -l -d -o yysphinxexpr.c sphinxexpr.y bison -l -d -o yysphinxselect.c sphinxselect.y bison -l -d -o yysphinxquery.c sphinxquery.y bison -l -d -o yysphinxql.c sphinxql.y bison -l -d -o yysphinxjson.c sphinxjson.y flex -i -ollsphinxql.c sphinxql.l flex -i -ollsphinxjson.c -Pyy2 sphinxjson.l perl -npe "s/\(size_t\) num_to_read/num_to_read/;s/size_t n; \\\\/int n; \\\\/" -i.bak llsphinxql.c perl -npe "s/\(size_t\) num_to_read/num_to_read/;s/size_t n; \\\\/int n; \\\\/" -i.bak llsphinxjson.c rm *.bak 2>/dev/null rm yysphinxql.c.orig 2>/dev/null sphinx-2.2.11-release/src/yy.cmd0000644000175000017500000000162112743402012015774 0ustar alexeyalexey@echo off bison -l -d -o yysphinxexpr.c sphinxexpr.y bison -l -d -o yysphinxjson.c sphinxjson.y bison -l -d -o yysphinxselect.c sphinxselect.y bison -l -d -o yysphinxquery.c sphinxquery.y bison -l -d -o yysphinxql.c sphinxql.y bison -l -d -o yysphinxjson.c sphinxjson.y flex -i -ollsphinxql.c sphinxql.l flex -i -ollsphinxjson.c -Pyy2 sphinxjson.l perl -npe "s/\(size_t\) num_to_read/num_to_read/;s/size_t n; \\\\/int n; \\\\/" -i.bak llsphinxql.c perl -npe "s/\(size_t\) num_to_read/num_to_read/;s/size_t n; \\\\/int n; \\\\/" -i.bak llsphinxjson.c if exist ..\.git ( fromdos llsphinxjson.c fromdos llsphinxql.c fromdos yysphinxexpr.c fromdos yysphinxjson.c fromdos yysphinxql.c fromdos yysphinxquery.c fromdos yysphinxselect.c fromdos yysphinxexpr.h fromdos yysphinxql.h fromdos yysphinxquery.h fromdos yysphinxselect.h fromdos yysphinxjson.h ) del /q *.bak 2>nul del /q yysphinxql.c.orig 2>nul sphinx-2.2.11-release/src/wordbreaker.cpp0000644000175000017500000003555612743402012017677 0ustar alexeyalexey// // $Id$ // // // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License. You should have // received a copy of the GPL license along with this program; if you // did not, you can find it at http://www.gnu.org/ // #define PREFER_ALLDICT 0 #define UNKNOWN_WORD_COEFF 3.0f #define DICT_THRESH 12 #define DEFAULT_DICT "wordbreaker-dict.txt" #define DICT_COMPOUND_MIN 6 // keywords longer than this are potential compounds #define DICT_COMPOUND_THRESH 0.0001f // penalize a no-split with a rare potential compound (that occurs in less than this percentage) #define DICT_COMPOUND_COEFF 1.53f // penalization factor #include "sphinxstd.h" #include /// my own isalpha (let's build our own theme park!) inline int IsAlpha ( int c ) { return ( c>='a' && c<='z' ); } // copied over from sphinxutils; remove at some point void StrSplit ( CSphVector & dOut, const char * sIn ) { if ( !sIn ) return; const char * p = (char*)sIn; while ( *p ) { // skip non-alphas while ( (*p) && !IsAlpha(*p) ) p++; if ( !(*p) ) break; // this is my next token assert ( IsAlpha(*p) ); const char * sNext = p; while ( IsAlpha(*p) ) p++; if ( sNext!=p ) dOut.Add().SetBinary ( sNext, p-sNext ); } } /// probability descriptor struct Prob_t { float m_fProb; ///< log(P(w)) for dict keywords, 0 otherwise (note that P(w)<0 at all times) bool m_bDict; ///< false dor dict keywords, true otherwise /// construct a non-dict keyword as default Prob_t() : m_fProb ( 0.0f ) , m_bDict ( false ) {} }; /// stupid easy unigram model class LangModel_c { private: typedef CSphOrderedHash < float, CSphString, CSphStrHashFunc, 1048576 > HashType_t; HashType_t * m_pHash; int m_iTotal; float m_fLogTotal; public: float m_fLogMin; LangModel_c() { m_pHash = new HashType_t(); m_fLogMin = logf ( (float)DICT_THRESH ); } ~LangModel_c() { SafeDelete ( m_pHash ); } void SetTotal ( int iTotal ) { m_iTotal = iTotal; m_fLogTotal = logf ( (float)iTotal ); } void AddWord ( const char * sWord, int iFreq ) { // we use 1 as a special case assert ( iFreq>1 ); CSphString sVal ( sWord ); m_pHash->Add ( logf((float)iFreq), sVal ); } Prob_t GetProb ( const char * sKey, int iLen ) const { Prob_t r; CSphString sKey2; sKey2.SetBinary ( sKey, iLen ); // found? P(w) = log(freq/total) = log(freq) - log(total) float * pVal = (*m_pHash)(sKey2); if ( pVal && *pVal >= m_fLogMin ) { r.m_fProb = *pVal - m_fLogTotal; r.m_bDict = true; } else { #if 1 // not found? lets do some tricks // we wanna penalize non-dict "words" compared to dict words // we wanna penalize super-long "words" compared to shorter options // we DO NOT wanna overpenalize (dict + junkN) combo vs (junkM) though if ( iLen>20 ) iLen = 20; static float k[21] = { 9.9f, 7.5f, 4.2f, 2.1f, 1.5f, // 0, 1, 2, 3, 4, 1.2f, 1.1f, 1.0f, 1.1f, 1.2f, // 5, 6, 7, 8, 9, 1.5f, 1.8f, 2.3f, 2.7f, 3.2f, // 10, 11, 12, 13, 14 3.6f, 4.0f, 4.4f, 4.8f, 5.3f, // 15, 16, 17, 18, 19 9.9f // 20 }; r.m_fProb = -m_fLogTotal * ( 0.5f + k[iLen] ); #else r.m_fProb = -m_fLogTotal * UNKNOWN_WORD_COEFF; #endif r.m_bDict = false; } return r; } float GetLogTotal() const { return -m_fLogTotal; } }; /// compound meta-probability /// store sum_{w \in words} ( log(P(w)) ) as m_fProb /// store and_{w \in words} ( m_bDict ) as m_bDict struct Split_t { CSphVector m_Pos; ///< split positions float m_fProb; bool m_bAllDict; bool m_bAnyDict; Split_t() : m_fProb ( 0.0f ) , m_bAllDict ( false ) , m_bAnyDict ( false ) {} void Dump ( const char * sWord, const char * sHead=NULL ) { if ( sHead ) printf ( "%s: ", sHead ); int iCur = 0; ARRAY_FOREACH ( j, m_Pos ) { while ( iCur='a' && *s<='z' ) && !( *s>='0' && *s<='9' ) ) { bLatin = false; break; } s++; } if ( !bLatin ) continue; // hash it g_LM.AddWord ( sBuf, iFreq ); iEntries++; } fclose ( fp ); g_LM.SetTotal ( iSumFreqs ); if ( bVerbose ) printf ( "kept %d entries, total %d hits\n", iEntries, iSumFreqs ); } void UrlBreak ( Split_t & tBest, const char * sWord ) { const int iLen = strlen(sWord); tBest.m_Pos.Resize(0); // current partial splits // begin with an empty one CSphVector dSplits; dSplits.Add(); // our best guess so far // begin with a trivial baseline one (ie. no splits at all) Prob_t p = g_LM.GetProb ( sWord, iLen ); tBest.m_Pos.Add ( iLen ); tBest.m_fProb = p.m_fProb; tBest.m_bAllDict = tBest.m_bAnyDict = p.m_bDict; if ( iLen>=DICT_COMPOUND_MIN && tBest.m_bAllDict ) { static const float THRESH = logf ( DICT_COMPOUND_THRESH ); if ( tBest.m_fProb<=THRESH ) tBest.m_fProb *= DICT_COMPOUND_COEFF; } // work the current splits CSphVector dSplits2; while ( dSplits.GetLength() ) { int iWorkedSplits = 0; float fPrevBest = tBest.m_fProb; ARRAY_FOREACH ( iSplit, dSplits ) { Split_t & s = dSplits[iSplit]; // filter out splits that were added before (!) a new best guess on the previous iteration if ( dSplits[iSplit] < tBest ) continue; iWorkedSplits++; int iLast = 0; if ( s.m_Pos.GetLength() ) iLast = s.m_Pos.Last(); for ( int i=1+iLast; i=100000 && tBest.m_fProb>=fPrevBest ) break; // keep going dSplits.SwapData ( dSplits2 ); dSplits2.Resize ( 0 ); } } char * Strip ( char * sBuf ) { char * p = sBuf; while ( *p && isspace(*p) ) p++; char * e = p + strlen(p) - 1; while ( e>=p && *e && isspace(*e) ) *e-- = '\0'; return p; } void UrlBreakTest ( const char * sTestFile ) { // load the test data CSphVector < CSphVector > dTests; FILE * fp = fopen ( sTestFile, "rb" ); if ( !fp ) sphDie ( "failed to open %s", sTestFile ); char sBuf[1024]; while ( fgets ( sBuf, sizeof(sBuf), fp ) ) { // strip spaces char * p = Strip ( sBuf ); // ignore empty lines if ( !*p ) continue; // ignore comments if ( p[0]=='/' && p[1]=='/' ) continue; // parse! CSphVector & dTest = dTests.Add(); StrSplit ( dTest, p ); if ( dTest.GetLength()<2 ) { if ( dTest.GetLength()==1 ) printf ( "WARNING: no substrings defined for base %s\n", dTest[0].cstr() ); dTests.Pop(); } } fclose ( fp ); // self check int iNosplit = 0; ARRAY_FOREACH ( i, dTests ) { if ( dTests[i][1]==dTests[i][0] ) { // printf ( "WARNING: base %s is the only substring\n", dTests[i][0].cstr() ); iNosplit++; } for ( int j=1; j dWords; ARRAY_FOREACH ( i, tBest.m_Pos ) { dWords.Add().SetBinary ( sWord+iCur, tBest.m_Pos[i]-iCur ); iCur = tBest.m_Pos[i]; } if ( sWord[iCur] ) dWords.Add ( sWord+iCur ); // check them and compute precision bool bGood = true; for ( int j=1; j ", (int)( ( sphMicroTimer() - tmWord )/1000 ), sWord ); tBest.Dump ( sWord ); } #endif } // results printf ( "prec %.3f, wall %d msec, %d good, %d total\n", float(iGood)/iTotal, (int)( ( sphMicroTimer() - tmWall )/1000 ), iGood, iTotal ); printf ( "prec %.3f, %d total w/o nosplits\n", float(iGood)/(iTotal-iNosplit), iTotal-iNosplit ); } bool UrlBreakIsChar ( int c ) { return ( c>='a' && c<='z' ); } void UrlBreakBench ( const char * sBenchFile ) { int64_t tmWall = sphMicroTimer(); const int MIN_BREAK = 5; FILE * fp = fopen ( sBenchFile, "rb" ); if ( !fp ) sphDie ( "failed to open %s", sBenchFile ); Split_t tBest; char sBuf[512]; while ( fgets ( sBuf, sizeof(sBuf), fp ) ) { char * p = sBuf; while ( *p ) { while ( *p && !UrlBreakIsChar(*p) ) p++; if ( !*p ) break; char * sUrl = p; while ( UrlBreakIsChar(*p) ) p++; if ( p-sUrl < MIN_BREAK ) continue; if ( *p ) *p++ = '\0'; #if 0 int64_t tmWord = sphMicroTimer(); #endif UrlBreak ( tBest, sUrl ); #if 0 if ( !tBest.m_bAllDict ) { printf ( "%d usec, %s => ", (int)( (sphMicroTimer()-tmWord) ), sUrl ); tBest.Dump ( sUrl ); } #endif } } fclose ( fp ); tmWall = sphMicroTimer() - tmWall; printf ( "%d msec\n", (int)(tmWall/1000) ); } void UrlBreakSplit () { char sBuf[1024]; char sSpace[] = " "; while ( !feof ( stdin ) ) { // read next one if ( !fgets ( sBuf, sizeof(sBuf), stdin ) ) continue; char * pMax = sBuf + strlen(sBuf); char * p = sBuf; while ( p=pMax ) break; char * sWord = p; while ( p dWords; ARRAY_FOREACH ( i, tBest.m_Pos ) { fwrite ( sWord+iCur, 1, tBest.m_Pos[i]-iCur, stdout ); fwrite ( sSpace, 1, 1, stdout ); iCur = tBest.m_Pos[i]; } if ( sWord[iCur] ) printf ( "%s ", sWord+iCur ); } // all done printf ( "\n" ); fflush ( stdout ); } } int main ( int argc, char ** argv ) { const char * sDict = DEFAULT_DICT; if ( argc<2 ) { printf ( "wordbreaker, a tool to split compounds (eg URL parts) into individual words\n" "\n" "Usage: wordbreaker [OPTIONS]\n" "\n" "Commands are:\n" "test \t\tdo a splitting precision test on TESTFILE\n" "bench \tdo a splitting performance benchmark on TESTFILE\n" "split\t\t\tdo splitting (read from stdin, split, print to stdout)\n" "\n" "Options are:\n" "--dict \tuse FILENAME as a frequency dictionary\n" "\t\t\t(default is " DEFAULT_DICT ")\n" ); return 0; } enum { CMD_NONE, CMD_TEST, CMD_BENCH, CMD_SPLIT } eCommand = CMD_NONE; const char * sFile = ""; for ( int i=1; i=argc ) sphDie ( "test requires an argument" ); eCommand = CMD_TEST; sFile = argv[i]; } else if ( !strcmp ( argv[i], "bench") ) { if ( eCommand!=CMD_NONE ) sphDie ( "you must specify exactly one command" ); if ( ++i>=argc ) sphDie ( "bench requires an argument" ); eCommand = CMD_BENCH; sFile = argv[i]; } else if ( !strcmp ( argv[i], "split") ) { if ( eCommand!=CMD_NONE ) sphDie ( "you must specify exactly one command" ); eCommand = CMD_SPLIT; } else if ( !strcmp ( argv[i], "--dict") ) { if ( ++i>=argc ) sphDie ( "--dict requires an argument" ); sDict = argv[i]; } else { sphDie ( "unknown switch: %s", argv[i] ); } } switch ( eCommand ) { case CMD_NONE: sphDie ( "no command given" ); case CMD_TEST: UrlBreakInit ( sDict, true ); UrlBreakTest ( sFile ); break; case CMD_BENCH: UrlBreakInit ( sDict, true ); UrlBreakBench ( sFile ); break; case CMD_SPLIT: UrlBreakInit ( sDict, false ); UrlBreakSplit (); break; } return 0; } // // $Id$ // sphinx-2.2.11-release/src/udfexample.c0000644000175000017500000001171312743402012017147 0ustar alexeyalexey// // $Id$ // // // Sphinx UDF function example // // Linux // gcc -fPIC -shared -o udfexample.so udfexample.c // CREATE FUNCTION sequence RETURNS INT SONAME 'udfexample.so'; // CREATE FUNCTION strtoint RETURNS INT SONAME 'udfexample.so'; // CREATE FUNCTION avgmva RETURNS FLOAT SONAME 'udfexample.so'; // // Windows // cl /MTd /LD udfexample.c // CREATE FUNCTION sequence RETURNS INT SONAME 'udfexample.dll'; // CREATE FUNCTION strtoint RETURNS INT SONAME 'udfexample.dll'; // CREATE FUNCTION avgmva RETURNS FLOAT SONAME 'udfexample.dll'; // #include "sphinxudf.h" #include #include #include #ifdef _MSC_VER #define snprintf _snprintf #define DLLEXPORT __declspec(dllexport) #else #define DLLEXPORT #endif /// UDF version control /// gets called once when the library is loaded DLLEXPORT int udfexample_ver () { return SPH_UDF_VERSION; } /// UDF re-initialization func /// gets called on sighup (workers=prefork only) DLLEXPORT void udfexample_reinit () { } /// UDF initialization /// gets called on every query, when query begins /// args are filled with values for a particular query DLLEXPORT int sequence_init ( SPH_UDF_INIT * init, SPH_UDF_ARGS * args, char * error_message ) { // check argument count if ( args->arg_count > 1 ) { snprintf ( error_message, SPH_UDF_ERROR_LEN, "SEQUENCE() takes either 0 or 1 arguments" ); return 1; } // check argument type if ( args->arg_count && args->arg_types[0]!=SPH_UDF_TYPE_UINT32 ) { snprintf ( error_message, SPH_UDF_ERROR_LEN, "SEQUENCE() requires 1st argument to be uint" ); return 1; } // allocate and init counter storage init->func_data = (void*) malloc ( sizeof(int) ); if ( !init->func_data ) { snprintf ( error_message, SPH_UDF_ERROR_LEN, "malloc() failed" ); return 1; } *(int*)init->func_data = 1; // all done return 0; } /// UDF deinitialization /// gets called on every query, when query ends DLLEXPORT void sequence_deinit ( SPH_UDF_INIT * init ) { // deallocate storage if ( init->func_data ) { free ( init->func_data ); init->func_data = NULL; } } /// UDF implementation /// gets called for every row, unless optimized away DLLEXPORT sphinx_int64_t sequence ( SPH_UDF_INIT * init, SPH_UDF_ARGS * args, char * error_flag ) { int res = (*(int*)init->func_data)++; if ( args->arg_count ) res += *(int*)args->arg_values[0]; return res; } ////////////////////////////////////////////////////////////////////////// DLLEXPORT int strtoint_init ( SPH_UDF_INIT * init, SPH_UDF_ARGS * args, char * error_message ) { if ( args->arg_count!=1 || args->arg_types[0]!=SPH_UDF_TYPE_STRING ) { snprintf ( error_message, SPH_UDF_ERROR_LEN, "STRTOINT() requires 1 string argument" ); return 1; } return 0; } DLLEXPORT sphinx_int64_t strtoint ( SPH_UDF_INIT * init, SPH_UDF_ARGS * args, char * error_flag ) { const char * s = args->arg_values[0]; int len = args->str_lengths[0], res = 0; while ( len>0 && *s>='0' && *s<='9' ) { res += *s - '0'; len--; } return res; } ////////////////////////////////////////////////////////////////////////// DLLEXPORT int avgmva_init ( SPH_UDF_INIT * init, SPH_UDF_ARGS * args, char * error_message ) { if ( args->arg_count!=1 || ( args->arg_types[0]!=SPH_UDF_TYPE_UINT32SET && args->arg_types[0]!=SPH_UDF_TYPE_UINT64SET ) ) { snprintf ( error_message, SPH_UDF_ERROR_LEN, "AVGMVA() requires 1 MVA argument" ); return 1; } // store our mva vs mva64 flag to func_data init->func_data = (void*)(int)( args->arg_types[0]==SPH_UDF_TYPE_UINT64SET ? 1 : 0 ); return 0; } DLLEXPORT double avgmva ( SPH_UDF_INIT * init, SPH_UDF_ARGS * args, char * error_flag ) { unsigned int * mva = (unsigned int *) args->arg_values[0]; double res = 0; int i, n, is64; if ( !mva ) return res; // Both MVA32 and MVA64 are stored as dword (unsigned 32-bit) arrays. // The first dword stores the array length (always in dwords too), and // the next ones store the values. In pseudocode: // // unsigned int num_dwords // unsigned int data [ num_dwords ] // // With MVA32, this lets you access the values pretty naturally. // // With MVA64, however, we have to do a few tricks: // a) divide num_dwords by 2 to get the number of 64-bit elements, // b) assemble those 64-bit values from dword pairs. // // The latter is required for architectures where non-aligned // 64-bit access crashes. On Intel, we could have also done it // like this: // // int * raw_ptr = (int*) args->arg_values[0]; // int mva64_count = (*raw_ptr) / 2; // sphinx_uint64_t * mva64_values = (sphinx_uint64_t*)(raw_ptr + 1); // pull "mva32 or mva64" flag (that we stored in _init) from func_data is64 = (int)(init->func_data) != 0; if ( is64 ) { // handle mva64 n = *mva++ / 2; for ( i=0; i #define SNOWBALL 0 #define CROSSCHECK 0 #define PORTER1 0 #if SNOWBALL #include "header.h" #include "api.c" #include "utilities.c" #include "stem.c" #endif #if PORTER1 #include "porter1.c" #endif ////////////////////////////////////////////////////////////////////////// static const char * g_sTmpfile = "__libsphinxtest.tmp"; ////////////////////////////////////////////////////////////////////////// bool CreateSynonymsFile ( const char * sMagic ) { FILE * fp = fopen ( g_sTmpfile, "w+" ); if ( !fp ) return false; fprintf ( fp, "AT&T => AT&T\n" " AT & T => AT & T \n" "standarten fuehrer => Standartenfuehrer\n" "standarten fuhrer => Standartenfuehrer\n" "OS/2 => OS/2\n" "Ms-Dos => MS-DOS\n" "MS DOS => MS-DOS\n" "feat. => featuring\n" "U.S. => US\n" "U.S.A. => USA\n" "U.S.B. => USB\n" "U.S.D. => USD\n" "U.S.P. => USP\n" "U.S.A.F. => USAF\n" "life:) => life:)\n" "; => ;\n" ); if ( sMagic ) fprintf ( fp, "%s => test\n", sMagic ); fclose ( fp ); return true; } const DWORD TOK_EXCEPTIONS = 1; const DWORD TOK_NO_DASH = 2; const DWORD TOK_NO_SHORT = 4; ISphTokenizer * CreateTestTokenizer ( DWORD uMode ) { CSphString sError; CSphTokenizerSettings tSettings; if (!( uMode & TOK_NO_SHORT )) tSettings.m_iMinWordLen = 2; ISphTokenizer * pTokenizer = ISphTokenizer::Create ( tSettings, NULL, sError ); if (!( uMode & TOK_NO_DASH )) { assert ( pTokenizer->SetCaseFolding ( "-, 0..9, A..Z->a..z, _, a..z, U+80..U+FF", sError ) ); pTokenizer->AddSpecials ( "!-" ); } else { assert ( pTokenizer->SetCaseFolding ( "0..9, A..Z->a..z, _, a..z, U+80..U+FF", sError ) ); pTokenizer->AddSpecials ( "!" ); } if ( uMode & TOK_EXCEPTIONS ) assert ( pTokenizer->LoadSynonyms ( g_sTmpfile, NULL, sError ) ); // tricky little shit! // we want to create a query mode tokenizer // the official way is to Clone() an indexing mode one, so we do that // however, Clone() adds backslash as a special // and that must be done *after* SetCaseFolding, otherwise it's not special any more ISphTokenizer * pTokenizer1 = pTokenizer->Clone ( SPH_CLONE_QUERY ); SafeDelete ( pTokenizer ); return pTokenizer1; } void TestTokenizer() { const char * sPrefix = "testing tokenizer"; // test exceptions more { #ifndef NDEBUG const char * sMagic = "\xD1\x82\xD0\xB5\xD1\x81\xD1\x82\xD1\x82\xD1\x82"; #endif assert ( CreateSynonymsFile ( sMagic ) ); ISphTokenizer * pTokenizer = CreateTestTokenizer ( TOK_EXCEPTIONS | TOK_NO_SHORT ); CSphString sError; assert ( pTokenizer->SetBlendChars ( "+, U+23", sError ) ); const char * dTests[] = { // for completeness... "AT&T!!!", "AT&T", "!", "!", "!", NULL, // exceptions vs specials "U.S.AB U.S.A. U.S.B.U.S.D.U.S.U.S.A.F.", "US", "ab", "USA", "USB", "USD", "US", "USAF", NULL, "Y.M.C.A.", "y", "m", "c", "a", NULL, "B&E's", "b", "e", "s", NULL, // exceptions vs spaces "AT & T", "AT & T", NULL, "AT & T", "AT & T", NULL, "AT & T", "AT & T", NULL, "AT$&$T", "at", "t", NULL, // prefix fun "U.S.A.X.", "USA", "x", NULL, "U.X.U.S.A.", "u", "x", "USA", NULL, // exceptions vs blended "#test this", "#test", "test", "this", NULL, "#test this", "#test", "test", "this", NULL, "test#that", "test#that", "test", "that", NULL, "1+2", "1+2", "1", "2", NULL, "te.st#this", "te", "st#this", "st", "this", NULL, "U.boat", "u", "boat", NULL, // regressions ";foo bar", ";", "foo", "bar", NULL, NULL }; for ( int iCur=0; dTests[iCur]; ) { printf ( "%s, exceptions, line=%s\n", sPrefix, dTests[iCur] ); pTokenizer->SetBuffer ( (BYTE*)dTests[iCur], strlen ( dTests[iCur] ) ); iCur++; for ( BYTE * pToken=pTokenizer->GetToken(); pToken; pToken=pTokenizer->GetToken() ) { assert ( dTests[iCur] && strcmp ( (const char*)pToken, dTests[iCur] )==0 ); iCur++; } assert ( dTests[iCur]==NULL ); iCur++; } // query mode tokenizer tests ISphTokenizer * pQtok = pTokenizer->Clone ( SPH_CLONE_QUERY_LIGHTWEIGHT ); pQtok->SetBuffer ( (BYTE*)"life:)", 7 ); assert ( strcmp ( (char*)pQtok->GetToken(), "life:)" )==0 ); assert ( pQtok->GetToken()==NULL ); pQtok->SetBuffer ( (BYTE*)"life:\\)", 8 ); assert ( strcmp ( (char*)pQtok->GetToken(), "life:)" )==0 ); assert ( pQtok->GetToken()==NULL ); } for ( int iRun=1; iRun<=3; iRun++ ) { // simple "one-line" tests const char * sMagic = "\xD1\x82\xD0\xB5\xD1\x81\xD1\x82\xD1\x82\xD1\x82"; assert ( CreateSynonymsFile ( sMagic ) ); ISphTokenizer * pTokenizer = CreateTestTokenizer ( ( iRun>=2 ) ? TOK_EXCEPTIONS : 0 ); const char * dTests[] = { "1", "", NULL, // test that empty strings work "1", "this is my rifle", "this", "is", "my", "rifle", NULL, // test that tokenizing works "1", "This is MY rifle", "this", "is", "my", "rifle", NULL, // test that folding works "1", "i-phone", "i-phone", NULL, // test that duals (specials in the middle of the word) work ok "1", "i phone", "phone", NULL, // test that short words are skipped "1", "this is m", "this", "is", NULL, // test that short words at the end are skipped "1", "the -phone", "the", "-", "phone", NULL, // test that specials work "1", "the!phone", "the", "!", "phone", NULL, // test that specials work "1", "i!phone", "!", "phone", NULL, // test that short words preceding specials are skipped "1", "/-hi", "-", "hi", NULL, // test that synonym-dual but folded-special chars work ok "2", "AT&T", "AT&T", NULL, // test that synonyms work "2", "AT & T", "AT & T", NULL, // test that synonyms with spaces work "2", "AT & T", "AT & T", NULL, // test that synonyms with continuous spaces work "2", "-AT&T", "-", "AT&T", NULL, // test that synonyms with specials work "2", "AT&", "at", NULL, // test that synonyms prefixes are not lost on eof "2", "AT&tee.yo", "at", "tee", "yo", NULL, // test that non-synonyms with partially matching prefixes work "2", "standarten fuehrer", "Standartenfuehrer", NULL, "2", "standarten fuhrer", "Standartenfuehrer", NULL, "2", "standarten fuehrerr", "standarten", "fuehrerr", NULL, "2", "standarten fuehrer Stirlitz", "Standartenfuehrer", "stirlitz", NULL, "2", "standarten fuehrer Zog", "Standartenfuehrer", "zog", NULL, "2", "stand\\arten fue\\hrer Zog", "Standartenfuehrer", "zog", NULL, "2", "OS/2 vs OS/360 vs Ms-Dos", "OS/2", "vs", "os", "360", "vs", "MS-DOS", NULL, "2", "AT ", "at", NULL, // test that prefix-whitespace-eof combo does not hang "2", "AT&T&TT", "AT&T", "tt", NULL, "2", "http://OS/2", "http", "OS/2", NULL, "2", "AT*&*T", "at", NULL, "2", "# OS/2's system install", "OS/2", "system", "install", NULL, "2", "IBM-s/OS/2/Merlin", "ibm-s", "OS/2", "merlin", NULL, "2", "U.S.A", "US", NULL, "2", "AT&T!", "AT&T", "!", NULL, // exceptions vs specials "2", "AT&T!!!", "AT&T", "!", "!", "!", NULL, // exceptions vs specials "2", "U.S.A.!", "USA", "!", NULL, // exceptions vs specials "2", "MS DOSS feat.Deskview.MS DOS", "ms", "doss", "featuring", "deskview", "MS-DOS", NULL, "2", sMagic, "test", NULL, "2", "U.S. U.S.A. U.S.A.F.", "US", "USA", "USAF", NULL, "2", "U.S.AB U.S.A. U.S.B.U.S.D.U.S.U.S.A.F.", "US", "ab", "USA", "USB", "USD", "US", "USAF", NULL, "3", "phon\\e", "phone", NULL, "3", "\\thephone", "thephone", NULL, "3", "the\\!phone", "the", "phone", NULL, "3", "\\!phone", "phone", NULL, "3", "\\\\phone", "phone", NULL, // the correct behavior if '\' is not in charset "3", "pho\\\\ne", "pho", "ne", NULL, "3", "phon\\\\e", "phon", NULL, "3", "trailing\\", "trailing", NULL, NULL }; for ( int iCur=0; dTests[iCur] && atoi ( dTests[iCur++] )<=iRun; ) { printf ( "%s, run=%d, line=%s\n", sPrefix, iRun, dTests[iCur] ); pTokenizer->SetBuffer ( (BYTE*)dTests[iCur], strlen ( dTests[iCur] ) ); iCur++; for ( BYTE * pToken=pTokenizer->GetToken(); pToken; pToken=pTokenizer->GetToken() ) { assert ( dTests[iCur] && strcmp ( (const char*)pToken, dTests[iCur] )==0 ); iCur++; } assert ( dTests[iCur]==NULL ); iCur++; } // test misc one-liners const char * dTests2[] = { "\xC2\x80\xC2\x81\xC2\x82", "\xC2\x80\xC2\x81\xC2\x82", NULL, NULL }; for ( int iCur=0; dTests2[iCur]; ) { printf ( "%s, run=%d, line=%s\n", sPrefix, iRun, dTests2[iCur] ); pTokenizer->SetBuffer ( (BYTE*)dTests2[iCur], strlen ( dTests2[iCur] ) ); iCur++; for ( BYTE * pToken=pTokenizer->GetToken(); pToken; pToken=pTokenizer->GetToken() ) { assert ( dTests2[iCur] && strcmp ( (const char*)pToken, dTests2[iCur] )==0 ); iCur++; } assert ( dTests2[iCur]==NULL ); iCur++; } // test that decoder does not go over the buffer boundary on errors printf ( "%s for proper UTF-8 error handling\n", sPrefix ); const char * sLine3 = "hi\xd0\xffh"; pTokenizer->SetBuffer ( (BYTE*)sLine3, 4 ); assert ( !strcmp ( (char*)pTokenizer->GetToken(), "hi" ) ); // test uberlong tokens printf ( "%s for uberlong token handling\n", sPrefix ); const int UBERLONG = 4096; char * sLine4 = new char [ UBERLONG+1 ]; memset ( sLine4, 'a', UBERLONG ); sLine4[UBERLONG] = '\0'; char sTok4[SPH_MAX_WORD_LEN+1]; memset ( sTok4, 'a', SPH_MAX_WORD_LEN ); sTok4[SPH_MAX_WORD_LEN] = '\0'; pTokenizer->SetBuffer ( (BYTE*)sLine4, strlen(sLine4) ); assert ( !strcmp ( (char*)pTokenizer->GetToken(), sTok4 ) ); assert ( pTokenizer->GetToken()==NULL ); // test short word callbacks printf ( "%s for short token handling\n", sPrefix ); ISphTokenizer * pShortTokenizer = pTokenizer->Clone ( SPH_CLONE_QUERY ); pShortTokenizer->AddPlainChar ( '*' ); CSphTokenizerSettings tSettings = pShortTokenizer->GetSettings(); tSettings.m_iMinWordLen = 5; pShortTokenizer->Setup ( tSettings ); const char * dTestsShort[] = { "ab*", "ab*", NULL, "*ab", "*ab", NULL, "abcdef", "abcdef", NULL, "ab *ab* abc", "*ab*", NULL, NULL }; for ( int iCur=0; dTestsShort[iCur]; ) { pShortTokenizer->SetBuffer ( (BYTE*)(dTestsShort [iCur]), strlen ( (const char*)dTestsShort [iCur] ) ); iCur++; for ( BYTE * pToken=pShortTokenizer->GetToken(); pToken; pToken=pShortTokenizer->GetToken() ) { assert ( dTestsShort[iCur] && strcmp ( (const char*)pToken, dTestsShort[iCur] )==0 ); iCur++; } assert ( !dTestsShort [iCur] ); iCur++; } SafeDelete ( pShortTokenizer ); // test uberlong synonym-only tokens if ( iRun==2 ) { printf ( "%s for uberlong synonym-only char token handling\n", sPrefix ); memset ( sLine4, '/', UBERLONG ); sLine4[UBERLONG] = '\0'; pTokenizer->SetBuffer ( (BYTE*)sLine4, strlen(sLine4) ); assert ( pTokenizer->GetToken()==NULL ); printf ( "%s for uberlong synonym token handling\n", sPrefix ); for ( int i=0; iSetBuffer ( (BYTE*)sLine4, strlen(sLine4) ); for ( int i=0; iGetToken(), "aa" ) ); assert ( pTokenizer->GetToken()==NULL ); } SafeDeleteArray ( sLine4 ); // test boundaries printf ( "%s for boundaries handling, run=%d\n", sPrefix, iRun ); CSphString sError; assert ( pTokenizer->SetBoundary ( "?", sError ) ); char sLine5[] = "hello world? testing boundaries?"; pTokenizer->SetBuffer ( (BYTE*)sLine5, strlen(sLine5) ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "hello" ) ); assert ( !pTokenizer->GetBoundary() ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "world" ) ); assert ( !pTokenizer->GetBoundary() ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "testing" ) ); assert ( pTokenizer->GetBoundary() ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "boundaries" ) ); assert ( !pTokenizer->GetBoundary() ); // test specials vs token start/end ptrs printf ( "%s vs specials vs token start/end ptrs\n", sPrefix ); char sLine6[] = "abc!def"; pTokenizer->SetBuffer ( (BYTE*)sLine6, strlen(sLine6) ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "abc" ) ); assert ( *pTokenizer->GetTokenStart()=='a' ); assert ( *pTokenizer->GetTokenEnd()=='!' ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "!" ) ); assert ( *pTokenizer->GetTokenStart()=='!' ); assert ( *pTokenizer->GetTokenEnd()=='d' ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "def" ) ); assert ( *pTokenizer->GetTokenStart()=='d' ); assert ( *pTokenizer->GetTokenEnd()=='\0' ); // test embedded zeroes printf ( "%s vs embedded zeroes\n", sPrefix ); char sLine7[] = "abc\0\0\0defgh"; pTokenizer->SetBuffer ( (BYTE*)sLine7, 9 ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "abc" ) ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "def" ) ); assert ( !pTokenizer->GetToken() ); assert ( !pTokenizer->GetToken() ); assert ( !pTokenizer->GetToken() ); // done SafeDelete ( pTokenizer ); } // test blended printf ( "%s vs escaping vs blend_chars edge cases\n", sPrefix ); CSphString sError; ISphTokenizer * pTokenizer = CreateTestTokenizer ( 0 ); assert ( pTokenizer->SetBlendChars ( "., @", sError ) ); pTokenizer->AddSpecials ( "()!-\"@" ); char sTest1[] = "(texas.\\\")"; pTokenizer->SetBuffer ( (BYTE*)sTest1, strlen(sTest1) ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "(" ) ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "texas." ) ); assert ( pTokenizer->TokenIsBlended() ); pTokenizer->SkipBlended (); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), ")" ) ); assert ( pTokenizer->GetToken()==NULL ); char sTest2[] = "\"series 2003\\-\\\"\""; printf ( "test %s\n", sTest2 ); pTokenizer->SetBuffer ( (BYTE*)sTest2, strlen(sTest2) ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "\"" ) ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "series" ) ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "2003-" ) ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "\"" ) ); assert ( pTokenizer->GetToken()==NULL ); char sTest3[] = "aa lock.up bb"; printf ( "test %s\n", sTest3 ); pTokenizer->SetBuffer ( (BYTE*)sTest3, strlen(sTest3) ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "aa" ) ); assert ( !pTokenizer->TokenIsBlended() ); assert ( !pTokenizer->TokenIsBlendedPart() ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "lock.up" ) ); assert ( pTokenizer->TokenIsBlended() ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "lock" ) ); assert ( !pTokenizer->TokenIsBlended() ); assert ( pTokenizer->TokenIsBlendedPart() ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "up" ) ); assert ( !pTokenizer->TokenIsBlended() ); assert ( pTokenizer->TokenIsBlendedPart() ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "bb" ) ); assert ( !pTokenizer->TokenIsBlended() ); assert ( !pTokenizer->TokenIsBlendedPart() ); char sTest4[] = "3.rd text"; printf ( "test %s\n", sTest4 ); pTokenizer->SetBuffer ( (BYTE*)sTest4, strlen(sTest4) ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "3.rd" ) ); assert ( pTokenizer->TokenIsBlended() ); assert ( pTokenizer->SkipBlended()==1 ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "text" ) ); assert ( !pTokenizer->TokenIsBlended() ); assert ( !pTokenizer->GetToken() ); char sTest5[] = "123\\@rd text"; printf ( "test %s\n", sTest5 ); pTokenizer->SetBuffer ( (BYTE*)sTest5, strlen(sTest5) ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "123@rd" ) ); assert ( pTokenizer->TokenIsBlended() ); assert ( pTokenizer->SkipBlended()==2 ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "text" ) ); assert ( !pTokenizer->TokenIsBlended() ); assert ( !pTokenizer->GetToken() ); char sTest6[] = "at.ta\\.c.da\\.bl.ok yo pest"; printf ( "test %s\n", sTest6 ); pTokenizer->SetBuffer ( (BYTE*)sTest6, strlen(sTest6) ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "at.ta.c.da.bl.ok" ) ); assert ( pTokenizer->TokenIsBlended() ); assert ( pTokenizer->SkipBlended()==5 ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "yo" ) ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "pest" ) ); assert ( !pTokenizer->GetToken() ); char sTest7[] = "3\\@rd text"; printf ( "test %s\n", sTest7 ); pTokenizer->SetBuffer ( (BYTE*)sTest7, strlen(sTest7) ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "3@rd" ) ); assert ( pTokenizer->TokenIsBlended() ); assert ( pTokenizer->SkipBlended()==1 ); // because 3 is overshort! assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "text" ) ); assert ( !pTokenizer->TokenIsBlended() ); assert ( !pTokenizer->GetToken() ); // blended/special vs query mode vs modifier.. hell, this is complicated SafeDelete ( pTokenizer ); pTokenizer = CreateTestTokenizer ( TOK_NO_DASH ); assert ( pTokenizer->SetBlendChars ( "., -", sError ) ); pTokenizer->AddSpecials ( "-" ); pTokenizer->AddPlainChar ( '=' ); assert ( pTokenizer->SetBlendMode ( "trim_none, skip_pure", sError ) ); char sTest10[] = "hello =- =world"; printf ( "test %s\n", sTest10 ); pTokenizer->SetBuffer ( (BYTE*)sTest10, strlen(sTest10) ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "hello" ) ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "=world" ) ); SafeDelete ( pTokenizer ); printf ( "test utf8 len 1\n" ); assert ( sphUTF8Len ( "ab\0cd", 256 )==2 ); printf ( "test utf8 len 2\n" ); assert ( sphUTF8Len ( "", 256 )==0 && sphUTF8Len ( NULL, 256 )==0 ); printf ( "test noascii case\n" ); pTokenizer = sphCreateUTF8Tokenizer(); assert ( pTokenizer->SetCaseFolding ( "U+410..U+42F->U+430..U+44F, U+430..U+44F, U+401->U+451, U+451", sError ) ); char sTest20[] = "abc \xD0\xBE\xD0\xBF\xD0\xB0\x58\xD1\x87\xD0\xB0 def"; pTokenizer->SetBuffer ( (BYTE*)sTest20, strlen(sTest20) ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "\xD0\xBE\xD0\xBF\xD0\xB0" ) ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "\xD1\x87\xD0\xB0" ) ); assert ( !pTokenizer->GetToken() ); SafeDelete ( pTokenizer ); printf ( "test utf8 4-bytes codepoint\n" ); BYTE sTest21[] = "\xF4\x80\x80\x80\x32\x34\x20"; BYTE sTest22[] = "\xEC\x97\xB0"; BYTE sRes21[SPH_MAX_WORD_LEN]; memset ( sRes21, 0, sizeof(sRes21) ); const BYTE * pTest21 = sTest21; int iCode21 = sphUTF8Decode ( pTest21 ); assert ( sphUTF8Encode ( sRes21, iCode21 )==4 ); assert ( sTest21[0]==sRes21[0] && sTest21[1]==sRes21[1] && sTest21[2]==sRes21[2] && sTest21[3]==sRes21[3] ); memset ( sRes21, 0, sizeof(sRes21) ); BYTE * pRes21 = sRes21; SPH_UTF8_ENCODE ( pRes21, iCode21 ); assert ( sTest21[0]==sRes21[0] && sTest21[1]==sRes21[1] && sTest21[2]==sRes21[2] && sTest21[3]==sRes21[3] ); memset ( sRes21, 0, sizeof(sRes21) ); pTest21 = sTest22; int iCode22 = sphUTF8Decode ( pTest21 ); assert ( iCode22==0xC5F0 ); assert ( sphUTF8Encode ( sRes21, iCode22 )==3 ); assert ( memcmp ( sTest22, sRes21, sizeof(sTest22) )==0 ); memset ( sRes21, 0, sizeof(sRes21) ); pRes21 = sRes21; SPH_UTF8_ENCODE ( pRes21, iCode22 ); assert ( memcmp ( sTest22, sRes21, sizeof(sTest22) )==0 ); pTokenizer = sphCreateUTF8Tokenizer(); pTokenizer->SetBuffer ( (BYTE*)sTest21, sizeof(sTest21) ); assert ( !strcmp ( (const char*)pTokenizer->GetToken(), "\xF4\x80\x80\x80\x32\x34" ) ); delete pTokenizer; } char * LoadFile ( const char * sName, int * pLen, bool bReportErrors ) { FILE * fp = fopen ( sName, "rb" ); if ( !fp ) { if ( bReportErrors ) printf ( "benchmark failed: error opening %s\n", sName ); return NULL; } const int MAX_DATA = 10485760; char * sData = new char [ MAX_DATA ]; int iData = fread ( sData, 1, MAX_DATA, fp ); fclose ( fp ); if ( iData<=0 ) { if ( bReportErrors ) printf ( "benchmark failed: error reading %s\n", sName ); SafeDeleteArray ( sData ); return NULL; } *pLen = iData; return sData; } void BenchTokenizer ( ISphTokenizer * pTokenizer, BYTE * sData, int iBytes ) { const int iPasses = 1000; int iTokens = 0; CSphVector dTimes; // do several benchmark passes for ( int iPass=0; iPassSetBuffer ( sData, iBytes ); while ( pTokenizer->GetToken() ) iTokens++; tmTime += sphMicroTimer(); dTimes.Add ( (int)tmTime ); // 2 bil usec == 2000 sec, should be enough for one pass } iTokens /= iPasses; // analyse results int64_t iMin = INT_MAX, iAvg = 0; ARRAY_FOREACH ( i, dTimes ) { if ( dTimes[i]SetCaseFolding ( "-, 0..9, A..Z->a..z, _, a..z", sError ); if ( iRun==2 ) pTokenizer->LoadSynonyms ( g_sTmpfile, NULL, sError ); pTokenizer->AddSpecials ( "!-" ); printf ( "run %d: ", iRun ); BenchTokenizer ( pTokenizer, (BYTE*)sData, iBytes ); SafeDeleteArray ( sData ); SafeDelete ( pTokenizer ); } char * sData = LoadFile ( "./utf8.txt", &iBytes, false ); if ( sData ) { ISphTokenizer * pTokenizer = sphCreateUTF8Tokenizer (); printf ( "run 3: " ); BenchTokenizer ( pTokenizer, (BYTE*)sData, iBytes ); SafeDelete ( pTokenizer ); } SafeDeleteArray ( sData ); } ////////////////////////////////////////////////////////////////////////// void TestStripper () { const char * sTests[][4] = { // source-data, index-attrs, remove-elements, expected-results { "trivial test", "", "", " trivial test " }, { "lets \"niceindex attrs", "img=alt", "", " lets nice picture index attrs " }, { " lets alsoremove scripts", "", "script, style", " lets also remove scripts" }, { "testing inline elements", "", "", "testing inline elements" }, { "testing non

inlineelements", "", "", "testing non inline elements" }, { "testing entities&stuff", "", "", "testing entities&stuff" }, { "testing АБВ utf encoding", "", "", "testing \xD0\x90\xD0\x91\xD0\x92 utf encoding" }, { "testing <1 <\" <\x80 <\xe0 <\xff ents", "", "", "testing comments" }, { "< > ϑ &somethingverylong; &the", "", "", "< > \xCF\x91 &somethingverylong; &the" }, { "testing \"niceinline tags vs attr indexing", "img=alt,rel", "", "testing nice picture anotherattr inline tags vs attr indexing" }, { "this away", "", "", "this away" }, { "content1", "a=title", "", "content1" }, { "content2", "a=title", "", "my test title content2" }, { "testing \"niceinline tags vs attr indexing", "img=alt,rel", "", "testing nice picture anotherattr inline tags vs attr indexing" }, { "test", "", "", " test " }, { "cantest", "", "", " test " }, { "
ohai
", "", "", " ohai " }, { "ohai23", "", "", "ohai 3" }, { "ohai
4", "", "", "ohai 4" }, { "ohai
5", "", "", "ohai 5" }, { "ohai
6
some more content", "", "", "ohai 6 some more content" }, { "ohaib\">7", "", "", "ohai 7" }, { "ohai
b\">8", "", "", "ohai 8" }, { "ohai
b\">9", "", "", "ohai 9" }, { "ohai
b\">10", "", "", "ohai 10" }, { "ohai
611
gimme more", "", "", "ohai 11 gimme more" }, { "

Commission File Number: 333-155507", "", "", " Commission File Number: 333-155507" }, { "SGX", "", "", " SGX" }, { "tango & cash", "", "", "tango & cash" }, { "ahoy\"mate", "font=zzz", "", "ahoy\"mate" }, { "ahoy2", "font=zzz", "", "ahoy2" }, { "ahoy3there", "font=zzz", "", "ahoy3there" }, { "ahoyb\">4", "font=zzz", "", "ahoy4" }, { "ahoyb\">5", "font=zzz", "", "ahoy5" }, { "ahoy6seveneight", "font=zzz", "", "ahoyseveneight" }, { "testing À № Ė1 numbers utf encoding", "", "", "testing \xC3\x80 \xE2\x84\x96 \xC4\x96\x31 numbers utf encoding" } }; int nTests = (int)(sizeof(sTests)/sizeof(sTests[0])); for ( int iTest=0; iTest=2,3,4)", 3.0f }, { "pow(7,5)", 16807.f }, { "sqrt(3)", 1.7320508f }, { "log2((2+2)*(2+2))", 4.0f }, { "min(3,15)", 3.0f }, { "max(3,15)", 15.0f }, { "if(3<15,bbb,ccc)", 2.0f }, { "@id+@weight", 579.0f }, { "abs(-3-ccc)", 6.0f }, { "(aaa+bbb)*(ccc-aaa)", 6.0f }, { "(((aaa)))", 1.0f }, { "aaa-bbb*ccc", -5.0f }, { " aaa -\tbbb *\t\t\tccc ", -5.0f }, { "bbb+123*aaa", 125.0f }, { "2.000*2e+1+2", 42.0f }, { "3<5", 1.0f }, { "1 + 2*3 > 4*4", 0.0f }, { "aaa/-bbb", -0.5f, }, { "-10*-10", 100.0f }, { "aaa+-bbb*-5", 11.0f }, { "-aaa>-bbb", 1.0f }, { "1-aaa+2-3+4", 3.0f }, { "bbb/1*2/6*3", 2.0f }, { "(aaa+bbb)/sqrt(3)/sqrt(3)", 1.0f }, { "aaa-bbb-2", -3.0f }, { "ccc/2*4/bbb", 3.0f }, { "(2+(aaa*bbb))+3", 7.0f } }; const int nTests = sizeof(dTests)/sizeof(dTests[0]); for ( int iTest=0; iTest pExpr ( sphExprParse ( dTests[iTest].m_sExpr, tSchema, NULL, NULL, sError, NULL ) ); if ( !pExpr.Ptr() ) { printf ( "FAILED; %s\n", sError.cstr() ); assert ( 0 ); } float fValue = pExpr->Eval(tMatch); if ( fabs ( fValue - dTests[iTest].m_fValue )>=0.0001f ) { printf ( "FAILED; expected %.3f, got %.3f\n", dTests[iTest].m_fValue, fValue ); assert ( 0 ); } printf ( "ok\n" ); } SafeDeleteArray ( pRow ); } #if USE_WINDOWS #define NOINLINE __declspec(noinline) #else #define NOINLINE #endif #define AAA float(tMatch.m_pStatic[0]) #define BBB float(tMatch.m_pStatic[1]) #define CCC float(tMatch.m_pStatic[2]) NOINLINE float ExprNative1 ( const CSphMatch & tMatch ) { return AAA+BBB*CCC-1.0f;} NOINLINE float ExprNative2 ( const CSphMatch & tMatch ) { return AAA+BBB*CCC*2.0f-3.0f/4.0f*5.0f/6.0f*BBB; } NOINLINE float ExprNative3 ( const CSphMatch & ) { return (float)sqrt ( 2.0f ); } void BenchExpr () { printf ( "benchmarking expressions\n" ); CSphColumnInfo tCol; tCol.m_eAttrType = SPH_ATTR_INTEGER; CSphSchema tSchema; tCol.m_sName = "aaa"; tSchema.AddAttr ( tCol, false ); tCol.m_sName = "bbb"; tSchema.AddAttr ( tCol, false ); tCol.m_sName = "ccc"; tSchema.AddAttr ( tCol, false ); CSphRowitem * pRow = new CSphRowitem [ tSchema.GetRowSize() ]; for ( int i=0; i pExpr ( sphExprParse ( dBench[iRun].m_sExpr, tSchema, &uType, NULL, sError, NULL ) ); if ( !pExpr.Ptr() ) { printf ( "FAILED; %s\n", sError.cstr() ); return; } const int NRUNS = 1000000; volatile float fValue = 0.0f; int64_t tmTime = sphMicroTimer(); for ( int i=0; iEval(tMatch); tmTime = sphMicroTimer() - tmTime; int64_t tmTimeInt = sphMicroTimer(); if ( uType==SPH_ATTR_INTEGER ) { int uValue = 0; for ( int i=0; iIntEval(tMatch); } tmTimeInt = sphMicroTimer() - tmTimeInt; int64_t tmTimeNative = sphMicroTimer(); for ( int i=0; im_iAtomPosm_iAtomPos; } }; static void CheckQuerySoftSpace ( const XQNode_t * pNode, const int * pQPos, int iCount ) { assert ( pNode ); CSphVector< const XQKeyword_t * > dTerms; CSphVector dChildren; dChildren.Add ( pNode ); ARRAY_FOREACH ( i, dChildren ) { const XQNode_t * pChild = dChildren[i]; ARRAY_FOREACH ( j, pChild->m_dChildren ) dChildren.Add ( pChild->m_dChildren[j] ); ARRAY_FOREACH ( j, pChild->m_dWords ) dTerms.Add ( pChild->m_dWords.Begin() + j ); } dTerms.Sort ( CmpAtomPos_fn() ); assert ( iCount==dTerms.GetLength() ); ARRAY_FOREACH ( i, dTerms ) { assert ( dTerms[i]->m_iAtomPos==pQPos[i] ); } assert ( dTerms[0]->m_sWord=="me" ); assert ( dTerms.Last()->m_sWord=="off" ); } void TestQueryParser () { CSphString sError; CSphSchema tSchema; CSphColumnInfo tCol; tCol.m_sName = "title"; tSchema.m_dFields.Add ( tCol ); tCol.m_sName = "body"; tSchema.m_dFields.Add ( tCol ); CSphScopedPtr pBase ( sphCreateUTF8Tokenizer () ); CSphTokenizerSettings tTokenizerSetup; tTokenizerSetup.m_iMinWordLen = 2; tTokenizerSetup.m_sSynonymsFile = g_sTmpfile; pBase->Setup ( tTokenizerSetup ); assert ( CreateSynonymsFile ( NULL ) ); assert ( pBase->LoadSynonyms ( g_sTmpfile, NULL, sError ) ); CSphScopedPtr pTokenizer ( pBase->Clone ( SPH_CLONE_QUERY ) ); sphSetupQueryTokenizer ( pTokenizer.Ptr() ); CSphDictSettings tDictSettings; tDictSettings.m_bWordDict = false; CSphScopedPtr pDict ( sphCreateDictionaryCRC ( tDictSettings, NULL, pTokenizer.Ptr(), "query", sError ) ); assert ( pTokenizer.Ptr() ); assert ( pDict.Ptr() ); struct QueryTest_t { const char * m_sQuery; const char * m_sReconst; }; const QueryTest_t dTest[] = { { "aaa bbb ccc", "( aaa bbb ccc )" }, { "aaa|bbb ccc", "( ( aaa | bbb ) ccc )" }, { "aaa bbb|ccc", "( aaa ( bbb | ccc ) )" }, { "aaa (bbb ccc)|ddd", "( aaa ( ( bbb ccc ) | ddd ) )" }, { "aaa bbb|(ccc ddd)", "( aaa ( bbb | ( ccc ddd ) ) )" }, { "aaa bbb|(ccc ddd)|eee|(fff)", "( aaa ( bbb | ( ccc ddd ) | eee | fff ) )" }, { "aaa bbb|(ccc ddd) eee|(fff)", "( aaa ( bbb | ( ccc ddd ) ) ( eee | fff ) )" }, { "aaa (ccc ddd)|bbb|eee|(fff)", "( aaa ( ( ccc ddd ) | bbb | eee | fff ) )" }, { "aaa (ccc ddd)|bbb eee|(fff)", "( aaa ( ( ccc ddd ) | bbb ) ( eee | fff ) )" }, { "aaa \"bbb ccc\"~5|ddd", "( aaa ( \"bbb ccc\"~5 | ddd ) )" }, { "aaa bbb|\"ccc ddd\"~5", "( aaa ( bbb | \"ccc ddd\"~5 ) )" }, { "aaa ( ( \"bbb ccc\"~3|ddd ) eee | ( fff -ggg ) )", "( aaa ( ( \"bbb ccc\"~3 | ddd ) ( eee | ( fff AND NOT ggg ) ) ) )" }, { "@title aaa @body ccc|(@title ddd eee)|fff ggg", "( ( @title: aaa ) ( ( @body: ccc ) | ( ( @title: ddd ) ( @title: eee ) ) | ( @body: fff ) ) ( @body: ggg ) )" }, { "@title hello world | @body sample program", "( ( @title: hello ) ( ( @title: world ) | ( @body: sample ) ) ( @body: program ) )" }, { "@title one two three four", "( ( @title: one ) ( @title: two ) ( @title: three ) ( @title: four ) )" }, { "@title one (@body two three) four", "( ( @title: one ) ( ( @body: two ) ( @body: three ) ) ( @title: four ) )" }, { "windows 7 2000", "( windows 2000 )" }, { "aaa a|bbb", "( aaa bbb )" }, { "aaa bbb|x y z|ccc", "( aaa bbb ccc )" }, { "a", "" }, { "hello -world", "( hello AND NOT world )" }, { "-hello world", "( world AND NOT hello )" }, { "\"phrase (query)/3 ~on steroids\"", "\"phrase query on steroids\"" }, { "hello a world", "( hello world )" }, { "-one", "" }, { "-one -two", "" }, { "\"\"", "" }, { "\"()\"", "" }, { "\"]\"", "" }, { "@title hello @body -world", "( ( @title: hello ) AND NOT ( @body: world ) )" }, { "Ms-Dos", "MS-DOS" } }; CSphIndexSettings tTmpSettings; int nTests = sizeof(dTest)/sizeof(dTest[0]); for ( int i=0; i & , int , int ) { return 0; } virtual bool Merge ( CSphIndex * , const CSphVector & , bool ) {return false; } virtual bool Prealloc ( bool , bool , CSphString & ) { return false; } virtual void Dealloc () {} virtual bool Preread () { return false; } virtual void SetBase ( const char * ) {} virtual bool Rename ( const char * ) { return false; } virtual bool Lock () { return false; } virtual void Unlock () {} virtual bool Mlock () { return false; } virtual void PostSetup() {} virtual bool EarlyReject ( CSphQueryContext * , CSphMatch & ) const { return false; } virtual const CSphSourceStats & GetStats () const { return g_tTmpDummyStat; } virtual void GetStatus ( CSphIndexStatus* pRes ) const { if ( pRes ) { pRes->m_iDiskUse = 0; pRes->m_iRamUse = 0;} } virtual bool MultiQuery ( const CSphQuery * , CSphQueryResult * , int , ISphMatchSorter ** , const CSphMultiQueryArgs & ) const { return false; } virtual bool MultiQueryEx ( int , const CSphQuery * , CSphQueryResult ** , ISphMatchSorter ** , const CSphMultiQueryArgs & ) const { return false; } virtual bool GetKeywords ( CSphVector & , const char * , bool , CSphString * ) const { return false; } virtual bool FillKeywords ( CSphVector & dKeywords ) const; virtual int UpdateAttributes ( const CSphAttrUpdate & , int , CSphString &, CSphString & ) { return -1; } virtual bool SaveAttributes ( CSphString & ) const { return false; } virtual DWORD GetAttributeStatus () const { return 0; } virtual bool CreateModifiedFiles ( bool, const CSphString &, ESphAttr, int, CSphString & ) { return true; } virtual bool AddRemoveAttribute ( bool, const CSphString &, ESphAttr, int, CSphString & ) { return true; } virtual void DebugDumpHeader ( FILE *, const char *, bool ) {} virtual void DebugDumpDocids ( FILE * ) {} virtual void DebugDumpHitlist ( FILE * , const char * , bool ) {} virtual int DebugCheck ( FILE * ) { return 0; } // NOLINT virtual void DebugDumpDict ( FILE * ) {} virtual void SetProgressCallback ( CSphIndexProgress::IndexingProgress_fn ) {} SmallStringHash_T < int > m_hHits; }; bool CSphDummyIndex::FillKeywords ( CSphVector & dKeywords ) const { ARRAY_FOREACH ( i, dKeywords ) { int * pDocs = m_hHits ( dKeywords[i].m_sTokenized ); dKeywords[i].m_iDocs = pDocs ? *pDocs : 0; } return true; } void TestQueryTransforms () { CSphSchema tSchema; CSphColumnInfo tCol; tCol.m_sName = "title"; tSchema.m_dFields.Add ( tCol ); tCol.m_sName = "body"; tSchema.m_dFields.Add ( tCol ); CSphString sError; CSphDictSettings tDictSettings; tDictSettings.m_bWordDict = false; CSphScopedPtr pBase ( sphCreateUTF8Tokenizer () ); CSphScopedPtr pDict ( sphCreateDictionaryCRC ( tDictSettings, NULL, pBase.Ptr(), "query", sError ) ); assert ( pBase.Ptr() ); assert ( pDict.Ptr() ); assert ( sError.IsEmpty() ); CSphTokenizerSettings tTokenizerSetup; tTokenizerSetup.m_iMinWordLen = 2; tTokenizerSetup.m_sSynonymsFile = g_sTmpfile; pBase->Setup ( tTokenizerSetup ); assert ( CreateSynonymsFile ( NULL ) ); assert ( pBase->LoadSynonyms ( g_sTmpfile, NULL, sError ) ); CSphScopedPtr pTokenizer ( pBase->Clone ( SPH_CLONE_QUERY ) ); sphSetupQueryTokenizer ( pTokenizer.Ptr() ); struct CKeywordHits { const char * m_sKeyword; int m_iHits; }; struct QueryTest_t { const char * m_sQuery; const char * m_sReconst; const char * m_sReconstTransformed; const CKeywordHits * m_pKeywordHits; }; const CKeywordHits dPseudoHits [][10] = { { { "nnn", 10 }, { "aaa", 1 }, { "bbb", 1 }, { 0, 0 } }, { { "nnn", 10 }, { "aaa", 100 }, { "bbb", 200 }, { 0, 0 } }, { { "nnn", 10 }, { "aaa", 1 }, { "bbb", 2 }, { "qqq", 500 }, { "www", 100 }, { 0, 0 } } }; const QueryTest_t dTest[] = { // COMMON NOT { "( aaa !ccc ) | ( bbb !ccc )", "( ( aaa AND NOT ccc ) | ( bbb AND NOT ccc ) )", "( ( aaa | bbb ) AND NOT ccc )", NULL }, { "( aaa bbb !ccc) | ( ddd eee !ccc ) ", "( ( ( aaa bbb ) AND NOT ccc ) | ( ( ddd eee ) AND NOT ccc ) )", "( ( ( aaa bbb ) | ( ddd eee ) ) AND NOT ccc )", NULL }, { "( aaa bbb !ccc) | ( ddd eee !ccc ) | fff | ( ggg !jjj )", "( ( ( aaa bbb ) AND NOT ccc ) | ( ( ddd eee ) AND NOT ccc ) | fff | ( ggg AND NOT jjj ) )", "( ( ( ( aaa bbb ) | ( ddd eee ) ) AND NOT ccc ) | fff | ( ggg AND NOT jjj ) )", NULL }, { "(aaa !bbb) | (ccc !bbb) | (ccc !eee) | (ddd !eee)", "( ( aaa AND NOT bbb ) | ( ccc AND NOT bbb ) | ( ccc AND NOT eee ) | ( ddd AND NOT eee ) )", "( ( ( aaa | ccc ) AND NOT bbb ) | ( ( ccc | ddd ) AND NOT eee ) )", NULL }, { "((( aaa & bbb & ccc ) !eee) | ((kkk | jjj & kkk & (zzz | jjj)) !eee))", "( ( ( aaa bbb ccc ) AND NOT eee ) | ( ( ( kkk | jjj ) kkk ( zzz | jjj ) ) AND NOT eee ) )", "( ( ( aaa bbb ccc ) | ( ( kkk | jjj ) kkk ( zzz | jjj ) ) ) AND NOT eee )", NULL }, { "(aaa !(aaa !nnn)) | (bbb !(aaa !nnn))", "( ( aaa AND NOT ( aaa AND NOT nnn ) ) | ( bbb AND NOT ( aaa AND NOT nnn ) ) )", "( ( aaa | bbb ) AND NOT ( aaa AND NOT nnn ) )", NULL }, // COMMON NOT WITH MIXED PHRASES/PROXIMITY terms { "(aaa !(\"zzz yyy\")) | (bbb !(\"zzz yyy\"~30)) | (ccc !(\"zzz yyy\"~20))", "( ( aaa AND NOT \"zzz yyy\" ) | ( bbb AND NOT \"zzz yyy\"~30 ) | ( ccc AND NOT \"zzz yyy\"~20 ) )", "( ( aaa | bbb | ccc ) AND NOT \"zzz yyy\"~30 )", NULL }, // COMMON COMPOUND NOT { "(aaa !(nnn ccc)) | (bbb !(nnn ddd))", "( ( aaa AND NOT ( nnn ccc ) ) | ( bbb AND NOT ( nnn ddd ) ) )", "( ( aaa AND NOT ccc ) | ( bbb AND NOT ddd ) | ( ( aaa | bbb ) AND NOT nnn ) )", ( const CKeywordHits * ) &dPseudoHits[0] }, { "(aaa !(ccc nnn)) | (bbb !(nnn ddd)) | (ccc !nnn)", "( ( aaa AND NOT ( ccc nnn ) ) | ( bbb AND NOT ( nnn ddd ) ) | ( ccc AND NOT nnn ) )", "( ( aaa AND NOT ccc ) | ( bbb AND NOT ddd ) | ( ( ccc | aaa | bbb ) AND NOT nnn ) )", ( const CKeywordHits * ) &dPseudoHits[0] }, { "(aaa !(ccc nnn)) | (bbb !(nnn ddd))", "( ( aaa AND NOT ( ccc nnn ) ) | ( bbb AND NOT ( nnn ddd ) ) )", "( ( aaa AND NOT ( ccc nnn ) ) | ( bbb AND NOT ( nnn ddd ) ) )", ( const CKeywordHits * ) &dPseudoHits[1] }, // COMMON COMPOUND NOT WITH MIXED PHRASES/PROXIMITY terms { "(aaa !(ccc \"nnn zzz\"~20)) | (bbb !(\"nnn zzz\"~10 ddd)) | (ccc !\"nnn zzz\")", "( ( aaa AND NOT ( ccc \"nnn zzz\"~20 ) ) | ( bbb AND NOT ( \"nnn zzz\"~10 ddd ) ) | ( ccc AND NOT \"nnn zzz\" ) )", "( ( aaa AND NOT ccc ) | ( bbb AND NOT ddd ) | ( ( ccc | aaa | bbb ) AND NOT \"nnn zzz\"~20 ) )", ( const CKeywordHits * ) &dPseudoHits[0] }, // COMMON SUBTERM { "(aaa (nnn | ccc)) | (bbb (nnn | ddd))", "( ( aaa ( nnn | ccc ) ) | ( bbb ( nnn | ddd ) ) )", "( ( aaa ccc ) | ( bbb ddd ) | ( ( aaa | bbb ) nnn ) )", ( const CKeywordHits * ) &dPseudoHits[0] }, { "(aaa (ccc | nnn)) | (bbb (nnn | ddd)) | (ccc | nnn)", "( ( aaa ( ccc | nnn ) ) | ( bbb ( nnn | ddd ) ) | ( ccc | nnn ) )", "( ( aaa ccc ) | ( bbb ddd ) | ccc | nnn | ( ( aaa | bbb ) nnn ) )", ( const CKeywordHits * ) &dPseudoHits[0] }, { "(aaa (ccc | nnn)) | (bbb (nnn | ddd))", "( ( aaa ( ccc | nnn ) ) | ( bbb ( nnn | ddd ) ) )", "( ( aaa ( ccc | nnn ) ) | ( bbb ( nnn | ddd ) ) )", ( const CKeywordHits * ) &dPseudoHits[1] }, // COMMON SUBTERM WITH MIXED PHRASES/PROXIMITY terms { "(aaa (ccc | \"qqq www\"~10)) | (bbb (\"qqq www\" | ddd)) | (ccc | \"qqq www\"~20)", "( ( aaa ( ccc | \"qqq www\"~10 ) ) | ( bbb ( \"qqq www\" | ddd ) ) | ( ccc | \"qqq www\"~20 ) )", "( ( aaa ccc ) | ( bbb ddd ) | ccc | \"qqq www\"~20 | ( ( aaa | bbb ) \"qqq www\"~10 ) )", ( const CKeywordHits * ) &dPseudoHits[2] }, // COMMON KEYWORDS { "\"aaa bbb ccc ddd jjj\" | \"aaa bbb\"", "( \"aaa bbb ccc ddd jjj\" | \"aaa bbb\" )", "\"aaa bbb\"", NULL }, { "bbb | \"aaa bbb ccc\"", "( bbb | \"aaa bbb ccc\" )", "bbb", NULL }, { "\"aaa bbb ccc ddd jjj\" | \"bbb ccc\"", "( \"aaa bbb ccc ddd jjj\" | \"bbb ccc\" )", "\"bbb ccc\"", NULL }, { "\"aaa bbb ccc ddd jjj\" | \"bbb jjj\"", "( \"aaa bbb ccc ddd jjj\" | \"bbb jjj\" )", "( \"aaa bbb ccc ddd jjj\" | \"bbb jjj\" )", NULL }, // FIXME!!! add exact phrase elimination { "\"aaa bbb ccc\"~10 | \"aaa bbb ccc ddd\"~20 | \"aaa bbb ccc\"~10 | \"aaa bbb ccc\"~10", "( \"aaa bbb ccc\"~10 | \"aaa bbb ccc ddd\"~20 | \"aaa bbb ccc\"~10 | \"aaa bbb ccc\"~10 )", // "( \"aaa bbb ccc ddd\"~20 | \"aaa bbb ccc\"~10 )", "( \"aaa bbb ccc\"~10 | \"aaa bbb ccc ddd\"~20 | \"aaa bbb ccc\"~10 | \"aaa bbb ccc\"~10 )", NULL }, { "\"aaa bbb ccc\"~10 | \"aaa bbb ccc ddd\"~10", "( \"aaa bbb ccc\"~10 | \"aaa bbb ccc ddd\"~10 )", "\"aaa bbb ccc\"~10", NULL }, { "\"aaa bbb ccc\"~10 | \"aaa bbb ccc\"~10", "( \"aaa bbb ccc\"~10 | \"aaa bbb ccc\"~10 )", // "\"aaa bbb ccc\"~10", "( \"aaa bbb ccc\"~10 | \"aaa bbb ccc\"~10 )", NULL }, { "\"aaa bbb ccc\"~10 | \"aaa bbb ccc\"~9", "( \"aaa bbb ccc\"~10 | \"aaa bbb ccc\"~9 )", // "\"aaa bbb ccc\"~10", "( \"aaa bbb ccc\"~10 | \"aaa bbb ccc\"~9 )", NULL }, { "\"aaa bbb ccc ddd eee\" | \"bbb ccc ddd\"~10", "( \"aaa bbb ccc ddd eee\" | \"bbb ccc ddd\"~10 )", "\"bbb ccc ddd\"~10", NULL }, { "\"bbb ccc ddd\"~10 | \"ccc ddd\" | \"aaa bbb\"", "( \"bbb ccc ddd\"~10 | \"ccc ddd\" | \"aaa bbb\" )", "( \"bbb ccc ddd\"~10 | \"ccc ddd\" | \"aaa bbb\" )", NULL }, { "\"aaa bbb ccc ddd eee\" | \"bbb ccc ddd\"~10 | \"ccc ddd\" | \"aaa bbb\"", "( \"aaa bbb ccc ddd eee\" | \"bbb ccc ddd\"~10 | \"ccc ddd\" | \"aaa bbb\" )", "( \"bbb ccc ddd\"~10 | \"ccc ddd\" | \"aaa bbb\" )", NULL }, { "aaa | \"aaa bbb\"~10 | \"aaa ccc\"", "( aaa | \"aaa bbb\"~10 | \"aaa ccc\" )", "aaa", NULL }, // COMMON PHRASES { "\"aaa bbb ccc ddd\" | \"eee fff ccc ddd\"", "( \"aaa bbb ccc ddd\" | \"eee fff ccc ddd\" )", "( \"( \"aaa bbb\" | \"eee fff\" ) \"ccc ddd\"\" )", NULL }, { "\"ccc ddd aaa bbb\" | \"ccc ddd eee fff\"", "( \"ccc ddd aaa bbb\" | \"ccc ddd eee fff\" )", "( \"\"ccc ddd\" ( \"aaa bbb\" | \"eee fff\" )\" )", NULL }, { "\"aaa bbb ccc ddd\" | \"eee fff ccc ddd\" | \"jjj lll\"", "( \"aaa bbb ccc ddd\" | \"eee fff ccc ddd\" | \"jjj lll\" )", "( \"jjj lll\" | ( \"( \"aaa bbb\" | \"eee fff\" ) \"ccc ddd\"\" ) )", NULL }, { "\"ccc ddd aaa bbb\" | \"ccc ddd eee fff\" | \"jjj lll\"", "( \"ccc ddd aaa bbb\" | \"ccc ddd eee fff\" | \"jjj lll\" )", "( \"jjj lll\" | ( \"\"ccc ddd\" ( \"aaa bbb\" | \"eee fff\" )\" ) )", NULL }, { "\"aaa bbb ccc ddd xxx yyy zzz\" | \"eee fff ddd xxx yyy zzz\" | \"jjj lll\"", "( \"aaa bbb ccc ddd xxx yyy zzz\" | \"eee fff ddd xxx yyy zzz\" | \"jjj lll\" )", "( \"jjj lll\" | ( \"( \"aaa bbb ccc\" | \"eee fff\" ) \"ddd xxx yyy zzz\"\" ) )", NULL }, { "\"ddd xxx yyy zzz aaa bbb\" | \"ddd xxx yyy zzz ccc eee fff\" | \"jjj lll\"", "( \"ddd xxx yyy zzz aaa bbb\" | \"ddd xxx yyy zzz ccc eee fff\" | \"jjj lll\" )", "( \"jjj lll\" | ( \"\"ddd xxx yyy zzz\" ( \"aaa bbb\" | \"ccc eee fff\" )\" ) )", NULL }, { "\"xxx zzz ccc ddd\" | \"xxx zzz yyy jjj kkk\" | \"xxx zzz yyy mmm nnn\"", "( \"xxx zzz ccc ddd\" | \"xxx zzz yyy jjj kkk\" | \"xxx zzz yyy mmm nnn\" )", "( \"\"xxx zzz\" ( \"ccc ddd\" | \"yyy jjj kkk\" | \"yyy mmm nnn\" )\" )", NULL }, { "\"aaa bbb ddd www xxx yyy zzz\" | \"aaa bbb eee www xxx yyy zzz\"", "( \"aaa bbb ddd www xxx yyy zzz\" | \"aaa bbb eee www xxx yyy zzz\" )", "( \"( \"aaa bbb ddd\" | \"aaa bbb eee\" ) \"www xxx yyy zzz\"\" )", NULL }, { "\"www xxx yyy zzz ddd aaa bbb\" | \"www xxx yyy zzz eee aaa bbb\"", "( \"www xxx yyy zzz ddd aaa bbb\" | \"www xxx yyy zzz eee aaa bbb\" )", "( \"\"www xxx yyy zzz\" ( \"ddd aaa bbb\" | \"eee aaa bbb\" )\" )", NULL }, { "\"xxx yyy zzz ddd\" | \"xxx yyy zzz eee\"", "( \"xxx yyy zzz ddd\" | \"xxx yyy zzz eee\" )", "( \"\"xxx yyy zzz\" ( ddd | eee )\" )", NULL }, { "\"ddd xxx yyy zzz\" | \"eee xxx yyy zzz\"", "( \"ddd xxx yyy zzz\" | \"eee xxx yyy zzz\" )", "( \"( ddd | eee ) \"xxx yyy zzz\"\" )", NULL }, // COMMON AND NOT FACTOR { "( aaa !xxx ) | ( aaa !yyy ) | ( aaa !zzz )", "( ( aaa AND NOT xxx ) | ( aaa AND NOT yyy ) | ( aaa AND NOT zzz ) )", "( aaa AND NOT ( xxx yyy zzz ) )", NULL }, { "( aaa !xxx ) | ( aaa !yyy ) | ( aaa !zzz ) | ( bbb !xxx ) | ( bbb !yyy ) | ( bbb !zzz )", "( ( aaa AND NOT xxx ) | ( aaa AND NOT yyy ) | ( aaa AND NOT zzz ) | ( bbb AND NOT xxx ) | ( bbb AND NOT yyy ) | ( bbb AND NOT zzz ) )", "( ( aaa | bbb ) AND NOT ( xxx yyy zzz ) )", NULL }, // COMMON AND NOT FACTOR WITH MIXED PHRASES/PROXIMITY terms { "( \"aaa bbb\"~10 !xxx ) | ( \"aaa bbb\"~20 !yyy ) | ( \"aaa bbb\" !zzz )", "( ( \"aaa bbb\"~10 AND NOT xxx ) | ( \"aaa bbb\"~20 AND NOT yyy ) | ( \"aaa bbb\" AND NOT zzz ) )", "( \"aaa bbb\"~20 AND NOT ( yyy xxx zzz ) )", NULL }, // COMMON | NOT { "( aaa !(nnn | nnn1) ) | ( bbb !(nnn2 | nnn) )", "( ( aaa AND NOT ( nnn | nnn1 ) ) | ( bbb AND NOT ( nnn2 | nnn ) ) )", "( ( ( aaa AND NOT nnn1 ) | ( bbb AND NOT nnn2 ) ) AND NOT nnn )", NULL }, // ExcessAndNot { "( (aaa ( ( ( (fff (xxx !hhh)) !kkk ) ) bbb !ccc)) !ddd ) ( ( (zzz (xxx !vvv)) !kkk ) )", "( ( aaa ( ( fff ( xxx AND NOT hhh ) bbb ) AND NOT ( kkk | ccc ) ) ( ( zzz ( xxx AND NOT vvv ) ) AND NOT kkk ) ) AND NOT ddd )", "( ( aaa fff xxx bbb zzz xxx ) AND NOT ( vvv | hhh | kkk | kkk | ccc | ddd ) )", NULL }, // COMMON | NOT WITH MIXED PHRASES/PROXIMITY terms { "( aaa !( \"jjj kkk\"~10 | (aaa|nnn) ) ) | ( bbb !( fff | \"jjj kkk\" ) ) | ( ccc !( (hhh kkk) | \"jjj kkk\"~20 ) )", "( ( aaa AND NOT ( \"jjj kkk\"~10 | ( aaa | nnn ) ) ) | ( bbb AND NOT ( fff | \"jjj kkk\" ) ) | ( ccc AND NOT ( ( hhh kkk ) | \"jjj kkk\"~20 ) ) )", "( ( ( aaa AND NOT ( aaa | nnn ) ) | ( bbb AND NOT fff ) | ( ccc AND NOT ( hhh kkk ) ) ) AND NOT \"jjj kkk\"~20 )", NULL }, { NULL, NULL, NULL, NULL } }; CSphIndexSettings tTmpSettings; const QueryTest_t * pTest = dTest; while ( pTest->m_sQuery ) { printf ( "testing query transformations, test %d/%d... ", (int)( pTest-dTest+1 ), (int)( sizeof(dTest)/sizeof(dTest[0])-1 ) ); XQQuery_t tQuery; sphParseExtendedQuery ( tQuery, pTest->m_sQuery, NULL, pTokenizer.Ptr(), &tSchema, pDict.Ptr(), tTmpSettings ); CSphString sReconst = sphReconstructNode ( tQuery.m_pRoot, &tSchema ); CSphDummyIndex tIndex; if ( pTest->m_pKeywordHits ) { for ( const CKeywordHits * pHits = pTest->m_pKeywordHits; pHits->m_sKeyword; ++pHits ) Verify ( tIndex.m_hHits.Add ( pHits->m_iHits, pHits->m_sKeyword ) ); } sphTransformExtendedQuery ( &tQuery.m_pRoot, tTmpSettings, true, &tIndex ); CSphString sReconstTransformed = sphReconstructNode ( tQuery.m_pRoot, &tSchema ); if ( sReconst!=pTest->m_sReconst || sReconstTransformed!=pTest->m_sReconstTransformed ) printf ( "\n\"%s\"\n\"%s\"\n\"%s\"\n\"%s\" -\n\"%s\" +\n", pTest->m_sQuery, sReconst.cstr(), pTest->m_sReconst, pTest->m_sReconstTransformed, sReconstTransformed.cstr() ); assert ( sReconst==pTest->m_sReconst ); assert ( sReconstTransformed==pTest->m_sReconstTransformed ); pTest++; printf ( "ok\n" ); } } ////////////////////////////////////////////////////////////////////////// #ifndef NDEBUG void TestMisc () { BYTE dBuffer [ 128 ]; int dValues[] = { 16383, 0, 1, 127, 128, 129, 256, 4095, 4096, 4097, 8192, 16383, 16384, 16385, 123456, 4194303, -1 }; printf ( "testing string attr length packer/unpacker... " ); BYTE * pRow = dBuffer; for ( int i=0; dValues[i]>=0; i++ ) pRow += sphPackStrlen ( pRow, dValues[i] ); const BYTE * pUnp = dBuffer; for ( int i=0; dValues[i]>=0; i++ ) { int iUnp = sphUnpackStr ( pUnp, &pUnp ); assert ( iUnp==dValues[i] ); } printf ( "ok\n" ); printf ( "testing string split... " ); CSphVector dStr; sphSplit ( dStr, "test:me\0off\0", ":" ); assert ( dStr.GetLength()==2 ); assert ( dStr[0]=="test" ); assert ( dStr[1]=="me" ); printf ( "ok\n" ); } #endif ////////////////////////////////////////////////////////////////////////// void BenchLocators () { const int MAX_ITEMS = 10; const int NUM_MATCHES = 1000; const int NUM_RUNS = 100000; CSphRowitem dStatic[MAX_ITEMS]; CSphRowitem dDynamic[MAX_ITEMS]; CSphAttrLocator tLoc[NUM_MATCHES]; CSphMatch tMatch[NUM_MATCHES]; for ( int i=0; i(1+i) ) ); } for ( int i=0; iLock(); for ( int i=0; i<100; i++ ) g_iMutexBench++; g_iMutexBench -= 99; pMutex->Unlock(); } void BenchThreads () { printf ( "benchmarking threads\n" ); const int BATCHES = 100; const int BATCH_THREADS = 100; const int TOTAL_THREADS = BATCHES*BATCH_THREADS; SphThread_t * pThd = new SphThread_t [ BATCH_THREADS ]; CSphMutex tMutex; if ( !tMutex.Init() ) sphDie ( "failed to init mutex" ); for ( int iRun=1; iRun<=2; iRun++ ) { int64_t tmThd = sphMicroTimer(); for ( int iBatch=0; iBatch>3 ) & 1; } typedef void (*SortDataGen_fn)( DWORD *, int ); struct SortDataGenDesc_t { SortDataGen_fn m_fnGen; const char * m_sName; }; static SortDataGenDesc_t g_dSortDataGens[] = { { SortDataRepeat1245, "repeat1245" }, { SortDataEnd0, "end0" }, { SortDataIdentical, "identical" }, { SortDataMed3Killer, "med3killer" }, { SortDataMidKiller, "midkiller" }, { SortDataRandDupes, "randdupes" }, { SortDataRandUniq, "randuniq" }, { SortDataRandSteps, "randsteps" }, { SortDataRevEnds, "revends" }, { SortDataRevPartial, "revpartial" }, { SortDataRevSaw, "revsaw" }, { SortDataReverse, "reverse" }, { SortDataStart1000, "start1000" }, { SortDataSeqPartial, "seqpartial" }, { SortDataSeqSaw, "seqsaw" }, { SortDataSeq, "sequential" }, { SortDataAscDesc, "ascdesc" }, { SortDataDescAsc, "descasc" }, { SortDataRand01, "rand01" }, }; struct SortPayload_t { DWORD m_uKey; DWORD m_uPayload[3]; bool operator < ( const SortPayload_t & rhs ) const { return m_uKey < rhs.m_uKey; } }; inline bool operator < ( const CSphWordHit & a, const CSphWordHit & b ) { return ( a.m_uWordID int64_t BenchSort ( T * pData, int iCount, bool bCheck ) { int64_t tmSort = sphMicroTimer(); sphSort ( pData, iCount ); tmSort = sphMicroTimer() - tmSort; if ( bCheck ) { for ( int i=0; i 1 ? sphCRC32 ( pData+1, ( m_iStride-1 )*4 ) : ( *pData ); } }; #ifndef NDEBUG static bool IsSorted ( DWORD * pData, int iCount, const TestAccCmp_fn & fn ) { if ( iCount<1 ) return true; const DWORD * pPrev = pData; if ( !fn.IsKeyDataSynced ( pPrev ) ) return false; if ( iCount<2 ) return true; for ( int i = 1; i < iCount; ++i ) { const DWORD * pCurr = fn.Add ( pData, i ); if ( fn.IsLess ( *pCurr , *pPrev ) || !fn.IsKeyDataSynced ( pCurr ) ) return false; pPrev = pCurr; } return true; } #endif void RandomFill ( DWORD * pData, int iCount, const TestAccCmp_fn & fn, bool bChainsaw ) { for ( int i = 0; i < iCount; ++i ) { DWORD * pCurr = fn.Add ( pData, i ); const DWORD * pNext = fn.Add ( pData, i + 1 ); DWORD * pElem = pCurr; DWORD * pChainHill = bChainsaw && ( i % 2 ) ? fn.Add ( pData, i -1 ) : NULL; do { *pElem = pChainHill ? *pChainHill / 2 : sphRand(); ++pElem; pChainHill = pChainHill ? pChainHill + 1 : pChainHill; } while ( pElem!=pNext ); *pCurr = fn.GenerateKey ( pCurr ); } } void TestStridedSortPass ( int iStride, int iCount ) { printf ( "testing strided sort, stride=%d, count=%d... ", iStride, iCount ); assert ( iStride && iCount ); DWORD * pData = new DWORD [ iCount * iStride ]; assert ( pData ); // checked elements are random memset ( pData, 0, sizeof ( DWORD ) * iCount * iStride ); TestAccCmp_fn fnSort ( iStride ); RandomFill ( pData, iCount, fnSort, false ); // crash on sort of mini-arrays TestAccCmp_fn fnSortDummy ( 1 ); DWORD dMini[1] = { 1 }; sphSort ( dMini, 1, fnSortDummy, fnSortDummy ); sphSort ( dMini, 0, fnSortDummy, fnSortDummy ); assert ( IsSorted ( dMini, 1, fnSortDummy ) ); // random sort sphSort ( pData, iCount, fnSort, fnSort ); assert ( IsSorted ( pData, iCount, fnSort ) ); // already sorted sort sphSort ( pData, iCount, fnSort, fnSort ); assert ( IsSorted ( pData, iCount, fnSort ) ); // reverse order sort for ( int i = 0; i < iCount; ++i ) { ::Swap ( pData[i], pData [ iCount - i - 1 ] ); } sphSort ( pData, iCount, fnSort, fnSort ); assert ( IsSorted ( pData, iCount, fnSort ) ); // random chainsaw sort RandomFill ( pData, iCount, fnSort, true ); sphSort ( pData, iCount, fnSort, fnSort ); assert ( IsSorted ( pData, iCount, fnSort ) ); printf ( "ok\n" ); SafeDeleteArray ( pData ); } void TestStridedSort () { TestStridedSortPass ( 1, 2 ); TestStridedSortPass ( 3, 2 ); TestStridedSortPass ( 37, 2 ); // SMALL_THRESH case TestStridedSortPass ( 1, 30 ); TestStridedSortPass ( 7, 13 ); TestStridedSortPass ( 113, 5 ); TestStridedSortPass ( 1, 1000 ); TestStridedSortPass ( 5, 1000 ); TestStridedSortPass ( 17, 50 ); TestStridedSortPass ( 31, 1367 ); // rand cases for ( int i = 0; i < 10; ++i ) { const int iRndStride = sphRand() % 64; const int iNrmStride = Max ( iRndStride, 1 ); const int iRndCount = sphRand() % 1000; const int iNrmCount = Max ( iRndCount, 1 ); TestStridedSortPass ( iNrmStride, iNrmCount ); } // regression of uniq vs empty array DWORD dUniq[] = { 1, 1, 3, 1 }; int iCount = sizeof(dUniq)/sizeof(dUniq[0]); assert ( sphUniq ( dUniq, 0 )==0 ); sphSort ( dUniq, iCount ); assert ( sphUniq ( dUniq, iCount )==2 && dUniq[0]==1 && dUniq[1]==3 ); CSphVector dUniq1; dUniq1.Uniq(); assert ( dUniq1.GetLength()==0 ); dUniq1.Add ( 1 ); dUniq1.Add ( 3 ); dUniq1.Add ( 1 ); dUniq1.Add ( 1 ); dUniq1.Uniq(); assert ( dUniq1.GetLength()==2 && dUniq1[0]==1 && dUniq1[1]==3 ); } ////////////////////////////////////////////////////////////////////////// class SphTestDoc_c : public CSphSource_Document { public: explicit SphTestDoc_c ( const CSphSchema & tSchema, BYTE ** ppDocs, int iDocs, int iFields ) : CSphSource_Document ( "test_doc" ) { m_tSchema = tSchema; m_ppDocs = ppDocs; m_iDocCount = iDocs; m_iFields = iFields; } virtual BYTE ** NextDocument ( CSphString & ) { if ( m_tDocInfo.m_uDocID>=(SphDocID_t)m_iDocCount ) { m_tDocInfo.m_uDocID = 0; return NULL; } int iDoc = (int)m_tDocInfo.m_uDocID; m_tDocInfo.m_uDocID++; return m_ppDocs + iDoc * m_iFields; } bool Connect ( CSphString & ) { return true; } void Disconnect () {} bool HasAttrsConfigured () { return true; } bool IterateStart ( CSphString & ) { m_tDocInfo.Reset ( m_tSchema.GetRowSize() ); m_iPlainFieldsLength = m_tSchema.m_dFields.GetLength(); return true; } bool IterateMultivaluedStart ( int, CSphString & ) { return false; } bool IterateMultivaluedNext () { return false; } bool IterateFieldMVAStart ( int, CSphString & ) { return false; } bool IterateFieldMVANext () { return false; } bool IterateKillListStart ( CSphString & ) { return false; } bool IterateKillListNext ( SphDocID_t & ) { return false; } private: int m_iDocCount; int m_iFields; BYTE ** m_ppDocs; }; #ifndef NDEBUG static void CheckRT ( int iVal, int iRef, const char * sMsg ) { #if 1 assert ( iRef==iVal && sMsg ); #else if ( iRef!=iVal ) printf ( "\t%s=%d ( %d )\n", sMsg, iVal, iRef ); #endif } static void DeleteIndexFiles ( const char * sIndex ) { if ( !sIndex ) return; const char * sExts[] = { "kill", "lock", "meta", "ram", "0.spa", "0.spd", "0.spe", "0.sph", "0.spi", "0.spk", "0.spm", "0.spp", "0.sps" }; CSphString sName; for ( int i=0; i<(int)(sizeof(sExts)/sizeof(sExts[0])); i++ ) { sName.SetSprintf ( "%s.%s", sIndex, sExts[i] ); unlink ( sName.cstr() ); } } void TestRTInit () { CSphConfigSection tRTConfig; sphRTInit ( tRTConfig, true ); sphRTConfigure ( tRTConfig, true ); SmallStringHash_T hIndexes; sphReplayBinlog ( hIndexes, 0 ); } #define RT_INDEX_FILE_NAME "test_temp" #define RT_PASS_COUNT 5 static const int g_iWeights[RT_PASS_COUNT] = { 1500, 1500, 1500, 1500, 1500 }; // { 1500, 1302, 1252, 1230, 1219 }; void TestRTWeightBoundary () { DeleteIndexFiles ( RT_INDEX_FILE_NAME ); for ( int iPass = 0; iPass < RT_PASS_COUNT; ++iPass ) { printf ( "testing rt indexing, test %d/%d... ", 1+iPass, RT_PASS_COUNT ); TestRTInit (); CSphString sError, sWarning; CSphDictSettings tDictSettings; tDictSettings.m_bWordDict = false; ISphTokenizer * pTok = sphCreateUTF8Tokenizer(); CSphDict * pDict = sphCreateDictionaryCRC ( tDictSettings, NULL, pTok, "weight", sError ); CSphColumnInfo tCol; CSphSchema tSrcSchema; CSphSourceSettings tParams; tSrcSchema.Reset(); tCol.m_sName = "channel_id"; tCol.m_eAttrType = SPH_ATTR_INTEGER; tSrcSchema.AddAttr ( tCol, true ); tCol.m_sName = "title"; tSrcSchema.m_dFields.Add ( tCol ); tCol.m_sName = "content"; tSrcSchema.m_dFields.Add ( tCol ); const char * dFields[] = { "If I were a cat...", "We are the greatest cat" }; SphTestDoc_c * pSrc = new SphTestDoc_c ( tSrcSchema, (BYTE **)dFields, 1, 2 ); pSrc->SetTokenizer ( pTok ); pSrc->SetDict ( pDict ); pSrc->Setup ( tParams ); Verify ( pSrc->Connect ( sError ) ); Verify ( pSrc->IterateStart ( sError ) ); Verify ( pSrc->UpdateSchema ( &tSrcSchema, sError ) ); CSphSchema tSchema; // source schema must be all dynamic attrs; but index ones must be static tSchema.m_dFields = tSrcSchema.m_dFields; for ( int i=0; iSetTokenizer ( pTok->Clone ( SPH_CLONE_INDEX ) ); pIndex->SetDictionary ( pDict->Clone() ); pIndex->PostSetup(); Verify ( pIndex->Prealloc ( false, false, sError ) ); ISphHits * pHits; CSphVector dMvas; for ( ;; ) { Verify ( pSrc->IterateDocument ( sError ) ); if ( !pSrc->m_tDocInfo.m_uDocID ) break; pHits = pSrc->IterateHits ( sError ); if ( !pHits ) break; pIndex->AddDocument ( pHits, pSrc->m_tDocInfo, NULL, dMvas, sError, sWarning ); pIndex->Commit (); } pSrc->Disconnect(); CheckRT ( (int)pSrc->GetStats().m_iTotalDocuments, 1, "docs committed" ); CSphQuery tQuery; CSphQueryResult tResult; CSphMultiQueryArgs tArgs ( KillListVector(), 1 ); tQuery.m_sQuery = "@title cat"; SphQueueSettings_t tQueueSettings ( tQuery, pIndex->GetMatchSchema(), tResult.m_sError, NULL ); tQueueSettings.m_bComputeItems = false; ISphMatchSorter * pSorter = sphCreateQueue ( tQueueSettings ); assert ( pSorter ); Verify ( pIndex->MultiQuery ( &tQuery, &tResult, 1, &pSorter, tArgs ) ); sphFlattenQueue ( pSorter, &tResult, 0 ); CheckRT ( tResult.m_dMatches.GetLength(), 1, "results found" ); CheckRT ( (int)tResult.m_dMatches[0].m_uDocID, 1, "docID" ); CheckRT ( tResult.m_dMatches[0].m_iWeight, g_iWeights[iPass], "weight" ); SafeDelete ( pSorter ); SafeDelete ( pIndex ); SafeDelete ( pDict ); SafeDelete ( pTok ); SafeDelete ( pSrc ); sphRTDone (); printf ( "ok\n" ); } DeleteIndexFiles ( RT_INDEX_FILE_NAME ); } void TestWriter() { printf ( "testing CSphWriter... " ); const CSphString sTmpWriteout = "__writeout.tmp"; CSphString sErr; #define WRITE_OUT_DATA_SIZE 0x40000 BYTE * pData = new BYTE[WRITE_OUT_DATA_SIZE]; memset ( pData, 0xfe, WRITE_OUT_DATA_SIZE ); { CSphWriter tWrDef; tWrDef.OpenFile ( sTmpWriteout, sErr ); tWrDef.PutBytes ( pData, WRITE_OUT_DATA_SIZE ); tWrDef.PutByte ( 0xff ); } { CSphWriter tWr; tWr.SetBufferSize ( WRITE_OUT_DATA_SIZE ); tWr.OpenFile ( sTmpWriteout, sErr ); tWr.PutBytes ( pData, WRITE_OUT_DATA_SIZE ); tWr.PutByte ( 0xff ); } unlink ( sTmpWriteout.cstr() ); delete [] pData; printf ( "ok\n" ); } class SphDocRandomizer_c : public CSphSource_Document { static const int m_iMaxFields = 2; static const int m_iMaxFieldLen = 512; char m_dFields[m_iMaxFields][m_iMaxFieldLen]; BYTE * m_ppFields[m_iMaxFields]; public: explicit SphDocRandomizer_c ( const CSphSchema & tSchema ) : CSphSource_Document ( "test_doc" ) { m_tSchema = tSchema; for ( int i=0; i800 ) { m_tDocInfo.m_uDocID = 0; return NULL; } m_tDocInfo.m_uDocID++; m_tDocInfo.SetAttr ( m_tSchema.GetAttr(0).m_tLocator, m_tDocInfo.m_uDocID+1000 ); m_tDocInfo.SetAttr ( m_tSchema.GetAttr(1).m_tLocator, 1313 ); snprintf ( m_dFields[0], m_iMaxFieldLen, "cat title%d title%d title%d title%d title%d" , sphRand(), sphRand(), sphRand(), sphRand(), sphRand() ); snprintf ( m_dFields[1], m_iMaxFieldLen, "dog contentwashere%d contentwashere%d contentwashere%d contentwashere%d contentwashere%d" , sphRand(), sphRand(), sphRand(), sphRand(), sphRand() ); return &m_ppFields[0]; } bool Connect ( CSphString & ) { return true; } void Disconnect () {} bool HasAttrsConfigured () { return true; } bool IterateStart ( CSphString & ) { m_tDocInfo.Reset ( m_tSchema.GetRowSize() ); m_iPlainFieldsLength = m_tSchema.m_dFields.GetLength(); return true; } bool IterateMultivaluedStart ( int, CSphString & ) { return false; } bool IterateMultivaluedNext () { return false; } bool IterateFieldMVAStart ( int, CSphString & ) { return false; } bool IterateFieldMVANext () { return false; } bool IterateKillListStart ( CSphString & ) { return false; } bool IterateKillListNext ( SphDocID_t & ) { return false; } }; void TestRTSendVsMerge () { DeleteIndexFiles ( RT_INDEX_FILE_NAME ); printf ( "testing rt send result during merge... " ); TestRTInit (); CSphString sError, sWarning; CSphDictSettings tDictSettings; tDictSettings.m_bWordDict = false; ISphTokenizer * pTok = sphCreateUTF8Tokenizer(); CSphDict * pDict = sphCreateDictionaryCRC ( tDictSettings, NULL, pTok, "rt", sError ); CSphColumnInfo tCol; CSphSchema tSrcSchema; CSphSourceSettings tParams; tSrcSchema.Reset(); tCol.m_sName = "title"; tSrcSchema.m_dFields.Add ( tCol ); tCol.m_sName = "content"; tSrcSchema.m_dFields.Add ( tCol ); tCol.m_sName = "tag1"; tCol.m_eAttrType = SPH_ATTR_INTEGER; tSrcSchema.AddAttr ( tCol, true ); tCol.m_sName = "tag2"; tCol.m_eAttrType = SPH_ATTR_INTEGER; tSrcSchema.AddAttr ( tCol, true ); SphDocRandomizer_c * pSrc = new SphDocRandomizer_c ( tSrcSchema ); pSrc->SetTokenizer ( pTok ); pSrc->SetDict ( pDict ); pSrc->Setup ( tParams ); Verify ( pSrc->Connect ( sError ) ); Verify ( pSrc->IterateStart ( sError ) ); Verify ( pSrc->UpdateSchema ( &tSrcSchema, sError ) ); CSphSchema tSchema; // source schema must be all dynamic attrs; but index ones must be static tSchema.m_dFields = tSrcSchema.m_dFields; for ( int i=0; iSetTokenizer ( pTok ); // index will own this pair from now on pIndex->SetDictionary ( pDict ); pIndex->PostSetup(); Verify ( pIndex->Prealloc ( false, false, sError ) ); CSphQuery tQuery; CSphQueryResult tResult; CSphMultiQueryArgs tArgs ( KillListVector(), 1 ); tQuery.m_sQuery = "@title cat"; SphQueueSettings_t tQueueSettings ( tQuery, pIndex->GetMatchSchema(), tResult.m_sError, NULL ); tQueueSettings.m_bComputeItems = false; ISphMatchSorter * pSorter = sphCreateQueue ( tQueueSettings ); assert ( pSorter ); CSphVector dMvas; for ( ;; ) { Verify ( pSrc->IterateDocument ( sError ) ); if ( !pSrc->m_tDocInfo.m_uDocID ) break; ISphHits * pHits = pSrc->IterateHits ( sError ); if ( !pHits ) break; pIndex->AddDocument ( pHits, pSrc->m_tDocInfo, NULL, dMvas, sError, sWarning ); if ( pSrc->m_tDocInfo.m_uDocID==350 ) { pIndex->Commit (); Verify ( pIndex->MultiQuery ( &tQuery, &tResult, 1, &pSorter, tArgs ) ); sphFlattenQueue ( pSorter, &tResult, 0 ); } } pIndex->Commit (); pSrc->Disconnect(); tResult.m_tSchema = pSorter->GetSchema(); // can SwapOut for ( int i=0; iSetTokenizer ( pTok ); pSrc->SetDict ( pDict ); pSrc->Setup ( tParams ); Verify ( pSrc->Connect ( sError ) ); Verify ( pSrc->IterateStart ( sError ) ); Verify ( pSrc->UpdateSchema ( &tSrcSchema, sError ) ); CSphSchema tSchema; // source schema must be all dynamic attrs; but index ones must be static tSchema.m_dFields = tSrcSchema.m_dFields; for ( int i=0; iSetTokenizer ( pTok ); // index will own this pair from now on pIndex->SetDictionary ( pDict ); pIndex->PostSetup(); Verify ( pIndex->Prealloc ( false, false, sError ) ); CSphVector dMvas; for ( ;; ) { Verify ( pSrc->IterateDocument ( sError ) ); if ( !pSrc->m_tDocInfo.m_uDocID ) break; ISphHits * pHits = pSrc->IterateHits ( sError ); if ( !pHits ) break; pIndex->AddDocument ( pHits, pSrc->m_tDocInfo, NULL, dMvas, sError, sWarning ); } pIndex->Commit (); pSrc->Disconnect(); CSphQuery tQuery; CSphQueryItem & tFactor = tQuery.m_dItems.Add(); tFactor.m_sExpr = "packedfactors()"; tFactor.m_sAlias = "pf"; tQuery.m_sRankerExpr = "1"; tQuery.m_eRanker = SPH_RANK_EXPR; tQuery.m_eMode = SPH_MATCH_EXTENDED2; tQuery.m_eSort = SPH_SORT_EXTENDED; tQuery.m_sSortBy = "@weight desc"; tQuery.m_sOrderBy = "@weight desc"; CSphQueryResult tResult; CSphMultiQueryArgs tArgs ( KillListVector(), 1 ); SphQueueSettings_t tQueueSettings ( tQuery, pIndex->GetMatchSchema(), tResult.m_sError, NULL ); tQueueSettings.m_bComputeItems = true; tArgs.m_uPackedFactorFlags = SPH_FACTOR_ENABLE | SPH_FACTOR_CALC_ATC; ISphMatchSorter * pSorter = sphCreateQueue ( tQueueSettings ); assert ( pSorter ); for ( int iQuery=0; (uint64_t)iQueryMultiQuery ( &tQuery, &tResult, 1, &pSorter, tArgs ) ); sphFlattenQueue ( pSorter, &tResult, 0 ); tResult.m_tSchema = pSorter->GetSchema(); // can SwapOut const CSphAttrLocator & tLoc = tResult.m_tSchema.GetAttr ( "pf" )->m_tLocator; for ( int iMatch=0; iMatchSetCaseFolding ( "-, 0..9, A..Z->a..z, _, a..z, U+80..U+FF", sError ) ); // assert ( pTok->SetBlendChars ( "., &", sError ) ); // NOLINT assert ( pTok->EnableSentenceIndexing ( sError ) ); const char * SENTENCE = "\2"; // MUST be in sync with sphinx.cpp const char * sTest[] = { "Bill Gates Jr. attended", "bill", "gates", "jr", "attended", NULL, "Very good, Dr. Watson", "very", "good", "dr", "watson", NULL, "VERY GOOD, DR. WATSON", "very", "good", "dr", "watson", NULL, "He left US. Went abroad", "he", "left", "us", SENTENCE, "went", "abroad", NULL, "Known as Mr. Doe", "known", "as", "mr", "doe", NULL, "Survived by Mrs. Doe", "survived", "by", "mrs", "doe", NULL, "J. R. R. Tolkien", "j", "r", "r", "tolkien", NULL, "That is it. A boundary", "that", "is", "it", SENTENCE, "a", "boundary", NULL, "Just a sentence. And then some.", "just", "a", "sentence", SENTENCE, "and", "then", "some", SENTENCE, NULL, "Right, guy number two? Yes, guy number one!", "right", "guy", "number", "two", SENTENCE, "yes", "guy", "number", "one", SENTENCE, NULL, "S.T.A.L.K.E.R. sold well in the U.K and elsewhere. Including Russia.", "s", "t", "a", "l", "k", "e", "r", "sold", "well", "in", "the", "u", "k", "and", "elsewhere", SENTENCE, "including", "russia", SENTENCE, NULL, "Yoyodine Inc. exists since 1800", "yoyodine", "inc", "exists", "since", "1800", NULL, "John D. Doe, our CEO", "john", "d", "doe", "our", "ceo", NULL, "Yoyodine Inc. (the Company)", "yoyodine", "inc", "the", "company", NULL, NULL }; int i = 0; while ( sTest[i] ) { pTok->SetBuffer ( (BYTE*)sTest[i], strlen ( sTest[i] ) ); i++; BYTE * sTok; while ( ( sTok = pTok->GetToken() )!=NULL ) { assert ( !strcmp ( (char*)sTok, sTest[i] ) ); i++; } assert ( sTest[i]==NULL ); i++; } printf ( "ok\n" ); } ////////////////////////////////////////////////////////////////////////// void TestSpanSearch() { printf ( "testing span search... " ); CSphVector dVec; dVec.Add ( 1 ); dVec.Add ( 3 ); dVec.Add ( 4 ); assert ( FindSpan ( dVec, 1, 5 )==0 ); assert ( FindSpan ( dVec, 3, 5 )==1 ); assert ( FindSpan ( dVec, 4, 5 )==2 ); dVec.Add ( 15 ); dVec.Add ( 17 ); dVec.Add ( 22 ); dVec.Add ( 23 ); assert ( FindSpan ( dVec, 1, 5 )==0 ); assert ( FindSpan ( dVec, 18, 5 )==4 ); assert ( FindSpan ( dVec, 23, 5 )==6 ); printf ( "ok\n" ); } ////////////////////////////////////////////////////////////////////////// static void TestRebalance_fn ( DWORD * pData, int iLen, int iStride, int iWeights ) { assert ( ( iLen%iStride )==0 ); iLen /= iStride; CSphFixedVector dTimers ( iWeights ); CSphFixedVector dWeights ( iWeights ); for ( int i=0; i0 ? ", " : "", dWeights[j], j+1==iWeights ? "\n" : "" ); assert ( dWeights[j]==pData [ i * iStride + iWeights * 2 + j ] ); } } } void TestRebalance() { printf ( "testing rebalance... " ); /* reference captured on live box, ie how it was // old weights, timers, new weights DWORD dData[] = { 32395, 33139, 228828, 186751, 29082, 36452, 29082, 36452, 218537, 207608, 28255, 37279, 28255, 37279, 194305, 214800, 29877, 35657, 29877, 35657, 190062, 207614, 31318, 34216, 31318, 34216, 201162, 221708, 32910, 32624, 32910, 32624, 193441, 247379, 36917, 28617, 36917, 28617, 194910, 223202, 39080, 26454, 39080, 26454, 228274, 361018, 45892, 19642, 45892, 19642, 223009, 275050, 48651, 16883, 48651, 16883, 205340, 279008, 52202, 13332, 52202, 13332, 213189, 201466, 51592, 13942, 51592, 13942, 210235, 197584, 50899, 14635, 48921, 16613, 207860, 318349, 53641, 11893, 53641, 11893, 204124, 487120, 59963, 5571, 59963, 5571, 202851, 412733, 62140, 3394, }; */ // old weights, timers, new weights DWORD dData1[] = { 32395, 33139, 228828, 186751, 29449, 36085, 29082, 36452, 218537, 207608, 31927, 33607, 28255, 37279, 194305, 214800, 34409, 31125, 29877, 35657, 190062, 207614, 34213, 31321, 31318, 34216, 201162, 221708, 34359, 31175, 32910, 32624, 193441, 247379, 36776, 28758, 36917, 28617, 194910, 223202, 34984, 30550, 39080, 26454, 228274, 361018, 40148, 25386, 45892, 19642, 223009, 275050, 36191, 29343, 48651, 16883, 205340, 279008, 37751, 27783, 52202, 13332, 213189, 201466, 31841, 33693, 51592, 13942, 210235, 197584, 31751, 33783, 48921, 16613, 207860, 318349, 39647, 25887, 53641, 11893, 204124, 487120, 46182, 19352, 59963, 5571, 202851, 412733, 43939, 21595, }; TestRebalance_fn ( dData1, sizeof(dData1) / sizeof(dData1[0]), 6, 2 ); DWORD dData2[] ={ 0, 1, 0, 18469, 6553, 58981 }; TestRebalance_fn ( dData2, sizeof(dData2) / sizeof(dData2[0]), 6, 2 ); DWORD dData3[] ={ 0, 1, 2, 3, 0, 0, 0, 18469, 2184, 2184, 2184, 58981 }; TestRebalance_fn ( dData3, sizeof ( dData3 ) / sizeof ( dData3[0] ), 12, 4 ); DWORD dData4[] ={ 0, 1, 2, 7100, 0, 18469, 42603, 6553, 16377 }; TestRebalance_fn ( dData4, sizeof ( dData4 ) / sizeof ( dData4[0] ), 9, 3 ); printf ( "ok\n" ); } ////////////////////////////////////////////////////////////////////////// static const char * CORPUS = "corpus.txt"; const int POOLSIZE = 80*1048576; const int GAP = 4; void BenchStemmer () { CSphString sError; #if SNOWBALL SN_env * pSnow = english_ISO_8859_1_create_env(); #if 1 char test[] = "this"; SN_set_current ( pSnow, strlen(test), (const symbol *)test ); pSnow->p [ pSnow->l ] = 0; english_ISO_8859_1_stem ( pSnow ); stem_en ( (BYTE*)test, strlen(test) ); #endif #endif #if PORTER1 struct stemmer * z = create_stemmer(); #endif BYTE * pRaw = new BYTE [ POOLSIZE ]; FILE * fp = fopen ( CORPUS, "rb" ); if ( !fp ) sphDie ( "fopen %s failed", CORPUS ); int iLen = fread ( pRaw, 1, POOLSIZE, fp ); printf ( "read %d bytes\n", iLen ); fclose ( fp ); ISphTokenizer * pTok = sphCreateUTF8Tokenizer(); if ( !pTok->SetCaseFolding ( "A..Z->a..z, a..z", sError ) ) sphDie ( "oops: %s", sError.cstr() ); pTok->SetBuffer ( pRaw, iLen ); BYTE * pTokens = new BYTE [ POOLSIZE ]; BYTE * p = pTokens; BYTE * sTok; int iToks = 0; int iBytes = 0; int iStemmed = 0; while ( ( sTok = pTok->GetToken() )!=NULL ) { BYTE * pStart = p++; // 1 byte for length while ( *sTok ) *p++ = *sTok++; *pStart = (BYTE)( p-pStart-1 ); // store length for ( int i=0; i=pTokens+POOLSIZE ) sphDie ( "out of buffer at tok %d", iToks ); iToks++; } *p++ = '\0'; iBytes = (int)( p - pTokens ); printf ( "tokenized %d tokens\n", iToks ); #if 0 int dCharStats[256]; memset ( dCharStats, 0, sizeof(dCharStats) ); for ( BYTE * t = pTokens; tp, pSnow->l ); p[pSnow->l+1] = 0; #else // crosscheck char buf[256]; memcpy ( buf, p+1, *p+1 ); stem_en ( p+1, *p ); int ll = strlen ( (char*)p+1 ); if ( ll!=pSnow->l || memcmp ( p+1, pSnow->p, ll ) ) { pSnow->p[pSnow->l] = 0; printf ( "%s[%d] vs %s[%d] for orig %s\n", p+1, ll, pSnow->p, pSnow->l, buf ); iDiff++; } #endif #endif #if PORTER1 p [ stem ( z, (char*)p+1, *p-1 )+2 ] = 0; #endif p += *p + GAP + 1; iToks++; } tmStem = sphMicroTimer() - tmStem; if ( iDiff ) printf ( "%d tokens are different\n", iDiff ); if ( iStemmed ) printf ( "%d data bytes stemmed\n", iStemmed ); #if SNOWBALL english_ISO_8859_1_close_env ( pSnow ); #endif uint64_t uHash = sphFNV64 ( pTokens, iBytes ); printf ( "stemmed %d tokens (%d bytes) in %d msec, hash %08x %08x\n", iToks, iBytes, (int)(tmStem/1000), (DWORD)( uHash>>32 ), (DWORD)( uHash & 0xffffffffUL ) ); if ( uHash!=U64C ( 0x54ef4f21994b67db ) ) printf ( "ERROR, HASH MISMATCH\n" ); SafeDelete ( pTok ); SafeDeleteArray ( pRaw ); } ////////////////////////////////////////////////////////////////////////// void TestWildcards() { printf ( "testing wildcards... " ); assert ( sphWildcardMatch ( "abc", "abc" ) ); assert ( sphWildcardMatch ( "abc", "?bc" ) ); assert ( sphWildcardMatch ( "abc", "a?c" ) ); assert ( sphWildcardMatch ( "abc", "ab?" ) ); assert ( !sphWildcardMatch ( "abc", "?ab" ) ); assert ( sphWildcardMatch ( "abac", "a*c" ) ); assert ( sphWildcardMatch ( "abac", "a*?c" ) ); assert ( sphWildcardMatch ( "abac", "a*??c" ) ); assert ( sphWildcardMatch ( "abac", "a?*?c" ) ); assert ( !sphWildcardMatch ( "abac", "a*???c" ) ); assert ( sphWildcardMatch ( "abac", "a?a?" ) ); assert ( !sphWildcardMatch ( "abac", "a?a??" ) ); assert ( !sphWildcardMatch ( "abac", "a??a" ) ); assert ( sphWildcardMatch ( "abracadabra", "a*" ) ); assert ( sphWildcardMatch ( "abracadabra", "a*a" ) ); assert ( !sphWildcardMatch ( "abracadabra", "a*c" ) ); assert ( sphWildcardMatch ( "abracadabra", "?b*r?" ) ); assert ( sphWildcardMatch ( "abracadabra", "?b*r*" ) ); assert ( sphWildcardMatch ( "abracadabra", "?b*r*r*" ) ); assert ( sphWildcardMatch ( "abracadabra", "*a*a*a*" ) ); assert ( sphWildcardMatch ( "abracadabra", "*a*a*a*a*a*" ) ); assert ( !sphWildcardMatch ( "a", "a*a?" ) ); assert ( !sphWildcardMatch ( "abracadabra", "*a*a*a*a*a?" ) ); assert ( sphWildcardMatch ( "car", "car%" ) ); assert ( sphWildcardMatch ( "cars", "car%" ) ); assert ( sphWildcardMatch ( "card", "car%" ) ); assert ( !sphWildcardMatch ( "carded", "car%" ) ); assert ( sphWildcardMatch ( "abc", "abc%" ) ); assert ( sphWildcardMatch ( "abcd", "abc%" ) ); assert ( !sphWildcardMatch ( "abcde", "abc%" ) ); assert ( sphWildcardMatch ( "ab", "a%b" ) ); assert ( sphWildcardMatch ( "acb", "a%b" ) ); assert ( !sphWildcardMatch ( "acdb", "a%b" ) ); assert ( sphWildcardMatch ( "abc", "a%bc" ) ); assert ( sphWildcardMatch ( "abbc", "a%bc" ) ); assert ( !sphWildcardMatch ( "abbbc", "a%bc" ) ); assert ( sphWildcardMatch ( "ab", "a%%b" ) ); assert ( sphWildcardMatch ( "axb", "a%%b" ) ); assert ( sphWildcardMatch ( "axyb", "a%%b" ) ); assert ( !sphWildcardMatch ( "axyzb", "a%%b" ) ); assert ( sphWildcardMatch ( "a*b", "a?b" ) ); assert ( sphWildcardMatch ( "a*b", "a*b" ) ); assert ( sphWildcardMatch ( "a*b", "a\\*b" ) ); assert ( !sphWildcardMatch ( "acb", "a\\*b" ) ); assert ( !sphWildcardMatch ( "acdeb", "a\\*b" ) ); // new cases recursive slow cases assert ( !sphWildcardMatch ( "-----this-li", "-*-*-*-" ) ); assert ( !sphWildcardMatch ( "---------------------------------this-li", "-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-" ) ); assert ( sphWildcardMatch ( "---------------------------------this-li-", "-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-" ) ); assert ( sphWildcardMatch ( "---------------------------------this-li", "-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*i" ) ); assert ( sphWildcardMatch ( "---------------------------------this-li", "-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*" ) ); assert ( sphWildcardMatch ( "---------------------------------this-li", "-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*s-*i" ) ); assert ( !sphWildcardMatch ( "---------------------------------this-li", "-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-s-*i" ) ); assert ( !sphWildcardMatch ( "---------------------------------this-li", "-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*x-*i" ) ); assert ( !sphWildcardMatch ( "--------------------------this-li--p---", "-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-z-*-" ) ); // cases with repeating character sequences assert ( sphWildcardMatch ( "abcccd", "*ccd" ) ); assert ( sphWildcardMatch ( "mississipissippi", "*issip*ss*" ) ); assert ( !sphWildcardMatch ( "xxxx*zzzzzzzzy*f", "xxxx*zzy*fffff" ) ); assert ( sphWildcardMatch ( "xxxx*zzzzzzzzy*f", "xxx*zzy*f" ) ); assert ( !sphWildcardMatch ( "xxxxzzzzzzzzyf", "xxxx*zzy*fffff" ) ); assert ( sphWildcardMatch ( "xxxxzzzzzzzzyf", "xxxx*zzy*f" ) ); assert ( sphWildcardMatch ( "xyxyxyzyxyz", "xy*z*xyz" ) ); assert ( sphWildcardMatch ( "mississippi", "*sip*" ) ); assert ( sphWildcardMatch ( "xyxyxyxyz", "xy*xyz" ) ); assert ( sphWildcardMatch ( "mississippi", "mi*sip*" ) ); assert ( sphWildcardMatch ( "ababac", "*abac*" ) ); assert ( sphWildcardMatch ( "ababac", "*abac*" ) ); assert ( sphWildcardMatch ( "aaazz", "a*zz*" ) ); assert ( !sphWildcardMatch ( "a12b12", "*12*23" ) ); assert ( !sphWildcardMatch ( "a12b12", "a12b" ) ); assert ( sphWildcardMatch ( "a12b12", "*12*12*" ) ); // wildcard in the tame string assert ( sphWildcardMatch ( "*", "*" ) ); assert ( sphWildcardMatch ( "a*abab", "a*b" ) ); assert ( sphWildcardMatch ( "a*r", "a*" ) ); assert ( !sphWildcardMatch ( "a*ar", "a*aar" ) ); // double wildcard assert ( sphWildcardMatch ( "XYXYXYZYXYz", "XY*Z*XYz" ) ); assert ( sphWildcardMatch ( "missisSIPpi", "*SIP*" ) ); assert ( sphWildcardMatch ( "mississipPI", "*issip*PI" ) ); assert ( sphWildcardMatch ( "xyxyxyxyz", "xy*xyz" ) ); assert ( sphWildcardMatch ( "miSsissippi", "mi*sip*" ) ); assert ( !sphWildcardMatch ( "miSsissippi", "mi*Sip*" ) ); assert ( sphWildcardMatch ( "abAbac", "*Abac*" ) ); assert ( sphWildcardMatch ( "abAbac", "*Abac*" ) ); assert ( sphWildcardMatch ( "aAazz", "a*zz*" ) ); assert ( !sphWildcardMatch ( "A12b12", "*12*23" ) ); assert ( sphWildcardMatch ( "a12B12", "*12*12*" ) ); assert ( sphWildcardMatch ( "oWn", "*oWn*" ) ); // mixed wildcard assert ( sphWildcardMatch ( "a", "*?" ) ); assert ( sphWildcardMatch ( "ab", "*?" ) ); assert ( sphWildcardMatch ( "abc", "*?" ) ); // wildcard false positives assert ( !sphWildcardMatch ( "a", "??" ) ); assert ( sphWildcardMatch ( "ab", "?*?" ) ); // due to loop just right after case '*' // skip all the extra stars and question marks // this case has opposite result assert ( !sphWildcardMatch ( "ab", "*?*?*" ) ); assert ( sphWildcardMatch ( "abc", "?**?*?" ) ); assert ( !sphWildcardMatch ( "abc", "?**?*&?" ) ); assert ( sphWildcardMatch ( "abcd", "?b*??" ) ); assert ( !sphWildcardMatch ( "abcd", "?a*??" ) ); assert ( sphWildcardMatch ( "abcd", "?**?c?" ) ); assert ( !sphWildcardMatch ( "abcd", "?**?d?" ) ); assert ( sphWildcardMatch ( "abcde", "?*b*?*d*?" ) ); // single char match assert ( sphWildcardMatch ( "bLah", "bL?h" ) ); assert ( !sphWildcardMatch ( "bLaaa", "bLa?" ) ); assert ( sphWildcardMatch ( "bLah", "bLa?" ) ); assert ( !sphWildcardMatch ( "bLaH", "?Lah" ) ); assert ( sphWildcardMatch ( "bLaH", "?LaH" ) ); // many wildcard assert ( sphWildcardMatch ( "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab", "a*a*a*a*a*a*aa*aaa*a*a*b" ) ); assert ( sphWildcardMatch ( "abababababababababababababababababababaacacacacacacacadaeafagahaiajakalaaaaaaaaaaaaaaaaaffafagaagggagaaaaaaaab", "*a*b*ba*ca*a*aa*aaa*fa*ga*b*" ) ); assert ( !sphWildcardMatch ( "abababababababababababababababababababaacacacacacacacadaeafagahaiajakalaaaaaaaaaaaaaaaaaffafagaagggagaaaaaaaab", "*a*b*ba*ca*a*x*aaa*fa*ga*b*" ) ); assert ( !sphWildcardMatch ( "abababababababababababababababababababaacacacacacacacadaeafagahaiajakalaaaaaaaaaaaaaaaaaffafagaagggagaaaaaaaab", "*a*b*ba*ca*aaaa*fa*ga*gggg*b*" ) ); assert ( sphWildcardMatch ( "abababababababababababababababababababaacacacacacacacadaeafagahaiajakalaaaaaaaaaaaaaaaaaffafagaagggagaaaaaaaab", "*a*b*ba*ca*aaaa*fa*ga*ggg*b*" ) ); assert ( sphWildcardMatch ( "aaabbaabbaab", "*aabbaa*a*" ) ); assert ( sphWildcardMatch ( "a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*", "a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*" ) ); assert ( sphWildcardMatch ( "aaaaaaaaaaaaaaaaa", "*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*" ) ); assert ( !sphWildcardMatch ( "aaaaaaaaaaaaaaaa", "*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*a*" ) ); assert ( !sphWildcardMatch ( "abc*abcd*abcde*abcdef*abcdefg*abcdefgh*abcdefghi*abcdefghij*abcdefghijk*abcdefghijkl*abcdefghijklm*abcdefghijklmn", "abc*abc*abc*abc*abc*abc*abc*abc*abc*abc*abc*abc*abc*abc*abc*abc*abc*" ) ); assert ( sphWildcardMatch ( "abc*abcd*abcde*abcdef*abcdefg*abcdefgh*abcdefghi*abcdefghij*abcdefghijk*abcdefghijkl*abcdefghijklm*abcdefghijklmn", "abc*abc*abc*abc*abc*abc*abc*abc*abc*abc*abc*abc*" ) ); assert ( !sphWildcardMatch ( "abc*abcd*abcd*abc*abcd", "abc*abc*abc*abc*abc" ) ); assert ( sphWildcardMatch ( "abc*abcd*abcd*abc*abcd*abcd*abc*abcd*abc*abc*abcd", "abc*abc*abc*abc*abc*abc*abc*abc*abc*abc*abcd" ) ); assert ( sphWildcardMatch ( "abc", "********a********b********c********" ) ); assert ( !sphWildcardMatch ( "********a********b********c********", "abc" ) ); assert ( !sphWildcardMatch ( "abc", "********a********b********b********" ) ); assert ( sphWildcardMatch ( "*abc*", "***a*b*c***" ) ); printf ( "ok\n" ); } ////////////////////////////////////////////////////////////////////////// void TestLog2() { printf ( "testing integer log2 implementation... " ); assert ( sphLog2(1)==1 ); assert ( sphLog2(2)==2 ); assert ( sphLog2(3)==2 ); assert ( sphLog2(4)==3 ); assert ( sphLog2(5)==3 ); assert ( sphLog2(6)==3 ); assert ( sphLog2(7)==3 ); assert ( sphLog2(8)==4 ); assert ( sphLog2(9)==4 ); assert ( sphLog2(10)==4 ); assert ( sphLog2(65535)==16 ); assert ( sphLog2(65536)==17 ); assert ( sphLog2 ( 0xffffffffUL )==32 ); assert ( sphLog2 ( 0x100000000ULL )==33 ); assert ( sphLog2 ( 0x100000001ULL )==33 ); assert ( sphLog2 ( 0x1ffffffffULL )==33 ); assert ( sphLog2 ( 0x200000000ULL )==34 ); assert ( sphLog2 ( 0xffffffffffffffffULL )==64 ); assert ( sphLog2 ( 0xfffffffffffffffeULL )==64 ); assert ( sphLog2 ( 0xefffffffffffffffULL )==64 ); assert ( sphLog2 ( 0x7fffffffffffffffULL )==63 ); printf ( "ok\n" ); } const int TIMER_THREAD_NRUNS = 10*1000*1000; void BenchTimerThread ( void * pEndtime ) { volatile int iRes = 0; for ( int i=0; i dTest22; dTest22.Resize ( sizeof(sTest2) ); for ( int i=0; i<10; i++ ) { dTest22.Resize ( dTest22.GetLength() * 2 ); int iOff = dTest22.GetLength() - sizeof(sTest2); memcpy ( dTest22.Begin() + iOff, sTest2, sizeof(sTest2) ); stem_ar_utf8 ( dTest22.Begin() + iOff ); assert ( memcmp ( dTest22.Begin() + iOff, sRef2, sizeof(sRef2) )==0 ); } printf ( "ok\n" ); } #endif // !NDEBUG ////////////////////////////////////////////////////////////////////////// void TestAppendf() { CSphStringBuilder sRes; sRes.Appendf ( "12345678" ); sRes.Appendf ( "this is my rifle this is my gun" ); sRes.Appendf ( " int=%d float=%f string=%s", 123, 456.789, "helloworld" ); assert ( strcmp ( sRes.cstr(), "12345678this is my rifle this is my gun int=123 float=456.789000 string=helloworld" )==0 ); } void BenchAppendf() { int64_t tm1 = sphMicroTimer(); CSphStringBuilder sRes1; for ( int i=0; i<200; i++ ) sRes1.Appendf ( "%d ", i ); tm1 = sphMicroTimer() - tm1; int64_t tm2 = sphMicroTimer(); CSphString sRes2; sRes2.SetSprintf ( "%d ", 0 ); for ( int i=1; i<200; i++ ) sRes2.SetSprintf ( "%s%d ", sRes2.cstr(), i ); tm2 = sphMicroTimer() - tm2; printf ( "benchmarking stringbuilder... %d microsec builder vs %d microsec string\n", int(tm1), int(tm2) ); } ////////////////////////////////////////////////////////////////////////// // conversion between degrees and radians static const double MY_PI = 3.14159265358979323846; static const double TO_RADD = MY_PI / 180.0; static const double TO_RADD2 = MY_PI / 360.0; static const double TO_DEGD = 180.0 / MY_PI; static inline float GeodistVincenty ( double lat1, double lon1, double lat2, double lon2 ) { lat1 *= TO_RADD; lon1 *= TO_RADD; lat2 *= TO_RADD; lon2 *= TO_RADD; const double a = 6378137; const double b = 6356752.314245; double f = (a-b)/a; double L = lon2 - lon1; double u1 = atan ( (1-f) * tan(lat1) ); double u2 = atan ( (1-f) * tan(lat2) ); double sin_u1 = sin(u1); double cos_u1 = cos(u1); double sin_u2 = sin(u2); double cos_u2 = cos(u2); double lambda = L; double lambda_pi = 2*MY_PI; double sin_sigma = 0, cos_sigma = 0, sigma = 0, cos_sq_alpha = 0, cos2sigma_m = 0; while ( fabs ( lambda-lambda_pi ) > 1e-12 ) { double sin_lambda = sin(lambda); double cos_lambda = cos(lambda); sin_sigma = sqrt ( (cos_u2 * sin_lambda) * (cos_u2*sin_lambda) + ( cos_u1*sin_u2-sin_u1*cos_u2*cos_lambda ) * ( cos_u1*sin_u2-sin_u1*cos_u2*cos_lambda ) ); cos_sigma = sin_u1*sin_u2 + cos_u1*cos_u2*cos_lambda; sigma = atan2 ( sin_sigma, cos_sigma ); double alpha = asin ( cos_u1 * cos_u2 * sin_lambda / sin_sigma ); cos_sq_alpha = cos(alpha) * cos(alpha); cos2sigma_m = cos_sigma - 2*sin_u1*sin_u2/cos_sq_alpha; double cc = f/16*cos_sq_alpha*(4+f*(4-3*cos_sq_alpha)); lambda_pi = lambda; lambda = L + (1-cc) * f * sin(alpha) * (sigma + cc*sin_sigma*(cos2sigma_m+cc*cos_sigma*(-1+2*cos2sigma_m*cos2sigma_m))); } double usq = cos_sq_alpha*(a*a-b*b)/(b*b); double aa = 1 + usq/16384*(4096+usq*(-768+usq*(320-175*usq))); double bb = usq/1024 * (256+usq*(-128+usq*(74-47*usq))); double delta_sigma = bb*sin_sigma*(cos2sigma_m+bb/4*(cos_sigma*(-1+2*cos2sigma_m*cos2sigma_m)- bb/6*cos2sigma_m*(-3+4*sin_sigma*sin_sigma)*(-3+4*cos2sigma_m*cos2sigma_m))); double c = b*aa*(sigma-delta_sigma); return (float)c; } void DestVincenty ( double lat1, double lon1, double brng, double dist, double *lat2, double *lon2 ) { double a = 6378137, b = 6356752.3142, f = 1/298.257223563; // WGS-84 ellipsiod double s = dist; double alpha1 = brng*TO_RADD; double sinAlpha1 = sin(alpha1); double cosAlpha1 = cos(alpha1); double tanU1 = (1-f) * tan ( lat1*TO_RADD ); double cosU1 = 1 / sqrt ( 1 + tanU1*tanU1 ), sinU1 = tanU1*cosU1; double sigma1 = atan2 ( tanU1, cosAlpha1 ); double sinAlpha = cosU1 * sinAlpha1; double cosSqAlpha = 1 - sinAlpha*sinAlpha; double uSq = cosSqAlpha * (a*a - b*b) / (b*b); double A = 1 + uSq/16384*(4096+uSq*(-768+uSq*(320-175*uSq))); double B = uSq/1024 * (256+uSq*(-128+uSq*(74-47*uSq))); double sigma = s / (b*A), sigmaP = 2*MY_PI; double cos2SigmaM = 0, sinSigma = 0, cosSigma = 0; while ( fabs ( sigma-sigmaP ) > 1e-12 ) { cos2SigmaM = cos ( 2*sigma1 + sigma ); sinSigma = sin(sigma); cosSigma = cos(sigma); double deltaSigma = B*sinSigma*(cos2SigmaM+B/4*(cosSigma*(-1+2*cos2SigmaM*cos2SigmaM)- B/6*cos2SigmaM*(-3+4*sinSigma*sinSigma)*(-3+4*cos2SigmaM*cos2SigmaM))); sigmaP = sigma; sigma = s / (b*A) + deltaSigma; } double tmp = sinU1*sinSigma - cosU1*cosSigma*cosAlpha1; *lat2 = atan2 ( sinU1*cosSigma + cosU1*sinSigma*cosAlpha1, (1-f)*sqrt ( sinAlpha*sinAlpha + tmp*tmp ) ); double lambda = atan2 ( sinSigma*sinAlpha1, cosU1*cosSigma - sinU1*sinSigma*cosAlpha1 ); double C = f/16*cosSqAlpha*(4+f*(4-3*cosSqAlpha)); double L = lambda - (1-C) * f * sinAlpha * (sigma + C*sinSigma*(cos2SigmaM+C*cosSigma*(-1+2*cos2SigmaM*cos2SigmaM))); *lon2 = (lon1*TO_RADD+L+3*MY_PI); while ( *lon2>2*MY_PI ) *lon2 -= 2*MY_PI; *lon2 -= MY_PI; *lat2 *= TO_DEGD; *lon2 *= TO_DEGD; } static const int NFUNCS = 3; float CalcGeofunc ( int iFunc, double * t ) { switch ( iFunc ) { case 0: return GeodistSphereDeg ( float(t[0]), float(t[1]), float(t[2]), float(t[3]) ); break; case 1: return GeodistAdaptiveDeg ( float(t[0]), float(t[1]), float(t[2]), float(t[3]) ); break; case 2: return GeodistFlatDeg ( float(t[0]), float(t[1]), float(t[2]), float(t[3]) ); break; } return 0; } class GeodistStatic { public: float m_lat1; float m_lon1; double m_cos1d2; double m_sin1; public: GeodistStatic ( float lat1, float lon1 ) { m_lat1 = lat1; m_lon1 = lon1; m_cos1d2 = 111415.13 * 0.5 * cos ( TO_RADD*lat1 ); m_sin1 = 111415.13 * sin ( TO_RADD*lat1 ); } float Dist ( float lat2, float lon2 ) { float dlat = m_lat1 - lat2; float dlon = m_lon1 - lon2; // fallback to haversine for distant enough points if ( dlat>16 || dlon>16 || dlat<-16 || dlon<-16 ) return GeodistSphereDeg ( m_lat1, m_lon1, lat2, lon2 ); // we approximate cos() using Taylor expansions // even in 2013, this is still quicker // midpoint = lat1 + (lat2-lat1)/2 = lat1 + b // b <= 16*pi/180 ~= 0.2792 // cos(midpoint) = cos(lat1)*cos(b) - sin(lat1)*sin(b) // cos(b) = 1 - b^2/2 + b^4/24 ... ~= 1-b*b/2 because b^4/24 <= 0.0002 // sin(b) = b - b^3/6 + b^5/120 ... ~= b because b^3/6 <= 0.036 // cos(midpoint) ~= cos(lat1) - cos(lat1)*b*b/2 + sin(lat1)*b double b = (lat2-m_lat1)*TO_RADD2; double k2 = 2*m_cos1d2 - m_cos1d2*b*b - m_sin1*b; // cos(midpoint) return (float)sqrt ( 111132.09*111132.09*dlat*dlat + k2*k2*dlon*dlon ); } }; inline float MaxErr ( float fMax, float fRes, double fRef ) { float fErr = (float)( fabs ( fRes-fRef )*100 / fRef ); return fErr > fMax ? fErr : fMax; } void TestGeodist() { CSphVector dBench; for ( int adist=10; adist<=10*1000*1000; adist*=10 ) for ( int dist=adist; dist<10*adist && dist<20*1000*1000; dist+=2*adist ) { double avgerr[NFUNCS] = {0}, maxerr[NFUNCS] = {0}; int n = 0; for ( int lat=-80; lat<=80; lat+=10 ) { for ( int lon=-179; lon<180; lon+=3 ) { for ( int b=0; b<360; b+=3, n++ ) { double t[4] = { double(lat), double(lon), 0, 0 }; DestVincenty ( t[0], t[1], b, dist, t+2, t+3 ); for ( int j=0; j<4; j++ ) dBench.Add ( t[j] ); for ( int f=0; f=1000 ) printf ( "%5dkm", dist/1000 ); else printf ( "%6dm", dist ); for ( int f=0; fm_pNext = new CSphVariant ( "f2", 2 ); tTail.m_pNext->m_pNext->m_pNext = new CSphVariant ( "f3", 3 ); tTail.m_pNext->m_pNext->m_pNext->m_pNext = new CSphVariant ( "f4", 4 ); tTail.m_pNext->m_pNext->m_pNext->m_pNext->m_pNext = new CSphVariant ( "f5", 5 ); Verify ( tConf.Add ( CSphVariant ( "gid", 6 ), "csvpipe_attr_uint" ) ); // setup source CSphSource_Document * pCSV = (CSphSource_Document *)sphCreateSourceCSVpipe ( &tConf, fp, "csv", false ); CSphString sError; Verify ( pCSV->Connect ( sError ) ); Verify ( pCSV->IterateStart ( sError ) ); // verify that config matches to source schema CSphSchema tSchema; Verify ( pCSV->UpdateSchema ( &tSchema, sError ) ); int iColumns = tSchema.m_dFields.GetLength(); // check parsed fields for ( int iTest=1; ; ) { BYTE ** pFields = pCSV->NextDocument ( sError ); assert ( pFields || pCSV->m_tDocInfo.m_uDocID==0 ); if ( pCSV->m_tDocInfo.m_uDocID==0 ) break; for ( int i=0; iSetup ( tParams ) ) sphDie ( "setup failed" ); if ( !pSrc->Connect ( sError ) ) sphDie ( "connect failed: %s", sError.cstr() ); if ( !pSrc->IterateStart ( sError ) ) sphDie ( "iterate-start failed: %s", sError.cstr() ); } void DoSearch ( CSphIndex * pIndex ) { printf ( "---\nsearching... " ); CSphQuery tQuery; CSphQueryResult tResult; KillListVector dDummyKlist; CSphMultiQueryArgs tArgs ( dDummyKlist, 1 ); tQuery.m_sQuery = "@title cat"; SphQueueSettings_t tQueueSettings ( tQuery, pIndex->GetMatchSchema(), tResult.m_sError, NULL ); tQueueSettings.m_bComputeItems = false; ISphMatchSorter * pSorter = sphCreateQueue ( tQueueSettings ); if ( !pSorter ) { printf ( "failed to create sorter; error=%s", tResult.m_sError.cstr() ); } else if ( !pIndex->MultiQuery ( &tQuery, &tResult, 1, &pSorter, tArgs ) ) { printf ( "query failed; error=%s", pIndex->GetLastError().cstr() ); } else { sphFlattenQueue ( pSorter, &tResult, 0 ); printf ( "%d results found in %d.%03d sec!\n", tResult.m_dMatches.GetLength(), tResult.m_iQueryTime/1000, tResult.m_iQueryTime%1000 ); ARRAY_FOREACH ( i, tResult.m_dMatches ) printf ( "%d. id=" DOCID_FMT ", weight=%d\n", 1+i, tResult.m_dMatches[i].m_uDocID, tResult.m_dMatches[i].m_iWeight ); } SafeDelete ( pSorter ); printf ( "---\n" ); } void DoIndexing ( CSphSource * pSrc, ISphRtIndex * pIndex ) { CSphString sError, sWarning; CSphVector dMvas; int64_t tmStart = sphMicroTimer (); int64_t tmAvgCommit = 0; int64_t tmMaxCommit = 0; int iCommits = 0; for ( ;; ) { if ( !pSrc->IterateDocument ( sError ) ) sphDie ( "iterate-document failed: %s", sError.cstr() ); if ( pSrc->m_tDocInfo.m_uDocID ) { ISphHits * pHitsNext = pSrc->IterateHits ( sError ); if ( !sError.IsEmpty() ) sphDie ( "iterate-hits failed: %s", sError.cstr() ); pIndex->AddDocument ( pHitsNext, pSrc->m_tDocInfo, NULL, dMvas, sError, sWarning ); } if ( ( pSrc->GetStats().m_iTotalDocuments % COMMIT_STEP )==0 || !pSrc->m_tDocInfo.m_uDocID ) { int64_t tmCommit = sphMicroTimer(); pIndex->Commit (); tmCommit = sphMicroTimer()-tmCommit; iCommits++; tmAvgCommit += tmCommit; tmMaxCommit = Max ( tmMaxCommit, tmCommit ); if ( !pSrc->m_tDocInfo.m_uDocID ) { tmAvgCommit /= iCommits; break; } } if (!( pSrc->GetStats().m_iTotalDocuments % 100 )) printf ( "%d docs\r", (int)pSrc->GetStats().m_iTotalDocuments ); static bool bOnce = true; if ( iCommits*COMMIT_STEP>=5000 && bOnce ) { printf ( "\n" ); DoSearch ( pIndex ); bOnce = false; } } pSrc->Disconnect(); int64_t tmEnd = sphMicroTimer (); float fTotalMB = (float)pSrc->GetStats().m_iTotalBytes/1000000.0f; printf ( "commit-step %d, %d docs, %d bytes, %d.%03d sec, %.2f MB/sec\n", COMMIT_STEP, (int)pSrc->GetStats().m_iTotalDocuments, (int)pSrc->GetStats().m_iTotalBytes, (int)((tmEnd-tmStart)/1000000), (int)(((tmEnd-tmStart)%1000000)/1000), fTotalMB*1000000.0f/(tmEnd-tmStart) ); printf ( "commit-docs %d, avg %d.%03d msec, max %d.%03d msec\n", COMMIT_STEP, (int)(tmAvgCommit/1000), (int)(tmAvgCommit%1000), (int)(tmMaxCommit/1000), (int)(tmMaxCommit%1000) ); g_fTotalMB += fTotalMB; } CSphSource * SpawnSource ( const char * sQuery, ISphTokenizer * pTok, CSphDict * pDict ) { CSphSource_MySQL * pSrc = new CSphSource_MySQL ( "test" ); pSrc->SetTokenizer ( pTok ); pSrc->SetDict ( pDict ); CSphSourceParams_MySQL tParams; tParams.m_sHost = "localhost"; tParams.m_sUser = "root"; tParams.m_sDB = "lj"; tParams.m_dQueryPre.Add ( "SET NAMES utf8" ); tParams.m_sQuery = sQuery; CSphColumnInfo tCol; tCol.m_eAttrType = SPH_ATTR_INTEGER; tCol.m_sName = "channel_id"; tParams.m_dAttrs.Add ( tCol ); tCol.m_eAttrType = SPH_ATTR_TIMESTAMP; tCol.m_sName = "published"; tParams.m_dAttrs.Add ( tCol ); SetupIndexing ( pSrc, tParams ); return pSrc; } static ISphRtIndex * g_pIndex = NULL; void IndexingThread ( void * pArg ) { CSphSource * pSrc = (CSphSource *) pArg; DoIndexing ( pSrc, g_pIndex ); } int main ( int argc, char ** argv ) { if ( argc==2 ) COMMIT_STEP = atoi ( argv[1] ); // threads should be initialized before memory allocations char cTopOfMainStack; sphThreadInit(); MemorizeStack ( &cTopOfMainStack ); CSphString sError; CSphDictSettings tDictSettings; tDictSettings.m_bWordDict = false; ISphTokenizer * pTok = sphCreateUTF8Tokenizer(); CSphDict * pDict = sphCreateDictionaryCRC ( tDictSettings, NULL, pTok, "rt1", sError ); CSphSource * pSrc = SpawnSource ( "SELECT id, channel_id, UNIX_TIMESTAMP(published) published, " "title, UNCOMPRESS(content) content FROM posting WHERE id<=10000 AND id%2=0", pTok, pDict ); ISphTokenizer * pTok2 = sphCreateUTF8Tokenizer(); CSphDict * pDict2 = sphCreateDictionaryCRC ( tDictSettings, NULL, pTok, "rt2", sError ); CSphSource * pSrc2 = SpawnSource ( "SELECT id, channel_id, UNIX_TIMESTAMP(published) published, " "title, UNCOMPRESS(content) content FROM posting WHERE id<=10000 AND id%2=1", pTok2, pDict2 ); CSphSchema tSrcSchema; if ( !pSrc->UpdateSchema ( &tSrcSchema, sError ) ) sphDie ( "update-schema failed: %s", sError.cstr() ); CSphSchema tSchema; // source schema must be all dynamic attrs; but index ones must be static tSchema.m_dFields = tSrcSchema.m_dFields; for ( int i=0; i dTemp; sphReplayBinlog ( dTemp, 0 ); ISphRtIndex * pIndex = sphCreateIndexRT ( tSchema, "testrt", 32*1024*1024, "data/dump", false ); pIndex->SetTokenizer ( pTok ); // index will own this pair from now on pIndex->SetDictionary ( pDict ); if ( !pIndex->Prealloc ( false, false, sError ) ) sphDie ( "prealloc failed: %s", pIndex->GetLastError().cstr() ); g_pIndex = pIndex; // initial indexing int64_t tmStart = sphMicroTimer(); SphThread_t t1, t2; sphThreadCreate ( &t1, IndexingThread, pSrc ); sphThreadCreate ( &t2, IndexingThread, pSrc2 ); sphThreadJoin ( &t1 ); sphThreadJoin ( &t2 ); #if 0 // update tParams.m_sQuery = "SELECT id, channel_id, UNIX_TIMESTAMP(published) published, title, " "UNCOMPRESS(content) content FROM rt2 WHERE id<=10000"; SetupIndexing ( pSrc, tParams ); DoIndexing ( pSrc, pIndex ); #endif // search DoSearch ( pIndex ); // shutdown index (should cause dump) int64_t tmShutdown = sphMicroTimer(); #if SPH_ALLOCS_PROFILER printf ( "pre-shutdown allocs=%d, bytes=" INT64_FMT "\n", sphAllocsCount(), sphAllocBytes() ); #endif SafeDelete ( pIndex ); #if SPH_ALLOCS_PROFILER printf ( "post-shutdown allocs=%d, bytes=" INT64_FMT "\n", sphAllocsCount(), sphAllocBytes() ); #endif int64_t tmEnd = sphMicroTimer(); printf ( "shutdown done in %d.%03d sec\n", (int)((tmEnd-tmShutdown)/1000000), (int)(((tmEnd-tmShutdown)%1000000)/1000) ); printf ( "total with shutdown %d.%03d sec, %.2f MB/sec\n", (int)((tmEnd-tmStart)/1000000), (int)(((tmEnd-tmStart)%1000000)/1000), g_fTotalMB*1000000.0f/(tmEnd-tmStart) ); #if SPH_DEBUG_LEAKS || SPH_ALLOCS_PROFILER sphAllocsStats(); #endif #if USE_WINDOWS PROCESS_MEMORY_COUNTERS pmc; HANDLE hProcess = OpenProcess ( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, GetCurrentProcessId() ); if ( hProcess && GetProcessMemoryInfo ( hProcess, &pmc, sizeof(pmc)) ) { printf ( "--- peak-wss=%d, peak-pagefile=%d\n", (int)pmc.PeakWorkingSetSize, (int)pmc.PeakPagefileUsage ); } #endif SafeDelete ( pIndex ); sphRTDone (); } // // $Id$ // sphinx-2.2.11-release/src/sphinxutils.h0000644000175000017500000002021212743402012017406 0ustar alexeyalexey// // $Id$ // // // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License. You should have // received a copy of the GPL license along with this program; if you // did not, you can find it at http://www.gnu.org/ // /// @file sphinxutils.h /// Declarations for the stuff shared by all Sphinx utilities. #ifndef _sphinxutils_ #define _sphinxutils_ #include #include ////////////////////////////////////////////////////////////////////////// /// my own isalpha (let's build our own theme park!) inline int sphIsAlpha ( int c ) { return ( c>='0' && c<='9' ) || ( c>='a' && c<='z' ) || ( c>='A' && c<='Z' ) || c=='-' || c=='_'; } /// my own isspace inline bool sphIsSpace ( int iCode ) { return iCode==' ' || iCode=='\t' || iCode=='\n' || iCode=='\r'; } /// check for keyword modifiers inline bool sphIsModifier ( int iSymbol ) { return iSymbol=='^' || iSymbol=='$' || iSymbol=='=' || iSymbol=='*'; } /// all wildcards template < typename T > inline bool sphIsWild ( T c ) { return c=='*' || c=='?' || c=='%'; } /// string splitter, extracts sequences of alphas (as in sphIsAlpha) void sphSplit ( CSphVector & dOut, const char * sIn ); /// string splitter, splits by the given boundaries void sphSplit ( CSphVector & dOut, const char * sIn, const char * sBounds ); /// string wildcard matching (case-sensitive, supports * and ? patterns) bool sphWildcardMatch ( const char * sSstring, const char * sPattern, const int * pPattern = NULL ); ////////////////////////////////////////////////////////////////////////// /// config section (hash of variant values) class CSphConfigSection : public SmallStringHash_T < CSphVariant > { public: CSphConfigSection () : m_iTag ( 0 ) {} /// get integer option value by key and default value int GetInt ( const char * sKey, int iDefault=0 ) const { CSphVariant * pEntry = (*this)( sKey ); return pEntry ? pEntry->intval() : iDefault; } /// get float option value by key and default value float GetFloat ( const char * sKey, float fDefault=0.0f ) const { CSphVariant * pEntry = (*this)( sKey ); return pEntry ? pEntry->floatval() : fDefault; } /// get string option value by key and default value const char * GetStr ( const char * sKey, const char * sDefault="" ) const { CSphVariant * pEntry = (*this)( sKey ); return pEntry ? pEntry->strval().cstr() : sDefault; } /// get size option (plain int, or with K/M prefix) value by key and default value int GetSize ( const char * sKey, int iDefault ) const; int64_t GetSize64 ( const char * sKey, int64_t iDefault ) const; int m_iTag; }; /// config section type (hash of sections) typedef SmallStringHash_T < CSphConfigSection > CSphConfigType; /// config (hash of section types) typedef SmallStringHash_T < CSphConfigType > CSphConfig; /// simple config file class CSphConfigParser { public: CSphConfig m_tConf; public: CSphConfigParser (); bool Parse ( const char * sFileName, const char * pBuffer = NULL ); // fail-save loading new config over existing. bool ReParse ( const char * sFileName, const char * pBuffer = NULL ); protected: CSphString m_sFileName; int m_iLine; CSphString m_sSectionType; CSphString m_sSectionName; char m_sError [ 1024 ]; int m_iWarnings; static const int WARNS_THRESH = 5; protected: bool IsPlainSection ( const char * sKey ); bool IsNamedSection ( const char * sKey ); bool AddSection ( const char * sType, const char * sSection ); void AddKey ( const char * sKey, char * sValue ); bool ValidateKey ( const char * sKey ); char * GetBufferString ( char * szDest, int iMax, const char * & szSource ); }; bool TryToExec ( char * pBuffer, const char * szFilename, CSphVector & dResult, char * sError, int iErrorLen ); ///////////////////////////////////////////////////////////////////////////// enum { // where was TOKENIZER_SBCS=1 once TOKENIZER_UTF8 = 2, TOKENIZER_NGRAM = 3 }; /// load config file const char * sphLoadConfig ( const char * sOptConfig, bool bQuiet, CSphConfigParser & cp ); /// configure tokenizer from index definition section void sphConfTokenizer ( const CSphConfigSection & hIndex, CSphTokenizerSettings & tSettings ); /// configure dictionary from index definition section void sphConfDictionary ( const CSphConfigSection & hIndex, CSphDictSettings & tSettings ); /// configure field filter from index definition section bool sphConfFieldFilter ( const CSphConfigSection & hIndex, CSphFieldFilterSettings & tSettings, CSphString & sError ); /// configure index from index definition section bool sphConfIndex ( const CSphConfigSection & hIndex, CSphIndexSettings & tSettings, CSphString & sError ); /// try to set dictionary, tokenizer and misc settings for an index (if not already set) bool sphFixupIndexSettings ( CSphIndex * pIndex, const CSphConfigSection & hIndex, CSphString & sError, bool bTemplateDict=false ); bool sphInitCharsetAliasTable ( CSphString & sError ); enum ESphLogLevel { SPH_LOG_FATAL = 0, SPH_LOG_WARNING = 1, SPH_LOG_INFO = 2, SPH_LOG_DEBUG = 3, SPH_LOG_VERBOSE_DEBUG = 4, SPH_LOG_VERY_VERBOSE_DEBUG = 5 }; typedef void ( *SphLogger_fn )( ESphLogLevel, const char *, va_list ); void sphWarning ( const char * sFmt, ... ) __attribute__((format(printf,1,2))); //NOLINT void sphInfo ( const char * sFmt, ... ) __attribute__((format(printf,1,2))); //NOLINT void sphLogFatal ( const char * sFmt, ... ) __attribute__((format(printf,1,2))); //NOLINT void sphLogDebug ( const char * sFmt, ... ) __attribute__((format(printf,1,2))); //NOLINT void sphLogDebugv ( const char * sFmt, ... ) __attribute__((format(printf,1,2))); //NOLINT void sphLogDebugvv ( const char * sFmt, ... ) __attribute__((format(printf,1,2))); //NOLINT void sphSetLogger ( SphLogger_fn fnLog ); ////////////////////////////////////////////////////////////////////////// /// how do we properly exit from the crash handler? #if !USE_WINDOWS #ifndef NDEBUG // UNIX debug build, die and dump core #define CRASH_EXIT { signal ( sig, SIG_DFL ); kill ( getpid(), sig ); } #else // UNIX release build, just die #define CRASH_EXIT { exit ( 2 ); } #endif #else #ifndef NDEBUG // Windows debug build, show prompt to attach debugger #define CRASH_EXIT return EXCEPTION_CONTINUE_SEARCH #else // Windows release build, just die #define CRASH_EXIT return EXCEPTION_EXECUTE_HANDLER #endif #endif /// simple write wrapper /// simplifies partial write checks, and also supresses "fortified" glibc warnings bool sphWrite ( int iFD, const void * pBuf, size_t iSize ); /// async safe, BUT NOT THREAD SAFE, fprintf void sphSafeInfo ( int iFD, const char * sFmt, ... ); #if !USE_WINDOWS /// UNIX backtrace gets printed out to a stream void sphBacktrace ( int iFD, bool bSafe=false ); #else /// Windows minidump gets saved to a file void sphBacktrace ( EXCEPTION_POINTERS * pExc, const char * sFile ); #endif void sphBacktraceSetBinaryName ( const char * sName ); /// plain backtrace - returns static buffer with the text of the call stack const char * DoBacktrace ( int iDepth=0, int iSkip=0 ); void sphCheckDuplicatePaths ( const CSphConfig & hConf ); /// set globals from the common config section void sphConfigureCommon ( const CSphConfig & hConf ); /// my own is chinese bool sphIsChineseCode ( int iCode ); /// detect chinese chars in a buffer bool sphDetectChinese ( const BYTE * szBuffer, int iLength ); /// returns ranker name as string const char * sphGetRankerName ( ESphRankMode eRanker ); class CSphDynamicLibrary : public ISphNoncopyable { bool m_bReady; // whether the lib is valid or not void * m_pLibrary; // internal handle public: CSphDynamicLibrary() : m_bReady ( false ) , m_pLibrary ( NULL ) , m_sError ( "" ) {} virtual ~CSphDynamicLibrary() {} bool Init ( const char* sPath, bool bGlobal=true ); bool LoadSymbol ( const char* sName, void** ppFunc ); bool LoadSymbols ( const char** sNames, void*** pppFuncs, int iNum ); public: CSphString m_sError; private: void FillError ( const char* sMessage=NULL ); }; #endif // _sphinxutils_ // // $Id$ // sphinx-2.2.11-release/src/sphinxutils.cpp0000644000175000017500000021176712743402012017762 0ustar alexeyalexey// // $Id$ // // // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License. You should have // received a copy of the GPL license along with this program; if you // did not, you can find it at http://www.gnu.org/ // /// @file sphinxutils.cpp /// Implementations for Sphinx utilities shared classes. #include "sphinx.h" #include "sphinxutils.h" #include "sphinxint.h" #include "sphinxplugin.h" #include #include #include #if HAVE_EXECINFO_H #include #endif #if USE_WINDOWS #include // for ::open on windows #include #pragma comment(linker, "/defaultlib:dbghelp.lib") #pragma message("Automatically linking with dbghelp.lib") #else #include #include #include #ifdef HAVE_DLOPEN #include #endif // HAVE_DLOPEN #ifndef HAVE_DLERROR #define dlerror() "" #endif // HAVE_DLERROR #endif ////////////////////////////////////////////////////////////////////////// // STRING FUNCTIONS ////////////////////////////////////////////////////////////////////////// static char * ltrim ( char * sLine ) { while ( *sLine && isspace(*sLine) ) sLine++; return sLine; } static char * rtrim ( char * sLine ) { char * p = sLine + strlen(sLine) - 1; while ( p>=sLine && isspace(*p) ) p--; p[1] = '\0'; return sLine; } static char * trim ( char * sLine ) { return ltrim ( rtrim ( sLine ) ); } void sphSplit ( CSphVector & dOut, const char * sIn ) { if ( !sIn ) return; const char * p = (char*)sIn; while ( *p ) { // skip non-alphas while ( (*p) && !sphIsAlpha(*p) ) p++; if ( !(*p) ) break; // this is my next token assert ( sphIsAlpha(*p) ); const char * sNext = p; while ( sphIsAlpha(*p) ) p++; if ( sNext!=p ) dOut.Add().SetBinary ( sNext, p-sNext ); } } void sphSplit ( CSphVector & dOut, const char * sIn, const char * sBounds ) { if ( !sIn ) return; const char * p = (char*)sIn; while ( *p ) { // skip until the first non-boundary character const char * sNext = p; while ( *p && !strchr ( sBounds, *p ) ) p++; // add the token, skip the char dOut.Add().SetBinary ( sNext, p-sNext ); if ( *p=='\0' ) break; p++; } } template < typename T1, typename T2 > static bool sphWildcardMatchRec ( const T1 * sString, const T2 * sPattern ) { if ( !sString || !sPattern ) return false; const T1 * s = sString; const T2 * p = sPattern; while ( *s ) { switch ( *p ) { case '\\': // escaped char, strict match the next one literally p++; if ( *s++!=*p++ ) return false; break; case '?': // match any character s++; p++; break; case '%': // gotta match either 0 or 1 characters // well, lets look ahead and see what we need to match next p++; // just a shortcut, %* can be folded to just * if ( *p=='*' ) break; // plain char after a hash? check the non-ambiguous cases if ( !sphIsWild(*p) ) { if ( s[0]!=*p ) { // hash does not match 0 chars // check if we can match 1 char, or it's a no-match if ( s[1]!=*p ) return false; s++; break; } else { // hash matches 0 chars // check if we could ambiguously match 1 char too, though if ( s[1]!=*p ) break; // well, fall through to "scan both options" route } } // could not decide yet // so just recurse both options if ( sphWildcardMatchRec ( s, p ) ) return true; if ( sphWildcardMatchRec ( s+1, p ) ) return true; return false; case '*': // skip all the extra stars and question marks for ( p++; *p=='*' || *p=='?'; p++ ) if ( *p=='?' ) { s++; if ( !*s ) return p[1]=='\0'; } // short-circuit trailing star if ( !*p ) return true; // so our wildcard expects a real character // scan forward for its occurrences and recurse for ( ;; ) { if ( !*s ) return false; if ( *s==*p && sphWildcardMatchRec ( s+1, p+1 ) ) return true; s++; } break; default: // default case, strict match if ( *s++!=*p++ ) return false; break; } } // eliminate trailing stars while ( *p=='*' ) p++; // string done // pattern should be either done too, or a trailing star, or a trailing hash return p[0]=='\0' || ( p[0]=='*' && p[1]=='\0' ) || ( p[0]=='%' && p[1]=='\0' ); } template < typename T1, typename T2 > static bool sphWildcardMatchDP ( const T1 * sString, const T2 * sPattern ) { assert ( sString && sPattern && *sString && *sPattern ); const T1 * s = sString; const T2 * p = sPattern; bool bEsc = false; int iEsc = 0; const int iBufCount = 2; const int iBufLenMax = SPH_MAX_WORD_LEN*3+4+1; int dTmp [iBufCount][iBufLenMax]; dTmp[0][0] = 1; dTmp[1][0] = 0; for ( int i=0; i bool sphWildcardMatchSpec ( const T1 * sString, const T2 * sPattern ) { int iLen = 0; int iStars = 0; const T2 * p = sPattern; while ( *p ) { iStars += ( *p=='*' ); iLen++; p++; } if ( iStars>10 || ( iStars>5 && iLen>17 ) ) return sphWildcardMatchDP ( sString, sPattern ); else return sphWildcardMatchRec ( sString, sPattern ); } bool sphWildcardMatch ( const char * sString, const char * sPattern, const int * pPattern ) { if ( !sString || !sPattern || !*sString || !*sPattern ) return false; // there are basically 4 codepaths, because both string and pattern may or may not contain utf-8 chars // pPattern and pString are pointers to unpacked utf-8, pPattern can be precalculated (default is NULL) int dString [ SPH_MAX_WORD_LEN + 1 ]; const int * pString = ( sphIsUTF8 ( sString ) && sphUTF8ToWideChar ( sString, dString, SPH_MAX_WORD_LEN ) ) ? dString : NULL; if ( !pString && !pPattern ) return sphWildcardMatchSpec ( sString, sPattern ); // ascii vs ascii if ( pString && !pPattern ) return sphWildcardMatchSpec ( pString, sPattern ); // utf-8 vs ascii if ( !pString && pPattern ) return sphWildcardMatchSpec ( sString, pPattern ); // ascii vs utf-8 if ( pString && pPattern ) return sphWildcardMatchSpec ( pString, pPattern ); // utf-8 vs utf-8 return false; } ////////////////////////////////////////////////////////////////////////// int64_t CSphConfigSection::GetSize64 ( const char * sKey, int64_t iDefault ) const { CSphVariant * pEntry = (*this)( sKey ); if ( !pEntry ) return iDefault; char sMemLimit[256]; strncpy ( sMemLimit, pEntry->cstr(), sizeof(sMemLimit) ); sMemLimit [ sizeof(sMemLimit)-1 ] = '\0'; int iLen = strlen ( sMemLimit ); if ( !iLen ) return iDefault; iLen--; int iScale = 1; if ( toupper ( sMemLimit[iLen] )=='K' ) { iScale = 1024; sMemLimit[iLen] = '\0'; } else if ( toupper ( sMemLimit[iLen] )=='M' ) { iScale = 1048576; sMemLimit[iLen] = '\0'; } char * sErr; int64_t iRes = strtoll ( sMemLimit, &sErr, 10 ); if ( !*sErr ) { iRes *= iScale; } else { sphWarning ( "'%s = %s' parse error '%s'", sKey, pEntry->cstr(), sErr ); iRes = iDefault; } return iRes; } int CSphConfigSection::GetSize ( const char * sKey, int iDefault ) const { int64_t iSize = GetSize64 ( sKey, iDefault ); if ( iSize>INT_MAX ) { iSize = INT_MAX; sphWarning ( "'%s = " INT64_FMT "' clamped to %d(INT_MAX)", sKey, iSize, INT_MAX ); } return (int)iSize; } ////////////////////////////////////////////////////////////////////////// // CONFIG PARSER ////////////////////////////////////////////////////////////////////////// /// key flags enum { KEY_DEPRECATED = 1UL<<0, KEY_LIST = 1UL<<1, KEY_HIDDEN = 1UL<<2, KEY_REMOVED = 1UL<<3 }; /// key descriptor for validation purposes struct KeyDesc_t { const char * m_sKey; ///< key name int m_iFlags; ///< flags const char * m_sExtra; ///< extra stuff (deprecated name, for now) }; /// allowed keys for source section static KeyDesc_t g_dKeysSource[] = { { "type", 0, NULL }, { "sql_host", 0, NULL }, { "sql_user", 0, NULL }, { "sql_pass", 0, NULL }, { "sql_db", 0, NULL }, { "sql_port", 0, NULL }, { "sql_sock", 0, NULL }, { "mysql_connect_flags", 0, NULL }, { "mysql_ssl_key", 0, NULL }, // check.pl mysql_ssl { "mysql_ssl_cert", 0, NULL }, // check.pl mysql_ssl { "mysql_ssl_ca", 0, NULL }, // check.pl mysql_ssl { "mssql_winauth", 0, NULL }, { "mssql_unicode", KEY_REMOVED, NULL }, { "sql_query_pre", KEY_LIST, NULL }, { "sql_query", 0, NULL }, { "sql_query_range", 0, NULL }, { "sql_range_step", 0, NULL }, { "sql_query_killlist", 0, NULL }, { "sql_attr_uint", KEY_LIST, NULL }, { "sql_attr_bool", KEY_LIST, NULL }, { "sql_attr_timestamp", KEY_LIST, NULL }, { "sql_attr_str2ordinal", KEY_REMOVED | KEY_LIST, NULL }, { "sql_attr_float", KEY_LIST, NULL }, { "sql_attr_bigint", KEY_LIST, NULL }, { "sql_attr_multi", KEY_LIST, NULL }, { "sql_query_post", KEY_LIST, NULL }, { "sql_query_post_index", KEY_LIST, NULL }, { "sql_ranged_throttle", 0, NULL }, { "sql_query_info", KEY_REMOVED, NULL }, { "xmlpipe_command", 0, NULL }, { "xmlpipe_field", KEY_LIST, NULL }, { "xmlpipe_attr_uint", KEY_LIST, NULL }, { "xmlpipe_attr_timestamp", KEY_LIST, NULL }, { "xmlpipe_attr_str2ordinal", KEY_REMOVED | KEY_LIST, NULL }, { "xmlpipe_attr_bool", KEY_LIST, NULL }, { "xmlpipe_attr_float", KEY_LIST, NULL }, { "xmlpipe_attr_bigint", KEY_LIST, NULL }, { "xmlpipe_attr_multi", KEY_LIST, NULL }, { "xmlpipe_attr_multi_64", KEY_LIST, NULL }, { "xmlpipe_attr_string", KEY_LIST, NULL }, { "xmlpipe_attr_wordcount", KEY_REMOVED | KEY_LIST, NULL }, { "xmlpipe_attr_json", KEY_LIST, NULL }, { "xmlpipe_field_string", KEY_LIST, NULL }, { "xmlpipe_field_wordcount", KEY_REMOVED | KEY_LIST, NULL }, { "xmlpipe_fixup_utf8", 0, NULL }, { "sql_str2ordinal_column", KEY_LIST | KEY_REMOVED, NULL }, { "unpack_zlib", KEY_LIST, NULL }, { "unpack_mysqlcompress", KEY_LIST, NULL }, { "unpack_mysqlcompress_maxsize", 0, NULL }, { "odbc_dsn", 0, NULL }, { "sql_joined_field", KEY_LIST, NULL }, { "sql_attr_string", KEY_LIST, NULL }, { "sql_attr_str2wordcount", KEY_REMOVED | KEY_LIST, NULL }, { "sql_field_string", KEY_LIST, NULL }, { "sql_field_str2wordcount", KEY_REMOVED | KEY_LIST, NULL }, { "sql_file_field", KEY_LIST, NULL }, { "sql_column_buffers", 0, NULL }, { "sql_attr_json", KEY_LIST, NULL }, { "hook_connect", KEY_HIDDEN, NULL }, { "hook_query_range", KEY_HIDDEN, NULL }, { "hook_post_index", KEY_HIDDEN, NULL }, { "tsvpipe_command", 0, NULL }, { "tsvpipe_field", KEY_LIST, NULL }, { "tsvpipe_attr_uint", KEY_LIST, NULL }, { "tsvpipe_attr_timestamp", KEY_LIST, NULL }, { "tsvpipe_attr_bool", KEY_LIST, NULL }, { "tsvpipe_attr_float", KEY_LIST, NULL }, { "tsvpipe_attr_bigint", KEY_LIST, NULL }, { "tsvpipe_attr_multi", KEY_LIST, NULL }, { "tsvpipe_attr_multi_64", KEY_LIST, NULL }, { "tsvpipe_attr_string", KEY_LIST, NULL }, { "tsvpipe_attr_json", KEY_LIST, NULL }, { "tsvpipe_field_string", KEY_LIST, NULL }, { "csvpipe_command", 0, NULL }, { "csvpipe_field", KEY_LIST, NULL }, { "csvpipe_attr_uint", KEY_LIST, NULL }, { "csvpipe_attr_timestamp", KEY_LIST, NULL }, { "csvpipe_attr_bool", KEY_LIST, NULL }, { "csvpipe_attr_float", KEY_LIST, NULL }, { "csvpipe_attr_bigint", KEY_LIST, NULL }, { "csvpipe_attr_multi", KEY_LIST, NULL }, { "csvpipe_attr_multi_64", KEY_LIST, NULL }, { "csvpipe_attr_string", KEY_LIST, NULL }, { "csvpipe_attr_json", KEY_LIST, NULL }, { "csvpipe_field_string", KEY_LIST, NULL }, { "csvpipe_delimiter", 0, NULL }, { NULL, 0, NULL } }; /// allowed keys for index section static KeyDesc_t g_dKeysIndex[] = { { "source", KEY_LIST, NULL }, { "path", 0, NULL }, { "docinfo", 0, NULL }, { "mlock", 0, NULL }, { "morphology", 0, NULL }, { "stopwords", 0, NULL }, { "exceptions", 0, NULL }, { "wordforms", KEY_LIST, NULL }, { "embedded_limit", 0, NULL }, { "min_word_len", 0, NULL }, { "charset_type", KEY_REMOVED, NULL }, { "charset_table", 0, NULL }, { "ignore_chars", 0, NULL }, { "min_prefix_len", 0, NULL }, { "min_infix_len", 0, NULL }, { "max_substring_len", 0, NULL }, { "prefix_fields", 0, NULL }, { "infix_fields", 0, NULL }, { "enable_star", KEY_REMOVED, NULL }, { "ngram_len", 0, NULL }, { "ngram_chars", 0, NULL }, { "phrase_boundary", 0, NULL }, { "phrase_boundary_step", 0, NULL }, { "ondisk_dict", KEY_REMOVED, NULL }, { "type", 0, NULL }, { "local", KEY_LIST, NULL }, { "agent", KEY_LIST, NULL }, { "agent_blackhole", KEY_LIST, NULL }, { "agent_persistent", KEY_LIST, NULL }, { "agent_connect_timeout", 0, NULL }, { "ha_strategy", 0, NULL }, { "agent_query_timeout", 0, NULL }, { "html_strip", 0, NULL }, { "html_index_attrs", 0, NULL }, { "html_remove_elements", 0, NULL }, { "preopen", 0, NULL }, { "inplace_enable", 0, NULL }, { "inplace_hit_gap", 0, NULL }, { "inplace_docinfo_gap", 0, NULL }, { "inplace_reloc_factor", 0, NULL }, { "inplace_write_factor", 0, NULL }, { "index_exact_words", 0, NULL }, { "min_stemming_len", 0, NULL }, { "overshort_step", 0, NULL }, { "stopword_step", 0, NULL }, { "blend_chars", 0, NULL }, { "expand_keywords", 0, NULL }, { "hitless_words", 0, NULL }, { "hit_format", KEY_HIDDEN | KEY_DEPRECATED, "default value" }, { "rt_field", KEY_LIST, NULL }, { "rt_attr_uint", KEY_LIST, NULL }, { "rt_attr_bigint", KEY_LIST, NULL }, { "rt_attr_float", KEY_LIST, NULL }, { "rt_attr_timestamp", KEY_LIST, NULL }, { "rt_attr_string", KEY_LIST, NULL }, { "rt_attr_multi", KEY_LIST, NULL }, { "rt_attr_multi_64", KEY_LIST, NULL }, { "rt_attr_json", KEY_LIST, NULL }, { "rt_attr_bool", KEY_LIST, NULL }, { "rt_mem_limit", 0, NULL }, { "dict", 0, NULL }, { "index_sp", 0, NULL }, { "index_zones", 0, NULL }, { "blend_mode", 0, NULL }, { "regexp_filter", KEY_LIST, NULL }, { "bigram_freq_words", 0, NULL }, { "bigram_index", 0, NULL }, { "index_field_lengths", 0, NULL }, { "divide_remote_ranges", KEY_HIDDEN, NULL }, { "stopwords_unstemmed", 0, NULL }, { "global_idf", 0, NULL }, { "rlp_context", 0, NULL }, { "ondisk_attrs", 0, NULL }, { "index_token_filter", 0, NULL }, { NULL, 0, NULL } }; /// allowed keys for indexer section static KeyDesc_t g_dKeysIndexer[] = { { "mem_limit", 0, NULL }, { "max_iops", 0, NULL }, { "max_iosize", 0, NULL }, { "max_xmlpipe2_field", 0, NULL }, { "max_file_field_buffer", 0, NULL }, { "write_buffer", 0, NULL }, { "on_file_field_error", 0, NULL }, { "on_json_attr_error", KEY_DEPRECATED, "on_json_attr_error in common{..} section" }, { "json_autoconv_numbers", KEY_DEPRECATED, "json_autoconv_numbers in common{..} section" }, { "json_autoconv_keynames", KEY_DEPRECATED, "json_autoconv_keynames in common{..} section" }, { "lemmatizer_cache", 0, NULL }, { NULL, 0, NULL } }; /// allowed keys for searchd section static KeyDesc_t g_dKeysSearchd[] = { { "address", KEY_REMOVED, NULL }, { "port", KEY_REMOVED, NULL }, { "listen", KEY_LIST, NULL }, { "log", 0, NULL }, { "query_log", 0, NULL }, { "read_timeout", 0, NULL }, { "client_timeout", 0, NULL }, { "max_children", 0, NULL }, { "pid_file", 0, NULL }, { "max_matches", KEY_REMOVED, NULL }, { "seamless_rotate", 0, NULL }, { "preopen_indexes", 0, NULL }, { "unlink_old", 0, NULL }, { "ondisk_dict_default", KEY_REMOVED, NULL }, { "attr_flush_period", 0, NULL }, { "max_packet_size", 0, NULL }, { "mva_updates_pool", 0, NULL }, { "max_filters", 0, NULL }, { "max_filter_values", 0, NULL }, { "listen_backlog", 0, NULL }, { "read_buffer", 0, NULL }, { "read_unhinted", 0, NULL }, { "max_batch_queries", 0, NULL }, { "subtree_docs_cache", 0, NULL }, { "subtree_hits_cache", 0, NULL }, { "workers", 0, NULL }, { "prefork", KEY_HIDDEN, NULL }, { "dist_threads", 0, NULL }, { "binlog_flush", 0, NULL }, { "binlog_path", 0, NULL }, { "binlog_max_log_size", 0, NULL }, { "thread_stack", 0, NULL }, { "expansion_limit", 0, NULL }, { "rt_flush_period", 0, NULL }, { "query_log_format", 0, NULL }, { "mysql_version_string", 0, NULL }, { "plugin_dir", KEY_DEPRECATED, "plugin_dir in common{..} section" }, { "collation_server", 0, NULL }, { "collation_libc_locale", 0, NULL }, { "watchdog", 0, NULL }, { "prefork_rotation_throttle", 0, NULL }, { "snippets_file_prefix", 0, NULL }, { "sphinxql_state", 0, NULL }, { "rt_merge_iops", 0, NULL }, { "rt_merge_maxiosize", 0, NULL }, { "ha_ping_interval", 0, NULL }, { "ha_period_karma", 0, NULL }, { "predicted_time_costs", 0, NULL }, { "persistent_connections_limit", 0, NULL }, { "ondisk_attrs_default", 0, NULL }, { "shutdown_timeout", 0, NULL }, { "query_log_min_msec", 0, NULL }, { "agent_connect_timeout", 0, NULL }, { "agent_query_timeout", 0, NULL }, { "agent_retry_delay", 0, NULL }, { "agent_retry_count", 0, NULL }, { NULL, 0, NULL } }; /// allowed keys for common section static KeyDesc_t g_dKeysCommon[] = { { "lemmatizer_base", 0, NULL }, { "on_json_attr_error", 0, NULL }, { "json_autoconv_numbers", 0, NULL }, { "json_autoconv_keynames", 0, NULL }, { "rlp_root", 0, NULL }, { "rlp_environment", 0, NULL }, { "rlp_max_batch_size", 0, NULL }, { "rlp_max_batch_docs", 0, NULL }, { "plugin_dir", 0, NULL }, { NULL, 0, NULL } }; struct KeySection_t { const char * m_sKey; ///< key name KeyDesc_t * m_pSection; ///< section to refer bool m_bNamed; ///< true if section is named. false if plain }; static KeySection_t g_dConfigSections[] = { { "source", g_dKeysSource, true }, { "index", g_dKeysIndex, true }, { "indexer", g_dKeysIndexer, false }, { "searchd", g_dKeysSearchd, false }, { "common", g_dKeysCommon, false }, { NULL, NULL, false } }; ////////////////////////////////////////////////////////////////////////// CSphConfigParser::CSphConfigParser () : m_sFileName ( "" ) , m_iLine ( -1 ) { } bool CSphConfigParser::IsPlainSection ( const char * sKey ) { assert ( sKey ); const KeySection_t * pSection = g_dConfigSections; while ( pSection->m_sKey && strcasecmp ( sKey, pSection->m_sKey ) ) ++pSection; return pSection->m_sKey && !pSection->m_bNamed; } bool CSphConfigParser::IsNamedSection ( const char * sKey ) { assert ( sKey ); const KeySection_t * pSection = g_dConfigSections; while ( pSection->m_sKey && strcasecmp ( sKey, pSection->m_sKey ) ) ++pSection; return pSection->m_sKey && pSection->m_bNamed; } bool CSphConfigParser::AddSection ( const char * sType, const char * sName ) { m_sSectionType = sType; m_sSectionName = sName; if ( !m_tConf.Exists ( m_sSectionType ) ) m_tConf.Add ( CSphConfigType(), m_sSectionType ); // FIXME! be paranoid, verify that it returned true if ( m_tConf[m_sSectionType].Exists ( m_sSectionName ) ) { snprintf ( m_sError, sizeof(m_sError), "section '%s' (type='%s') already exists", sName, sType ); return false; } m_tConf[m_sSectionType].Add ( CSphConfigSection(), m_sSectionName ); // FIXME! be paranoid, verify that it returned true return true; } void CSphConfigParser::AddKey ( const char * sKey, char * sValue ) { assert ( m_tConf.Exists ( m_sSectionType ) ); assert ( m_tConf[m_sSectionType].Exists ( m_sSectionName ) ); sValue = trim ( sValue ); CSphConfigSection & tSec = m_tConf[m_sSectionType][m_sSectionName]; int iTag = tSec.m_iTag; tSec.m_iTag++; if ( tSec(sKey) ) { if ( tSec[sKey].m_bTag ) { // override value or list with a new value SafeDelete ( tSec[sKey].m_pNext ); // only leave the first array element tSec[sKey] = CSphVariant ( sValue, iTag ); // update its value tSec[sKey].m_bTag = false; // mark it as overridden } else { // chain to tail, to keep the order CSphVariant * pTail = &tSec[sKey]; while ( pTail->m_pNext ) pTail = pTail->m_pNext; pTail->m_pNext = new CSphVariant ( sValue, iTag ); } } else { // just add tSec.Add ( CSphVariant ( sValue, iTag ), sKey ); // FIXME! be paranoid, verify that it returned true } } bool CSphConfigParser::ValidateKey ( const char * sKey ) { // get proper descriptor table // OPTIMIZE! move lookup to AddSection const KeySection_t * pSection = g_dConfigSections; const KeyDesc_t * pDesc = NULL; while ( pSection->m_sKey && m_sSectionType!=pSection->m_sKey ) ++pSection; if ( pSection->m_sKey ) pDesc = pSection->m_pSection; if ( !pDesc ) { snprintf ( m_sError, sizeof(m_sError), "unknown section type '%s'", m_sSectionType.cstr() ); return false; } // check if the key is known while ( pDesc->m_sKey && strcasecmp ( pDesc->m_sKey, sKey ) ) pDesc++; if ( !pDesc->m_sKey ) { snprintf ( m_sError, sizeof(m_sError), "unknown key name '%s'", sKey ); return false; } // warn about deprecate keys if ( pDesc->m_iFlags & KEY_DEPRECATED ) if ( ++m_iWarnings<=WARNS_THRESH ) fprintf ( stdout, "WARNING: key '%s' is deprecated in %s line %d; use '%s' instead.\n", sKey, m_sFileName.cstr(), m_iLine, pDesc->m_sExtra ); // warn about list/non-list keys if (!( pDesc->m_iFlags & KEY_LIST )) { CSphConfigSection & tSec = m_tConf[m_sSectionType][m_sSectionName]; if ( tSec(sKey) && !tSec[sKey].m_bTag ) if ( ++m_iWarnings<=WARNS_THRESH ) fprintf ( stdout, "WARNING: key '%s' is not multi-value; value in %s line %d will be ignored.\n", sKey, m_sFileName.cstr(), m_iLine ); } if ( pDesc->m_iFlags & KEY_REMOVED ) if ( ++m_iWarnings<=WARNS_THRESH ) fprintf ( stdout, "WARNING: key '%s' was permanently removed from Sphinx configuration. Refer to documentation for details.\n", sKey ); return true; } #if !USE_WINDOWS bool TryToExec ( char * pBuffer, const char * szFilename, CSphVector & dResult, char * sError, int iErrorLen ) { int dPipe[2] = { -1, -1 }; if ( pipe ( dPipe ) ) { snprintf ( sError, iErrorLen, "pipe() failed (error=%s)", strerror(errno) ); return false; } pBuffer = trim ( pBuffer ); int iRead = dPipe[0]; int iWrite = dPipe[1]; int iChild = fork(); if ( iChild==0 ) { close ( iRead ); close ( STDOUT_FILENO ); dup2 ( iWrite, STDOUT_FILENO ); char * pPtr = pBuffer; char * pArgs = NULL; while ( *pPtr ) { if ( sphIsSpace ( *pPtr ) ) { *pPtr = '\0'; pArgs = trim ( pPtr+1 ); break; } pPtr++; } if ( pArgs ) execl ( pBuffer, pBuffer, pArgs, szFilename, (char*)NULL ); else execl ( pBuffer, pBuffer, szFilename, (char*)NULL ); exit ( 1 ); } else if ( iChild==-1 ) { snprintf ( sError, iErrorLen, "fork failed: [%d] %s", errno, strerror(errno) ); return false; } close ( iWrite ); int iBytesRead, iTotalRead = 0; const int BUFFER_SIZE = 65536; dResult.Reset (); do { dResult.Resize ( iTotalRead + BUFFER_SIZE ); for ( ;; ) { iBytesRead = read ( iRead, (void*)&(dResult [iTotalRead]), BUFFER_SIZE ); if ( iBytesRead==-1 && errno==EINTR ) // we can get SIGCHLD just before eof continue; break; } iTotalRead += iBytesRead; } while ( iBytesRead > 0 ); close ( iRead ); int iStatus, iResult; do { // can be interrupted by pretty much anything (e.g. SIGCHLD from other searchd children) iResult = waitpid ( iChild, &iStatus, 0 ); // they say this can happen if child exited and SIGCHLD was ignored // a cleaner one would be to temporary handle it here, but can we be bothered if ( iResult==-1 && errno==ECHILD ) { iResult = iChild; iStatus = 0; } if ( iResult==-1 && errno!=EINTR ) { snprintf ( sError, iErrorLen, "waitpid() failed: [%d] %s", errno, strerror(errno) ); return false; } } while ( iResult!=iChild ); if ( WIFEXITED ( iStatus ) && WEXITSTATUS ( iStatus ) ) { // FIXME? read stderr and log that too snprintf ( sError, iErrorLen, "error executing '%s' status = %d", pBuffer, WEXITSTATUS ( iStatus ) ); return false; } if ( WIFSIGNALED ( iStatus ) ) { snprintf ( sError, iErrorLen, "error executing '%s', killed by signal %d", pBuffer, WTERMSIG ( iStatus ) ); return false; } if ( iBytesRead < 0 ) { snprintf ( sError, iErrorLen, "pipe read error: [%d] %s", errno, strerror(errno) ); return false; } dResult.Resize ( iTotalRead + 1 ); dResult [iTotalRead] = '\0'; return true; } #endif char * CSphConfigParser::GetBufferString ( char * szDest, int iMax, const char * & szSource ) { int nCopied = 0; while ( nCopied < iMax-1 && szSource[nCopied] && ( nCopied==0 || szSource[nCopied-1]!='\n' ) ) { szDest [nCopied] = szSource [nCopied]; nCopied++; } if ( !nCopied ) return NULL; szSource += nCopied; szDest [nCopied] = '\0'; return szDest; } bool CSphConfigParser::ReParse ( const char * sFileName, const char * pBuffer ) { CSphConfig tOldConfig = m_tConf; m_tConf.Reset(); if ( Parse ( sFileName, pBuffer ) ) return true; m_tConf = tOldConfig; return false; } bool CSphConfigParser::Parse ( const char * sFileName, const char * pBuffer ) { const int L_STEPBACK = 16; const int L_TOKEN = 64; const int L_BUFFER = 8192; FILE * fp = NULL; if ( !pBuffer ) { // open file fp = fopen ( sFileName, "rb" ); if ( !fp ) return false; } // init parser m_sFileName = sFileName; m_iLine = 0; m_iWarnings = 0; char * p = NULL; char * pEnd = NULL; char sBuf [ L_BUFFER ] = { 0 }; char sToken [ L_TOKEN ] = { 0 }; int iToken = 0; int iCh = -1; enum { S_TOP, S_SKIP2NL, S_TOK, S_TYPE, S_SEC, S_CHR, S_VALUE, S_SECNAME, S_SECBASE, S_KEY } eState = S_TOP, eStack[8]; int iStack = 0; int iValue = 0, iValueMax = 65535; char * sValue = new char [ iValueMax+1 ]; #define LOC_ERROR(_msg) { strncpy ( m_sError, _msg, sizeof(m_sError) ); break; } #define LOC_ERROR2(_msg,_a) { snprintf ( m_sError, sizeof(m_sError), _msg, _a ); break; } #define LOC_ERROR3(_msg,_a,_b) { snprintf ( m_sError, sizeof(m_sError), _msg, _a, _b ); break; } #define LOC_ERROR4(_msg,_a,_b,_c) { snprintf ( m_sError, sizeof(m_sError), _msg, _a, _b, _c ); break; } #define LOC_PUSH(_new) { assert ( iStack0 ); eState = eStack[--iStack]; } #define LOC_BACK() { p--; } m_sError[0] = '\0'; for ( ; ; p++ ) { // if this line is over, load next line if ( p>=pEnd ) { char * szResult = pBuffer ? GetBufferString ( sBuf, L_BUFFER, pBuffer ) : fgets ( sBuf, L_BUFFER, fp ); if ( !szResult ) break; // FIXME! check for read error m_iLine++; int iLen = strlen(sBuf); if ( iLen<=0 ) LOC_ERROR ( "internal error; fgets() returned empty string" ); p = sBuf; pEnd = sBuf + iLen; if ( pEnd[-1]!='\n' ) { if ( iLen==L_BUFFER-1 ) LOC_ERROR ( "line too long" ); } } // handle S_TOP state if ( eState==S_TOP ) { if ( isspace(*p) ) continue; if ( *p=='#' ) { #if !USE_WINDOWS if ( !pBuffer && m_iLine==1 && p==sBuf && p[1]=='!' ) { CSphVector dResult; if ( TryToExec ( p+2, sFileName, dResult, m_sError, sizeof(m_sError) ) ) Parse ( sFileName, &dResult[0] ); break; } else #endif { LOC_PUSH ( S_SKIP2NL ); continue; } } if ( !sphIsAlpha(*p) ) LOC_ERROR ( "invalid token" ); iToken = 0; LOC_PUSH ( S_TYPE ); LOC_PUSH ( S_TOK ); LOC_BACK(); continue; } // handle S_SKIP2NL state if ( eState==S_SKIP2NL ) { LOC_POP (); p = pEnd; continue; } // handle S_TOK state if ( eState==S_TOK ) { if ( !iToken && !sphIsAlpha(*p) )LOC_ERROR ( "internal error (non-alpha in S_TOK pos 0)" ); if ( iToken==sizeof(sToken) ) LOC_ERROR ( "token too long" ); if ( !sphIsAlpha(*p) ) { LOC_POP (); sToken [ iToken ] = '\0'; iToken = 0; LOC_BACK(); continue; } if ( !iToken ) { sToken[0] = '\0'; } sToken [ iToken++ ] = *p; continue; } // handle S_TYPE state if ( eState==S_TYPE ) { if ( isspace(*p) ) continue; if ( *p=='#' ) { LOC_PUSH ( S_SKIP2NL ); continue; } if ( !sToken[0] ) { LOC_ERROR ( "internal error (empty token in S_TYPE)" ); } if ( IsPlainSection(sToken) ) { if ( !AddSection ( sToken, sToken ) ) break; sToken[0] = '\0'; LOC_POP(); LOC_PUSH ( S_SEC ); LOC_PUSH ( S_CHR ); iCh = '{'; LOC_BACK(); continue; } if ( IsNamedSection(sToken) ) { m_sSectionType = sToken; sToken[0] = '\0'; LOC_POP (); LOC_PUSH ( S_SECNAME ); LOC_BACK(); continue; } LOC_ERROR2 ( "invalid section type '%s'", sToken ); } // handle S_CHR state if ( eState==S_CHR ) { if ( isspace(*p) ) continue; if ( *p=='#' ) { LOC_PUSH ( S_SKIP2NL ); continue; } if ( *p!=iCh ) LOC_ERROR3 ( "expected '%c', got '%c'", iCh, *p ); LOC_POP (); continue; } // handle S_SEC state if ( eState==S_SEC ) { if ( isspace(*p) ) continue; if ( *p=='#' ) { LOC_PUSH ( S_SKIP2NL ); continue; } if ( *p=='}' ) { LOC_POP (); continue; } if ( sphIsAlpha(*p) ) { LOC_PUSH ( S_KEY ); LOC_PUSH ( S_TOK ); LOC_BACK(); iValue = 0; sValue[0] = '\0'; continue; } LOC_ERROR2 ( "section contents: expected token, got '%c'", *p ); } // handle S_KEY state if ( eState==S_KEY ) { // validate the key if ( !ValidateKey ( sToken ) ) break; // an assignment operator and a value must follow LOC_POP (); LOC_PUSH ( S_VALUE ); LOC_PUSH ( S_CHR ); iCh = '='; LOC_BACK(); // because we did not work the char at all continue; } // handle S_VALUE state if ( eState==S_VALUE ) { if ( *p=='\n' ) { AddKey ( sToken, sValue ); iValue = 0; LOC_POP (); continue; } if ( *p=='#' ) { AddKey ( sToken, sValue ); iValue = 0; LOC_POP (); LOC_PUSH ( S_SKIP2NL ); continue; } if ( *p=='\\' ) { // backslash at the line end: continuation operator; let the newline be unhanlded if ( p[1]=='\r' || p[1]=='\n' ) { LOC_PUSH ( S_SKIP2NL ); continue; } // backslash before number sign: comment start char escaping; advance and pass it if ( p[1]=='#' ) { p++; } // otherwise: just a char, pass it } if ( iValueWARNS_THRESH ) fprintf ( stdout, "WARNING: %d more warnings skipped.\n", m_iWarnings-WARNS_THRESH ); if ( strlen(m_sError) ) { int iCol = (int)(p-sBuf+1); int iCtx = Min ( L_STEPBACK, iCol ); // error context is upto L_STEPBACK chars back, but never going to prev line const char * sCtx = p-iCtx+1; if ( sCtxm_pNext ) { if ( !pWordforms->cstr() || !*pWordforms->cstr() ) continue; CSphVector dFilesFound; #if USE_WINDOWS WIN32_FIND_DATA tFFData; const char * sLastSlash = NULL; for ( const char * s = pWordforms->cstr(); *s; s++ ) if ( *s=='/' || *s=='\\' ) sLastSlash = s; CSphString sPath; if ( sLastSlash ) sPath = pWordforms->strval().SubString ( 0, sLastSlash - pWordforms->cstr() + 1 ); HANDLE hFind = FindFirstFile ( pWordforms->cstr(), &tFFData ); if ( hFind!=INVALID_HANDLE_VALUE ) { if ( !sPath.IsEmpty() ) { dFilesFound.Resize ( dFilesFound.GetLength()+1 ); dFilesFound.Last().SetSprintf ( "%s%s", sPath.cstr(), tFFData.cFileName ); } else dFilesFound.Add ( tFFData.cFileName ); while ( FindNextFile ( hFind, &tFFData )!=0 ) { if ( !sPath.IsEmpty() ) { dFilesFound.Resize ( dFilesFound.GetLength()+1 ); dFilesFound.Last().SetSprintf ( "%s%s", sPath.cstr(), tFFData.cFileName ); } else dFilesFound.Add ( tFFData.cFileName ); } FindClose ( hFind ); } #else glob_t tGlob; glob ( pWordforms->cstr(), GLOB_MARK | GLOB_NOSORT, NULL, &tGlob ); if ( tGlob.gl_pathv ) for ( int i = 0; i < (int)tGlob.gl_pathc; i++ ) { const char * szPathName = tGlob.gl_pathv[i]; if ( !szPathName ) continue; int iLen = strlen ( szPathName ); if ( !iLen || szPathName[iLen-1]=='/' ) continue; dFilesFound.Add ( szPathName ); } globfree ( &tGlob ); #endif dFilesFound.Uniq(); ARRAY_FOREACH ( i, dFilesFound ) tSettings.m_dWordforms.Add ( dFilesFound[i] ); } if ( hIndex("dict") ) { tSettings.m_bWordDict = true; // default to keywords if ( hIndex["dict"]=="crc" ) { sphWarning ( "dict=crc deprecated, use dict=keywords instead" ); tSettings.m_bWordDict = false; } else if ( hIndex["dict"]!="keywords" ) fprintf ( stdout, "WARNING: unknown dict=%s, defaulting to keywords\n", hIndex["dict"].cstr() ); } } #if USE_RE2 bool sphConfFieldFilter ( const CSphConfigSection & hIndex, CSphFieldFilterSettings & tSettings, CSphString & ) { // regular expressions tSettings.m_dRegexps.Resize ( 0 ); for ( CSphVariant * pFilter = hIndex("regexp_filter"); pFilter; pFilter = pFilter->m_pNext ) tSettings.m_dRegexps.Add ( pFilter->cstr() ); return tSettings.m_dRegexps.GetLength() > 0; } #else bool sphConfFieldFilter ( const CSphConfigSection & hIndex, CSphFieldFilterSettings &, CSphString & sError ) { if ( hIndex ( "regexp_filter" ) ) sError.SetSprintf ( "regexp_filter specified but no regexp support compiled" ); return false; } #endif bool sphConfIndex ( const CSphConfigSection & hIndex, CSphIndexSettings & tSettings, CSphString & sError ) { // misc settings tSettings.m_iMinPrefixLen = Max ( hIndex.GetInt ( "min_prefix_len" ), 0 ); tSettings.m_iMinInfixLen = Max ( hIndex.GetInt ( "min_infix_len" ), 0 ); tSettings.m_iMaxSubstringLen = Max ( hIndex.GetInt ( "max_substring_len" ), 0 ); tSettings.m_iBoundaryStep = Max ( hIndex.GetInt ( "phrase_boundary_step" ), -1 ); tSettings.m_bIndexExactWords = hIndex.GetInt ( "index_exact_words" )!=0; tSettings.m_iOvershortStep = Min ( Max ( hIndex.GetInt ( "overshort_step", 1 ), 0 ), 1 ); tSettings.m_iStopwordStep = Min ( Max ( hIndex.GetInt ( "stopword_step", 1 ), 0 ), 1 ); tSettings.m_iEmbeddedLimit = hIndex.GetSize ( "embedded_limit", 16384 ); tSettings.m_bIndexFieldLens = hIndex.GetInt ( "index_field_lengths" )!=0; tSettings.m_sIndexTokenFilter = hIndex.GetStr ( "index_token_filter" ); // prefix/infix fields CSphString sFields; sFields = hIndex.GetStr ( "prefix_fields" ); sFields.ToLower(); sphSplit ( tSettings.m_dPrefixFields, sFields.cstr() ); sFields = hIndex.GetStr ( "infix_fields" ); sFields.ToLower(); sphSplit ( tSettings.m_dInfixFields, sFields.cstr() ); if ( tSettings.m_iMinPrefixLen==0 && tSettings.m_dPrefixFields.GetLength()!=0 ) { fprintf ( stdout, "WARNING: min_prefix_len=0, prefix_fields ignored\n" ); tSettings.m_dPrefixFields.Reset(); } if ( tSettings.m_iMinInfixLen==0 && tSettings.m_dInfixFields.GetLength()!=0 ) { fprintf ( stdout, "WARNING: min_infix_len=0, infix_fields ignored\n" ); tSettings.m_dInfixFields.Reset(); } // the only way we could have both prefixes and infixes enabled is when specific field subsets are configured if ( tSettings.m_iMinInfixLen>0 && tSettings.m_iMinPrefixLen>0 && ( !tSettings.m_dPrefixFields.GetLength() || !tSettings.m_dInfixFields.GetLength() ) ) { sError.SetSprintf ( "prefixes and infixes can not both be enabled on all fields" ); return false; } tSettings.m_dPrefixFields.Uniq(); tSettings.m_dInfixFields.Uniq(); ARRAY_FOREACH ( i, tSettings.m_dPrefixFields ) if ( tSettings.m_dInfixFields.Contains ( tSettings.m_dPrefixFields[i] ) ) { sError.SetSprintf ( "field '%s' marked both as prefix and infix", tSettings.m_dPrefixFields[i].cstr() ); return false; } if ( tSettings.m_iMaxSubstringLen && tSettings.m_iMaxSubstringLen0 || tSettings.m_iMinPrefixLen>0 ) && !bWordDict ) { sError.SetSprintf ( "RT indexes support prefixes and infixes with only dict=keywords" ); return false; } if ( bWordDict && tSettings.m_iMaxSubstringLen>0 ) { sError.SetSprintf ( "max_substring_len can not be used with dict=keywords" ); return false; } // html stripping if ( hIndex ( "html_strip" ) ) { tSettings.m_bHtmlStrip = hIndex.GetInt ( "html_strip" )!=0; tSettings.m_sHtmlIndexAttrs = hIndex.GetStr ( "html_index_attrs" ); tSettings.m_sHtmlRemoveElements = hIndex.GetStr ( "html_remove_elements" ); } // docinfo tSettings.m_eDocinfo = SPH_DOCINFO_EXTERN; if ( hIndex("docinfo") ) { if ( hIndex["docinfo"]=="none" ) tSettings.m_eDocinfo = SPH_DOCINFO_NONE; else if ( hIndex["docinfo"]=="inline" ) tSettings.m_eDocinfo = SPH_DOCINFO_INLINE; else if ( hIndex["docinfo"]=="extern" ) tSettings.m_eDocinfo = SPH_DOCINFO_EXTERN; else fprintf ( stdout, "WARNING: unknown docinfo=%s, defaulting to extern\n", hIndex["docinfo"].cstr() ); if ( tSettings.m_eDocinfo==SPH_DOCINFO_INLINE ) fprintf ( stdout, "WARNING: docinfo=inline is deprecated, use ondisk_attrs=1 instead\n" ); if ( tSettings.m_eDocinfo==SPH_DOCINFO_INLINE && tSettings.m_bIndexFieldLens ) { sError.SetSprintf ( "index_field_lengths must be disabled for docinfo=inline" ); return false; } } // hit format // TODO! add the description into documentation. tSettings.m_eHitFormat = SPH_HIT_FORMAT_INLINE; if ( hIndex("hit_format") ) { if ( hIndex["hit_format"]=="plain" ) tSettings.m_eHitFormat = SPH_HIT_FORMAT_PLAIN; else if ( hIndex["hit_format"]=="inline" ) tSettings.m_eHitFormat = SPH_HIT_FORMAT_INLINE; else fprintf ( stdout, "WARNING: unknown hit_format=%s, defaulting to inline\n", hIndex["hit_format"].cstr() ); } // hit-less indices if ( hIndex("hitless_words") ) { const CSphString & sValue = hIndex["hitless_words"].strval(); if ( sValue=="all" ) { tSettings.m_eHitless = SPH_HITLESS_ALL; } else { tSettings.m_eHitless = SPH_HITLESS_SOME; tSettings.m_sHitlessFiles = sValue; } } // sentence and paragraph indexing tSettings.m_bIndexSP = ( hIndex.GetInt ( "index_sp" )!=0 ); tSettings.m_sZones = hIndex.GetStr ( "index_zones" ); // bigrams tSettings.m_eBigramIndex = SPH_BIGRAM_NONE; if ( hIndex("bigram_index") ) { CSphString s = hIndex["bigram_index"].strval(); s.ToLower(); if ( s=="all" ) tSettings.m_eBigramIndex = SPH_BIGRAM_ALL; else if ( s=="first_freq" ) tSettings.m_eBigramIndex = SPH_BIGRAM_FIRSTFREQ; else if ( s=="both_freq" ) tSettings.m_eBigramIndex = SPH_BIGRAM_BOTHFREQ; else { sError.SetSprintf ( "unknown bigram_index=%s (must be all, first_freq, or both_freq)", s.cstr() ); return false; } } tSettings.m_sBigramWords = hIndex.GetStr ( "bigram_freq_words" ); tSettings.m_sBigramWords.Trim(); bool bEmptyOk = tSettings.m_eBigramIndex==SPH_BIGRAM_NONE || tSettings.m_eBigramIndex==SPH_BIGRAM_ALL; if ( bEmptyOk!=tSettings.m_sBigramWords.IsEmpty() ) { sError.SetSprintf ( "bigram_index=%s, bigram_freq_words must%s be empty", hIndex["bigram_index"].cstr(), bEmptyOk ? "" : " not" ); return false; } // aot CSphVector dMorphs; sphSplit ( dMorphs, hIndex.GetStr ( "morphology" ) ); tSettings.m_uAotFilterMask = 0; for ( int j=0; jGetTokenizer () ) { CSphTokenizerSettings tSettings; sphConfTokenizer ( hIndex, tSettings ); ISphTokenizer * pTokenizer = ISphTokenizer::Create ( tSettings, NULL, sError ); if ( !pTokenizer ) return false; bTokenizerSpawned = true; pIndex->SetTokenizer ( pTokenizer ); } if ( !pIndex->GetDictionary () ) { CSphDict * pDict = NULL; CSphDictSettings tSettings; if ( bTemplateDict ) { sphConfDictionary ( hIndex, tSettings ); pDict = sphCreateDictionaryTemplate ( tSettings, NULL, pIndex->GetTokenizer (), pIndex->GetName(), sError ); CSphIndexSettings tIndexSettings = pIndex->GetSettings(); tIndexSettings.m_uAotFilterMask = sphParseMorphAot ( tSettings.m_sMorphology.cstr() ); pIndex->Setup ( tIndexSettings ); } else { if ( pIndex->m_bId32to64 ) tSettings.m_bCrc32 = true; sphConfDictionary ( hIndex, tSettings ); pDict = sphCreateDictionaryCRC ( tSettings, NULL, pIndex->GetTokenizer (), pIndex->GetName(), sError ); } if ( !pDict ) { sphWarning ( "index '%s': %s", pIndex->GetName(), sError.cstr() ); return false; } pIndex->SetDictionary ( pDict ); } if ( bTokenizerSpawned ) { pIndex->SetTokenizer ( ISphTokenizer::CreateMultiformFilter ( pIndex->LeakTokenizer(), pIndex->GetDictionary()->GetMultiWordforms () ) ); } pIndex->SetupQueryTokenizer(); if ( !pIndex->IsStripperInited () ) { CSphIndexSettings tSettings = pIndex->GetSettings (); if ( hIndex ( "html_strip" ) ) { tSettings.m_bHtmlStrip = hIndex.GetInt ( "html_strip" )!=0; tSettings.m_sHtmlIndexAttrs = hIndex.GetStr ( "html_index_attrs" ); tSettings.m_sHtmlRemoveElements = hIndex.GetStr ( "html_remove_elements" ); } tSettings.m_sZones = hIndex.GetStr ( "index_zones" ); pIndex->Setup ( tSettings ); } // exact words fixup, needed for RT indexes // cloned from indexer, remove somehow? CSphDict * pDict = pIndex->GetDictionary(); assert ( pDict ); CSphIndexSettings tSettings = pIndex->GetSettings (); bool bNeedExact = ( pDict->HasMorphology() || pDict->GetWordformsFileInfos().GetLength() ); if ( tSettings.m_bIndexExactWords && !bNeedExact ) { tSettings.m_bIndexExactWords = false; pIndex->Setup ( tSettings ); fprintf ( stdout, "WARNING: no morphology, index_exact_words=1 has no effect, ignoring\n" ); } if ( pDict->GetSettings().m_bWordDict && pDict->HasMorphology() && ( tSettings.m_iMinPrefixLen || tSettings.m_iMinInfixLen ) && !tSettings.m_bIndexExactWords ) { tSettings.m_bIndexExactWords = true; pIndex->Setup ( tSettings ); fprintf ( stdout, "WARNING: dict=keywords and prefixes and morphology enabled, forcing index_exact_words=1\n" ); } pIndex->PostSetup(); return true; } ////////////////////////////////////////////////////////////////////////// const char * sphLoadConfig ( const char * sOptConfig, bool bQuiet, CSphConfigParser & cp ) { // fallback to defaults if there was no explicit config specified while ( !sOptConfig ) { #ifdef SYSCONFDIR sOptConfig = SYSCONFDIR "/sphinx.conf"; if ( sphIsReadable ( sOptConfig ) ) break; #endif sOptConfig = "./sphinx.conf"; if ( sphIsReadable ( sOptConfig ) ) break; sOptConfig = NULL; break; } if ( !sOptConfig ) sphDie ( "no readable config file (looked in " #ifdef SYSCONFDIR SYSCONFDIR "/sphinx.conf, " #endif "./sphinx.conf)" ); if ( !bQuiet ) fprintf ( stdout, "using config file '%s'...\n", sOptConfig ); // load config if ( !cp.Parse ( sOptConfig ) ) sphDie ( "failed to parse config file '%s'", sOptConfig ); CSphConfig & hConf = cp.m_tConf; if ( !hConf ( "index" ) ) sphDie ( "no indexes found in config file '%s'", sOptConfig ); return sOptConfig; } ////////////////////////////////////////////////////////////////////////// static void StdoutLogger ( ESphLogLevel eLevel, const char * sFmt, va_list ap ) { if ( eLevel>=SPH_LOG_DEBUG ) return; switch ( eLevel ) { case SPH_LOG_FATAL: fprintf ( stdout, "FATAL: " ); break; case SPH_LOG_WARNING: fprintf ( stdout, "WARNING: " ); break; case SPH_LOG_INFO: fprintf ( stdout, "WARNING: " ); break; case SPH_LOG_DEBUG: // yes, I know that this branch will never execute because of the condition above. case SPH_LOG_VERBOSE_DEBUG: case SPH_LOG_VERY_VERBOSE_DEBUG: fprintf ( stdout, "DEBUG: " ); break; } vfprintf ( stdout, sFmt, ap ); fprintf ( stdout, "\n" ); } static SphLogger_fn g_pLogger = &StdoutLogger; inline void Log ( ESphLogLevel eLevel, const char * sFmt, va_list ap ) { if ( !g_pLogger ) return; ( *g_pLogger ) ( eLevel, sFmt, ap ); } void sphWarning ( const char * sFmt, ... ) { va_list ap; va_start ( ap, sFmt ); Log ( SPH_LOG_WARNING, sFmt, ap ); va_end ( ap ); } void sphInfo ( const char * sFmt, ... ) { va_list ap; va_start ( ap, sFmt ); Log ( SPH_LOG_INFO, sFmt, ap ); va_end ( ap ); } void sphLogFatal ( const char * sFmt, ... ) { va_list ap; va_start ( ap, sFmt ); Log ( SPH_LOG_FATAL, sFmt, ap ); va_end ( ap ); } void sphLogDebug ( const char * sFmt, ... ) { va_list ap; va_start ( ap, sFmt ); Log ( SPH_LOG_DEBUG, sFmt, ap ); va_end ( ap ); } void sphLogDebugv ( const char * sFmt, ... ) { va_list ap; va_start ( ap, sFmt ); Log ( SPH_LOG_VERBOSE_DEBUG, sFmt, ap ); va_end ( ap ); } void sphLogDebugvv ( const char * sFmt, ... ) { va_list ap; va_start ( ap, sFmt ); Log ( SPH_LOG_VERY_VERBOSE_DEBUG, sFmt, ap ); va_end ( ap ); } void sphSetLogger ( SphLogger_fn fnLog ) { g_pLogger = fnLog; } ////////////////////////////////////////////////////////////////////////// // CRASH REPORTING ////////////////////////////////////////////////////////////////////////// template static void UItoA ( char** ppOutput, Uint uVal, int iBase=10, int iWidth=0, int iPrec=0, const char cFill=' ' ) { assert ( ppOutput ); assert ( *ppOutput ); const char cDigits[] = "0123456789abcdef"; if ( iWidth && iPrec ) { iPrec = iWidth; iWidth = 0; } if ( !uVal ) { if ( !iPrec && !iWidth ) *(*ppOutput)++ = cDigits[0]; else { while ( iPrec-- ) *(*ppOutput)++ = cDigits[0]; if ( iWidth ) { while ( --iWidth ) *(*ppOutput)++ = cFill; *(*ppOutput)++ = cDigits[0]; } } return; } const BYTE uMaxIndex = 31; // 20 digits for MAX_INT64 in decimal; let it be 31 (32 digits max). char CBuf[uMaxIndex+1]; char *pRes = &CBuf[uMaxIndex]; char *& pOutput = *ppOutput; while ( uVal ) { *pRes-- = cDigits [ uVal % iBase ]; uVal /= iBase; } BYTE uLen = (BYTE)( uMaxIndex - (pRes-CBuf) ); if ( iWidth ) while ( uLen < iWidth ) { *pOutput++ = cFill; iWidth--; } if ( iPrec ) { while ( uLen < iPrec ) { *pOutput++=cDigits[0]; iPrec--; } iPrec = uLen-iPrec; } while ( pRes < CBuf+uMaxIndex-iPrec ) *pOutput++ = *++pRes; } static int sphVSprintf ( char * pOutput, const char * sFmt, va_list ap ) { enum eStates { SNORMAL, SPERCENT, SHAVEFILL, SINWIDTH, SINPREC }; eStates state = SNORMAL; int iPrec = 0; int iWidth = 0; char cFill = ' '; const char * pBegin = pOutput; bool bHeadingSpace = true; char c; while ( ( c = *sFmt++ )!=0 ) { // handle percent if ( c=='%' ) { if ( state==SNORMAL ) { state = SPERCENT; iPrec = 0; iWidth = 0; cFill = ' '; } else { state = SNORMAL; *pOutput++ = c; } continue; } // handle regular chars if ( state==SNORMAL ) { *pOutput++ = c; continue; } // handle modifiers switch ( c ) { case '0': if ( state==SPERCENT ) { cFill = '0'; state = SHAVEFILL; break; } case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': if ( state==SPERCENT || state==SHAVEFILL ) { state = SINWIDTH; iWidth = c - '0'; } else if ( state==SINWIDTH ) iWidth = iWidth * 10 + c - '0'; else if ( state==SINPREC ) iPrec = iPrec * 10 + c - '0'; break; case '-': if ( state==SPERCENT ) bHeadingSpace = false; else state = SNORMAL; // FIXME? means that bad/unhandled syntax with dash will be just ignored break; case '.': state = SINPREC; iPrec = 0; break; case 's': // string { const char * pValue = va_arg ( ap, const char * ); if ( !pValue ) pValue = "(null)"; int iValue = strlen ( pValue ); if ( iWidth && bHeadingSpace ) while ( iValue < iWidth-- ) *pOutput++ = ' '; if ( iPrec && iPrec < iValue ) while ( iPrec-- ) *pOutput++ = *pValue++; else while ( *pValue ) *pOutput++ = *pValue++; if ( iWidth && !bHeadingSpace ) while ( iValue < iWidth-- ) *pOutput++ = ' '; state = SNORMAL; break; } case 'p': // pointer { void * pValue = va_arg ( ap, void * ); uint64_t uValue = uint64_t ( pValue ); UItoA ( &pOutput, uValue, 16, iWidth, iPrec, cFill ); state = SNORMAL; break; } case 'x': // hex integer case 'd': // decimal integer { DWORD uValue = va_arg ( ap, DWORD ); UItoA ( &pOutput, uValue, ( c=='x' ) ? 16 : 10, iWidth, iPrec, cFill ); state = SNORMAL; break; } case 'l': // decimal int64 { int64_t iValue = va_arg ( ap, int64_t ); UItoA ( &pOutput, iValue, 10, iWidth, iPrec, cFill ); state = SNORMAL; break; } default: state = SNORMAL; *pOutput++ = c; } } // final zero to EOL *pOutput++ = '\n'; return pOutput - pBegin; } bool sphWrite ( int iFD, const void * pBuf, size_t iSize ) { return ( iSize==(size_t)::write ( iFD, pBuf, iSize ) ); } static char g_sSafeInfoBuf [ 1024 ]; void sphSafeInfo ( int iFD, const char * sFmt, ... ) { if ( iFD<0 || !sFmt ) return; va_list ap; va_start ( ap, sFmt ); int iLen = sphVSprintf ( g_sSafeInfoBuf, sFmt, ap ); // FIXME! make this vsnprintf va_end ( ap ); sphWrite ( iFD, g_sSafeInfoBuf, iLen ); } int sphSafeInfo ( char * pBuf, const char * sFmt, ... ) { va_list ap; va_start ( ap, sFmt ); int iLen = sphVSprintf ( pBuf, sFmt, ap ); // FIXME! make this vsnprintf va_end ( ap ); return iLen; } #if !USE_WINDOWS #define SPH_BACKTRACE_ADDR_COUNT 128 #define SPH_BT_BINARY_NAME 2 #define SPH_BT_ADDRS 3 static void * g_pBacktraceAddresses [SPH_BACKTRACE_ADDR_COUNT]; static char g_pBacktrace[4096]; static const char g_sSourceTail[] = "> source.txt\n"; static const char * g_pArgv[128] = { "addr2line", "-e", "./searchd", "0x0", NULL }; static CSphString g_sBinaryName; #if HAVE_BACKTRACE & HAVE_BACKTRACE_SYMBOLS const char * DoBacktrace ( int iDepth, int iSkip ) { if ( !iDepth || iDepth > SPH_BACKTRACE_ADDR_COUNT ) iDepth = SPH_BACKTRACE_ADDR_COUNT; iDepth = backtrace ( g_pBacktraceAddresses, iDepth ); char ** ppStrings = backtrace_symbols ( g_pBacktraceAddresses, iDepth ); if ( !ppStrings ) return NULL; char * pDst = g_pBacktrace; for ( int i=iSkip; i (BYTE*) &pFramePointer ) { int iRound = Min ( 65536, iStackSize ); pMyStack = (void *) ( ( (size_t) &pFramePointer + iRound ) & ~(size_t)65535 ); sphSafeInfo ( iFD, "Something wrong with thread stack, manual backtrace may be incorrect (fp=0x%p)", pFramePointer ); if ( pFramePointer > (BYTE**) pMyStack || pFramePointer < (BYTE**) pMyStack - iStackSize ) { sphSafeInfo ( iFD, "Wrong stack limit or frame pointer, manual backtrace failed (fp=0x%p, stack=0x%p, stacksize=0x%x)", pFramePointer, pMyStack, iStackSize ); break; } } sphSafeInfo ( iFD, "Stack looks OK, attempting backtrace." ); BYTE** pNewFP = NULL; while ( pFramePointer < (BYTE**) pMyStack ) { pNewFP = (BYTE**) *pFramePointer; sphSafeInfo ( iFD, "0x%p", iFrameCount==iReturnFrameCount ? *(pFramePointer + SIGRETURN_FRAME_OFFSET) : *(pFramePointer + 1) ); bOk = pNewFP > pFramePointer; if ( !bOk ) break; pFramePointer = pNewFP; iFrameCount++; } if ( !bOk ) sphSafeInfo ( iFD, "Something wrong in frame pointers, manual backtrace failed (fp=%p)", pNewFP ); break; } int iDepth = 0; #if HAVE_BACKTRACE sphSafeInfo ( iFD, "Trying system backtrace:" ); iDepth = backtrace ( g_pBacktraceAddresses, SPH_BACKTRACE_ADDR_COUNT ); if ( iDepth>0 ) bOk = true; #if HAVE_BACKTRACE_SYMBOLS sphSafeInfo ( iFD, "begin of system symbols:" ); backtrace_symbols_fd ( g_pBacktraceAddresses, iDepth, iFD ); #elif !HAVE_BACKTRACE_SYMBOLS sphSafeInfo ( iFD, "begin of manual symbols:" ); for ( int i=0; i=g_pBacktrace+sizeof(g_pBacktrace)-48 ) { iCount = i; break; } g_pArgv[i+SPH_BT_ADDRS] = pCur; pCur += sphSafeInfo ( pCur, "0x%x", g_pBacktraceAddresses[i] ); *(pCur-1) = '\0'; // make null terminated string from EOL string } g_pArgv[iCount+SPH_BT_ADDRS] = NULL; int iChild = fork(); if ( iChild==0 ) { // map stdout to log file if ( iFD!=1 ) { close ( 1 ); dup2 ( iFD, 1 ); } execvp ( g_pArgv[0], const_cast ( g_pArgv ) ); // using execvp instead execv to auto find addr2line in directories // if we here - execvp failed, ask user to do conversion manually sphSafeInfo ( iFD, "conversion failed (error '%s'):\n" " 1. Run the command provided below over the crashed binary (for example, '%s'):\n" " 2. Attach the source.txt to the bug report.", strerror ( errno ), g_pArgv[SPH_BT_BINARY_NAME] ); int iColumn = 0; for ( int i=0; g_pArgv[i]!=NULL; i++ ) { const char * s = g_pArgv[i]; while ( *s ) s++; int iLen = s-g_pArgv[i]; sphWrite ( iFD, g_pArgv[i], iLen ); sphWrite ( iFD, " ", 1 ); int iWas = iColumn % 80; iColumn += iLen; int iNow = iColumn % 80; if ( iNow hPaths; hConf["index"].IterateStart (); while ( hConf["index"].IterateNext() ) { CSphConfigSection & hIndex = hConf["index"].IterateGet (); if ( hIndex ( "path" ) ) { const CSphString & sIndex = hConf["index"].IterateGetKey (); if ( hPaths ( hIndex["path"].strval() ) ) sphDie ( "duplicate paths: index '%s' has the same path as '%s'.\n", sIndex.cstr(), hPaths[hIndex["path"].strval()].cstr() ); hPaths.Add ( sIndex, hIndex["path"].strval() ); } } } void sphConfigureCommon ( const CSphConfig & hConf ) { if ( !hConf("common") || !hConf["common"]("common") ) return; CSphConfigSection & hCommon = hConf["common"]["common"]; g_sLemmatizerBase = hCommon.GetStr ( "lemmatizer_base" ); #if USE_RLP g_sRLPRoot = hCommon.GetStr ( "rlp_root" ); g_sRLPEnv = hCommon.GetStr ( "rlp_environment" ); g_iRLPMaxBatchSize = hCommon.GetSize ( "rlp_max_batch_size", 51200 ); g_iRLPMaxBatchDocs = hCommon.GetInt ( "rlp_max_batch_docs", 50 ); #endif bool bJsonStrict = false; bool bJsonAutoconvNumbers = false; bool bJsonKeynamesToLowercase = false; if ( hCommon("on_json_attr_error") ) { const CSphString & sVal = hCommon["on_json_attr_error"].strval(); if ( sVal=="ignore_attr" ) bJsonStrict = false; else if ( sVal=="fail_index" ) bJsonStrict = true; else sphDie ( "unknown on_json_attr_error value (must be one of ignore_attr, fail_index)" ); } if ( hCommon("json_autoconv_keynames") ) { const CSphString & sVal = hCommon["json_autoconv_keynames"].strval(); if ( sVal=="lowercase" ) bJsonKeynamesToLowercase = true; else sphDie ( "unknown json_autoconv_keynames value (must be 'lowercase')" ); } bJsonAutoconvNumbers = ( hCommon.GetInt ( "json_autoconv_numbers", 0 )!=0 ); sphSetJsonOptions ( bJsonStrict, bJsonAutoconvNumbers, bJsonKeynamesToLowercase ); if ( hCommon("plugin_dir") ) sphPluginInit ( hCommon["plugin_dir"].cstr() ); } bool sphIsChineseCode ( int iCode ) { return ( ( iCode>=0x2E80 && iCode<=0x2EF3 ) || // CJK radicals ( iCode>=0x2F00 && iCode<=0x2FD5 ) || // Kangxi radicals ( iCode>=0x3105 && iCode<=0x312D ) || // Bopomofo ( iCode>=0x31C0 && iCode<=0x31E3 ) || // CJK strokes ( iCode>=0x3400 && iCode<=0x4DB5 ) || // CJK Ideograph Extension A ( iCode>=0x4E00 && iCode<=0x9FCC ) || // Ideograph ( iCode>=0xF900 && iCode<=0xFAD9 ) || // compatibility ideographs ( iCode>=0x20000 && iCode<=0x2FA1D ) ); // CJK Ideograph Extensions B/C/D, and compatibility ideographs } bool sphDetectChinese ( const BYTE * szBuffer, int iLength ) { if ( !szBuffer || !iLength ) return false; const BYTE * pBuffer = szBuffer; while ( pBuffer=SPH_RANK_TOTAL ) return NULL; return g_dRankerNames[eRanker]; } #if HAVE_DLOPEN void CSphDynamicLibrary::FillError ( const char * sMessage ) { const char* sDlerror = dlerror(); if ( sMessage ) m_sError.SetSprintf ( "%s: %s", sMessage, sDlerror ? sDlerror : "(null)" ); else m_sError.SetSprintf ( "%s", sDlerror ? sDlerror : "(null)" ); } bool CSphDynamicLibrary::Init ( const char * sPath, bool bGlobal ) { if ( m_pLibrary ) return true; int iFlags = bGlobal?(RTLD_NOW | RTLD_GLOBAL):(RTLD_LAZY|RTLD_LOCAL); m_pLibrary = dlopen ( sPath, iFlags ); if ( !m_pLibrary ) { FillError ( "dlopen() failed" ); return false; } sphLogDebug ( "dlopen(%s)=%p", sPath, m_pLibrary ); m_bReady = true; return m_bReady; } bool CSphDynamicLibrary::LoadSymbol ( const char* sName, void** ppFunc ) { if ( !m_pLibrary ) return false; if ( !m_bReady ) return false; void * pResult = dlsym ( m_pLibrary, sName ); if ( !pResult ) { FillError ( "Symbol not found" ); return false; } *ppFunc = pResult; return true; } bool CSphDynamicLibrary::LoadSymbols ( const char** sNames, void*** pppFuncs, int iNum ) { if ( !m_pLibrary ) return false; if ( !m_bReady ) return false; for ( int i=0; i & dTimers, WORD * pWeights ) { assert ( dTimers.GetLength () ); int64_t iSum = 0; int iCounters = 0; ARRAY_FOREACH ( i, dTimers ) { iSum += dTimers[i]; iCounters += ( dTimers[i]>0 ); } // no statistics, all timers bad, keep previous weights if ( iSum<=0 ) return; // in case of mirror without response still set small probability to it const float fEmptiesPercent = 0.1f; int iEmpties = dTimers.GetLength() - iCounters; // balance weights int64_t iCheck = 0; ARRAY_FOREACH ( i, dTimers ) { // mirror weight is inverse of timer \ query time float fWeight = 1.0f - (float)dTimers[i] / iSum; // subtract coef-empty percent to get sum eq to 1.0 if ( iEmpties ) fWeight = fWeight - fWeight * fEmptiesPercent; // mirror without response if ( !dTimers[i] ) fWeight = fEmptiesPercent / iEmpties; else if ( iCounters==1 ) // case when only one mirror has valid counter fWeight = 1.0f - fEmptiesPercent; int iWeight = int( fWeight * 65535.0f ); assert ( iWeight>=0 && iWeight<=65535 ); pWeights[i] = (WORD)iWeight; iCheck += pWeights[i]; } assert ( iCheck<=65535 ); } // // $Id$ // sphinx-2.2.11-release/src/sphinxudf.h0000644000175000017500000002131712743402012017033 0ustar alexeyalexey// // $Id$ // // // Copyright (c) 2011-2016, Andrew Aksyonoff // Copyright (c) 2011-2016, Sphinx Technologies Inc // All rights reserved // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License. You should have // received a copy of the GPL license along with this program; if you // did not, you can find it at http://www.gnu.org/ // // // Sphinx plugin interface header // // This file will be included by plugin implementations, so it should be // portable plain C, stay standalone, and change as rarely as possible. // // Refer to src/udfexample.c for a working UDF example, and refer to // doc/sphinx.html#extending-sphinx for more information on writing // plugins and UDFs. // #ifndef _sphinxudf_ #define _sphinxudf_ #ifdef __cplusplus extern "C" { #endif /// current udf version #define SPH_UDF_VERSION 8 /// error buffer size #define SPH_UDF_ERROR_LEN 256 ////////////////////////////////////////////////////////////////////////// // UDF PLUGINS ////////////////////////////////////////////////////////////////////////// /// UDF argument and result value types enum sphinx_udf_argtype { SPH_UDF_TYPE_UINT32 = 1, ///< unsigned 32-bit integer SPH_UDF_TYPE_UINT32SET = 2, ///< sorted set of unsigned 32-bit integers SPH_UDF_TYPE_INT64 = 3, ///< signed 64-bit integer SPH_UDF_TYPE_FLOAT = 4, ///< single-precision IEEE 754 float SPH_UDF_TYPE_STRING = 5, ///< non-ASCIIZ string, with a separately stored length SPH_UDF_TYPE_UINT64SET = 6, ///< sorted set of unsigned 64-bit integers SPH_UDF_TYPE_FACTORS = 7 ///< packed ranking factors }; /// our malloc() replacement type /// results that are returned to searchd MUST be allocated using this replacement typedef void * sphinx_malloc_fn ( int ); /// UDF call arguments typedef struct st_sphinx_udf_args { int arg_count; ///< number of arguments enum sphinx_udf_argtype * arg_types; ///< argument types char ** arg_values; ///< argument values (strings are not (!) ASCIIZ; see str_lengths below) char ** arg_names; ///< argument names (ASCIIZ argname in 'expr AS argname' case; NULL otherwise) int * str_lengths; ///< string argument lengths sphinx_malloc_fn * fn_malloc; ///< malloc() replacement to allocate returned values } SPH_UDF_ARGS; /// UDF initialization typedef struct st_sphinx_udf_init { void * func_data; ///< function data (will be passed to calls, deinit) char is_const; ///< whether a function returns a constant } SPH_UDF_INIT; /// integer return types #if defined(_MSC_VER) || defined(__WIN__) typedef __int64 sphinx_int64_t; typedef unsigned __int64 sphinx_uint64_t; #else typedef long long sphinx_int64_t; typedef unsigned long long sphinx_uint64_t; #endif ////////////////////////////////////////////////////////////////////////// /// ranking factors interface, v1 /// functions that unpack PACKEDFACTORS() blob into a few helper C structures /// slower because of malloc()s and copying, but easier to use /// unpacked representation of all the field-level ranking factors typedef struct st_sphinx_field_factors { unsigned int hit_count; unsigned int id; unsigned int lcs; unsigned int word_count; float tf_idf; float min_idf; float max_idf; float sum_idf; int min_hit_pos; int min_best_span_pos; char exact_hit; int max_window_hits; int min_gaps; ///< added in v.3 char exact_order; ///< added in v.4 float atc; ///< added in v.4 int lccs; ///< added in v.5 float wlccs; ///< added in v.5 } SPH_UDF_FIELD_FACTORS; /// unpacked representation of all the term-level ranking factors typedef struct st_sphinx_term_factors { unsigned int keyword_mask; unsigned int id; int tf; float idf; } SPH_UDF_TERM_FACTORS; /// unpacked representation of all the ranking factors (document, field, and term-level) typedef struct st_sphinx_factors { int doc_bm25; float doc_bm25a; unsigned int matched_fields; int doc_word_count; int num_fields; int max_uniq_qpos; SPH_UDF_FIELD_FACTORS * field; SPH_UDF_TERM_FACTORS * term; int * field_tf; } SPH_UDF_FACTORS; /// helper function that must be called to initialize the SPH_UDF_FACTORS structure /// before it is passed to sphinx_factors_unpack /// returns 0 on success /// returns an error code on error int sphinx_factors_init ( SPH_UDF_FACTORS * out ); /// helper function that unpacks PACKEDFACTORS() blob into SPH_UDF_FACTORS structure /// MUST be in sync with PackFactors() method in sphinxsearch.cpp /// returns 0 on success /// returns an error code on error int sphinx_factors_unpack ( const unsigned int * in, SPH_UDF_FACTORS * out ); /// helper function that must be called to free the memory allocated by the sphinx_factors_unpack /// function call /// returns 0 on success /// returns an error code on error int sphinx_factors_deinit ( SPH_UDF_FACTORS * out ); ////////////////////////////////////////////////////////////////////////// /// ranking factors interface, v2 /// functions that access factor values directly in the PACKEDFACTORS() blob /// /// faster, as no memory allocations are guaranteed, but type-punned /// meaning that you have to call a proper get_xxx_factor_int() or xxx_float() variant /// the accessor functions themselves will NOT perform any type checking or conversions /// or in other words, sphinx_get_field_factor_int() on a float factor like min_idf is legal, /// but returns "garbage" (floating value from the blob reinterpreted as an integer) enum sphinx_doc_factor { SPH_DOCF_BM25 = 1, ///< int SPH_DOCF_BM25A = 2, ///< float SPH_DOCF_MATCHED_FIELDS = 3, ///< unsigned int SPH_DOCF_DOC_WORD_COUNT = 4, ///< int SPH_DOCF_NUM_FIELDS = 5, ///< int SPH_DOCF_MAX_UNIQ_QPOS = 6, ///< int SPH_DOCF_EXACT_HIT_MASK = 7, ///< unsigned int SPH_DOCF_EXACT_ORDER_MASK = 8 ///< v.4, unsigned int }; enum sphinx_field_factor { SPH_FIELDF_HIT_COUNT = 1, ///< unsigned int SPH_FIELDF_LCS = 2, ///< unsigned int SPH_FIELDF_WORD_COUNT = 3, ///< unsigned int SPH_FIELDF_TF_IDF = 4, ///< float SPH_FIELDF_MIN_IDF = 5, ///< float SPH_FIELDF_MAX_IDF = 6, ///< float SPH_FIELDF_SUM_IDF = 7, ///< float SPH_FIELDF_MIN_HIT_POS = 8, ///< int SPH_FIELDF_MIN_BEST_SPAN_POS = 9, ///< int SPH_FIELDF_MAX_WINDOW_HITS = 10, ///< int SPH_FIELDF_MIN_GAPS = 11, ///< v.3, int SPH_FIELDF_ATC = 12, ///< v.4, float SPH_FIELDF_LCCS = 13, ///< v.5, int SPH_FIELDF_WLCCS = 14 ///< v.5, float }; enum sphinx_term_factor { SPH_TERMF_KEYWORD_MASK = 1, ///< unsigned int SPH_TERMF_TF = 2, ///< int SPH_TERMF_IDF = 3 ///< float }; /// returns a pointer to the field factors, or NULL for a non-matched field index const unsigned int * sphinx_get_field_factors ( const unsigned int * in, int field ); /// returns a pointer to the term factors, or NULL for a non-matched field index const unsigned int * sphinx_get_term_factors ( const unsigned int * in, int term ); /// returns a document factor value, interpreted as integer int sphinx_get_doc_factor_int ( const unsigned int * in, enum sphinx_doc_factor f ); /// returns a document factor value, interpreted as float float sphinx_get_doc_factor_float ( const unsigned int * in, enum sphinx_doc_factor f ); /// returns a field factor value, interpreted as integer int sphinx_get_field_factor_int ( const unsigned int * in, enum sphinx_field_factor f ); /// returns a field factor value, interpreted as float float sphinx_get_field_factor_float ( const unsigned int * in, enum sphinx_field_factor f ); /// returns a term factor value, interpreted as integer int sphinx_get_term_factor_int ( const unsigned int * in, enum sphinx_term_factor f ); /// returns a term factor value, interpreted as float float sphinx_get_term_factor_float ( const unsigned int * in, enum sphinx_term_factor f ); /// returns a pointer to document factor value, interpreted as vector of integers const unsigned int * sphinx_get_doc_factor_ptr ( const unsigned int * in, enum sphinx_doc_factor f ); ////////////////////////////////////////////////////////////////////////// // RANKER PLUGINS ////////////////////////////////////////////////////////////////////////// /// ranker plugin intialization info typedef struct st_plugin_rankerinfo { int num_field_weights; int * field_weights; const char * options; unsigned int payload_mask; int num_query_words; int max_qpos; } SPH_RANKER_INIT; /// a structure that represents a hit typedef struct st_plugin_hit { sphinx_uint64_t doc_id; unsigned int hit_pos; unsigned short query_pos; unsigned short node_pos; unsigned short span_length; unsigned short match_length; unsigned int weight; unsigned int query_pos_mask; } SPH_RANKER_HIT; #ifdef __cplusplus } #endif #endif // _sphinxudf_ // // $Id$ // sphinx-2.2.11-release/src/sphinxudf.c0000644000175000017500000001767512743402012017042 0ustar alexeyalexey// // $Id$ // // // Copyright (c) 2011-2016, Andrew Aksyonoff // Copyright (c) 2011-2016, Sphinx Technologies Inc // All rights reserved // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License. You should have // received a copy of the GPL license along with this program; if you // did not, you can find it at http://www.gnu.org/ // // // Sphinx UDF helpers implementation // #include "sphinxudf.h" #include #include #define SPH_UDF_MAX_FIELD_FACTORS 256 #define SPH_UDF_MAX_TERM_FACTORS 2048 /// maximal size to store bitmask for 256 fields #define SPH_UDF_MAX_FIELD_SIZE 8 /// helper function that must be called to initialize the SPH_UDF_FACTORS structure /// before it is passed to sphinx_factors_unpack /// returns 0 on success /// returns an error code on error int sphinx_factors_init ( SPH_UDF_FACTORS * out ) { if ( !out ) return 1; memset ( out, 0, sizeof(SPH_UDF_FACTORS) ); return 0; } /// helper function that unpacks PACKEDFACTORS() blob into SPH_UDF_FACTORS structure /// MUST be in sync with PackFactors() method in sphinxsearch.cpp /// returns 0 on success /// returns an error code on error int sphinx_factors_unpack ( const unsigned int * in, SPH_UDF_FACTORS * out ) { const unsigned int * pack = in; SPH_UDF_FIELD_FACTORS * f; SPH_UDF_TERM_FACTORS * t; int i, size, fields, fields_size; unsigned int exact_hit_mask[SPH_UDF_MAX_FIELD_SIZE], exact_order_mask[SPH_UDF_MAX_FIELD_SIZE]; if ( !in || !out ) return 1; if ( out->field || out->term ) return 1; // extract size, extract document-level factors size = *in++; out->doc_bm25 = *in++; out->doc_bm25a = *(float*)in++; out->matched_fields = *in++; out->doc_word_count = *in++; out->num_fields = *in++; // extract field-level factors if ( out->num_fields > SPH_UDF_MAX_FIELD_FACTORS ) return 1; fields_size = ( out->num_fields + 31 ) / 32; for ( i=0; inum_fields > 0 ) { i = out->num_fields*sizeof(SPH_UDF_FIELD_FACTORS); out->field = (SPH_UDF_FIELD_FACTORS*) malloc ( i ); memset ( out->field, 0, i ); } for ( i=0; inum_fields; i++ ) { f = &(out->field[i]); f->hit_count = *in++; if ( f->hit_count ) { f->id = *in++; f->lcs = *in++; f->word_count = *in++; f->tf_idf = *(float*)in++; f->min_idf = *(float*)in++; f->max_idf = *(float*)in++; f->sum_idf = *(float*)in++; f->min_hit_pos = (int)*in++; f->min_best_span_pos = (int)*in++; f->max_window_hits = (int)*in++; f->min_gaps = (int)*in++; f->atc = *(float*)in++; f->lccs = *in++; f->wlccs = *(float*)in++; f->exact_hit = (char)( ( exact_hit_mask [ i>>5 ] & ( 1UL<<( i&31 ) ) )!=0 ); f->exact_order = (char)( ( exact_order_mask [ i>>5 ] & ( 1UL<<( i&31 ) ) )!=0 ); } else { // everything else is already zeroed out by memset() above f->id = i; } } // extract term-level factors out->max_uniq_qpos = *in++; if ( out->max_uniq_qpos > SPH_UDF_MAX_TERM_FACTORS ) return 1; if ( out->max_uniq_qpos > 0 ) out->term = (SPH_UDF_TERM_FACTORS*) malloc ( out->max_uniq_qpos*sizeof(SPH_UDF_TERM_FACTORS) ); for ( i=0; imax_uniq_qpos; i++ ) { t = &(out->term[i]); t->keyword_mask = *in++; if ( t->keyword_mask ) { t->id = *in++; t->tf = (int)*in++; t->idf = *(float*)in++; } } // extract field_tf factors fields = *in++; out->field_tf = (int*) malloc ( fields*sizeof(int) ); memcpy ( out->field_tf, in, fields*sizeof(int) ); in += fields; // do a safety check, and return return ( size!=( (int)(in-pack) * (int)sizeof(unsigned int) ) ) ? 1 : 0; } /// helper function that must be called to free the memory allocated by the sphinx_factors_unpack /// function call /// returns 0 on success /// returns an error code on error int sphinx_factors_deinit ( SPH_UDF_FACTORS * out ) { if ( !out ) return 1; free ( out->term ); free ( out->field ); free ( out->field_tf ); return 0; } ////////////////////////////////////////////////////////////////////////// static const unsigned int * skip_fields ( const unsigned int * in, int n ) { in += 6 + ( ( in[5] + 31 ) / 32 ) * 2; // skip heading document factors and 2 exact masks while ( n-->0 ) in += ( in[0]>0 ) ? 15 : 1; // skip 15 ints per matched field, or 1 per unmatched return in; } static const unsigned int * skip_terms ( const unsigned int * in, int n ) { in += 1; // skip max_uniq_qpos while ( n-->0 ) in += ( in[0]>0 ) ? 4 : 1; // skip 4 ints per matched term, or 1 per unmatched return in; } const unsigned int * sphinx_get_field_factors ( const unsigned int * in, int field ) { if ( !in || field<0 || field>=(int)in[5] ) return NULL; // blob[5] is num_fields, do a sanity check in = skip_fields ( in, field ); if ( !in[0] ) return NULL; // no hits, no fun if ( (int)in[1]!=field ) return NULL; // field[1] is field_id, do a sanity check return in; // all good } const unsigned int * sphinx_get_term_factors ( const unsigned int * in, int term ) { if ( !in || term<0 ) return NULL; in = skip_fields ( in, in[5] ); // skip all fields if ( term>(int)in[0] ) return NULL; // sanity check vs max_uniq_qpos ( qpos and terms range - [1, max_uniq_qpos] in = skip_terms ( in, term-1); if ( !in[0] ) return NULL; // unmatched term if ( (int)in[1]!=term ) return NULL; // term[1] is keyword_id, sanity check failed return in; } int sphinx_get_doc_factor_int ( const unsigned int * in, enum sphinx_doc_factor f ) { int fields_size; switch ( f ) { case SPH_DOCF_BM25: return (int)in[1]; case SPH_DOCF_BM25A: return (int)in[2]; case SPH_DOCF_MATCHED_FIELDS: return (int)in[3]; case SPH_DOCF_DOC_WORD_COUNT: return (int)in[4]; case SPH_DOCF_NUM_FIELDS: return (int)in[5]; case SPH_DOCF_MAX_UNIQ_QPOS: in = skip_fields ( in, in[5] ); return (int)in[0]; case SPH_DOCF_EXACT_HIT_MASK: return (int)in[6]; case SPH_DOCF_EXACT_ORDER_MASK: fields_size = ( (int)in[5] + 31 ) / 32; return (int)in[6+fields_size]; } return 0; } const unsigned int * sphinx_get_doc_factor_ptr ( const unsigned int * in, enum sphinx_doc_factor f ) { int fields_size; if ( f==SPH_DOCF_EXACT_HIT_MASK ) return in + 6; fields_size = ( (int)in[5] + 31 ) / 32; if ( f==SPH_DOCF_EXACT_ORDER_MASK ) return in + 6 + fields_size; return 0; }; float sphinx_get_doc_factor_float ( const unsigned int * in, enum sphinx_doc_factor f ) { if ( f==SPH_DOCF_BM25A ) return *(float*)&in[2]; else return 0.0f; } int sphinx_get_field_factor_int ( const unsigned int * in, enum sphinx_field_factor f ) { if ( !in ) return 0; // in[1] is id switch ( f ) { case SPH_FIELDF_HIT_COUNT: return (int)in[0]; case SPH_FIELDF_LCS: return (int)in[2]; case SPH_FIELDF_WORD_COUNT: return (int)in[3]; case SPH_FIELDF_TF_IDF: return (int)in[4]; case SPH_FIELDF_MIN_IDF: return (int)in[5]; case SPH_FIELDF_MAX_IDF: return (int)in[6]; case SPH_FIELDF_SUM_IDF: return (int)in[7]; case SPH_FIELDF_MIN_HIT_POS: return (int)in[8]; case SPH_FIELDF_MIN_BEST_SPAN_POS: return (int)in[9]; case SPH_FIELDF_MAX_WINDOW_HITS: return (int)in[10]; case SPH_FIELDF_MIN_GAPS: return (int)in[11]; case SPH_FIELDF_ATC: return (int)in[12]; case SPH_FIELDF_LCCS: return (int)in[13]; case SPH_FIELDF_WLCCS: return (int)in[14]; } return 0; } int sphinx_get_term_factor_int ( const unsigned int * in, enum sphinx_term_factor f ) { if ( !in ) return 0; switch ( f ) { case SPH_TERMF_KEYWORD_MASK: return (int)in[0]; case SPH_TERMF_TF: return (int)in[2]; case SPH_TERMF_IDF: return (int)in[3]; } return 0; } float sphinx_get_field_factor_float ( const unsigned int * in, enum sphinx_field_factor f ) { int r = sphinx_get_field_factor_int ( in, f ); return *(float*)&r; } float sphinx_get_term_factor_float ( const unsigned int * in, enum sphinx_term_factor f ) { int r = sphinx_get_term_factor_int ( in, f ); return *(float*)&r; } // // $Id$ // sphinx-2.2.11-release/src/sphinxstemru.inl0000644000175000017500000002564312743402012020135 0ustar alexeyalexey// // $Id$ // #undef LOC_TABLE_ENTRY #undef LOC_TABLE_INDEX #define LOC_TABLE_ENTRY LOC_PREFIX(stem_table_entry_) #define LOC_TABLE_INDEX LOC_PREFIX(stem_table_index_) struct LOC_TABLE_ENTRY { LOC_CHAR_TYPE suffix[8]; int remove, len; }; struct LOC_TABLE_INDEX { LOC_CHAR_TYPE first; int count; }; // TableStringN, where N is a number of chars #undef TS1 #undef TS2 #undef TS3 #undef TS4 #undef TS5 #define TS1(c1) { RUS::c1 } #define TS2(c1,c2) { RUS::c1, RUS::c2 } #define TS3(c1,c2,c3) { RUS::c1, RUS::c2, RUS::c3 } #define TS4(c1,c2,c3,c4) { RUS::c1, RUS::c2, RUS::c3, RUS::c4 } #define TS5(c1,c2,c3,c4,c5) { RUS::c1, RUS::c2, RUS::c3, RUS::c4, RUS::c5 } static LOC_TABLE_INDEX LOC_PREFIX(ru_adj_i)[] = { { RUS::E, 4 }, { RUS::I, 2 }, { RUS::IY, 4 }, { RUS::M, 7 }, { RUS::O, 2 }, { RUS::U, 2 }, { RUS::H, 2 }, { RUS::YU, 4 }, { RUS::YA, 2 }, }; static LOC_TABLE_ENTRY LOC_PREFIX(ru_adj)[] = { { TS2(E,E), 2, -1 }, { TS2(I,E), 2, -1 }, { TS2(Y,E), 2, -1 }, { TS2(O,E), 2, -1 }, { TS3(I,M,I), 3, -1 }, { TS3(Y,M,I), 3, -1 }, { TS2(E,IY), 2, -1 }, { TS2(I,IY), 2, -1 }, { TS2(Y,IY), 2, -1 }, { TS2(O,IY), 2, -1 }, { TS3(A,E,M), 0, -1 }, { TS3(U,E,M), 0, -1 }, { TS3(YA,E,M), 0, -1 }, { TS2(E,M), 2, -1 }, { TS2(I,M), 2, -1 }, { TS2(Y,M), 2, -1 }, { TS2(O,M), 2, -1 }, { TS3(E,G,O), 3, -1 }, { TS3(O,G,O), 3, -1 }, { TS3(E,M,U), 3, -1 }, { TS3(O,M,U), 3, -1 }, { TS2(I,H), 2, -1 }, { TS2(Y,H), 2, -1 }, { TS2(E,YU), 2, -1 }, { TS2(O,YU), 2, -1 }, { TS2(U,YU), 2, -1 }, { TS2(YU,YU), 2, -1 }, { TS2(A,YA), 2, -1 }, { TS2(YA,YA), 2, -1 } }; static LOC_TABLE_INDEX LOC_PREFIX(ru_part_i)[] = { { RUS::A, 3 }, { RUS::M, 1 }, { RUS::N, 3 }, { RUS::O, 3 }, { RUS::Y, 3 }, { RUS::SH, 4 }, { RUS::SCH, 5 } }; static LOC_TABLE_ENTRY LOC_PREFIX(ru_part)[] = { { TS4(A,N,N,A), 2, -1 }, { TS4(E,N,N,A), 2, -1 }, { TS4(YA,N,N,A), 2, -1 }, { TS3(YA,E,M), 2, -1 }, { TS3(A,N,N), 1, -1 }, { TS3(E,N,N), 1, -1 }, { TS3(YA,N,N), 1, -1 }, { TS4(A,N,N,O), 2, -1 }, { TS4(E,N,N,O), 2, -1 }, { TS4(YA,N,N,O), 2, -1 }, { TS4(A,N,N,Y), 2, -1 }, { TS4(E,N,N,Y), 2, -1 }, { TS4(YA,N,N,Y), 2, -1 }, { TS3(A,V,SH), 2, -1 }, { TS3(I,V,SH), 3, -1 }, { TS3(Y,V,SH), 3, -1 }, { TS3(YA,V,SH), 2, -1 }, { TS3(A,YU,SCH), 2, -1 }, { TS2(A,SCH), 1, -1 }, { TS3(YA,YU,SCH), 2, -1 }, { TS2(YA,SCH), 1, -1 }, { TS3(U,YU,SCH), 3, -1 } }; static LOC_TABLE_INDEX LOC_PREFIX(ru_verb_i)[] = { { RUS::A, 7 }, { RUS::E, 9 }, { RUS::I, 4 }, { RUS::IY, 4 }, { RUS::L, 4 }, { RUS::M, 5 }, { RUS::O, 7 }, { RUS::T, 9 }, { RUS::Y, 3 }, { RUS::MYA, 10 }, { RUS::YU, 4 }, { RUS::YA, 1 } }; static LOC_TABLE_ENTRY LOC_PREFIX(ru_verb)[] = { { TS3(A,L,A), 3, -1 }, { TS3(A,N,A), 3, -1 }, { TS3(YA,L,A), 3, -1 }, { TS3(YA,N,A), 3, -1 }, { TS3(I,L,A), 3, -1 }, { TS3(Y,L,A), 3, -1 }, { TS3(E,N,A), 3, -1 }, { TS4(A,E,T,E), 4, -1 }, { TS4(A,IY,T,E), 4, -1 }, { TS3(MYA,T,E), 3, -1 }, { TS4(U,E,T,E), 4, -1 }, { TS4(YA,E,T,E), 4, -1 }, { TS4(YA,IY,T,E), 4, -1 }, { TS4(E,IY,T,E), 4, -1 }, { TS4(U,IY,T,E), 4, -1 }, { TS3(I,T,E), 3, -1 }, { TS3(A,L,I), 3, -1 }, { TS3(YA,L,I), 3, -1 }, { TS3(I,L,I), 3, -1 }, { TS3(Y,L,I), 3, -1 }, { TS2(A,IY), 2, -1 }, { TS2(YA,IY), 2, -1 }, { TS2(E,IY), 2, -1 }, { TS2(U,IY), 2, -1 }, { TS2(A,L), 2, -1 }, { TS2(YA,L), 2, -1 }, { TS2(I,L), 2, -1 }, { TS2(Y,L), 2, -1 }, { TS3(A,E,M), 3, -1 }, { TS3(YA,E,M), 3, -1 }, { TS3(U,E,M), 3, -1 }, { TS2(I,M), 2, -1 }, { TS2(Y,M), 2, -1 }, { TS3(A,L,O), 3, -1 }, { TS3(A,N,O), 3, -1 }, { TS3(YA,L,O), 3, -1 }, { TS3(YA,N,O), 3, -1 }, { TS3(I,L,O), 3, -1 }, { TS3(Y,L,O), 3, -1 }, { TS3(E,N,O), 3, -1 }, { TS3(A,E,T), 3, -1 }, { TS3(A,YU,T), 3, -1 }, { TS3(YA,E,T), 3, -1 }, { TS3(YA,YU,T), 3, -1 }, { TS2(YA,T), 2, -1 }, { TS3(U,E,T), 3, -1 }, { TS3(U,YU,T), 3, -1 }, { TS2(I,T), 2, -1 }, { TS2(Y,T), 2, -1 }, { TS3(A,N,Y), 3, -1 }, { TS3(YA,N,Y), 3, -1 }, { TS3(E,N,Y), 3, -1 }, { TS4(A,E,SH,MYA), 4, -1 }, { TS4(U,E,SH,MYA), 4, -1 }, { TS4(YA,E,SH,MYA), 4, -1 }, { TS3(A,T,MYA), 3, -1 }, { TS3(E,T,MYA), 3, -1 }, { TS3(I,T,MYA), 3, -1 }, { TS3(U,T,MYA), 3, -1 }, { TS3(Y,T,MYA), 3, -1 }, { TS3(I,SH,MYA), 3, -1 }, { TS3(YA,T,MYA), 3, -1 }, { TS2(A,YU), 2, -1 }, { TS2(U,YU), 2, -1 }, { TS2(YA,YU), 2, -1 }, { TS1(YU), 1, -1 }, { TS2(U,YA), 2, -1 } }; static LOC_TABLE_INDEX LOC_PREFIX(ru_dear_i)[] = { { RUS::K, 3 }, { RUS::A, 2 }, { RUS::V, 2 }, { RUS::E, 2 }, { RUS::I, 4 }, { RUS::IY, 2 }, { RUS::M, 4 }, { RUS::O, 2 }, { RUS::U, 2 }, { RUS::H, 2 }, { RUS::YU, 2 } }; static LOC_TABLE_ENTRY LOC_PREFIX(ru_dear)[] = { { TS3(CH,E,K), 3, -1 }, { TS3(CH,O,K), 3, -1 }, { TS3(N,O,K), 3, -1 }, { TS3(CH,K,A), 3, -1 }, { TS3(N, K,A), 3, -1 }, { TS4(CH,K,O,V), 4, -1 }, { TS4(N, K,O,V), 4, -1 }, { TS3(CH,K,E), 3, -1 }, { TS3(N, K,E), 3, -1 }, { TS3(CH,K,I), 3, -1 }, { TS3(N, K,I), 3, -1 }, { TS5(CH,K,A,M,I), 5, -1 }, { TS5(N, K,A,M,I), 5, -1 }, { TS4(CH,K,O,IY), 4, -1 }, { TS4(N, K,O,IY), 4, -1 }, { TS4(CH,K,A,M), 4, -1 }, { TS4(N, K,A,M), 4, -1 }, { TS4(CH,K,O,M), 4, -1 }, { TS4(N, K,O,M), 4, -1 }, { TS3(CH,K,O), 3, -1 }, { TS3(N, K,O), 3, -1 }, { TS3(CH,K,U), 3, -1 }, { TS3(N, K,U), 3, -1 }, { TS4(CH,K,A,H), 4, -1 }, { TS4(N, K,A,H), 4, -1 }, { TS4(CH,K,O,YU), 4, -1 }, { TS4(N, K,O,YU), 4, -1 } }; static LOC_TABLE_INDEX LOC_PREFIX(ru_noun_i)[] = { { RUS::A, 1 }, { RUS::V, 2 }, { RUS::E, 3 }, { RUS::I, 6 }, { RUS::IY, 4 }, { RUS::M, 5 }, { RUS::O, 1 }, { RUS::U, 1 }, { RUS::H, 3 }, { RUS::Y, 1 }, { RUS::MYA, 1 }, { RUS::YU, 3 }, { RUS::YA, 3 } }; static LOC_TABLE_ENTRY LOC_PREFIX(ru_noun)[] = { { TS1(A), 1, -1 }, { TS2(E,V), 2, -1 }, { TS2(O,V), 2, -1 }, { TS2(I,E), 2, -1 }, { TS2(MYA,E), 2, -1 }, { TS1(E), 1, -1 }, { TS4(I,YA,M,I),4, -1 }, { TS3(YA,M,I), 3, -1 }, { TS3(A,M,I), 3, -1 }, { TS2(E,I), 2, -1 }, { TS2(I,I), 2, -1 }, { TS1(I), 1, -1 }, { TS3(I,E,IY), 3, -1 }, { TS2(E,IY), 2, -1 }, { TS2(O,IY), 2, -1 }, { TS2(I,IY), 2, -1 }, { TS3(I,YA,M), 3, -1 }, { TS2(YA,M), 2, -1 }, { TS3(I,E,M), 3, -1 }, { TS2(A,M), 2, -1 }, { TS2(O,M), 2, -1 }, { TS1(O), 1, -1 }, { TS1(U), 1, -1 }, { TS2(A,H), 2, -1 }, { TS3(I,YA,H), 3, -1 }, { TS2(YA,H), 2, -1 }, { TS1(Y), 1, -1 }, { TS1(MYA), 1, -1 }, { TS2(I,YU), 2, -1 }, { TS2(MYA,YU), 2, -1 }, { TS1(YU), 1, -1 }, { TS2(I,YA), 2, -1 }, { TS2(MYA,YA), 2, -1 }, { TS1(YA), 1, -1 } }; int stem_ru_table_i ( LOC_CHAR_TYPE * word, int len, LOC_TABLE_ENTRY * table, LOC_TABLE_INDEX * itable, int icount ) { int i, j, k, m; LOC_CHAR_TYPE l = word[--len]; for ( i=0, j=0; ik ) continue; for ( ; j>=0; k--, j-- ) if ( word[k]!=table[i].suffix[j] ) break; if ( j>=0 ) continue; return table[i].remove; } return 0; } j += itable[i].count; } return 0; } #undef STEM_RU_FUNC #define STEM_RU_FUNC(func,table) \ int func ( LOC_CHAR_TYPE * word, int len ) \ { \ return stem_ru_table ( word, len, LOC_PREFIX(table), \ sizeof(LOC_PREFIX(table))/sizeof(LOC_TABLE_ENTRY) ); \ } #undef STEM_RU_FUNC_I #define STEM_RU_FUNC_I(table) \ int LOC_PREFIX(stem_##table##_i) ( LOC_CHAR_TYPE * word, int len ) \ { \ return stem_ru_table_i ( word, len, LOC_PREFIX(table), LOC_PREFIX(table##_i), \ sizeof(LOC_PREFIX(table##_i))/sizeof(LOC_TABLE_INDEX) ); \ } STEM_RU_FUNC_I(ru_adj) STEM_RU_FUNC_I(ru_part) STEM_RU_FUNC_I(ru_dear) STEM_RU_FUNC_I(ru_verb) STEM_RU_FUNC_I(ru_noun) static int LOC_PREFIX(stem_ru_adjectival) ( LOC_CHAR_TYPE * word, int len ) { register int i = LOC_PREFIX(stem_ru_adj_i) ( word, len ); if ( i ) i += LOC_PREFIX(stem_ru_part_i) ( word, len-i ); return i; } static int LOC_PREFIX(stem_ru_verb_ov) ( LOC_CHAR_TYPE * word, int len ) { register int i = LOC_PREFIX(stem_ru_verb_i) ( word, len ); if ( i && (len>=i+2) && word[len-i-2] == RUS::O && word[len-i-1] == RUS::V ) return i+2; return i; } void LOC_PREFIX(stem_ru_init) () { int i; #undef STEM_RU_INIT_TABLE #define STEM_RU_INIT_TABLE(table) \ for ( i=0; i=2 ) { if ( C(2)==RUS::I || C(2)==RUS::Y || C(2)==RUS::YA ) BRK(2); if ( C(2)==RUS::A ) { if ( C(3)==RUS::V && C(4)==RUS::A ) BRK(4); BRK(2); } } if ( len>=3 && XSUFF3 ( RUS::V, RUS::SH, RUS::I ) && ( C(4)==RUS::A || C(4)==RUS::I || C(4)==RUS::Y || C(4)==RUS::YA ) ) BRK(4); if ( len>=5 && XSUFF5 ( RUS::V, RUS::SH, RUS::I, RUS::S, RUS::MYA ) && ( C(6)==RUS::A || C(6)==RUS::I || C(6)==RUS::Y || C(6)==RUS::YA ) ) BRK(6); CHK ( stem_ru_adjectival ); if ( len>=2 && ( XSUFF2 ( RUS::S, RUS::MYA ) || XSUFF2 ( RUS::S, RUS::YA ) ) ) { len -= 2; CHK ( stem_ru_adjectival ); CHK ( stem_ru_verb_ov ); } else { CHK ( stem_ru_verb_ov ); } CHK ( stem_ru_noun_i ); break; } if ( len>0 && ( W(1,RUS::IY) || W(1,RUS::I) ) ) len--; if ( len-r2>=3 && XSUFF3 ( RUS::O, RUS::S, RUS::T ) ) len -= 3; else if ( len-r2>=4 && XSUFF4 ( RUS::O, RUS::S, RUS::T, RUS::MYA ) ) len -= 4; if ( len>=3 && XSUFF3 ( RUS::E, RUS::IY, RUS::SH ) ) len -= 3; else if ( len>=4 && XSUFF4 ( RUS::E, RUS::IY, RUS::SH, RUS::E ) ) len -= 4; if ( len>=2 && XSUFF2 ( RUS::N, RUS::N ) ) len--; if ( len>0 && W(1,RUS::MYA) ) len--; *((unsigned char*)(word+len)) = '\0'; } // undefine externally defined stuff #undef LOC_CHAR_TYPE #undef LOC_PREFIX #undef RUS // // $Id$ // sphinx-2.2.11-release/src/sphinxstemru.cpp0000644000175000017500000000414712743402012020131 0ustar alexeyalexey// // $Id$ // // // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License. You should have // received a copy of the GPL license along with this program; if you // did not, you can find it at http://www.gnu.org/ // #include "sphinx.h" #include ///////////////////////////////////////////////////////////////////////////// // UTF-8 implementation ///////////////////////////////////////////////////////////////////////////// #if USE_LITTLE_ENDIAN struct RussianAlphabetUTF8_t { enum { A = 0xB0D0U, B = 0xB1D0U, V = 0xB2D0U, G = 0xB3D0U, D = 0xB4D0U, E = 0xB5D0U, YO = 0x91D1U, ZH = 0xB6D0U, Z = 0xB7D0U, I = 0xB8D0U, IY = 0xB9D0U, K = 0xBAD0U, L = 0xBBD0U, M = 0xBCD0U, N = 0xBDD0U, O = 0xBED0U, P = 0xBFD0U, R = 0x80D1U, S = 0x81D1U, T = 0x82D1U, U = 0x83D1U, F = 0x84D1U, H = 0x85D1U, TS = 0x86D1U, CH = 0x87D1U, SH = 0x88D1U, SCH = 0x89D1U, TVY = 0x8AD1U, // TVYordiy znak Y = 0x8BD1U, MYA = 0x8CD1U, // MYAgkiy znak EE = 0x8DD1U, YU = 0x8ED1U, YA = 0x8FD1U }; }; #else struct RussianAlphabetUTF8_t { enum { A = 0xD0B0U, B = 0xD0B1U, V = 0xD0B2U, G = 0xD0B3U, D = 0xD0B4U, E = 0xD0B5U, YO = 0xD191U, ZH = 0xD0B6U, Z = 0xD0B7U, I = 0xD0B8U, IY = 0xD0B9U, K = 0xD0BAU, L = 0xD0BBU, M = 0xD0BCU, N = 0xD0BDU, O = 0xD0BEU, P = 0xD0BFU, R = 0xD180U, S = 0xD181U, T = 0xD182U, U = 0xD183U, F = 0xD184U, H = 0xD185U, TS = 0xD186U, CH = 0xD187U, SH = 0xD188U, SCH = 0xD189U, TVY = 0xD18AU, // TVYordiy znak Y = 0xD18BU, MYA = 0xD18CU, // MYAgkiy znak EE = 0xD18DU, YU = 0xD18EU, YA = 0xD18FU }; }; #endif #define LOC_CHAR_TYPE unsigned short #define LOC_PREFIX(_a) _a##_utf8 #define RUS RussianAlphabetUTF8_t #include "sphinxstemru.inl" // NOLINT 2nd include ///////////////////////////////////////////////////////////////////////////// void stem_ru_init () { stem_ru_init_utf8 (); } // // $Id$ // sphinx-2.2.11-release/src/sphinxstemen.cpp0000644000175000017500000003546412743402012020113 0ustar alexeyalexey// // $Id$ // // // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License. You should have // received a copy of the GPL license along with this program; if you // did not, you can find it at http://www.gnu.org/ // #include "sphinx.h" // for UNALIGNED_RAM_ACCESS #if defined(_MSC_VER) && !defined(__cplusplus) #define inline #endif // #define SNOWBALL2011 static unsigned char stem_en_doubles[] = "bdfgmnprt"; static unsigned char vowel_map[] = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" // 0 "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" // 1 "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" // 2 "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" // 3 "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" // 4 "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" // 5 //` a b c d e f g h i j k l m n o - NOLINT "\0\1\0\0\0\1\0\0\0\1\0\0\0\0\0\1" // 6 //p q r s t u v w x y z - NOLINT "\0\0\0\0\0\1\0\0\0\1\0\0\0\0\0\0" // 7 "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" // 8 "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" // 9 "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" // a "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" // b "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" // c "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" // d "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" // e "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"; // f #define is_vowel(idx) vowel_map[word[idx]] static inline int stem_en_id ( unsigned char l ) { register unsigned char * v = stem_en_doubles; while ( *v && *v!=l ) v++; return ( *v==l ) ? 1 : 0; } static inline int stem_en_ivwxy ( unsigned char l ) { return vowel_map[l] || l=='w' || l=='x' || l=='Y'; } void stem_en_init () { } #define EXCBASE(b) ( iword==( ( (int)b[3]<<24 ) + ( (int)b[2]<<16 ) + ( (int)b[1]<<8 ) + (int)b[0] ) ) #define EXC4(a,b) ( len==4 && EXCBASE(b) ) #define EXC5(a,b) ( len==5 && EXCBASE(b) ) #define EXC6(a,b) ( len==6 && EXCBASE(b) && a[4]==b[4] ) #define EXC7(a,b) ( len==7 && EXCBASE(b) && a[4]==b[4] && a[5]==b[5] ) #define EXC8(a,b) ( len==8 && EXCBASE(b) && a[4]==b[4] && a[5]==b[5] && a[6]==b[6] ) void stem_en ( unsigned char * word, int len ) { int i, first_vowel, r1, r2, iword; unsigned char has_Y = 0; if ( len<=2 ) return; #if UNALIGNED_RAM_ACCESS iword = *(int*)word; #else iword = ( (int)word[3]<<24 ) + ( (int)word[2]<<16 ) + ( (int)word[1]<<8 ) + (int)word[0]; #endif // check for 3-letter exceptions (currently just one, "sky") and shortcuts if ( len==3 ) { #define CHECK3(c1,c2,c3) if ( iword==( (c1<<0)+(c2<<8)+(c3<<16) ) ) return; #ifdef SNOWBALL2011 #define CHECK3A CHECK3 #else #define CHECK3A(c1,c2,c3) if ( iword==( (c1<<0)+(c2<<8)+(c3<<16) ) ) { word[2] = '\0'; return; } #endif CHECK3 ( 't', 'h', 'e' ); CHECK3 ( 'a', 'n', 'd' ); CHECK3 ( 'y', 'o', 'u' ); CHECK3A ( 'w', 'a', 's' ); CHECK3A ( 'h', 'i', 's' ); CHECK3 ( 'f', 'o', 'r' ); CHECK3 ( 'h', 'e', 'r' ); CHECK3 ( 's', 'h', 'e' ); CHECK3 ( 'b', 'u', 't' ); CHECK3 ( 'h', 'a', 'd' ); CHECK3 ( 's', 'k', 'y' ); } // check for 4..8-letter exceptions if ( len>=4 && len<=8 ) { // check for 4-letter exceptions and shortcuts if ( len==4 ) { // shortcuts if ( iword==0x74616874 ) return; // that if ( iword==0x68746977 ) return; // with if ( iword==0x64696173 ) return; // said if ( iword==0x6d6f7266 ) return; // from // exceptions if ( iword==0x7377656e ) return; // news if ( iword==0x65776f68 ) return; // howe } // all those exceptions only have a few valid endings; early check switch ( word[len-1] ) { case 'd': if ( EXC7 ( word, "proceed" ) ) return; if ( EXC6 ( word, "exceed" ) ) return; if ( EXC7 ( word, "succeed" ) ) return; break; case 'g': if ( EXC5 ( word, "dying" ) ) { word[1] = 'i'; word[2] = 'e'; word[3] = '\0'; return; } if ( EXC5 ( word, "lying" ) ) { word[1] = 'i'; word[2] = 'e'; word[3] = '\0'; return; } if ( EXC5 ( word, "tying" ) ) { word[1] = 'i'; word[2] = 'e'; word[3] = '\0'; return; } if ( EXC6 ( word, "inning" ) ) return; if ( EXC6 ( word, "outing" ) ) return; if ( EXC7 ( word, "canning" ) ) return; #ifdef SNOWBALL2011 if ( EXC7 ( word, "herring" ) ) return; if ( EXC7 ( word, "earring" ) ) return; #endif break; case 's': if ( EXC5 ( word, "skies" ) ) { word[2] = 'y'; word[3] = '\0'; return; } if ( EXC7 ( word, "innings" ) ) { word[6] = '\0'; return; } if ( EXC7 ( word, "outings" ) ) { word[6] = '\0';return; } if ( EXC8 ( word, "cannings" ) ) { word[7] = '\0';return; } #ifdef SNOWBALL2011 if ( EXC4 ( word, "skis" ) ) { word[3] = '\0'; return; } if ( EXC5 ( word, "atlas" ) ) return; if ( EXC6 ( word, "cosmos" ) ) return; if ( EXC4 ( word, "bias" ) ) return; if ( EXC5 ( word, "andes" ) ) return; if ( EXC8 ( word, "herrings" ) ) { word[7] = '\0'; return; } if ( EXC8 ( word, "earrings" ) ) { word[7] = '\0'; return; } if ( EXC8 ( word, "proceeds" ) ) { word[7] = '\0'; return; } if ( EXC7 ( word, "exceeds" ) ) { word[6] = '\0'; return; } if ( EXC8 ( word, "succeeds" ) ) { word[7] = '\0'; return; } #endif break; case 'y': if ( EXC4 ( word, "idly" ) ) { word[3] = '\0';return; } if ( EXC6 ( word, "gently" ) ) { word[5] = '\0';return; } if ( EXC4 ( word, "ugly" ) ) { word[3] = 'i'; word[4] = '\0'; return; } if ( EXC5 ( word, "early" ) ) { word[4] = 'i'; word[5] = '\0'; return; } if ( EXC4 ( word, "only" ) ) { word[3] = 'i'; word[4] = '\0'; return; } if ( EXC6 ( word, "singly" ) ) { word[5] = '\0'; return; } break; } } // hide consonant-style y's if ( word[0]=='y' ) word[0] = has_Y = 'Y'; for ( i=1; i=5 && EXCBASE("gene") && word[4]=='r' ) { r1 = 5; // gener- first_vowel = 1; } #ifdef SNOWBALL2011 else if ( len>=6 && EXCBASE("comm") && word[4]=='u' && word[5]=='n' ) { r1 = 6; // commun- first_vowel = 1; } else if ( len>=5 && EXCBASE("arse") && word[4]=='n' ) { r1 = 5; // arsen- first_vowel = 0; } #endif else { for ( i=0; i=2 && W(1,c1) && W(2,c2) ) #define SUFF3(c3,c2,c1) ( len>=3 && W(1,c1) && W(2,c2) && W(3,c3) ) #define SUFF4(c4,c3,c2,c1) ( len>=4 && W(1,c1) && W(2,c2) && W(3,c3) && W(4,c4) ) #define SUFF5(c5,c4,c3,c2,c1) ( len>=5 && W(1,c1) && W(2,c2) && W(3,c3) && W(4,c4) && W(5,c5) ) #define SUFF6(c6,c5,c4,c3,c2,c1) ( len>=6 && W(1,c1) && W(2,c2) && W(3,c3) && W(4,c4) && W(5,c5) && W(6,c6) ) #define SUFF7(c7,c6,c5,c4,c3,c2,c1) ( len>=7 && W(1,c1) && W(2,c2) && W(3,c3) && W(4,c4) && W(5,c5) && W(6,c6) && W(7,c7) ) #define SUFF3A(c3,c2) ( len>=3 && W(2,c2) && W(3,c3) ) #define SUFF4A(c4,c3,c2) ( len>=4 && W(2,c2) && W(3,c3) && W(4,c4) ) #define SUFF5A(c5,c4,c3,c2) ( len>=5 && W(2,c2) && W(3,c3) && W(4,c4) && W(5,c5) ) #define SUFF6A(c6,c5,c4,c3,c2) ( len>=6 && W(2,c2) && W(3,c3) && W(4,c4) && W(5,c5) && W(6,c6) ) #define SUFF7A(c7,c6,c5,c4,c3,c2) ( len>=6 && W(2,c2) && W(3,c3) && W(4,c4) && W(5,c5) && W(6,c6) && W(7,c7) ) /////////// // STEP 1A /////////// #ifdef SNOWBALL2011 #define IED_ACTION { if ( len-->4 ) len--; } #else #define IED_ACTION { if ( len--!=4 ) len--; } #endif switch ( word[len-1] ) { case 'd': if ( word[len-3]=='i' && word[len-2]=='e' ) IED_ACTION break; case 's': if ( SUFF4 ( 's', 's', 'e', 's' ) ) // faster that suff4a for some reason! len -= 2; else if ( word[len-3]=='i' && word[len-2]=='e' ) IED_ACTION else if ( word[len-2]!='u' && word[len-2]!='s' ) { #ifdef SNOWBALL2011 if ( first_vowel<=len-3 ) #endif len--; } break; } /////////// // STEP 1B /////////// i = 0; switch ( word[len-1] ) { case 'd': if ( SUFF3A ( 'e', 'e' ) ) { if ( len-3>=r1 ) len--; break; } if ( word[len-2]=='e' ) i = 2; break; case 'y': if ( word[len-2]=='l' ) { if ( SUFF5A ( 'e', 'e', 'd', 'l' ) ) { if ( len-5>=r1 ) len -= 3; break; } if ( SUFF4A ( 'e', 'd', 'l' ) ) { i = 4; break; } if ( SUFF5A ( 'i', 'n', 'g', 'l' ) ) { i = 5; break; } } break; case 'g': if ( SUFF3A ( 'i', 'n' ) ) i = 3; break; } if ( i && first_vowel=2 && word[len-1]==word[len-2] && stem_en_id ( word[len-1] ) ) len--; else if ( ( len==2 && is_vowel(0) && !is_vowel(1) ) || ( len==r1 && !is_vowel ( len-3 ) && is_vowel ( len-2 ) && !stem_en_ivwxy ( word[len-1] ) ) ) { word[len++] = 'e'; } } /////////// // STEP 1C /////////// if ( len>2 && ( word[len-1]=='y' || word[len-1]=='Y' ) && !is_vowel ( len-2 ) ) { word[len-1] = 'i'; } ////////// // STEP 2 ////////// if ( len-2>=r1 ) switch ( word[len-1] ) { case 'i': if ( len>=3 && ( W ( 2, 'c' ) || W ( 2, 'l' ) || W ( 2, 't' ) ) ) { if ( SUFF4A ( 'e', 'n', 'c' ) ) { if ( len-4>=r1 ) word[len-1] = 'e'; break; } if ( SUFF4A ( 'a', 'n', 'c' ) ) { if ( len-4>=r1 ) word[len-1] = 'e'; break; } if ( SUFF4A ( 'a', 'b', 'l' ) ) { if ( len-4>=r1 ) word[len-1] = 'e'; break; } if ( SUFF3A ( 'b', 'l' ) ) { if ( len-3>=r1 ) word[len-1] = 'e'; break; } if ( SUFF5A ( 'e', 'n', 't', 'l' ) ) { if ( len-5>=r1 ) len -= 2; break; } if ( SUFF5A ( 'a', 'l', 'i', 't' ) ) { if ( len-5>=r1 ) len -= 3; break; } if ( SUFF5A ( 'o', 'u', 's', 'l' ) ) { if ( len-5>=r1 ) len -= 2; break; } if ( SUFF5A ( 'i', 'v', 'i', 't' ) ) { if ( len-5>=r1 ) { word[len-3] = 'e'; len -= 2; } break; } if ( SUFF6A ( 'b', 'i', 'l', 'i', 't' ) ) { if ( len-6>=r1 ) { word[len-5] = 'l'; word[len-4] = 'e'; len -= 3; } break; } if ( SUFF5A ( 'f', 'u', 'l', 'l' ) ) { if ( len-5>=r1 ) len -= 2; break; } if ( SUFF6A ( 'l', 'e', 's', 's', 'l' ) ) { if ( len-6>=r1 ) len -= 2; break; } } #ifdef SNOWBALL2011 if ( len-3>=r1 && SUFF3A ( 'o', 'g' ) && word[len-4]=='l' ) { len -= 1; break; } #else if ( len-3>=r1 && SUFF3A ( 'o', 'g' ) ) { len -= 1; break; } #endif if ( len-2>=r1 && word[len-2]=='l' ) len -= 2; else break; if ( len-2>=r1 && SUFF2 ( 'a', 'l' ) ) { len -= 2; if ( len-5>=r1 && SUFF5 ( 'a', 't', 'i', 'o', 'n' ) ) { len -= 3; word[len++] = 'e'; break; } if ( SUFF4 ( 't', 'i', 'o', 'n' ) ) break; len += 2; } else { switch ( word[len-1] ) { case 'b': case 'c': case 'd': case 'e': case 'g': case 'h': case 'k': case 'm': case 'n': case 'r': case 't': break; default: len += 2; break; } } break; case 'l': if ( SUFF7A ( 'a', 't', 'i', 'o', 'n', 'a' ) ) { if ( len-7>=r1 ) { word[len-5] = 'e'; len -= 4; } break; } if ( SUFF6A ( 't', 'i', 'o', 'n', 'a' ) ) { if ( len-6>=r1 ) len -= 2; break; } break; case 'm': if ( SUFF5A ( 'a', 'l', 'i', 's' ) ) { if ( len-5>=r1 ) len -= 3; break; } break; case 'n': if ( SUFF7A ( 'i', 'z', 'a', 't', 'i', 'o' ) ) { if ( len-7>=r1 ) { word[len-5] = 'e'; len -= 4; } break; } if ( SUFF5A ( 'a', 't', 'i', 'o' ) ) { if ( len-5>=r1 ) { word[len-3] = 'e'; len -= 2; } break; } break; case 'r': if ( SUFF4A ( 'i', 'z', 'e' ) ) { if ( len-4>=r1 ) len -= 1; break; } if ( SUFF4A ( 'a', 't', 'o' ) ) { if ( len-4>=r1 ) { word[len-2] = 'e'; len -= 1; } break; } break; case 's': if ( len-7>=r1 && ( SUFF7A ( 'f', 'u', 'l', 'n', 'e', 's' ) || SUFF7A ( 'o', 'u', 's', 'n', 'e', 's' ) || SUFF7A ( 'i', 'v', 'e', 'n', 'e', 's' ) ) ) { len -= 4; } break; } ////////// // STEP 3 ////////// if ( len-3>=r1 ) switch ( word[len-1] ) { case 'e': if ( SUFF5A ( 'a', 'l', 'i', 'z' ) ) { if ( len-5>=r1 ) len -= 3; break; } if ( SUFF5A ( 'i', 'c', 'a', 't' ) ) { if ( len-5>=r1 ) len -= 3; break; } #ifdef SNOWBALL2011 if ( SUFF5A ( 'a', 't', 'i', 'v' ) ) { if ( len-5>=r2 ) len -= 5; break; } #else if ( SUFF5A ( 'a', 't', 'i', 'v' ) ) { if ( len-5>=r1 ) len -= 5; break; } #endif break; case 'i': if ( SUFF5A ( 'i', 'c', 'i', 't' ) ) { if ( len-5>=r1 ) len -= 3; break; } break; case 'l': if ( SUFF4A ( 'i', 'c', 'a' ) ) { if ( len-4>=r1 ) len -= 2; break; } if ( SUFF3A ( 'f', 'u' ) ) { len -= 3; break; } break; case 's': if ( SUFF4A ( 'n', 'e', 's' ) ) { if ( len-4>=r1 ) len -= 4; break; } break; } ////////// // STEP 4 ////////// if ( len-2>=r2 ) switch ( word[len-1] ) { case 'c': if ( word[len-2]=='i' ) len -= 2; // -ic break; case 'e': if ( len-3>=r2 ) { if ( SUFF4A ( 'a', 'n', 'c' ) ) { if ( len-4>=r2 ) len -= 4; break; } if ( SUFF4A ( 'e', 'n', 'c' ) ) { if ( len-4>=r2 ) len -= 4; break; } if ( SUFF4A ( 'a', 'b', 'l' ) ) { if ( len-4>=r2 ) len -= 4; break; } if ( SUFF4A ( 'i', 'b', 'l' ) ) { if ( len-4>=r2 ) len -= 4; break; } if ( SUFF3A ( 'a', 't' ) ) { len -= 3; break; } if ( SUFF3A ( 'i', 'v' ) ) { len -= 3; break; } if ( SUFF3A ( 'i', 'z' ) ) { len -= 3; break; } } break; case 'i': if ( SUFF3A ( 'i', 't' ) ) { if ( len-3>=r2 ) len -= 3; break; } break; case 'l': if ( word[len-2]=='a' ) len -= 2; // -al break; case 'm': if ( SUFF3A ( 'i', 's' ) ) { if ( len-3>=r2 ) len -= 3; break; } break; case 'n': if ( len-3>=r2 && SUFF3 ( 'i', 'o', 'n' ) && ( word[len-4]=='t' || word[len-4]=='s' ) ) len -= 3; break; case 'r': if ( word[len-2]=='e' ) len -= 2; // -er break; case 's': if ( SUFF3A ( 'o', 'u' ) ) { if ( len-3>=r2 ) len -= 3; break; } break; case 't': if ( word[len-2]=='n' ) { if ( SUFF5A ( 'e', 'm', 'e', 'n' ) ) { if ( len-5>=r2 ) len -= 5; break; } if ( SUFF4A ( 'm', 'e', 'n' ) ) { if ( len-4>=r2 ) len -= 4; break; } if ( SUFF3A ( 'a', 'n' ) ) { if ( len-3>=r2 ) len -= 3; break; } if ( SUFF3A ( 'e', 'n' ) ) { if ( len-3>=r2 ) len -= 3; break; } } break; } ////////// // STEP 5 ////////// #ifdef SNOWBALL2011 if ( len>r2 && word[len-1]=='l' && word[len-2]=='l' ) len--; else #endif while ( word[len-1]=='e' ) { if ( len>r2 ) { len--; break; } if ( len<=r1 ) break; if ( len>3 && !is_vowel ( len-4 ) && is_vowel ( len-3 ) && !stem_en_ivwxy ( word[len-2] ) ) break; if ( len==3 && is_vowel(0) && !is_vowel(1) ) break; len--; break; } #ifndef SNOWBALL2011 if ( len>r2 && word[len-1]=='l' && word[len-2]=='l' ) len--; #endif //////////// // FINALIZE //////////// word[len] = 0; if ( has_Y ) for ( i=0; i struct ClampRule_t { int m_iMinLength; BYTE m_szSuffix[10]; int m_iCheckLength; int m_nRemove; bool m_bPalatalize; }; static ClampRule_t g_dCaseRules [] = { { 7, "atech", 5, 5, false }, { 6, "\xECtem", 4, 3, true }, // \u011b { 6, "at\xF9m", 4, 4, false }, // \u016f { 5, "ech", 3, 2, true }, { 5, "ich", 3, 2, true }, { 5, "\xED!ch", 3, 2, true }, // \u00ed { 5, "\xE9ho", 3, 2, true }, // \u00e9 { 5, "\xECmi", 3, 2, true }, // \u011b { 5, "emi", 3, 2, true }, { 5, "\xE9mu", 3, 2, true }, // \u00e9 { 5, "\xECte", 3, 2, true }, // \u011b { 5, "\xECti", 3, 2, true }, // \u011b { 5, "iho", 3, 2, true }, { 5, "\xEDho", 3, 2, true }, // \u00ed { 5, "\xEDmi", 3, 2, true }, // \u00ed { 5, "imu", 3, 2, true }, { 5, "\xE1!ch", 3, 3, false }, // \u00e1 { 5, "ata", 3, 3, false }, { 5, "aty", 3, 3, false }, { 5, "\xFD!ch", 3, 3, false }, // \u00fd { 5, "ama", 3, 3, false }, { 5, "ami", 3, 3, false }, { 5, "ov\xE9", 3, 3, false }, // \u00e9 { 5, "ovi", 3, 3, false }, { 5, "\xFDmi", 3, 3, false }, // \u00fd { 4, "em", 2, 1, true }, { 4, "es", 2, 2, true }, { 4, "\xE9m", 2, 2, true }, // \u00e9 { 4, "\xEDm", 2, 2, true }, // \u00ed { 4, "\xF9!fm", 2, 2, false }, // \u016f { 4, "at", 2, 2, false }, { 4, "\xE1m", 2, 2, false }, // \u00e1 { 4, "os", 2, 2, false }, { 4, "us", 2, 2, false }, { 4, "\xFDm", 2, 2, false }, // \u00fd { 4, "mi", 2, 2, false }, { 4, "ou", 2, 2, false }, { 3, "e", 1, 0, true }, { 3, "i", 1, 0, true }, { 3, "\xED", 1, 0, true }, // \u00ed { 3, "\xEC", 1, 0, true }, // \u011b { 3, "u", 1, 1, false }, { 3, "y", 1, 1, false }, { 3, "\xF9", 1, 1, false }, // \u016f { 3, "a", 1, 1, false }, { 3, "o", 1, 1, false }, { 3, "\xE1", 1, 1, false }, // \u00e1 { 3, "\xE9", 1, 1, false }, // \u00e9 { 3, "\xFD", 1, 1, false } // \u00fd }; static ClampRule_t g_dPosessiveRules [] = { { 5, "ov", 2, 2, false }, { 5, "\xF9v", 2, 2, false }, { 5, "in", 2, 1, true }, }; struct ReplaceRule_t { BYTE m_szSuffix[4]; int m_iRemoveLength; BYTE m_szAppend[4]; }; static ReplaceRule_t g_dPalatalizeRules [] = { { "ci", 2, "k" }, { "ce", 2, "k" }, { "\xE8i", 2, "k" }, // \u010d { "\xE8!e", 2, "k" }, // \u010d { "zi", 2, "h" }, { "ze", 2, "h" }, { "\x9Ei", 2, "h" }, // \u017e { "\x9E!e", 2, "h" }, // \u017e { "\xE8t\xEC", 3, "ck" }, // \u010d \u011b { "\xE8ti", 3, "ck" }, { "\xE8t\xED", 3, "ck" }, // \u010d \u00ed { "\x9At\xEC", 3, "sk" }, // \u0161 \u011b // was: check 2, remove 2 { "\x9Ati", 3, "sk" }, // \u0161 // was: check 2, remove 2 { "\x9At\xED", 3, "sk" }, // \u0161 \u00ed // was: check 2, remove 2 }; static void Palatalize ( BYTE * word ) { if ( !word ) return; int nRules = sizeof ( g_dPalatalizeRules ) / sizeof ( g_dPalatalizeRules[0] ); int iWordLength = strlen ( (char*)word ); for ( int i = 0; i < nRules; ++i ) { const ReplaceRule_t & Rule = g_dPalatalizeRules[i]; if ( iWordLength>=Rule.m_iRemoveLength && !strncmp ( (char*)word + iWordLength - Rule.m_iRemoveLength, (char*)Rule.m_szSuffix, Rule.m_iRemoveLength ) ) { word [iWordLength - Rule.m_iRemoveLength] = '\0'; strcat ( (char*)word, (char*)Rule.m_szAppend ); // NOLINT strcat return; } } if ( iWordLength > 0 ) word [iWordLength - 1] = '\0'; } static void ApplyRules ( BYTE * word, const ClampRule_t * pRules, int nRules ) { if ( !word || !pRules ) return; int iWordLength = strlen ( (char *)word ); for ( int i = 0; i < nRules; ++i ) { const ClampRule_t & Rule = pRules[i]; if ( iWordLength > Rule.m_iMinLength && !strncmp ( (char*)word + iWordLength - Rule.m_iCheckLength, (char*)Rule.m_szSuffix, Rule.m_iCheckLength ) ) { word [iWordLength - Rule.m_nRemove] = '\0'; Palatalize ( word ); return; } } } static void RemoveChars ( char * szString, char cChar ) { char * szPos; int iLength = strlen ( szString ); while ( ( szPos = strchr ( szString, cChar ) )!=NULL ) memmove ( szPos, szPos + 1, iLength - ( szPos - szString ) ); } static void PreprocessRules ( ClampRule_t * pRules, int nRules ) { if ( !pRules ) return; for ( int i = 0; i < nRules; ++i ) RemoveChars ( (char *) pRules[i].m_szSuffix, '!' ); } static void PreprocessReplace () { int nRules = sizeof ( g_dPalatalizeRules ) / sizeof ( g_dPalatalizeRules[0] ); for ( int i = 0; i < nRules; ++i ) { RemoveChars ( (char *) g_dPalatalizeRules[i].m_szSuffix, '!' ); RemoveChars ( (char *) g_dPalatalizeRules[i].m_szAppend, '!' ); } } void stem_cz_init () { PreprocessRules ( g_dCaseRules, sizeof ( g_dCaseRules ) / sizeof ( g_dCaseRules[0] ) ); PreprocessRules ( g_dPosessiveRules, sizeof ( g_dPosessiveRules ) / sizeof ( g_dPosessiveRules[0] ) ); PreprocessReplace (); } void stem_cz ( BYTE * word ) { ApplyRules ( word, g_dCaseRules, sizeof ( g_dCaseRules ) / sizeof ( g_dCaseRules[0] ) ); ApplyRules ( word, g_dPosessiveRules, sizeof ( g_dPosessiveRules ) / sizeof ( g_dPosessiveRules[0] ) ); } // // $Id$ // sphinx-2.2.11-release/src/sphinxstemar.cpp0000644000175000017500000003166012743402012020105 0ustar alexeyalexey// // $Id$ // // // Copyright (c) 2010, Ammar Ali // Copyright (c) 2012, Sphinx Technologies Inc // // All rights reserved // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License. You should have // received a copy of the GPL license along with this program; if you // did not, you can find it at http://www.gnu.org/ // // // The extended ISRI Arabic stemmer // // Original algorithm as described by Kazem Taghva, Rania Elkoury, and // Jeffery Coombs in "Arabic Stemming Without A Root Dictionary", 2005. // DOI 10.1109/ITCC.2005.90 // // Extensions (by Ammar Ali) include: // - added stripping of kashida (tatweel) characters; // - added support for matching recurring stem characters; // - added "ef3ou3ala" verb form to the known patterns. // #include "sphinx.h" /// characters used in affix and word form patterns /// FIXME! not right on big-endian #define AR_ALEF_HA 0xA3D8U // U+0623 #define AR_ALEF 0xA7D8U // U+0627 #define AR_BA 0xA8D8U // U+0628 #define AR_TA_M 0xA9D8U // U+0629 #define AR_TA 0xAAD8U // U+062A #define AR_SEEN 0xB3D8U // U+0633 #define AR_TATWEEL 0x80D9U // U+0640 #define AR_FA 0x81D9U // U+0641 #define AR_KAF 0x83D9U // U+0643 #define AR_LAM 0x84D9U // U+0644 #define AR_MIM 0x85D9U // U+0645 #define AR_NOON 0x86D9U // U+0646 #define AR_HA 0x87D9U // U+0647 #define AR_WAW 0x88D9U // U+0648 #define AR_YA 0x8AD9U // U+064A /// extension; used for recurring root character matching #define MATCH_M 0xB0DBU // 0x06F0 #define MATCH_0 MATCH_M #define MATCH_1 0xB1DBU // 0x06F1 #define MATCH_2 0xB2DBU // 0x06F2 #define MATCH_3 0xB3DBU // 0x06F3 #define MATCH_4 0xB4DBU // 0x06F4 ////////////////////////////////////////////////////////////////////////// // CHARACTER SET TESTS ////////////////////////////////////////////////////////////////////////// typedef WORD ar_char; // AR_HAMZA_SET (U+0621, U+0624, U+0626) #define AR_HAMZA_SET ( c==0xA1D8U || c==0xA4D8U || c==0xA6D8U ) // ALEF_SET (U+0623, U+0625, U+0671) #define AR_ALEF_SET ( c==0xA3D8U || c==0xA5D8U || c==0xB1D9U ) // AR_DIACRITIC (>= U+064B &&<=U+0652) #define AR_DIACRITIC(c) \ ( c==0x8BD9U || c==0x8CD9U || c==0x8DD9U \ || c==0x8ED9U || c==0x8FD9U || c==0x90D9U \ || c==0x91D9U || c==0x92D9U ) // AR_KASHIDA (U+0640) #define AR_KASHIDA(c) ( c==0x80D9U ) // OPTIMIZE? #define AR_WORD_LENGTH ((int)(strlen((char*)word) / sizeof(ar_char))) // FIXME? can crash on misaligned reads #define AR_CHAR_AT(i) (*((ar_char*)(&word[(i * sizeof(ar_char))]))) #define AR_CHAR_SET(i,c) \ { \ ar_char *p = (ar_char*) &word[(i * sizeof(ar_char))]; \ *p = (ar_char) c; \ } /// remove length chars starting from start, null-terminating to new length static inline void ar_remove ( BYTE * word, int start, int length ) { int remain = ((AR_WORD_LENGTH - length - start) * sizeof(ar_char)); ar_char *s = (ar_char*) &word[(start * sizeof(ar_char))]; if ( remain > 0 ) { memmove((void*)s, (void*)(s + length), remain); s = s + (remain / sizeof(ar_char)); } *s = '\0'; } /// normalize (replace) all occurrences of chars in set to to_char #define AR_NORMALIZE(set, to_char) \ { \ int wlen = AR_WORD_LENGTH; \ while ( wlen > 0 ) { \ int ni = wlen - 1; \ ar_char c = AR_CHAR_AT(ni); \ if ( set ) { \ AR_CHAR_SET ( ni, to_char ); \ } wlen--; \ } \ } /// remove all occurances of chars that match the given macro (e.g. KASHIDA) #define AR_STRIP(_what) \ { \ int wlen = AR_WORD_LENGTH; \ while ( wlen > 0 ) { \ int si = wlen - 1; \ if ( _what ( AR_CHAR_AT(si) ) ) \ ar_remove ( word, si, 1 ); \ wlen--; \ } \ } /// attempt to match and remove a prefix with the given character count #define AR_PREFIX(count) \ { \ int match = ar_match_affix ( word, prefix_##count, count, 0 ); \ if ( match>=0 ) \ ar_remove ( word, 0, count ); \ } /// attempt to match and remove a suffix with the given character count #define AR_SUFFIX(count) \ { \ int match = ar_match_affix ( word, suffix_##count, count, 1 ); \ if ( match>=0 ) \ ar_remove ( word, AR_WORD_LENGTH - count, count ); \ } ////////////////////////////////////////////////////////////////////////// // TYPES ////////////////////////////////////////////////////////////////////////// struct ar_affix_t { ar_char chars[4]; }; struct ar_form_entry_t { int at; // index to match at ar_char cp; // code point to match }; struct ar_form_t { ar_form_entry_t entry[4]; }; ////////////////////////////////////////////////////////////////////////// // PREFIX LOOKUP TABLES ////////////////////////////////////////////////////////////////////////// /// 3-letter prefixes static struct ar_affix_t prefix_3[] = { { { AR_WAW, AR_LAM, AR_LAM, 0 } }, { { AR_WAW, AR_ALEF, AR_LAM, 0 } }, { { AR_KAF, AR_ALEF, AR_LAM, 0 } }, { { AR_BA, AR_ALEF, AR_LAM, 0 } }, // Extensions { { AR_ALEF, AR_SEEN, AR_TA, 0 }}, { { AR_WAW, AR_BA, AR_MIM, 0 }}, { { AR_WAW, AR_BA, AR_ALEF, 0 }}, { { 0 } } }; /// 2-letter prefixes static struct ar_affix_t prefix_2[] = { { { AR_ALEF, AR_LAM, 0 } }, { { AR_LAM, AR_LAM, 0 } }, { { 0 } } }; /// 1-letter prefixes static struct ar_affix_t prefix_1[] = { { { AR_ALEF, 0 } }, { { AR_BA, 0 } }, { { AR_TA, 0 } }, { { AR_SEEN, 0 } }, { { AR_FA, 0 } }, { { AR_LAM, 0 } }, { { AR_NOON, 0 } }, { { AR_WAW, 0 } }, { { AR_YA, 0 } }, { { 0 } } }; ////////////////////////////////////////////////////////////////////////// // SUFFIX LOOKUP TABLES ////////////////////////////////////////////////////////////////////////// /// 3-letter suffixes static struct ar_affix_t suffix_3[] = { { { AR_TA, AR_MIM, AR_LAM, 0 } }, { { AR_HA, AR_MIM, AR_LAM, 0 } }, { { AR_TA, AR_ALEF, AR_NOON, 0 } }, { { AR_TA, AR_YA, AR_NOON, 0 } }, { { AR_KAF, AR_MIM, AR_LAM, 0 } }, { { 0 } } }; /// 2-letter suffixes static struct ar_affix_t suffix_2[] = { { { AR_WAW, AR_NOON, 0 } }, { { AR_ALEF, AR_TA, 0 } }, { { AR_ALEF, AR_NOON, 0 } }, { { AR_YA, AR_NOON, 0 } }, { { AR_TA, AR_NOON, 0 } }, { { AR_KAF, AR_MIM, 0 } }, { { AR_HA, AR_NOON, 0 } }, { { AR_NOON, AR_ALEF, 0 } }, { { AR_YA, AR_ALEF, 0 } }, { { AR_HA, AR_ALEF, 0 } }, { { AR_TA, AR_MIM, 0 } }, { { AR_KAF, AR_NOON, 0 } }, { { AR_NOON, AR_YA, 0 } }, { { AR_WAW, AR_ALEF, 0 } }, { { AR_MIM, AR_ALEF, 0 } }, { { AR_HA, AR_MIM, 0 } }, // extensions { { AR_WAW, AR_HA, 0 }}, { { 0 } } }; /// 1-letter prefixes static struct ar_affix_t suffix_1[] = { { { AR_ALEF, 0 } }, { { AR_TA_M, 0 } }, { { AR_TA, 0 } }, { { AR_KAF, 0 } }, { { AR_NOON, 0 } }, { { AR_HA, 0 } }, { { AR_YA, 0 } }, { { 0 } } }; ////////////////////////////////////////////////////////////////////////// // FORMS ////////////////////////////////////////////////////////////////////////// /// forms for 4 letter words that yield a 3 letter stem static struct ar_form_t form_4_3[] = { { { { 3, AR_TA_M }, { 0xFF, 0 } } }, { { { 1, AR_ALEF }, { 0xFF, 0 } } }, { { { 0, AR_MIM }, { 0xFF, 0 } } }, // originally at index 05 { { { 2, AR_WAW }, { 0xFF, 0 } } }, { { { 2, AR_ALEF }, { 0xFF, 0 } } }, { { { 2, AR_YA }, { 0xFF, 0 } } }, { { { 0xFF, 0 } } } }; /// forms for 5 letter words that yield a 3 letter stem static struct ar_form_t form_5_3[] = { { { { 0, AR_TA }, { 2, AR_ALEF }, { 0xFF, 0 } } }, { { { 0, AR_ALEF }, { 2, AR_TA }, { 0xFF, 0 } } }, { { { 0, AR_ALEF }, { 3, AR_ALEF }, { 0xFF, 0 } } }, { { { 0, AR_ALEF }, { 2, AR_ALEF }, { 0xFF, 0 } } }, { { { 2, AR_ALEF }, { 4, AR_TA_M }, { 0xFF, 0 } } }, { { { 3, AR_ALEF }, { 4, AR_NOON }, { 0xFF, 0 } } }, { { { 2, AR_WAW }, { 4, AR_TA_M }, { 0xFF, 0 } } }, { { { 0, AR_TA }, { 4, AR_TA_M }, { 0xFF, 0 } } }, { { { 0, AR_TA }, { 3, AR_YA }, { 0xFF, 0 } } }, { { { 0, AR_MIM }, { 4, AR_TA_M }, { 0xFF, 0 } } }, { { { 0, AR_MIM }, { 2, AR_ALEF }, { 0xFF, 0 } } }, { { { 0, AR_MIM }, { 3, AR_WAW }, { 0xFF, 0 } } }, { { { 1, AR_ALEF }, { 3, AR_WAW }, { 0xFF, 0 } } }, { { { 1, AR_WAW }, { 2, AR_ALEF }, { 0xFF, 0 } } }, { { { 0, AR_MIM }, { 3, AR_ALEF }, { 0xFF, 0 } } }, { { { 0, AR_MIM }, { 3, AR_YA }, { 0xFF, 0 } } }, { { { 0, AR_ALEF }, { 4, AR_TA_M }, { 0xFF, 0 } } }, { { { 2, AR_ALEF }, { 3, AR_NOON }, { 0xFF, 0 } } }, { { { 0, AR_MIM }, { 1, AR_NOON }, { 0xFF, 0 } } }, { { { 0, AR_MIM }, { 2, AR_TA }, { 0xFF, 0 } } }, { { { 1, AR_ALEF }, { 4, AR_TA_M }, { 0xFF, 0 } } }, { { { 0, AR_YA }, { 2, AR_TA }, { 0xFF, 0 } } }, { { { 0, AR_TA }, { 2, AR_TA }, { 0xFF, 0 } } }, { { { 2, AR_ALEF }, { 4, AR_YA }, { 0xFF, 0 } } }, { { { 0, AR_ALEF }, { 1, AR_NOON }, { 0xFF, 0 } } }, // extensions { { { 1, AR_TA }, { 4, AR_WAW }, { 0xFF, 0 } } }, { { { 0, AR_MIM }, { 1, AR_TA }, { 0xFF, 0 } } }, { { { 0, AR_TA }, { 4, AR_TA }, { 0xFF, 0 } } }, { { { 1, AR_ALEF }, { 3, AR_YA }, { 0xFF, 0 } } }, { { { 0xFF, 0 } } } }; /// forms for 5 letter words that yield a 4 letter stem static struct ar_form_t form_5_4[] = { { { { 0, AR_TA }, { 0xFF, 0 } } }, { { { 0, AR_ALEF }, { 0xFF, 0 } } }, { { { 0, AR_MIM }, { 0xFF, 0 } } }, { { { 4, AR_TA_M }, { 0xFF, 0 } } }, { { { 2, AR_ALEF }, { 0xFF, 0 } } }, { { { 0xFF, 0} }} }; /// forms for 6 letter words that yield a 3 letter stem static struct ar_form_t form_6_3[] = { { { { 0, AR_ALEF}, { 1, AR_SEEN }, { 2, AR_TA }, { 0xFF, 0 } }}, { { { 0, AR_MIM}, { 3, AR_ALEF }, { 5, AR_TA_M }, { 0xFF, 0 } }}, { { { 0, AR_ALEF}, { 2, AR_TA }, { 4, AR_ALEF }, { 0xFF, 0 } }}, // extensions that match recurring 2nd root letter { { { 0, AR_ALEF }, { 3, AR_WAW }, { 4, MATCH_2 }, { 0xFF, 0 } }}, { { { 0, AR_MIM }, { 1, AR_SEEN }, { 2, AR_TA }, { 0xFF, 0 } }}, // extensions { { { 0, AR_MIM }, { 2, AR_ALEF}, { 4, AR_YA }, { 0xFF, 0 } }}, { { { 0xFF, 0 } }} }; /// forms for 6 letter words that yield a 4 letter stem static struct ar_form_t form_6_4[] = { { { { 0, AR_ALEF }, { 4, AR_ALEF }, { 0xFF, 0 } } }, { { { 0, AR_MIM }, { 1, AR_TA }, { 0xFF, 0 } } }, { { { 0xFF, 0} }} }; /// attempt to match the given word against one of the given affix rules static int ar_match_affix ( BYTE * word, struct ar_affix_t * affixes, int length, int reverse ) { int match = -1, ai = 0; while ( affixes[ai].chars[0] && match<0 ) { int ci = 0; while ( affixes[ai].chars[ci] && match<0 ) { int wi = ci; if ( reverse ) wi = (AR_WORD_LENGTH - length) + ci; if ( AR_CHAR_AT(wi)!=affixes[ai].chars[ci] ) break; ci++; if ( affixes[ai].chars[ci]==0 ) match = ai; } ai++; } return match; } /// attempt to match the given word against one of the given form /// rules, and if found, extract the stem static int ar_match_form ( BYTE * word, struct ar_form_t * forms ) { int match = -1, fi = 0; while ( forms[fi].entry[0].at!=0xFF && match < 0 ) { int pi = 0; while ( forms[fi].entry[pi].at!=0xFF && match<0 ) { if ( forms[fi].entry[pi].cp>=MATCH_M && forms[fi].entry[pi].cp<=MATCH_4 ) { int index = ( forms[fi].entry[pi].cp - MATCH_M ) >> 8; if ( AR_CHAR_AT(index)!=AR_CHAR_AT(forms[fi].entry[pi].at) ) break; } else { if ( forms[fi].entry[pi].cp!=AR_CHAR_AT ( forms[fi].entry[pi].at ) ) break; } pi++; if ( forms[fi].entry[pi].at==0xFF ) match = fi; } fi++; } // if match found, extract the stem if ( match>=0 ) { int pi = 0; while ( forms[match].entry[pi].at!=0xFF ) { ar_remove ( word, (forms[match].entry[pi].at - pi), 1 ); pi++; } } return match; } static void ar_word_4 ( BYTE * word ) { if ( ar_match_form ( word, form_4_3 )>=0 ) return; AR_SUFFIX(1); if ( AR_WORD_LENGTH==4 ) AR_PREFIX(1); } static void ar_word_5 ( BYTE * word ) { if ( ar_match_form ( word, form_5_3 )>=0 ) return; AR_SUFFIX(1); if ( AR_WORD_LENGTH==4 ) { ar_word_4(word); return; } AR_PREFIX(1); if ( AR_WORD_LENGTH==4 ) ar_word_4(word); else if ( AR_WORD_LENGTH==5 ) ar_match_form ( word, form_5_4 ); } static void ar_word_6 ( BYTE * word ) { if ( ar_match_form ( word, form_6_3 )>=0 ) return; AR_SUFFIX(1); if ( AR_WORD_LENGTH==5 ) { ar_word_5(word); return; } AR_PREFIX(1); if ( AR_WORD_LENGTH==5 ) ar_word_5(word); else if ( AR_WORD_LENGTH==6 ) ar_match_form ( word, form_6_4 ); } void stem_ar_utf8 ( BYTE * word ) { AR_STRIP ( AR_DIACRITIC ); AR_STRIP ( AR_KASHIDA ); // extension AR_NORMALIZE ( AR_HAMZA_SET, AR_ALEF_HA ); #ifdef AR_STEM_AGGRESSIVE // extension; does both if possible (i.e. 6 and 5, not 6 else 5) if ( AR_WORD_LENGTH>=6 ) AR_PREFIX(3); if ( AR_WORD_LENGTH>=5 ) AR_PREFIX(2); if ( AR_WORD_LENGTH>=6 ) AR_SUFFIX(3); if ( AR_WORD_LENGTH>=5 ) AR_SUFFIX(2); #else // original; does one only (i.e. 6 or 5, not 6 and 5) if ( AR_WORD_LENGTH>=6 ) AR_PREFIX(3) else if ( AR_WORD_LENGTH>=5 ) AR_PREFIX(2); if ( AR_WORD_LENGTH>=6 ) AR_SUFFIX(3) else if ( AR_WORD_LENGTH>=5 ) AR_SUFFIX(2); #endif AR_NORMALIZE ( AR_ALEF_SET, AR_ALEF ); switch ( AR_WORD_LENGTH ) { case 4: ar_word_4 ( word ); return; case 5: ar_word_5 ( word ); return; case 6: ar_word_6 ( word ); return; case 7: AR_SUFFIX(1); if ( AR_WORD_LENGTH==6 ) { ar_word_6(word); return; } AR_PREFIX(1); if ( AR_WORD_LENGTH==6 ) ar_word_6(word); return; } } // // $Id$ // sphinx-2.2.11-release/src/sphinxstem.h0000644000175000017500000000625612743402012017232 0ustar alexeyalexey// // $Id$ // // // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License. You should have // received a copy of the GPL license along with this program; if you // did not, you can find it at http://www.gnu.org/ // #ifndef _sphinxstem_ #define _sphinxstem_ #include "sphinx.h" /// initialize English stemmar void stem_en_init (); /// initialize Russian stemmar void stem_ru_init (); /// stem lowercase English word void stem_en ( BYTE * pWord, int iLen ); /// stem lowercase Russian word in Windows-1251 encoding void stem_ru_cp1251 ( BYTE * pWord ); /// stem lowercase Russian word in UTF-8 encoding void stem_ru_utf8 ( WORD * pWord ); /// initialize Czech stemmer void stem_cz_init (); /// stem lowercase Czech word void stem_cz ( BYTE * pWord ); /// stem Arabic word in UTF-8 encoding void stem_ar_utf8 ( BYTE * word ); /// calculate soundex in-place if the word is lowercase English letters only; /// do nothing if it's not void stem_soundex ( BYTE * pWord ); /// double metaphone stemmer void stem_dmetaphone ( BYTE * pWord ); /// pre-init AOT setup, cache size (in bytes) void sphAotSetCacheSize ( int iCacheSize ); // simple order aot languages enum AOT_LANGS {AOT_BEGIN=0, AOT_RU=AOT_BEGIN, AOT_EN, AOT_DE, AOT_LENGTH}; // aot lemmatize names extern const char* AOT_LANGUAGES [AOT_LENGTH]; /// init AOT lemmatizer bool sphAotInit ( const CSphString & sDictFile, CSphString & sError, int iLang ); // functions below by design used in indexing time /// lemmatize (or guess a normal form) a Russian word in Windows-1251 encoding void sphAotLemmatizeRu1251 ( BYTE * pWord ); /// lemmatize (or guess a normal form) a Russian word in UTF-8 encoding, return a single "best" lemma void sphAotLemmatizeRuUTF8 ( BYTE * pWord ); /// lemmatize (or guess a normal form) a German word in Windows-1252 encoding void sphAotLemmatizeDe1252 ( BYTE * pWord ); /// lemmatize (or guess a normal form) a German word in UTF-8 encoding, return a single "best" lemma void sphAotLemmatizeDeUTF8 ( BYTE * pWord ); /// lemmatize (or guess a normal form) a word in single-byte ASCII encoding, return a single "best" lemma void sphAotLemmatize ( BYTE * pWord, int iLang ); // functions below by design used in search time /// lemmatize (or guess a normal form) a Russian word, return all lemmas void sphAotLemmatizeRu ( CSphVector & dLemmas, const BYTE * pWord ); void sphAotLemmatizeDe ( CSphVector & dLemmas, const BYTE * pWord ); void sphAotLemmatize ( CSphVector & dLemmas, const BYTE * pWord, int iLang ); /// get lemmatizer dictionary info (file name, crc) const CSphNamedInt & sphAotDictinfo ( int iLang ); /// create token filter that returns all morphological hypotheses /// NOTE, takes over wordforms from pDict, in AOT case they must be handled by the fitler class CSphTokenFilter; CSphTokenFilter * sphAotCreateFilter ( ISphTokenizer * pTokenizer, CSphDict * pDict, bool bIndexExact, DWORD uLangMask ); /// free lemmatizers on shutdown void sphAotShutdown (); #endif // _sphinxstem_ // // $Id$ // sphinx-2.2.11-release/src/sphinxstd.h0000644000175000017500000020353312743402012017051 0ustar alexeyalexey// // $Id$ // // // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License. You should have // received a copy of the GPL license along with this program; if you // did not, you can find it at http://www.gnu.org/ // #ifndef _sphinxstd_ #define _sphinxstd_ #if _MSC_VER>=1400 #define _CRT_SECURE_NO_DEPRECATE 1 #define _CRT_NONSTDC_NO_DEPRECATE 1 #endif #if _MSC_VER>=1600 #define HAVE_STDINT_H 1 #endif #if (_MSC_VER>=1000) && !defined(__midl) && defined(_PREFAST_) typedef int __declspec("SAL_nokernel") __declspec("SAL_nodriver") __prefast_flag_kernel_driver_mode; #endif #if defined(_MSC_VER) && (_MSC_VER<1400) #define vsnprintf _vsnprintf #endif #ifndef __GNUC__ #define __attribute__(x) #endif #if HAVE_CONFIG_H #include "config.h" #endif #include #include #include #include #include #include // for 64-bit types #if HAVE_STDINT_H #include #endif #if HAVE_INTTYPES_H #define __STDC_FORMAT_MACROS #include #endif #if HAVE_SYS_TYPES_H #include #endif #ifndef USE_WINDOWS #ifdef _MSC_VER #define USE_WINDOWS 1 #else #define USE_WINDOWS 0 #endif // _MSC_VER #endif #if !USE_WINDOWS #include #include #include #ifdef __FreeBSD__ #include #endif #endif ///////////////////////////////////////////////////////////////////////////// // COMPILE-TIME CHECKS ///////////////////////////////////////////////////////////////////////////// #if defined (__GNUC__) #define SPH_ATTR_UNUSED __attribute__((unused)) #else #define SPH_ATTR_UNUSED #endif #define STATIC_ASSERT(_cond,_name) typedef char STATIC_ASSERT_FAILED_ ## _name [ (_cond) ? 1 : -1 ] SPH_ATTR_UNUSED #define STATIC_SIZE_ASSERT(_type,_size) STATIC_ASSERT ( sizeof(_type)==_size, _type ## _MUST_BE_ ## _size ## _BYTES ) #ifndef __analysis_assume #define __analysis_assume(_arg) #endif /// some function arguments only need to have a name in debug builds #ifndef NDEBUG #define DEBUGARG(_arg) _arg #else #define DEBUGARG(_arg) #endif ///////////////////////////////////////////////////////////////////////////// // PORTABILITY ///////////////////////////////////////////////////////////////////////////// #if _WIN32 #define WIN32_LEAN_AND_MEAN #define NOMINMAX #include #include // for bsr #pragma intrinsic(_BitScanReverse) #define strcasecmp strcmpi #define strncasecmp _strnicmp #define snprintf _snprintf #define strtoll _strtoi64 #define strtoull _strtoui64 #else #if USE_ODBC // UnixODBC compatible DWORD #if defined(__alpha) || defined(__sparcv9) || defined(__LP64__) || (defined(__HOS_AIX__) && defined(_LP64)) || defined(__APPLE__) typedef unsigned int DWORD; #else typedef unsigned long DWORD; #endif #else // default DWORD typedef unsigned int DWORD; #endif // USE_ODBC typedef unsigned short WORD; typedef unsigned char BYTE; #endif // _WIN32 ///////////////////////////////////////////////////////////////////////////// // 64-BIT INTEGER TYPES AND MACROS ///////////////////////////////////////////////////////////////////////////// #if defined(U64C) || defined(I64C) #error "Internal 64-bit integer macros already defined." #endif #if !HAVE_STDINT_H #if defined(_MSC_VER) typedef __int64 int64_t; typedef unsigned __int64 uint64_t; #define U64C(v) v ## UI64 #define I64C(v) v ## I64 #define PRIu64 "I64d" #define PRIi64 "I64d" #else // !defined(_MSC_VER) typedef long long int64_t; typedef unsigned long long uint64_t; #endif // !defined(_MSC_VER) #endif // no stdint.h // if platform-specific macros were not supplied, use common defaults #ifndef U64C #define U64C(v) v ## ULL #endif #ifndef I64C #define I64C(v) v ## LL #endif #ifndef PRIu64 #define PRIu64 "llu" #endif #ifndef PRIi64 #define PRIi64 "lld" #endif #define UINT64_FMT "%" PRIu64 #define INT64_FMT "%" PRIi64 #ifndef UINT64_MAX #define UINT64_MAX U64C(0xffffffffffffffff) #endif #ifndef INT64_MIN #define INT64_MIN I64C(0x8000000000000000) #endif #ifndef INT64_MAX #define INT64_MAX I64C(0x7fffffffffffffff) #endif STATIC_SIZE_ASSERT ( uint64_t, 8 ); STATIC_SIZE_ASSERT ( int64_t, 8 ); // conversion macros that suppress %lld format warnings vs printf // problem is, on 64-bit Linux systems with gcc and stdint.h, int64_t is long int // and despite sizeof(long int)==sizeof(long long int)==8, gcc bitches about that // using PRIi64 instead of %lld is of course The Right Way, but ugly like fuck // so lets wrap them args in INT64() instead #define INT64(_v) ((long long int)(_v)) #define UINT64(_v) ((unsigned long long int)(_v)) ///////////////////////////////////////////////////////////////////////////// // MEMORY MANAGEMENT ///////////////////////////////////////////////////////////////////////////// #define SPH_DEBUG_LEAKS 0 #define SPH_ALLOC_FILL 0 #define SPH_ALLOCS_PROFILER 0 #define SPH_DEBUG_BACKTRACES 0 // will add not only file/line, but also full backtrace #if SPH_DEBUG_LEAKS || SPH_ALLOCS_PROFILER /// debug new that tracks memory leaks void * operator new ( size_t iSize, const char * sFile, int iLine ); /// debug new that tracks memory leaks void * operator new [] ( size_t iSize, const char * sFile, int iLine ); /// get current allocs count int sphAllocsCount (); /// total allocated bytes int64_t sphAllocBytes (); /// get last alloc id int sphAllocsLastID (); /// dump all allocs since given id void sphAllocsDump ( int iFile, int iSinceID ); /// dump stats to stdout void sphAllocsStats (); /// check all existing allocs; raises assertion failure in cases of errors void sphAllocsCheck (); void sphMemStatDump ( int iFD ); void sphMemStatMMapAdd ( int64_t iSize ); void sphMemStatMMapDel ( int64_t iSize ); #undef new #define new new(__FILE__,__LINE__) #if USE_RE2 void operator delete ( void * pPtr ) throw (); void operator delete [] ( void * pPtr ) throw (); #else /// delete for my new void operator delete ( void * pPtr ); /// delete for my new void operator delete [] ( void * pPtr ); #endif #endif // SPH_DEBUG_LEAKS || SPH_ALLOCS_PROFILER ///////////////////////////////////////////////////////////////////////////// // HELPERS ///////////////////////////////////////////////////////////////////////////// inline int sphBitCount ( DWORD n ) { // MIT HACKMEM count // works for 32-bit numbers only // fix last line for 64-bit numbers register DWORD tmp; tmp = n - ((n >> 1) & 033333333333) - ((n >> 2) & 011111111111); return ( (tmp + (tmp >> 3) ) & 030707070707) % 63; } typedef bool ( *SphDieCallback_t ) ( const char * ); /// crash with an error message, and do not have searchd watchdog attempt to resurrect void sphDie ( const char * sMessage, ... ) __attribute__ ( ( format ( printf, 1, 2 ) ) ); /// crash with an error message, but have searchd watchdog attempt to resurrect void sphDieRestart ( const char * sMessage, ... ) __attribute__ ( ( format ( printf, 1, 2 ) ) ); /// setup a callback function to call from sphDie() before exit /// if callback returns false, sphDie() will not log to stdout void sphSetDieCallback ( SphDieCallback_t pfDieCallback ); /// how much bits do we need for given int inline int sphLog2 ( uint64_t uValue ) { #if USE_WINDOWS DWORD uRes; if ( BitScanReverse ( &uRes, (DWORD)( uValue>>32 ) ) ) return 33+uRes; BitScanReverse ( &uRes, DWORD(uValue) ); return 1+uRes; #elif __GNUC__ || __clang__ if ( !uValue ) return 0; return 64 - __builtin_clzl(uValue); #else int iBits = 0; while ( uValue ) { uValue >>= 1; iBits++; } return iBits; #endif } /// float vs dword conversion inline DWORD sphF2DW ( float f ) { union { float f; DWORD d; } u; u.f = f; return u.d; } /// dword vs float conversion inline float sphDW2F ( DWORD d ) { union { float f; DWORD d; } u; u.d = d; return u.f; } /// double to bigint conversion inline uint64_t sphD2QW ( double f ) { union { double f; uint64_t d; } u; u.f = f; return u.d; } /// bigint to double conversion inline double sphQW2D ( uint64_t d ) { union { double f; uint64_t d; } u; u.d = d; return u.f; } /// microsecond precision timestamp /// current UNIX timestamp in seconds multiplied by 1000000, plus microseconds since the beginning of current second int64_t sphMicroTimer (); /// double argument squared inline double sqr ( double v ) { return v*v;} /// float argument squared inline float fsqr ( float v ) { return v*v; } ////////////////////////////////////////////////////////////////////////// // RANDOM NUMBERS GENERATOR ////////////////////////////////////////////////////////////////////////// /// seed RNG void sphSrand ( DWORD uSeed ); /// auto-seed RNG based on time and PID void sphAutoSrand (); /// generate another random DWORD sphRand (); ///////////////////////////////////////////////////////////////////////////// // DEBUGGING ///////////////////////////////////////////////////////////////////////////// #if USE_WINDOWS #ifndef NDEBUG void sphAssert ( const char * sExpr, const char * sFile, int iLine ); #undef assert #define assert(_expr) (void)( (_expr) || ( sphAssert ( #_expr, __FILE__, __LINE__ ), 0 ) ) #endif // !NDEBUG #endif // USE_WINDOWS // to avoid disappearing of _expr in release builds #ifndef NDEBUG #define Verify(_expr) assert(_expr) #else #define Verify(_expr) _expr #endif ///////////////////////////////////////////////////////////////////////////// // GENERICS ///////////////////////////////////////////////////////////////////////////// template T Min ( T a, T b ) { return a T Min ( T a, U b ) { STATIC_ASSERT ( sizeof(U)<=sizeof(T), WIDEST_ARG_FIRST ); return a T Max ( T a, T b ) { return a T Max ( T a, U b ) { STATIC_ASSERT ( sizeof(U)<=sizeof(T), WIDEST_ARG_FIRST ); return aRelease(); (_x) = NULL; } } /// swap template < typename T > inline void Swap ( T & v1, T & v2 ) { T temp = v1; v1 = v2; v2 = temp; } /// prevent copy class ISphNoncopyable { public: ISphNoncopyable () {} private: ISphNoncopyable ( const ISphNoncopyable & ) {} const ISphNoncopyable & operator = ( const ISphNoncopyable & ) { return *this; } }; ////////////////////////////////////////////////////////////////////////////// /// generic comparator template < typename T > struct SphLess_T { inline bool IsLess ( const T & a, const T & b ) const { return a < b; } }; /// generic comparator template < typename T > struct SphGreater_T { inline bool IsLess ( const T & a, const T & b ) const { return b < a; } }; /// generic comparator template < typename T, typename C > struct SphMemberLess_T { const T C::* m_pMember; explicit SphMemberLess_T ( T C::* pMember ) : m_pMember ( pMember ) {} inline bool IsLess ( const C & a, const C & b ) const { return ( (&a)->*m_pMember ) < ( (&b)->*m_pMember ); } }; template < typename T, typename C > inline SphMemberLess_T sphMemberLess ( T C::* pMember ) { return SphMemberLess_T ( pMember ); } /// generic accessor template < typename T > struct SphAccessor_T { typedef T MEDIAN_TYPE; MEDIAN_TYPE & Key ( T * a ) const { return *a; } void CopyKey ( MEDIAN_TYPE * pMed, T * pVal ) const { *pMed = Key(pVal); } void Swap ( T * a, T * b ) const { ::Swap ( *a, *b ); } T * Add ( T * p, int i ) const { return p+i; } int Sub ( T * b, T * a ) const { return (int)(b-a); } }; /// heap sort helper template < typename T, typename U, typename V > void sphSiftDown ( T * pData, int iStart, int iEnd, U COMP, V ACC ) { for ( ;; ) { int iChild = iStart*2+1; if ( iChild>iEnd ) return; int iChild1 = iChild+1; if ( iChild1<=iEnd && COMP.IsLess ( ACC.Key ( ACC.Add ( pData, iChild ) ), ACC.Key ( ACC.Add ( pData, iChild1 ) ) ) ) iChild = iChild1; if ( COMP.IsLess ( ACC.Key ( ACC.Add ( pData, iChild ) ), ACC.Key ( ACC.Add ( pData, iStart ) ) ) ) return; ACC.Swap ( ACC.Add ( pData, iChild ), ACC.Add ( pData, iStart ) ); iStart = iChild; } } /// heap sort template < typename T, typename U, typename V > void sphHeapSort ( T * pData, int iCount, U COMP, V ACC ) { if ( !pData || iCount<=1 ) return; // build a max-heap, so that the largest element is root for ( int iStart=( iCount-2 )>>1; iStart>=0; iStart-- ) sphSiftDown ( pData, iStart, iCount-1, COMP, ACC ); // now keep popping root into the end of array for ( int iEnd=iCount-1; iEnd>0; ) { ACC.Swap ( pData, ACC.Add ( pData, iEnd ) ); sphSiftDown ( pData, 0, --iEnd, COMP, ACC ); } } /// generic sort template < typename T, typename U, typename V > void sphSort ( T * pData, int iCount, U COMP, V ACC ) { if ( iCount<2 ) return; typedef T * P; // st0 and st1 are stacks with left and right bounds of array-part. // They allow us to avoid recursion in quicksort implementation. P st0[32], st1[32], a, b, i, j; typename V::MEDIAN_TYPE x; int k; const int SMALL_THRESH = 32; int iDepthLimit = sphLog2 ( iCount ); iDepthLimit = ( ( iDepthLimit<<2 ) + iDepthLimit ) >> 1; // x2.5 k = 1; st0[0] = pData; st1[0] = ACC.Add ( pData, iCount-1 ); while ( k ) { k--; i = a = st0[k]; j = b = st1[k]; // if quicksort fails on this data; switch to heapsort if ( !k ) { if ( !--iDepthLimit ) { sphHeapSort ( a, ACC.Sub ( b, a )+1, COMP, ACC ); return; } } // for tiny arrays, switch to insertion sort int iLen = ACC.Sub ( b, a ); if ( iLen<=SMALL_THRESH ) { for ( i=ACC.Add ( a, 1 ); i<=b; i=ACC.Add ( i, 1 ) ) { for ( j=i; j>a; ) { P j1 = ACC.Add ( j, -1 ); if ( COMP.IsLess ( ACC.Key(j1), ACC.Key(j) ) ) break; ACC.Swap ( j, j1 ); j = j1; } } continue; } // ATTENTION! This copy can lead to memleaks if your CopyKey // copies something which is not freed by objects destructor. ACC.CopyKey ( &x, ACC.Add ( a, iLen/2 ) ); while ( a=ACC.Sub ( b, i ) ) { if ( a void sphSort ( T * pData, int iCount, U COMP ) { sphSort ( pData, iCount, COMP, SphAccessor_T() ); } template < typename T > void sphSort ( T * pData, int iCount ) { sphSort ( pData, iCount, SphLess_T() ); } ////////////////////////////////////////////////////////////////////////// /// member functor, wraps object member access template < typename T, typename CLASS > struct SphMemberFunctor_T { const T CLASS::* m_pMember; explicit SphMemberFunctor_T ( T CLASS::* pMember ) : m_pMember ( pMember ) {} const T & operator () ( const CLASS & arg ) const { return (&arg)->*m_pMember; } inline bool IsLess ( const CLASS & a, const CLASS & b ) const { return (&a)->*m_pMember < (&b)->*m_pMember; } inline bool IsEq ( const CLASS & a, T b ) { return ( (&a)->*m_pMember )==b; } }; /// handy member functor generator /// this sugar allows you to write like this /// dArr.Sort ( bind ( &CSphType::m_iMember ) ); /// dArr.BinarySearch ( bind ( &CSphType::m_iMember ), iValue ); template < typename T, typename CLASS > inline SphMemberFunctor_T < T, CLASS > bind ( T CLASS::* ptr ) { return SphMemberFunctor_T < T, CLASS > ( ptr ); } /// identity functor template < typename T > struct SphIdentityFunctor_T { const T & operator () ( const T & arg ) const { return arg; } }; ////////////////////////////////////////////////////////////////////////// /// generic binary search template < typename T, typename U, typename PRED > T * sphBinarySearch ( T * pStart, T * pEnd, const PRED & tPred, U tRef ) { if ( !pStart || pEnd1 ) { if ( tRef T * sphBinarySearch ( T * pStart, T * pEnd, T & tRef ) { return sphBinarySearch ( pStart, pEnd, SphIdentityFunctor_T(), tRef ); } /// generic uniq template < typename T, typename T_COUNTER > T_COUNTER sphUniq ( T * pData, T_COUNTER iCount ) { if ( !iCount ) return 0; T_COUNTER iSrc = 1, iDst = 1; while ( iSrc class CSphVectorPolicy { protected: static const int MAGIC_INITIAL_LIMIT = 8; public: static inline void Copy ( T * pNew, T * pData, int iLength ) { for ( int i=0; i0 ); } return iLimit; } }; /// generic vector /// (don't even ask why it's not std::vector) template < typename T, typename POLICY=CSphVectorPolicy > class CSphVector { public: /// ctor CSphVector () : m_iLength ( 0 ) , m_iLimit ( 0 ) , m_pData ( NULL ) { } /// ctor with initial size explicit CSphVector ( int iCount ) : m_iLength ( 0 ) , m_iLimit ( 0 ) , m_pData ( NULL ) { Resize ( iCount ); } /// copy ctor CSphVector ( const CSphVector & rhs ) { m_iLength = 0; m_iLimit = 0; m_pData = NULL; *this = rhs; } /// dtor ~CSphVector () { Reset (); } /// add entry T & Add () { if ( m_iLength>=m_iLimit ) Reserve ( 1+m_iLength ); return m_pData [ m_iLength++ ]; } /// add entry void Add ( const T & tValue ) { assert ( (&tValue=(m_pData+m_iLength)) && "inserting own value (like last()) by ref!" ); if ( m_iLength>=m_iLimit ) Reserve ( 1+m_iLength ); m_pData [ m_iLength++ ] = tValue; } /// add N more entries, and return a pointer to that buffer T * AddN ( int iCount ) { if ( m_iLength + iCount > m_iLimit ) Reserve ( m_iLength + iCount ); m_iLength += iCount; return m_pData + m_iLength - iCount; } /// add unique entry (ie. do not add if equal to last one) void AddUnique ( const T & tValue ) { assert ( (&tValue=(m_pData+m_iLength)) && "inserting own value (like last()) by ref!" ); if ( m_iLength>=m_iLimit ) Reserve ( 1+m_iLength ); if ( m_iLength==0 || m_pData[m_iLength-1]!=tValue ) m_pData [ m_iLength++ ] = tValue; } /// get first entry ptr T * Begin () { return m_iLength ? m_pData : NULL; } /// get first entry ptr const T * Begin () const { return m_iLength ? m_pData : NULL; } /// get last entry T & Last () { return (*this) [ m_iLength-1 ]; } /// get last entry const T & Last () const { return (*this) [ m_iLength-1 ]; } /// remove element by index void Remove ( int iIndex ) { assert ( iIndex>=0 && iIndex=0 && iIndex bool RemoveValue ( FUNCTOR COMP, U tValue ) { for ( int i=0; i0 ); return m_pData[--m_iLength]; } public: /// grow enough to hold that much entries, if needed, but do *not* change the length void Reserve ( int iNewLimit ) { // check that we really need to be called assert ( iNewLimit>=0 ); if ( iNewLimit<=m_iLimit ) return; // calc new limit m_iLimit = POLICY::Relimit ( m_iLimit, iNewLimit ); // realloc // FIXME! optimize for POD case T * pNew = NULL; if ( m_iLimit ) pNew = new T [ m_iLimit ]; __analysis_assume ( m_iLength<=m_iLimit ); POLICY::Copy ( pNew, m_pData, m_iLength ); delete [] m_pData; m_pData = pNew; } /// resize void Resize ( int iNewLength ) { assert ( iNewLength>=0 ); if ( (unsigned int)iNewLength>(unsigned int)m_iLength ) Reserve ( iNewLength ); m_iLength = iNewLength; } /// reset void Reset () { m_iLength = 0; m_iLimit = 0; SafeDeleteArray ( m_pData ); } /// query current length, in elements inline int GetLength () const { return m_iLength; } /// query current reserved size, in elements inline int GetLimit () const { return m_iLimit; } /// query currently used RAM, in bytes inline int GetSizeBytes() const { return m_iLimit*sizeof(T); } public: /// filter unique void Uniq () { if ( !m_iLength ) return; Sort (); int iLeft = sphUniq ( m_pData, m_iLength ); Resize ( iLeft ); } /// default sort void Sort ( int iStart=0, int iEnd=-1 ) { Sort ( SphLess_T(), iStart, iEnd ); } /// default reverse sort void RSort ( int iStart=0, int iEnd=-1 ) { Sort ( SphGreater_T(), iStart, iEnd ); } /// generic sort template < typename F > void Sort ( F COMP, int iStart=0, int iEnd=-1 ) { if ( m_iLength<2 ) return; if ( iStart<0 ) iStart = m_iLength+iStart; if ( iEnd<0 ) iEnd = m_iLength+iEnd; assert ( iStart<=iEnd ); sphSort ( m_pData+iStart, iEnd-iStart+1, COMP ); } /// accessor by forward index const T & operator [] ( int iIndex ) const { assert ( iIndex>=0 && iIndex=0 && iIndex & operator = ( const CSphVector & rhs ) { Reset (); m_iLength = rhs.m_iLength; m_iLimit = rhs.m_iLimit; if ( m_iLimit ) m_pData = new T [ m_iLimit ]; __analysis_assume ( m_iLength<=m_iLimit ); for ( int i=0; i & rhs ) { Swap ( m_iLength, rhs.m_iLength ); Swap ( m_iLimit, rhs.m_iLimit ); Swap ( m_pData, rhs.m_pData ); } /// leak T * LeakData () { T * pData = m_pData; m_pData = NULL; Reset(); return pData; } /// generic binary search /// assumes that the array is sorted in ascending order template < typename U, typename PRED > const T * BinarySearch ( const PRED & tPred, U tRef ) const { return sphBinarySearch ( m_pData, m_pData+m_iLength-1, tPred, tRef ); } /// generic binary search /// assumes that the array is sorted in ascending order const T * BinarySearch ( T tRef ) const { return sphBinarySearch ( m_pData, m_pData+m_iLength-1, tRef ); } /// generic linear search bool Contains ( T tRef ) const { for ( int i=0; i bool Contains ( FUNCTOR COMP, U tValue ) { for ( int i=0; i=0 && iIndex<=m_iLength ); if ( m_iLength>=m_iLimit ) Reserve ( m_iLength+1 ); // FIXME! this will not work for SwapVector for ( int i=m_iLength-1; i>=iIndex; i-- ) m_pData [ i+1 ] = m_pData[i]; m_pData[iIndex] = tValue; m_iLength++; } protected: int m_iLength; ///< entries actually used int m_iLimit; ///< entries allocated T * m_pData; ///< entries }; #define ARRAY_FOREACH(_index,_array) \ for ( int _index=0; _index<_array.GetLength(); _index++ ) #define ARRAY_FOREACH_COND(_index,_array,_cond) \ for ( int _index=0; _index<_array.GetLength() && (_cond); _index++ ) #define ARRAY_ANY(_res,_array,_cond) \ false; \ for ( int _any=0; _any<_array.GetLength() && !_res; _any++ ) \ _res |= ( _cond ); \ #define ARRAY_ALL(_res,_array,_cond) \ true; \ for ( int _all=0; _all<_array.GetLength() && _res; _all++ ) \ _res &= ( _cond ); \ ////////////////////////////////////////////////////////////////////////// /// swap-vector policy (for non-copyable classes) /// use Swap() instead of assignment on resize template < typename T > class CSphSwapVectorPolicy : public CSphVectorPolicy { public: static inline void Copy ( T * pNew, T * pData, int iLength ) { for ( int i=0; i class CSphTightVectorPolicy : public CSphVectorPolicy { protected: static const int SLOW_GROW_TRESHOLD = 1024; public: static inline int Relimit ( int iLimit, int iNewLimit ) { if ( !iLimit ) iLimit = CSphVectorPolicy::MAGIC_INITIAL_LIMIT; while ( iLimit0 ); } while ( iLimit0 ); } return iLimit; } }; /// swap-vector template < typename T > class CSphSwapVector : public CSphVector < T, CSphSwapVectorPolicy > { }; /// tight-vector template < typename T > class CSphTightVector : public CSphVector < T, CSphTightVectorPolicy > { }; ////////////////////////////////////////////////////////////////////////// /// dynamically allocated fixed-size vector template < typename T > class CSphFixedVector : public ISphNoncopyable { protected: T * m_pData; int m_iSize; public: explicit CSphFixedVector ( int iSize ) : m_iSize ( iSize ) { assert ( iSize>=0 ); m_pData = ( iSize>0 ) ? new T [ iSize ] : NULL; } ~CSphFixedVector () { SafeDeleteArray ( m_pData ); } T & operator [] ( int iIndex ) const { assert ( iIndex>=0 && iIndex=0 ); m_pData = ( iSize>0 ) ? new T [ iSize ] : NULL; m_iSize = iSize; } int GetLength() const { return m_iSize; } int GetSizeBytes() const { return m_iSize*sizeof(T); } T * LeakData () { T * pData = m_pData; m_pData = NULL; Reset ( 0 ); return pData; } /// swap void SwapData ( CSphFixedVector & rhs ) { Swap ( m_pData, rhs.m_pData ); Swap ( m_iSize, rhs.m_iSize ); } const T * BinarySearch ( T tRef ) const { return sphBinarySearch ( m_pData, m_pData+m_iSize-1, tRef ); } }; ////////////////////////////////////////////////////////////////////////// /// simple dynamic hash /// implementation: fixed-size bucket + chaining /// keeps the order, so Iterate() return the entries in the order they was inserted /// WARNING: slow copy template < typename T, typename KEY, typename HASHFUNC, int LENGTH > class CSphOrderedHash { protected: struct HashEntry_t { KEY m_tKey; ///< key, owned by the hash T m_tValue; ///< data, owned by the hash HashEntry_t * m_pNextByHash; ///< next entry in hash list HashEntry_t * m_pPrevByOrder; ///< prev entry in the insertion order HashEntry_t * m_pNextByOrder; ///< next entry in the insertion order }; protected: HashEntry_t * m_dHash [ LENGTH ]; ///< all the hash entries HashEntry_t * m_pFirstByOrder; ///< first entry in the insertion order HashEntry_t * m_pLastByOrder; ///< last entry in the insertion order int m_iLength; ///< entries count protected: /// find entry by key HashEntry_t * FindByKey ( const KEY & tKey ) const { unsigned int uHash = ( (unsigned int) HASHFUNC::Hash ( tKey ) ) % LENGTH; HashEntry_t * pEntry = m_dHash [ uHash ]; while ( pEntry ) { if ( pEntry->m_tKey==tKey ) return pEntry; pEntry = pEntry->m_pNextByHash; } return NULL; } public: /// ctor CSphOrderedHash () : m_pFirstByOrder ( NULL ) , m_pLastByOrder ( NULL ) , m_iLength ( 0 ) , m_pIterator ( NULL ) { for ( int i=0; im_pNextByOrder; SafeDelete ( pKill ); pKill = pNext; } for ( int i=0; im_tKey==tKey ) return false; ppEntry = &pEntry->m_pNextByHash; pEntry = pEntry->m_pNextByHash; } // it's not; let's add the entry assert ( !pEntry ); assert ( !*ppEntry ); pEntry = new HashEntry_t; pEntry->m_tKey = tKey; pEntry->m_tValue = tValue; pEntry->m_pNextByHash = NULL; pEntry->m_pPrevByOrder = NULL; pEntry->m_pNextByOrder = NULL; *ppEntry = pEntry; if ( !m_pFirstByOrder ) m_pFirstByOrder = pEntry; if ( m_pLastByOrder ) { assert ( !m_pLastByOrder->m_pNextByOrder ); assert ( !pEntry->m_pNextByOrder ); m_pLastByOrder->m_pNextByOrder = pEntry; pEntry->m_pPrevByOrder = m_pLastByOrder; } m_pLastByOrder = pEntry; m_iLength++; return true; } /// add new entry /// returns the pointer to just inserted or previously cached (if dupe) value T & AddUnique ( const KEY & tKey ) { unsigned int uHash = ( (unsigned int) HASHFUNC::Hash ( tKey ) ) % LENGTH; // check if this key is already hashed HashEntry_t * pEntry = m_dHash [ uHash ]; HashEntry_t ** ppEntry = &m_dHash [ uHash ]; while ( pEntry ) { if ( pEntry->m_tKey==tKey ) return pEntry->m_tValue; ppEntry = &pEntry->m_pNextByHash; pEntry = pEntry->m_pNextByHash; } // it's not; let's add the entry assert ( !pEntry ); assert ( !*ppEntry ); pEntry = new HashEntry_t; pEntry->m_tKey = tKey; pEntry->m_pNextByHash = NULL; pEntry->m_pPrevByOrder = NULL; pEntry->m_pNextByOrder = NULL; *ppEntry = pEntry; if ( !m_pFirstByOrder ) m_pFirstByOrder = pEntry; if ( m_pLastByOrder ) { assert ( !m_pLastByOrder->m_pNextByOrder ); assert ( !pEntry->m_pNextByOrder ); m_pLastByOrder->m_pNextByOrder = pEntry; pEntry->m_pPrevByOrder = m_pLastByOrder; } m_pLastByOrder = pEntry; m_iLength++; return pEntry->m_tValue; } /// delete an entry bool Delete ( const KEY & tKey ) { unsigned int uHash = ( (unsigned int) HASHFUNC::Hash ( tKey ) ) % LENGTH; HashEntry_t * pEntry = m_dHash [ uHash ]; HashEntry_t * pPrevEntry = NULL; HashEntry_t * pToDelete = NULL; while ( pEntry ) { if ( pEntry->m_tKey==tKey ) { pToDelete = pEntry; if ( pPrevEntry ) pPrevEntry->m_pNextByHash = pEntry->m_pNextByHash; else m_dHash [ uHash ] = pEntry->m_pNextByHash; break; } pPrevEntry = pEntry; pEntry = pEntry->m_pNextByHash; } if ( !pToDelete ) return false; if ( pToDelete->m_pPrevByOrder ) pToDelete->m_pPrevByOrder->m_pNextByOrder = pToDelete->m_pNextByOrder; else m_pFirstByOrder = pToDelete->m_pNextByOrder; if ( pToDelete->m_pNextByOrder ) pToDelete->m_pNextByOrder->m_pPrevByOrder = pToDelete->m_pPrevByOrder; else m_pLastByOrder = pToDelete->m_pPrevByOrder; // step the iterator one item back - to gracefully hold deletion in iteration cycle if ( pToDelete==m_pIterator ) m_pIterator = pToDelete->m_pPrevByOrder; SafeDelete ( pToDelete ); --m_iLength; return true; } /// check if key exists bool Exists ( const KEY & tKey ) const { return FindByKey ( tKey )!=NULL; } /// get value pointer by key T * operator () ( const KEY & tKey ) const { HashEntry_t * pEntry = FindByKey ( tKey ); return pEntry ? &pEntry->m_tValue : NULL; } /// get value reference by key, asserting that the key exists in hash T & operator [] ( const KEY & tKey ) const { HashEntry_t * pEntry = FindByKey ( tKey ); assert ( pEntry && "hash missing value in operator []" ); return pEntry->m_tValue; } /// get pointer to key storage const KEY * GetKeyPtr ( const KEY & tKey ) const { HashEntry_t * pEntry = FindByKey ( tKey ); return pEntry ? &pEntry->m_tKey : NULL; } /// copying const CSphOrderedHash & operator = ( const CSphOrderedHash & rhs ) { if ( this!=&rhs ) { Reset (); rhs.IterateStart (); while ( rhs.IterateNext() ) Add ( rhs.IterateGet(), rhs.IterateGetKey() ); } return *this; } /// copying ctor CSphOrderedHash ( const CSphOrderedHash & rhs ) : m_pFirstByOrder ( NULL ) , m_pLastByOrder ( NULL ) , m_iLength ( 0 ) , m_pIterator ( NULL ) { for ( int i=0; im_pNextByOrder : m_pFirstByOrder; return m_pIterator!=NULL; } /// get entry value T & IterateGet () const { assert ( m_pIterator ); return m_pIterator->m_tValue; } /// get entry key const KEY & IterateGetKey () const { assert ( m_pIterator ); return m_pIterator->m_tKey; } /// go to next existing entry in terms of external independed iterator bool IterateNext ( void ** ppCookie ) const { HashEntry_t ** ppIterator = reinterpret_cast < HashEntry_t** > ( ppCookie ); *ppIterator = ( *ppIterator ) ? ( *ppIterator )->m_pNextByOrder : m_pFirstByOrder; return ( *ppIterator )!=NULL; } /// get entry value in terms of external independed iterator static T & IterateGet ( void ** ppCookie ) { assert ( ppCookie ); HashEntry_t ** ppIterator = reinterpret_cast < HashEntry_t** > ( ppCookie ); assert ( *ppIterator ); return ( *ppIterator )->m_tValue; } /// get entry key in terms of external independed iterator static const KEY & IterateGetKey ( void ** ppCookie ) { assert ( ppCookie ); HashEntry_t ** ppIterator = reinterpret_cast < HashEntry_t** > ( ppCookie ); assert ( *ppIterator ); return ( *ppIterator )->m_tKey; } private: /// current iterator mutable HashEntry_t * m_pIterator; }; /// very popular and so, moved here /// use integer values as hash values (like document IDs, for example) struct IdentityHash_fn { template static inline INT Hash ( INT iValue ) { return iValue; } }; ///////////////////////////////////////////////////////////////////////////// /// immutable C string proxy struct CSphString { protected: char * m_sValue; // Empty ("") string optimization. static char EMPTY[]; private: /// safety gap after the string end; for instance, UTF-8 Russian stemmer /// which treats strings as 16-bit word sequences needs this in some cases. /// note that this zero-filled gap does NOT include trailing C-string zero, /// and does NOT affect strlen() as well. static const int SAFETY_GAP = 4; public: CSphString () : m_sValue ( NULL ) { } // take a note this is not an explicit constructor // so a lot of silent constructing and deleting of strings is possible // Example: // SmallStringHash_T hHash; // ... // hHash.Exists ( "asdf" ); // implicit CSphString construction and deletion here CSphString ( const CSphString & rhs ) : m_sValue ( NULL ) { *this = rhs; } ~CSphString () { if ( m_sValue!=EMPTY ) SafeDeleteArray ( m_sValue ); } const char * cstr () const { return m_sValue; } const char * scstr() const { return m_sValue ? m_sValue : EMPTY; } inline bool operator == ( const char * t ) const { if ( !t || !m_sValue ) return ( ( !t && !m_sValue ) || ( !t && m_sValue && !*m_sValue ) || ( !m_sValue && t && !*t ) ); return strcmp ( m_sValue, t )==0; } inline bool operator == ( const CSphString & t ) const { return operator==( t.cstr() ); } inline bool operator != ( const CSphString & t ) const { return !operator==( t ); } bool operator != ( const char * t ) const { return !operator==( t ); } CSphString ( const char * sString ) // NOLINT { if ( sString ) { if ( sString[0]=='\0' ) { m_sValue = EMPTY; } else { int iLen = 1+strlen(sString); m_sValue = new char [ iLen+SAFETY_GAP ]; strcpy ( m_sValue, sString ); // NOLINT memset ( m_sValue+iLen, 0, SAFETY_GAP ); } } else { m_sValue = NULL; } } CSphString ( const char * sValue, int iLen ) : m_sValue ( NULL ) { SetBinary ( sValue, iLen ); } const CSphString & operator = ( const CSphString & rhs ) { if ( m_sValue==rhs.m_sValue ) return *this; if ( m_sValue!=EMPTY ) SafeDeleteArray ( m_sValue ); if ( rhs.m_sValue ) { if ( rhs.m_sValue[0]=='\0' ) { m_sValue = EMPTY; } else { int iLen = 1+strlen(rhs.m_sValue); m_sValue = new char [ iLen+SAFETY_GAP ]; strcpy ( m_sValue, rhs.m_sValue ); // NOLINT memset ( m_sValue+iLen, 0, SAFETY_GAP ); } } return *this; } CSphString SubString ( int iStart, int iCount ) const { #ifndef NDEBUG int iLen = strlen(m_sValue); #endif assert ( iStart>=0 && iStart0 ); assert ( (iStart+iCount)>=0 && (iStart+iCount)<=iLen ); CSphString sRes; sRes.m_sValue = new char [ 1+SAFETY_GAP+iCount ]; strncpy ( sRes.m_sValue, m_sValue+iStart, iCount ); memset ( sRes.m_sValue+iCount, 0, 1+SAFETY_GAP ); return sRes; } void SetBinary ( const char * sValue, int iLen ) { if ( m_sValue!=EMPTY ) SafeDeleteArray ( m_sValue ); if ( sValue ) { if ( sValue[0]=='\0' ) { m_sValue = EMPTY; } else { m_sValue = new char [ 1+SAFETY_GAP+iLen ]; memcpy ( m_sValue, sValue, iLen ); memset ( m_sValue+iLen, 0, 1+SAFETY_GAP ); } } } void Reserve ( int iLen ) { if ( m_sValue!=EMPTY ) SafeDeleteArray ( m_sValue ); m_sValue = new char [ 1+SAFETY_GAP+iLen ]; memset ( m_sValue, 0, 1+SAFETY_GAP+iLen ); } const CSphString & SetSprintf ( const char * sTemplate, ... ) __attribute__ ( ( format ( printf, 2, 3 ) ) ) { char sBuf[1024]; va_list ap; va_start ( ap, sTemplate ); vsnprintf ( sBuf, sizeof(sBuf), sTemplate, ap ); va_end ( ap ); (*this) = sBuf; return (*this); } const CSphString & SetSprintfVa ( const char * sTemplate, va_list ap ) { char sBuf[1024]; vsnprintf ( sBuf, sizeof(sBuf), sTemplate, ap ); (*this) = sBuf; return (*this); } bool IsEmpty () const { if ( !m_sValue ) return true; return ( (*m_sValue)=='\0' ); } CSphString & ToLower () { if ( m_sValue ) for ( char * s=m_sValue; *s; s++ ) *s = (char) tolower ( *s ); return *this; } CSphString & ToUpper () { if ( m_sValue ) for ( char * s=m_sValue; *s; s++ ) *s = (char) toupper ( *s ); return *this; } void Swap ( CSphString & rhs ) { ::Swap ( m_sValue, rhs.m_sValue ); } bool Begins ( const char * sPrefix ) const { if ( !m_sValue || !sPrefix ) return false; return strncmp ( m_sValue, sPrefix, strlen(sPrefix) )==0; } bool Ends ( const char * sSuffix ) const { if ( !m_sValue || !sSuffix ) return false; int iVal = strlen ( m_sValue ); int iSuffix = strlen ( sSuffix ); if ( iVal=0 && iPrinted=iLeft ) Grow ( iLen - iLeft + 64 ); memcpy ( m_sBuffer+m_iUsed, sText, iLen+1 ); m_iUsed += iLen; return *this; } const CSphStringBuilder & operator = ( const CSphStringBuilder & rhs ) { if ( this!=&rhs ) { m_iUsed = rhs.m_iUsed; m_iSize = rhs.m_iSize; SafeDeleteArray ( m_sBuffer ); m_sBuffer = new char [ m_iSize ]; memcpy ( m_sBuffer, rhs.m_sBuffer, m_iUsed+1 ); } return *this; } // FIXME? move escaping to another place void AppendEscaped ( const char * sText, bool bEscape=true, bool bFixupSpace=true ) { if ( !sText || !*sText ) return; const char * pBuf = sText; int iEsc = 0; for ( ; *pBuf; ) { char s = *pBuf++; iEsc = ( bEscape && ( s=='\\' || s=='\'' ) ) ? ( iEsc+1 ) : iEsc; } int iLen = pBuf - sText + iEsc; int iLeft = m_iSize - m_iUsed; if ( iLen>=iLeft ) Grow ( iLen - iLeft + 64 ); pBuf = sText; char * pCur = m_sBuffer+m_iUsed; for ( ; *pBuf; ) { char s = *pBuf++; if ( bEscape && ( s=='\\' || s=='\'' ) ) { *pCur++ = '\\'; *pCur++ = s; } else if ( bFixupSpace && ( s==' ' || s=='\t' || s=='\n' || s=='\r' ) ) { *pCur++ = ' '; } else { *pCur++ = s; } } *pCur = '\0'; m_iUsed = pCur-m_sBuffer; } private: void Grow ( int iLen ) { m_iSize += iLen; char * pNew = new char [ m_iSize ]; memcpy ( pNew, m_sBuffer, m_iUsed+1 ); Swap ( pNew, m_sBuffer ); SafeDeleteArray ( pNew ); } }; ///////////////////////////////////////////////////////////////////////////// /// immutable string/int/float variant list proxy /// used in config parsing struct CSphVariant { protected: CSphString m_sValue; int m_iValue; int64_t m_i64Value; float m_fValue; public: CSphVariant * m_pNext; // tags are used for handling multiple same keys bool m_bTag; // 'true' means override - no multi-valued; 'false' means multi-valued - chain them int m_iTag; // stores order like in config file public: /// default ctor CSphVariant () : m_iValue ( 0 ) , m_i64Value ( 0 ) , m_fValue ( 0.0f ) , m_pNext ( NULL ) , m_bTag ( false ) , m_iTag ( 0 ) { } /// ctor from C string CSphVariant ( const char * sString, int iTag ) : m_sValue ( sString ) , m_iValue ( sString ? atoi ( sString ) : 0 ) , m_i64Value ( sString ? (int64_t)strtoull ( sString, NULL, 10 ) : 0 ) , m_fValue ( sString ? (float)atof ( sString ) : 0.0f ) , m_pNext ( NULL ) , m_bTag ( false ) , m_iTag ( iTag ) { } /// copy ctor CSphVariant ( const CSphVariant & rhs ) { m_pNext = NULL; *this = rhs; } /// default dtor /// WARNING: automatically frees linked items! ~CSphVariant () { SafeDelete ( m_pNext ); } const char * cstr() const { return m_sValue.cstr(); } const CSphString & strval () const { return m_sValue; } int intval () const { return m_iValue; } int64_t int64val () const { return m_i64Value; } float floatval () const { return m_fValue; } /// default copy operator const CSphVariant & operator = ( const CSphVariant & rhs ) { assert ( !m_pNext ); if ( rhs.m_pNext ) m_pNext = new CSphVariant ( *rhs.m_pNext ); m_sValue = rhs.m_sValue; m_iValue = rhs.m_iValue; m_i64Value = rhs.m_i64Value; m_fValue = rhs.m_fValue; m_bTag = rhs.m_bTag; m_iTag = rhs.m_iTag; return *this; } bool operator== ( const char * s ) const { return m_sValue==s; } bool operator!= ( const char * s ) const { return m_sValue!=s; } }; ////////////////////////////////////////////////////////////////////////// /// name+int pair struct CSphNamedInt { CSphString m_sName; int m_iValue; CSphNamedInt () : m_iValue ( 0 ) {} }; inline void Swap ( CSphNamedInt & a, CSphNamedInt & b ) { a.m_sName.Swap ( b.m_sName ); Swap ( a.m_iValue, b.m_iValue ); } ///////////////////////////////////////////////////////////////////////////// /// string hash function struct CSphStrHashFunc { static int Hash ( const CSphString & sKey ); }; /// small hash with string keys template < typename T > class SmallStringHash_T : public CSphOrderedHash < T, CSphString, CSphStrHashFunc, 256 > {}; ////////////////////////////////////////////////////////////////////////// /// pointer with automatic safe deletion when going out of scope template < typename T > class CSphScopedPtr : public ISphNoncopyable { public: explicit CSphScopedPtr ( T * pPtr ) { m_pPtr = pPtr; } ~CSphScopedPtr () { SafeDelete ( m_pPtr ); } T * operator -> () const { return m_pPtr; } T * Ptr () const { return m_pPtr; } CSphScopedPtr & operator = ( T * pPtr ) { SafeDelete ( m_pPtr ); m_pPtr = pPtr; return *this; } T * LeakPtr () { T * pPtr = m_pPtr; m_pPtr = NULL; return pPtr; } void Reset () { SafeDelete ( m_pPtr ); } protected: T * m_pPtr; }; ////////////////////////////////////////////////////////////////////////// /// refcounted base /// WARNING, FOR SINGLE-THREADED USE ONLY struct ISphRefcounted : public ISphNoncopyable { protected: ISphRefcounted () : m_iRefCount ( 1 ) {} virtual ~ISphRefcounted () {} public: void AddRef () const { m_iRefCount++; } void Release () const { --m_iRefCount; assert ( m_iRefCount>=0 ); if ( m_iRefCount==0 ) delete this; } protected: mutable int m_iRefCount; }; /// automatic pointer wrapper for refcounted objects /// construction from or assignment of a raw pointer takes over (!) the ownership template < typename T > class CSphRefcountedPtr { public: explicit CSphRefcountedPtr () { m_pPtr = NULL; } ///< default NULL wrapper construction (for vectors) explicit CSphRefcountedPtr ( T * pPtr ) { m_pPtr = pPtr; } ///< construction from raw pointer, takes over ownership! ~CSphRefcountedPtr () { if ( m_pPtr ) m_pPtr->Release(); } T * Ptr () const { return m_pPtr; } T * operator -> () const { return m_pPtr; } bool operator ! () const { return m_pPtr==NULL; } public: /// assignment of a raw pointer, takes over ownership! CSphRefcountedPtr & operator = ( T * pPtr ) { if ( m_pPtr && m_pPtr!=pPtr ) m_pPtr->Release(); m_pPtr = pPtr; return *this; } /// wrapper assignment, does automated reference tracking CSphRefcountedPtr & operator = ( const CSphRefcountedPtr & rhs ) { if ( rhs.m_pPtr ) rhs.m_pPtr->AddRef(); if ( m_pPtr ) m_pPtr->Release(); m_pPtr = rhs.m_pPtr; return *this; } protected: T * m_pPtr; }; ////////////////////////////////////////////////////////////////////////// // parent process for forked children extern bool g_bHeadProcess; void sphWarn ( const char *, ... ) __attribute__ ( ( format ( printf, 1, 2 ) ) ); void SafeClose ( int & iFD ); /// open file for reading int sphOpenFile ( const char * sFile, CSphString & sError ); /// return size of file descriptor int64_t sphGetFileSize ( int iFD, CSphString & sError ); /// buffer trait that neither own buffer nor clean-up it on destroy template < typename T > class CSphBufferTrait : public ISphNoncopyable { public: /// ctor CSphBufferTrait () : m_pData ( NULL ) , m_iCount ( 0 ) { } /// dtor virtual ~CSphBufferTrait () {} /// accessor inline const T & operator [] ( int64_t iIndex ) const { assert ( iIndex>=0 && iIndex class CSphSharedBuffer : public CSphBufferTrait < T > { public: /// ctor CSphSharedBuffer () { m_bMlock = false; } /// dtor virtual ~CSphSharedBuffer () { Reset (); } /// set locking mode for subsequent Alloc()s void SetMlock ( bool bMlock ) { m_bMlock = bMlock; } public: /// allocate storage #if USE_WINDOWS bool Alloc ( int64_t iEntries, CSphString & sError, CSphString & ) #else bool Alloc ( int64_t iEntries, CSphString & sError, CSphString & sWarning ) #endif { assert ( !this->GetWritePtr() ); int64_t uCheck = sizeof(T); uCheck *= iEntries; int64_t iLength = (size_t)uCheck; if ( uCheck!=iLength ) { sError.SetSprintf ( "impossible to mmap() over 4 GB on 32-bit system" ); return false; } #if USE_WINDOWS T * pData = new T [ (size_t)iEntries ]; #else T * pData = (T *) mmap ( NULL, iLength, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANON, -1, 0 ); if ( pData==MAP_FAILED ) { if ( iLength>(int64_t)0x7fffffffUL ) sError.SetSprintf ( "mmap() failed: %s (length=" INT64_FMT " is over 2GB, impossible on some 32-bit systems)", strerror(errno), iLength ); else sError.SetSprintf ( "mmap() failed: %s (length=" INT64_FMT ")", strerror(errno), iLength ); return false; } if ( m_bMlock ) if ( -1==mlock ( pData, iLength ) ) sWarning.SetSprintf ( "mlock() failed: %s", strerror(errno) ); #if SPH_ALLOCS_PROFILER sphMemStatMMapAdd ( iLength ); #endif #endif // USE_WINDOWS assert ( pData ); this->Set ( pData, iEntries ); return true; } /// relock again (for daemonization only) #if USE_WINDOWS bool Mlock ( const char *, CSphString & ) { return true; } #else bool Mlock ( const char * sPrefix, CSphString & sError ) { if ( !m_bMlock ) return true; if ( mlock ( this->GetWritePtr(), this->GetLengthBytes() )!=-1 ) return true; if ( sError.IsEmpty() ) sError.SetSprintf ( "%s mlock() failed: bytes=" INT64_FMT ", error=%s", sPrefix, (int64_t)this->GetLengthBytes(), strerror(errno) ); else sError.SetSprintf ( "%s; %s mlock() failed: bytes=" INT64_FMT ", error=%s", sError.cstr(), sPrefix, (int64_t)this->GetLengthBytes(), strerror(errno) ); return false; } #endif /// deallocate storage void Reset () { if ( !this->GetWritePtr() ) return; #if USE_WINDOWS delete [] this->GetWritePtr(); #else int iRes = munmap ( this->GetWritePtr(), this->GetLengthBytes() ); if ( iRes ) sphWarn ( "munmap() failed: %s", strerror(errno) ); #if SPH_ALLOCS_PROFILER sphMemStatMMapDel ( this->GetLengthBytes() ); #endif #endif // USE_WINDOWS this->Set ( NULL, 0 ); } public: void Swap ( CSphSharedBuffer & tBuf ) { ::Swap ( this->m_pData, tBuf.m_pData ); ::Swap ( this->m_iCount, tBuf.m_iCount ); ::Swap ( m_bMlock, tBuf.m_bMlock ); } protected: bool m_bMlock; ///< whether to lock data in RAM }; ////////////////////////////////////////////////////////////////////////// template < typename T > class CSphMappedBuffer : public CSphBufferTrait < T > { public: /// ctor CSphMappedBuffer () { #if USE_WINDOWS m_iFD = INVALID_HANDLE_VALUE; #else m_iFD = -1; #endif } /// dtor virtual ~CSphMappedBuffer () { Close(); } bool Setup ( const char * sFile, CSphString & sError ) { #if USE_WINDOWS assert ( m_iFD==INVALID_HANDLE_VALUE ); #else assert ( m_iFD==-1 ); #endif assert ( !this->GetWritePtr() && !this->GetNumEntries() ); T * pData = NULL; int64_t iCount = 0; #if USE_WINDOWS HANDLE iFD = CreateFile ( sFile, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_READONLY, 0 ); if ( iFD==INVALID_HANDLE_VALUE ) { sError.SetSprintf ( "failed to open file '%s' (errno %d)", sFile, ::GetLastError() ); return false; } m_iFD = iFD; LARGE_INTEGER tLen; if ( GetFileSizeEx ( iFD, &tLen )==0 ) { sError.SetSprintf ( "failed to fstat file '%s' (errno %d)", sFile, ::GetLastError() ); Close(); return false; } // FIXME!!! report abount tail, ie m_iLen*sizeof(T)!=tLen.QuadPart iCount = tLen.QuadPart / sizeof(T); // mmap fails to map zero-size file if ( tLen.QuadPart>0 ) { HANDLE hFile = ::CreateFileMapping ( iFD, NULL, PAGE_READONLY, 0, 0, NULL ); pData = (T *)::MapViewOfFile ( hFile, FILE_MAP_READ, 0, 0, 0 ); if ( !pData ) { sError.SetSprintf ( "failed to map file '%s': (errno %d, length=" INT64_FMT ")", sFile, ::GetLastError(), (int64_t)tLen.QuadPart ); Close(); return false; } } #else int iFD = sphOpenFile ( sFile, sError ); if ( iFD<0 ) return false; m_iFD = iFD; int64_t iFileSize = sphGetFileSize ( iFD, sError ); if ( iFileSize<0 ) return false; // FIXME!!! report abount tail, ie m_iLen*sizeof(T)!=st.st_size iCount = iFileSize / sizeof(T); // mmap fails to map zero-size file if ( iFileSize>0 ) { pData = (T *)mmap ( NULL, iFileSize, PROT_READ, MAP_PRIVATE, iFD, 0 ); if ( pData==MAP_FAILED ) { sError.SetSprintf ( "failed to mmap file '%s': %s (length=" INT64_FMT ")", sFile, strerror(errno), iFileSize ); Close(); return false; } } #endif this->Set ( pData, iCount ); return true; } void Close () { #if USE_WINDOWS if ( this->GetWritePtr() ) ::UnmapViewOfFile ( this->GetWritePtr() ); if ( m_iFD!=INVALID_HANDLE_VALUE ) ::CloseHandle ( m_iFD ); m_iFD = INVALID_HANDLE_VALUE; #else if ( this->GetWritePtr() ) ::munmap ( this->GetWritePtr(), this->GetLengthBytes() ); SafeClose ( m_iFD ); #endif this->Set ( NULL, 0 ); } private: #if USE_WINDOWS HANDLE m_iFD; #else int m_iFD; #endif }; ////////////////////////////////////////////////////////////////////////// extern int g_iThreadStackSize; /// my thread handle and thread func magic #if USE_WINDOWS typedef HANDLE SphThread_t; typedef DWORD SphThreadKey_t; #else typedef pthread_t SphThread_t; typedef pthread_key_t SphThreadKey_t; #endif /// my threading initialize routine void * sphThreadInit ( bool bDetached=false ); /// my threading deinitialize routine void sphThreadDone ( int iFD ); /// my create thread wrapper bool sphThreadCreate ( SphThread_t * pThread, void (*fnThread)(void*), void * pArg, bool bDetached=false ); /// my join thread wrapper bool sphThreadJoin ( SphThread_t * pThread ); /// add (cleanup) callback to run on thread exit void sphThreadOnExit ( void (*fnCleanup)(void*), void * pArg ); /// alloc thread-local key bool sphThreadKeyCreate ( SphThreadKey_t * pKey ); /// free thread-local key void sphThreadKeyDelete ( SphThreadKey_t tKey ); /// get thread-local key value void * sphThreadGet ( SphThreadKey_t tKey ); /// get the pointer to my thread's stack void * sphMyStack (); /// get size of used stack int64_t sphGetStackUsed(); /// set the size of my thread's stack void sphSetMyStackSize ( int iStackSize ); /// store the address in the TLS void MemorizeStack ( void* PStack ); /// set thread-local key value bool sphThreadSet ( SphThreadKey_t tKey, void * pValue ); #if !USE_WINDOWS /// what kind of threading lib do we have? The number of frames in the stack depends from it bool sphIsLtLib(); #endif ////////////////////////////////////////////////////////////////////////// /// mutex implementation class CSphMutex { public: CSphMutex () : m_bInitialized ( false ) {} ~CSphMutex () { assert ( !m_bInitialized ); } bool Init (); bool Done (); bool Lock (); bool Unlock (); protected: bool m_bInitialized; #if USE_WINDOWS HANDLE m_hMutex; #else pthread_mutex_t m_tMutex; public: inline pthread_mutex_t* GetInternalMutex() { return &m_tMutex; } #endif }; // event implementation class CSphAutoEvent { public: CSphAutoEvent () {} ~CSphAutoEvent() {} bool Init ( CSphMutex * pMutex ); bool Done(); void SetEvent(); bool WaitEvent(); protected: bool m_bInitialized; bool m_bSent; #if USE_WINDOWS HANDLE m_hEvent; #else pthread_cond_t m_tCond; pthread_mutex_t* m_pMutex; #endif }; /// static mutex (for globals) class CSphStaticMutex : private CSphMutex { public: CSphStaticMutex() { Verify ( Init() ); } ~CSphStaticMutex() { Done(); } bool Lock () { return CSphMutex::Lock(); } bool Unlock () { return CSphMutex::Unlock(); } }; /// scoped mutex lock template < typename T > class CSphScopedLock : ISphNoncopyable { public: /// lock on creation explicit CSphScopedLock ( T & tMutex ) : m_tMutexRef ( tMutex ) { m_tMutexRef.Lock(); } /// unlock on going out of scope ~CSphScopedLock () { m_tMutexRef.Unlock (); } protected: T & m_tMutexRef; }; /// scoped locked shared variable template < typename LOCK > class CSphScopedLockedShare : public CSphScopedLock { public: /// lock on creation explicit CSphScopedLockedShare ( LOCK & tMutex ) : CSphScopedLock ( tMutex ) {} template inline T& SharedValue() { return *(T*)( this->m_tMutexRef.GetSharedData() ); } }; /// rwlock implementation class CSphRwlock : public ISphNoncopyable { public: CSphRwlock (); ~CSphRwlock () {} bool Init ( bool bProcessShared = false ); bool Done (); const char * GetError () const; bool ReadLock (); bool WriteLock (); bool Unlock (); private: bool m_bInitialized; CSphString m_sError; #if USE_WINDOWS HANDLE m_hWriteMutex; HANDLE m_hReadEvent; LONG m_iReaders; #else pthread_rwlock_t m_tLock; #endif }; /// scoped RW lock class CSphScopedRWLock : ISphNoncopyable { public: /// lock on creation CSphScopedRWLock ( CSphRwlock & tLock, bool bRead ) : m_tLock ( tLock ) { if ( bRead ) m_tLock.ReadLock(); else m_tLock.WriteLock(); } /// unlock on going out of scope ~CSphScopedRWLock () { m_tLock.Unlock (); } protected: CSphRwlock & m_tLock; }; /// process-shared mutex that survives fork class CSphProcessSharedMutex { public: explicit CSphProcessSharedMutex ( int iExtraSize=0 ); ~CSphProcessSharedMutex(); // not virtual for now. void Lock (); void Unlock (); bool TimedLock ( int tmSpin ) const; // wait at least tmSpin microseconds the lock will available const char * GetError () const; BYTE * GetSharedData() const; protected: #if !USE_WINDOWS CSphSharedBuffer m_pStorage; #ifdef __FreeBSD__ sem_t * m_pMutex; #else pthread_mutex_t * m_pMutex; #endif CSphString m_sError; #else CSphMutex m_tLock; #endif }; #if !USE_WINDOWS /// process-shared mutex variable that survives fork template < typename T > class CSphProcessSharedVariable : protected CSphProcessSharedMutex, public ISphNoncopyable { public: explicit CSphProcessSharedVariable ( const T& tInitValue ) : CSphProcessSharedMutex ( sizeof(T) ) , m_pValue ( NULL ) { if ( m_pMutex ) { m_pValue = reinterpret_cast ( GetSharedData() ); *m_pValue = tInitValue; } } T ReadValue() { if ( !m_pValue ) return 0; Lock(); T val = *m_pValue; Unlock(); return val; } void WriteValue ( const T& tNewValue ) { if ( !m_pValue ) return; Lock(); *m_pValue = tNewValue; Unlock(); } protected: T * m_pValue; }; #endif // #if !USE_WINDOWS #if USE_WINDOWS #pragma warning(push,1) #pragma warning(disable:4701) #endif #if USE_WINDOWS #pragma warning(pop) #endif ////////////////////////////////////////////////////////////////////////// /// generic dynamic bitvector /// with a preallocated part for small-size cases, and a dynamic route for big-size ones class CSphBitvec { protected: DWORD * m_pData; DWORD m_uStatic[4]; int m_iElements; public: CSphBitvec () : m_pData ( NULL ) , m_iElements ( 0 ) {} explicit CSphBitvec ( int iElements ) { Init ( iElements ); } ~CSphBitvec () { if ( m_pData!=m_uStatic ) SafeDeleteArray ( m_pData ); } // huh, no copy ctor and operator= ? void Init ( int iElements ) { assert ( iElements>=0 ); m_iElements = iElements; if ( iElements > int(sizeof(m_uStatic)*8) ) { int iSize = GetSize(); m_pData = new DWORD [ iSize ]; } else { m_pData = m_uStatic; } Clear(); } void Clear () { int iSize = GetSize(); memset ( m_pData, 0, sizeof(DWORD)*iSize ); } bool BitGet ( int iIndex ) const { assert ( m_pData ); assert ( iIndex>=0 ); assert ( iIndex>5 ] & ( 1UL<<( iIndex&31 ) ) )!=0; // NOLINT } void BitSet ( int iIndex ) { assert ( iIndex>=0 ); assert ( iIndex>5 ] |= ( 1UL<<( iIndex&31 ) ); // NOLINT } void BitClear ( int iIndex ) { assert ( iIndex>=0 ); assert ( iIndex>5 ] &= ~( 1UL<<( iIndex&31 ) ); // NOLINT } const DWORD * Begin () const { return m_pData; } DWORD * Begin () { return m_pData; } int GetSize() const { return (m_iElements+31)/32; } int GetBits() const { return m_iElements; } int BitCount () const { int iBitSet = 0; for ( int i=0; i class CSphAtomic : public ISphNoncopyable { volatile INT m_iValue; #if NO_ATOMIC CSphMutex m_tLock; #endif public: CSphAtomic ( INT iValue=0 ) : m_iValue ( iValue ) { #if NO_ATOMIC m_tLock.Init(); #endif } ~CSphAtomic () { #if NO_ATOMIC m_tLock.Done(); #endif } #ifdef HAVE_SYNC_FETCH operator INT() { return __sync_fetch_and_add ( &m_iValue, 0 ); } // return value here is original value, prior to operation took place inline INT Inc() { return __sync_fetch_and_add ( &m_iValue, 1 ); } inline INT Dec() { return __sync_fetch_and_sub ( &m_iValue, 1 ); } #elif USE_WINDOWS operator INT(); INT Inc(); INT Dec(); #endif #if NO_ATOMIC operator INT() { CSphScopedLock tLock ( m_tLock ); return m_iValue; } inline INT Inc() { CSphScopedLock tLock ( m_tLock ); return m_iValue++; } inline INT Dec() { CSphScopedLock tLock ( m_tLock ); return m_iValue--; } #endif }; /// MT-aware refcounted base (might be a mutex protected and slow) struct ISphRefcountedMT : public ISphNoncopyable { protected: ISphRefcountedMT () : m_iRefCount ( 1 ) {} virtual ~ISphRefcountedMT () {} public: void AddRef () const { m_iRefCount.Inc(); } void Release () const { long uRefs = m_iRefCount.Dec(); assert ( uRefs>=1 ); if ( uRefs==1 ) delete this; } protected: mutable CSphAtomic m_iRefCount; }; #endif // _sphinxstd_ // // $Id$ // sphinx-2.2.11-release/src/sphinxstd.cpp0000644000175000017500000013112312743402012017377 0ustar alexeyalexey// // $Id$ // // // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License. You should have // received a copy of the GPL license along with this program; if you // did not, you can find it at http://www.gnu.org/ // #include "sphinx.h" #include "sphinxint.h" #include "sphinxutils.h" #if !USE_WINDOWS #include // for gettimeofday // define this if you want to run gprof over the threads model - to track children threads also. #define USE_GPROF 0 #endif int g_iThreadStackSize = 1024*1024; ////////////////////////////////////////////////////////////////////////// char CSphString::EMPTY[] = ""; #if USE_WINDOWS #ifndef NDEBUG void sphAssert ( const char * sExpr, const char * sFile, int iLine ) { char sBuffer [ 1024 ]; _snprintf ( sBuffer, sizeof(sBuffer), "%s(%d): assertion %s failed\n", sFile, iLine, sExpr ); if ( MessageBox ( NULL, sBuffer, "Assert failed! Cancel to debug.", MB_OKCANCEL | MB_TOPMOST | MB_SYSTEMMODAL | MB_ICONEXCLAMATION )!=IDOK ) { __debugbreak (); } else { fprintf ( stdout, "%s", sBuffer ); exit ( 1 ); } } #endif // !NDEBUG #endif // USE_WINDOWS ///////////////////////////////////////////////////////////////////////////// // DEBUG MEMORY MANAGER ///////////////////////////////////////////////////////////////////////////// #if SPH_DEBUG_LEAKS #undef new #define SPH_DEBUG_DOFREE 1 // 0 will not actually free returned blocks; helps to catch double deletes etc const DWORD MEMORY_MAGIC_PLAIN = 0xbbbbbbbbUL; const DWORD MEMORY_MAGIC_ARRAY = 0xaaaaaaaaUL; const DWORD MEMORY_MAGIC_END = 0xeeeeeeeeUL; const DWORD MEMORY_MAGIC_DELETED = 0xdedededeUL; struct CSphMemHeader { DWORD m_uMagic; const char * m_sFile; #if SPH_DEBUG_BACKTRACES const char * m_sBacktrace; #endif int m_iLine; size_t m_iSize; int m_iAllocId; BYTE * m_pPointer; CSphMemHeader * m_pNext; CSphMemHeader * m_pPrev; }; static CSphStaticMutex g_tAllocsMutex; static int g_iCurAllocs = 0; static int g_iAllocsId = 0; static CSphMemHeader * g_pAllocs = NULL; static int64_t g_iCurBytes = 0; static int g_iTotalAllocs = 0; static int g_iPeakAllocs = 0; static int64_t g_iPeakBytes = 0; #if SPH_ALLOC_FILL static bool g_bFirstRandomAlloc = true; #endif void * sphDebugNew ( size_t iSize, const char * sFile, int iLine, bool bArray ) { BYTE * pBlock = (BYTE*) ::malloc ( iSize+sizeof(CSphMemHeader)+sizeof(DWORD) ); if ( !pBlock ) sphDie ( "out of memory (unable to allocate " UINT64_FMT " bytes)", (uint64_t)iSize ); // FIXME! this may fail with malloc error too *(DWORD*)( pBlock+iSize+sizeof(CSphMemHeader) ) = MEMORY_MAGIC_END; g_tAllocsMutex.Lock(); CSphMemHeader * pHeader = (CSphMemHeader*) pBlock; pHeader->m_uMagic = bArray ? MEMORY_MAGIC_ARRAY : MEMORY_MAGIC_PLAIN; pHeader->m_sFile = sFile; #if SPH_ALLOC_FILL if ( g_bFirstRandomAlloc ) { sphAutoSrand(); g_bFirstRandomAlloc = false; } BYTE * pBlockPtr = (BYTE*)(pHeader+1); for ( size_t i = 0; i < iSize; i++ ) *pBlockPtr++ = BYTE(sphRand () & 0xFF); #endif #if SPH_DEBUG_BACKTRACES const char * sTrace = DoBacktrace ( 0, 3 ); if ( sTrace ) { char * pTrace = (char*) ::malloc ( strlen(sTrace) + 1 ); strcpy ( pTrace, sTrace ); //NOLINT pHeader->m_sBacktrace = pTrace; } else pHeader->m_sBacktrace = NULL; #endif pHeader->m_iLine = iLine; pHeader->m_iSize = iSize; pHeader->m_iAllocId = ++g_iAllocsId; pHeader->m_pPointer = pBlock; pHeader->m_pNext = g_pAllocs; pHeader->m_pPrev = NULL; if ( g_pAllocs ) { assert ( !g_pAllocs->m_pPrev ); g_pAllocs->m_pPrev = pHeader; } g_pAllocs = pHeader; g_iCurAllocs++; g_iCurBytes += iSize; g_iTotalAllocs++; g_iPeakAllocs = Max ( g_iPeakAllocs, g_iCurAllocs ); g_iPeakBytes = Max ( g_iPeakBytes, g_iCurBytes ); g_tAllocsMutex.Unlock(); return pHeader+1; } void sphDebugDelete ( void * pPtr, bool bArray ) { if ( !pPtr ) return; g_tAllocsMutex.Lock(); CSphMemHeader * pHeader = ((CSphMemHeader*)pPtr)-1; switch ( pHeader->m_uMagic ) { case MEMORY_MAGIC_ARRAY: if ( !bArray ) sphDie ( "delete [] on non-array block %d allocated at %s(%d)", pHeader->m_iAllocId, pHeader->m_sFile, pHeader->m_iLine ); break; case MEMORY_MAGIC_PLAIN: if ( bArray ) sphDie ( "delete on array block %d allocated at %s(%d)", pHeader->m_iAllocId, pHeader->m_sFile, pHeader->m_iLine ); break; case MEMORY_MAGIC_DELETED: sphDie ( "double delete on block %d allocated at %s(%d)", pHeader->m_iAllocId, pHeader->m_sFile, pHeader->m_iLine ); break; default: sphDie ( "delete on unmanaged block at 0x%08x", pPtr ); return; } BYTE * pBlock = (BYTE*) pHeader; if ( *(DWORD*)( pBlock+pHeader->m_iSize+sizeof(CSphMemHeader) )!=MEMORY_MAGIC_END ) sphDie ( "out-of-bounds write beyond block %d allocated at %s(%d)", pHeader->m_iAllocId, pHeader->m_sFile, pHeader->m_iLine ); // unchain if ( pHeader==g_pAllocs ) g_pAllocs = g_pAllocs->m_pNext; if ( pHeader->m_pPrev ) { assert ( pHeader->m_pPrev->m_uMagic==MEMORY_MAGIC_PLAIN || pHeader->m_pPrev->m_uMagic==MEMORY_MAGIC_ARRAY ); pHeader->m_pPrev->m_pNext = pHeader->m_pNext; } if ( pHeader->m_pNext ) { assert ( pHeader->m_pNext->m_uMagic==MEMORY_MAGIC_PLAIN || pHeader->m_pNext->m_uMagic==MEMORY_MAGIC_ARRAY ); pHeader->m_pNext->m_pPrev = pHeader->m_pPrev; } pHeader->m_pPrev = NULL; pHeader->m_pNext = NULL; // mark and delete pHeader->m_uMagic = MEMORY_MAGIC_DELETED; g_iCurAllocs--; g_iCurBytes -= pHeader->m_iSize; #if SPH_DEBUG_BACKTRACES if ( pHeader->m_sBacktrace ) ::free ( (void*) pHeader->m_sBacktrace ); #endif #if SPH_DEBUG_DOFREE ::free ( pHeader ); #endif g_tAllocsMutex.Unlock(); } int64_t sphAllocBytes () { return g_iCurBytes; } int sphAllocsCount () { return g_iCurAllocs; } int sphAllocsLastID () { return g_iAllocsId; } void sphAllocsDump ( int iFile, int iSinceID ) { g_tAllocsMutex.Lock(); sphSafeInfo ( iFile, "--- dumping allocs since %d ---\n", iSinceID ); uint64_t iTotalBytes = 0; int iTotal = 0; for ( CSphMemHeader * pHeader = g_pAllocs; pHeader && pHeader->m_iAllocId > iSinceID; pHeader = pHeader->m_pNext ) { sphSafeInfo ( iFile, "alloc %d at %s(%d): 0x%0p %d bytes\n", pHeader->m_iAllocId, pHeader->m_sFile, pHeader->m_iLine, pHeader->m_pPointer, (int)pHeader->m_iSize ); #if SPH_DEBUG_BACKTRACES sphSafeInfo ( iFile, "Backtrace:\n%s\n", pHeader->m_sBacktrace ); #endif iTotalBytes += pHeader->m_iSize; iTotal++; } sphSafeInfo ( iFile, "total allocs %d: %d.%03d bytes", iTotal, (int)(iTotalBytes/1024), (int)(iTotalBytes%1000) ); sphSafeInfo ( iFile, "--- end of dump ---\n" ); g_tAllocsMutex.Unlock(); } void sphAllocsStats () { fprintf ( stdout, "--- total-allocs=%d, peak-allocs=%d, peak-bytes=" INT64_FMT "\n", g_iTotalAllocs, g_iPeakAllocs, g_iPeakBytes ); } void sphAllocsCheck () { g_tAllocsMutex.Lock(); for ( CSphMemHeader * pHeader=g_pAllocs; pHeader; pHeader=pHeader->m_pNext ) { BYTE * pBlock = (BYTE*) pHeader; if (!( pHeader->m_uMagic==MEMORY_MAGIC_ARRAY || pHeader->m_uMagic==MEMORY_MAGIC_PLAIN )) sphDie ( "corrupted header in block %d allocated at %s(%d)", pHeader->m_iAllocId, pHeader->m_sFile, pHeader->m_iLine ); if ( *(DWORD*)( pBlock+pHeader->m_iSize+sizeof(CSphMemHeader) )!=MEMORY_MAGIC_END ) sphDie ( "out-of-bounds write beyond block %d allocated at %s(%d)", pHeader->m_iAllocId, pHeader->m_sFile, pHeader->m_iLine ); } g_tAllocsMutex.Unlock(); } void sphMemStatInit () {} void sphMemStatDone () {} void sphMemStatDump ( int ) {} ////////////////////////////////////////////////////////////////////////// void * operator new ( size_t iSize, const char * sFile, int iLine ) { return sphDebugNew ( iSize, sFile, iLine, false ); } void * operator new [] ( size_t iSize, const char * sFile, int iLine ) { return sphDebugNew ( iSize, sFile, iLine, true ); } void operator delete ( void * pPtr ) { sphDebugDelete ( pPtr, false ); } void operator delete [] ( void * pPtr ) { sphDebugDelete ( pPtr, true ); } ////////////////////////////////////////////////////////////////////////////// // ALLOCACTIONS COUNT/SIZE PROFILER ////////////////////////////////////////////////////////////////////////////// #else #if SPH_ALLOCS_PROFILER #undef new static CSphStaticMutex g_tAllocsMutex; static int g_iAllocsId = 0; static int g_iCurAllocs = 0; static int64_t g_iCurBytes = 0; static int g_iTotalAllocs = 0; static int g_iPeakAllocs = 0; static int64_t g_iPeakBytes = 0; // statictic's per memory category struct MemCategorized_t { int64_t m_iSize; int m_iCount; MemCategorized_t() : m_iSize ( 0 ) , m_iCount ( 0 ) { } }; static MemCategory_e sphMemStatGet (); // memory categories storage static MemCategorized_t g_dMemCategoryStat [ MEM_TOTAL ]; ////////////////////////////////////////////////////////////////////////// // ALLOCATIONS COUNT/SIZE PROFILER ////////////////////////////////////////////////////////////////////////// void * sphDebugNew ( size_t iSize ) { BYTE * pBlock = (BYTE*) ::malloc ( iSize+sizeof(size_t)*2 ); if ( !pBlock ) sphDie ( "out of memory (unable to allocate %"PRIu64" bytes)", (uint64_t)iSize ); // FIXME! this may fail with malloc error too const int iMemType = sphMemStatGet(); assert ( iMemType>=0 && iMemType=0 && iMemType=0 && eCategory=0 && eCategory=0 ); assert ( m_dStack[m_iDepth]==eCategory ); m_iDepth--; } MemCategory_e Top () const { assert ( m_iDepth>= 0 && m_iDepth=0 && m_dStack[m_iDepth]Reset(); Verify ( sphThreadSet ( g_tTLSMemCategory, pTLS ) ); return pTLS; } // per thread cleanup of memory statistic's static void sphMemStatThdCleanup ( MemCategoryStack_t * pTLS ) { sphDebugDelete ( pTLS ); } // init of memory statistic's data static void sphMemStatInit () { Verify ( sphThreadKeyCreate ( &g_tTLSMemCategory ) ); // main thread statistic's creation assert ( g_pMainTLS==NULL ); g_pMainTLS = sphMemStatThdInit(); assert ( g_pMainTLS!=NULL ); } // cleanup of memory statistic's data static void sphMemStatDone () { assert ( g_pMainTLS!=NULL ); sphMemStatThdCleanup ( g_pMainTLS ); sphThreadKeyDelete ( g_tTLSMemCategory ); } // direct access for special category void sphMemStatMMapAdd ( int64_t iSize ) { g_tAllocsMutex.Lock (); g_iCurAllocs++; g_iCurBytes += iSize; g_iTotalAllocs++; g_iPeakAllocs = Max ( g_iCurAllocs, g_iPeakAllocs ); g_iPeakBytes = Max ( g_iCurBytes, g_iPeakBytes ); g_dMemCategoryStat[MEM_MMAPED].m_iSize += iSize; g_dMemCategoryStat[MEM_MMAPED].m_iCount++; g_tAllocsMutex.Unlock (); } void sphMemStatMMapDel ( int64_t iSize ) { g_tAllocsMutex.Lock (); g_iCurAllocs--; g_iCurBytes -= iSize; g_dMemCategoryStat[MEM_MMAPED].m_iSize -= iSize; g_dMemCategoryStat[MEM_MMAPED].m_iCount--; g_tAllocsMutex.Unlock (); } // push new category on arrival void sphMemStatPush ( MemCategory_e eCategory ) { MemCategoryStack_t * pTLS = (MemCategoryStack_t*) sphThreadGet ( g_tTLSMemCategory ); if ( pTLS ) pTLS->Push ( eCategory ); }; // restore last category void sphMemStatPop ( MemCategory_e eCategory ) { MemCategoryStack_t * pTLS = (MemCategoryStack_t*) sphThreadGet ( g_tTLSMemCategory ); if ( pTLS ) pTLS->Pop ( eCategory ); }; // get current category static MemCategory_e sphMemStatGet () { MemCategoryStack_t * pTLS = (MemCategoryStack_t*) sphThreadGet ( g_tTLSMemCategory ); return pTLS ? pTLS->Top() : MEM_CORE; } // human readable category names #define MEM_CATEGORY(_arg) #_arg static const char* g_dMemCategoryName[] = { MEM_CATEGORIES }; #undef MEM_CATEGORY void sphMemStatDump ( int iFD ) { int64_t iSize = 0; int iCount = 0; for ( int i=0; i0 ) { iSize = (int64_t) g_dMemCategoryStat[i].m_iSize; sphSafeInfo ( iFD, "%-24s allocs-count=%d, mem-total=%d.%d Mb", g_dMemCategoryName[i], g_dMemCategoryStat[i].m_iCount, (int)(iSize/1048576), (int)( (iSize*10/1048576)%10 ) ); } } ////////////////////////////////////////////////////////////////////////////// // PRODUCTION MEMORY MANAGER ////////////////////////////////////////////////////////////////////////////// #else #ifndef SPH_DONT_OVERRIDE_MEMROUTINES void * operator new ( size_t iSize ) { void * pResult = ::malloc ( iSize ); if ( !pResult ) sphDieRestart ( "out of memory (unable to allocate " UINT64_FMT " bytes)", (uint64_t)iSize ); // FIXME! this may fail with malloc error too return pResult; } void * operator new [] ( size_t iSize ) { void * pResult = ::malloc ( iSize ); if ( !pResult ) sphDieRestart ( "out of memory (unable to allocate " UINT64_FMT " bytes)", (uint64_t)iSize ); // FIXME! this may fail with malloc error too return pResult; } #if USE_RE2 void operator delete ( void * pPtr ) throw () #else void operator delete ( void * pPtr ) #endif { if ( pPtr ) ::free ( pPtr ); } #if USE_RE2 void operator delete [] ( void * pPtr ) throw () #else void operator delete [] ( void * pPtr ) #endif { if ( pPtr ) ::free ( pPtr ); } #endif // SPH_DONT_OVERRIDE_MEMROUTINES #endif // SPH_ALLOCS_PROFILER #endif // SPH_DEBUG_LEAKS ////////////////////////////////////////////////////////////////////////// // now let the rest of sphinxstd use proper new #if SPH_DEBUG_LEAKS || SPH_ALLOCS_PROFILER #undef new #define new new(__FILE__,__LINE__) #endif ///////////////////////////////////////////////////////////////////////////// // HELPERS ///////////////////////////////////////////////////////////////////////////// static SphDieCallback_t g_pfDieCallback = NULL; void sphSetDieCallback ( SphDieCallback_t pfDieCallback ) { g_pfDieCallback = pfDieCallback; } void sphDie ( const char * sTemplate, ... ) { char sBuf[1024]; va_list ap; va_start ( ap, sTemplate ); vsnprintf ( sBuf, sizeof(sBuf), sTemplate, ap ); va_end ( ap ); // if there's no callback, // or if callback returns true, // log to stdout if ( !g_pfDieCallback || g_pfDieCallback ( sBuf ) ) fprintf ( stdout, "FATAL: %s\n", sBuf ); exit ( 1 ); } void sphDieRestart ( const char * sTemplate, ... ) { char sBuf[1024]; va_list ap; va_start ( ap, sTemplate ); vsnprintf ( sBuf, sizeof(sBuf), sTemplate, ap ); va_end ( ap ); // if there's no callback, // or if callback returns true, // log to stdout if ( !g_pfDieCallback || g_pfDieCallback ( sBuf ) ) fprintf ( stdout, "FATAL: %s\n", sBuf ); exit ( 2 ); // almost CRASH_EXIT } ////////////////////////////////////////////////////////////////////////// // RANDOM NUMBERS GENERATOR ////////////////////////////////////////////////////////////////////////// /// MWC (Multiply-With-Carry) RNG, invented by George Marsaglia static DWORD g_dRngState[5] = { 0x95d3474bUL, 0x035cf1f7UL, 0xfd43995fUL, 0x5dfc55fbUL, 0x334a9229UL }; /// seed void sphSrand ( DWORD uSeed ) { for ( int i=0; i<5; i++ ) { uSeed = uSeed*29943829 - 1; g_dRngState[i] = uSeed; } for ( int i=0; i<19; i++ ) sphRand(); } /// auto-seed RNG based on time and PID void sphAutoSrand () { // get timestamp #if !USE_WINDOWS struct timeval tv; gettimeofday ( &tv, NULL ); #else #define getpid() GetCurrentProcessId() struct { time_t tv_sec; DWORD tv_usec; } tv; FILETIME ft; GetSystemTimeAsFileTime ( &ft ); uint64_t ts = ( uint64_t(ft.dwHighDateTime)<<32 ) + uint64_t(ft.dwLowDateTime) - 116444736000000000ULL; // Jan 1, 1970 magic ts /= 10; // to microseconds tv.tv_sec = (DWORD)(ts/1000000); tv.tv_usec = (DWORD)(ts%1000000); #endif // twist and shout sphSrand ( sphRand() ^ DWORD(tv.tv_sec) ^ (DWORD(tv.tv_usec) + DWORD(getpid())) ); } /// generate another dword DWORD sphRand () { uint64_t uSum; uSum = (uint64_t)g_dRngState[0] * (uint64_t)5115 + (uint64_t)g_dRngState[1] * (uint64_t)1776 + (uint64_t)g_dRngState[2] * (uint64_t)1492 + (uint64_t)g_dRngState[3] * (uint64_t)2111111111UL + (uint64_t)g_dRngState[4]; g_dRngState[3] = g_dRngState[2]; g_dRngState[2] = g_dRngState[1]; g_dRngState[1] = g_dRngState[0]; g_dRngState[4] = (DWORD)( uSum>>32 ); g_dRngState[0] = (DWORD)uSum; return g_dRngState[0]; } ////////////////////////////////////////////////////////////////////////// #if !USE_WINDOWS CSphProcessSharedMutex::CSphProcessSharedMutex ( int iExtraSize ) { m_pMutex = NULL; #ifdef __FreeBSD__ CSphString sError, sWarning; if ( !m_pStorage.Alloc ( sizeof(sem_t) + iExtraSize, sError, sWarning ) ) { m_sError.SetSprintf ( "storage.alloc, error='%s', warning='%s'", sError.cstr(), sWarning.cstr() ); return; } m_pMutex = (sem_t*) m_pStorage.GetWritePtr (); int iRes = sem_init ( m_pMutex, 1, 1 ); if ( iRes ) { m_sError.SetSprintf ( "sem_init, errno=%d ", iRes ); m_pMutex = NULL; m_pStorage.Reset (); return; } #else pthread_mutexattr_t tAttr; int iRes = pthread_mutexattr_init ( &tAttr ); if ( iRes ) { m_sError.SetSprintf ( "pthread_mutexattr_init, errno=%d", iRes ); return; } iRes = pthread_mutexattr_setpshared ( &tAttr, PTHREAD_PROCESS_SHARED ); if ( iRes ) { m_sError.SetSprintf ( "pthread_mutexattr_setpshared, errno = %d", iRes ); pthread_mutexattr_destroy ( &tAttr ); return; } CSphString sError, sWarning; if ( !m_pStorage.Alloc ( sizeof(pthread_mutex_t) + iExtraSize, sError, sWarning ) ) { m_sError.SetSprintf ( "storage.alloc, error='%s', warning='%s'", sError.cstr(), sWarning.cstr() ); pthread_mutexattr_destroy ( &tAttr ); return; } m_pMutex = (pthread_mutex_t*) m_pStorage.GetWritePtr (); iRes = pthread_mutex_init ( m_pMutex, &tAttr ); if ( iRes ) { m_sError.SetSprintf ( "pthread_mutex_init, errno=%d ", iRes ); pthread_mutexattr_destroy ( &tAttr ); m_pMutex = NULL; m_pStorage.Reset (); return; } iRes = pthread_mutexattr_destroy ( &tAttr ); if ( iRes ) { m_sError.SetSprintf ( "pthread_mutexattr_destroy, errno = %d", iRes ); return; } #endif // __FreeBSD__ } CSphProcessSharedMutex::~CSphProcessSharedMutex() { if ( m_pMutex ) { #ifdef __FreeBSD__ sem_destroy ( m_pMutex ); #else pthread_mutex_destroy ( m_pMutex ); #endif m_pMutex = NULL; } } #else CSphProcessSharedMutex::CSphProcessSharedMutex ( int ) { m_tLock.Init(); } CSphProcessSharedMutex::~CSphProcessSharedMutex() { m_tLock.Done(); } #endif void CSphProcessSharedMutex::Lock () { #if !USE_WINDOWS #ifdef __FreeBSD__ if ( m_pMutex ) sem_wait ( m_pMutex ); #else if ( m_pMutex ) pthread_mutex_lock ( m_pMutex ); #endif #else m_tLock.Lock(); #endif } void CSphProcessSharedMutex::Unlock () { #if !USE_WINDOWS #ifdef __FreeBSD__ if ( m_pMutex ) sem_post ( m_pMutex ); #else if ( m_pMutex ) pthread_mutex_unlock ( m_pMutex ); #endif #else m_tLock.Unlock(); #endif } #if USE_WINDOWS bool CSphProcessSharedMutex::TimedLock ( int ) const { return false; #else bool CSphProcessSharedMutex::TimedLock ( int tmSpin ) const { if ( !m_pMutex ) return false; #ifdef __FreeBSD__ struct timespec tp; clock_gettime ( CLOCK_REALTIME, &tp ); tp.tv_nsec += tmSpin * 1000; if ( tp.tv_nsec > 1000000 ) { int iDelta = (int)( tp.tv_nsec / 1000000 ); tp.tv_sec += iDelta * 1000000; tp.tv_nsec -= iDelta * 1000000; } return ( sem_timedwait ( m_pMutex, &tp )==0 ); #else #if defined(HAVE_PTHREAD_MUTEX_TIMEDLOCK) && defined(HAVE_CLOCK_GETTIME) struct timespec tp; clock_gettime ( CLOCK_REALTIME, &tp ); tp.tv_nsec += tmSpin * 1000; if ( tp.tv_nsec > 1000000 ) { int iDelta = (int)( tp.tv_nsec / 1000000 ); tp.tv_sec += iDelta * 1000000; tp.tv_nsec -= iDelta * 1000000; } return ( pthread_mutex_timedlock ( m_pMutex, &tp )==0 ); #else int iRes = EBUSY; int64_t tmTill = sphMicroTimer() + tmSpin; do { iRes = pthread_mutex_trylock ( m_pMutex ); if ( iRes==EBUSY ) sphSleepMsec ( 0 ); } while ( iRes==EBUSY && sphMicroTimer()m_ditimer, NULL ); // Tell the calling thread that we don't need its data anymore pthread_mutex_lock ( &( (ThreadCall_t*) pArg)->m_dlock ); pthread_cond_signal ( &( (ThreadCall_t*) pArg)->m_dwait ); pthread_mutex_unlock ( &( (ThreadCall_t*) pArg)->m_dlock ); #endif ThreadCall_t * pCall = (ThreadCall_t*) pArg; MemorizeStack ( & cTopOfMyStack ); pCall->m_pCall ( pCall->m_pArg ); SafeDelete ( pCall ); ThreadCall_t * pCleanup = (ThreadCall_t*) sphThreadGet ( g_tThreadCleanupKey ); while ( pCleanup ) { pCall = pCleanup; pCall->m_pCall ( pCall->m_pArg ); pCleanup = pCall->m_pNext; SafeDelete ( pCall ); } #if SPH_ALLOCS_PROFILER sphMemStatThdCleanup ( pTLS ); #endif return 0; } #if !USE_WINDOWS void * sphThreadInit ( bool bDetached ) #else void * sphThreadInit ( bool ) #endif { static bool bInit = false; #if !USE_WINDOWS static pthread_attr_t tJoinableAttr; static pthread_attr_t tDetachedAttr; #endif if ( !bInit ) { #if SPH_DEBUG_LEAKS || SPH_ALLOCS_PROFILER sphMemStatInit(); #endif // we're single-threaded yet, right?! if ( !sphThreadKeyCreate ( &g_tThreadCleanupKey ) ) sphDie ( "FATAL: sphThreadKeyCreate() failed" ); if ( !sphThreadKeyCreate ( &g_tMyThreadStack ) ) sphDie ( "FATAL: sphThreadKeyCreate() failed" ); #if !USE_WINDOWS if ( pthread_attr_init ( &tJoinableAttr ) ) sphDie ( "FATAL: pthread_attr_init( joinable ) failed" ); if ( pthread_attr_init ( &tDetachedAttr ) ) sphDie ( "FATAL: pthread_attr_init( detached ) failed" ); if ( pthread_attr_setdetachstate ( &tDetachedAttr, PTHREAD_CREATE_DETACHED ) ) sphDie ( "FATAL: pthread_attr_setdetachstate( detached ) failed" ); #endif bInit = true; } #if !USE_WINDOWS if ( pthread_attr_setstacksize ( &tJoinableAttr, g_iThreadStackSize + PTHREAD_STACK_MIN ) ) sphDie ( "FATAL: pthread_attr_setstacksize( joinable ) failed" ); if ( pthread_attr_setstacksize ( &tDetachedAttr, g_iThreadStackSize + PTHREAD_STACK_MIN ) ) sphDie ( "FATAL: pthread_attr_setstacksize( detached ) failed" ); return bDetached ? &tDetachedAttr : &tJoinableAttr; #else return NULL; #endif } #if SPH_DEBUG_LEAKS || SPH_ALLOCS_PROFILER void sphThreadDone ( int iFD ) { sphMemStatDump ( iFD ); sphMemStatDone(); } #else void sphThreadDone ( int ) { } #endif bool sphThreadCreate ( SphThread_t * pThread, void (*fnThread)(void*), void * pArg, bool bDetached ) { // we can not put this on current stack because wrapper need to see // it all the time and it will destroy this data from heap by itself ThreadCall_t * pCall = new ThreadCall_t; pCall->m_pCall = fnThread; pCall->m_pArg = pArg; pCall->m_pNext = NULL; // create thread #if USE_WINDOWS sphThreadInit ( bDetached ); *pThread = CreateThread ( NULL, g_iThreadStackSize, sphThreadProcWrapper, pCall, 0, NULL ); if ( *pThread ) return true; #else #if USE_GPROF getitimer ( ITIMER_PROF, &pCall->m_ditimer ); pthread_cond_init ( &pCall->m_dwait, NULL ); pthread_mutex_init ( &pCall->m_dlock, NULL ); pthread_mutex_lock ( &pCall->m_dlock ); #endif void * pAttr = sphThreadInit ( bDetached ); errno = pthread_create ( pThread, (pthread_attr_t*) pAttr, sphThreadProcWrapper, pCall ); #if USE_GPROF if ( !errno ) pthread_cond_wait ( &pCall->m_dwait, &pCall->m_dlock ); pthread_mutex_unlock ( &pCall->m_dlock ); pthread_mutex_destroy ( &pCall->m_dlock ); pthread_cond_destroy ( &pCall->m_dwait ); #endif if ( !errno ) return true; #endif // thread creation failed so we need to cleanup ourselves SafeDelete ( pCall ); return false; } bool sphThreadJoin ( SphThread_t * pThread ) { #if USE_WINDOWS DWORD uWait = WaitForSingleObject ( *pThread, INFINITE ); CloseHandle ( *pThread ); *pThread = NULL; return ( uWait==WAIT_OBJECT_0 || uWait==WAIT_ABANDONED ); #else return pthread_join ( *pThread, NULL )==0; #endif } // Adds a function call (a new task for a wrapper) to a linked list // of thread contexts. They will be executed one by one right after // the main thread ends its execution. This is a way for a wrapper // to free local resources allocated by its main thread. void sphThreadOnExit ( void (*fnCleanup)(void*), void * pArg ) { ThreadCall_t * pCleanup = new ThreadCall_t; pCleanup->m_pCall = fnCleanup; pCleanup->m_pArg = pArg; pCleanup->m_pNext = (ThreadCall_t*) sphThreadGet ( g_tThreadCleanupKey ); sphThreadSet ( g_tThreadCleanupKey, pCleanup ); } bool sphThreadKeyCreate ( SphThreadKey_t * pKey ) { #if USE_WINDOWS *pKey = TlsAlloc(); return *pKey!=TLS_OUT_OF_INDEXES; #else return pthread_key_create ( pKey, NULL )==0; #endif } void sphThreadKeyDelete ( SphThreadKey_t tKey ) { #if USE_WINDOWS TlsFree ( tKey ); #else pthread_key_delete ( tKey ); #endif } void * sphThreadGet ( SphThreadKey_t tKey ) { #if USE_WINDOWS return TlsGetValue ( tKey ); #else return pthread_getspecific ( tKey ); #endif } void * sphMyStack () { return sphThreadGet ( g_tMyThreadStack ); } int64_t sphGetStackUsed() { BYTE cStack; BYTE * pStackTop = (BYTE*)sphMyStack(); if ( !pStackTop ) return 0; int64_t iHeight = pStackTop - &cStack; return ( iHeight>=0 ) ? iHeight : -iHeight; } void sphSetMyStackSize ( int iStackSize ) { g_iThreadStackSize = iStackSize; sphThreadInit ( false ); } void MemorizeStack ( void* PStack ) { sphThreadSet ( g_tMyThreadStack, PStack ); } bool sphThreadSet ( SphThreadKey_t tKey, void * pValue ) { #if USE_WINDOWS return TlsSetValue ( tKey, pValue )!=FALSE; #else return pthread_setspecific ( tKey, pValue )==0; #endif } #if !USE_WINDOWS bool sphIsLtLib() { #ifndef _CS_GNU_LIBPTHREAD_VERSION return false; #else char buff[64]; confstr ( _CS_GNU_LIBPTHREAD_VERSION, buff, 64 ); if ( !strncasecmp ( buff, "linuxthreads", 12 ) ) return true; return false; #endif } #endif ////////////////////////////////////////////////////////////////////////// // MUTEX and EVENT ////////////////////////////////////////////////////////////////////////// #if USE_WINDOWS // Windows mutex implementation bool CSphMutex::Init () { assert ( !m_bInitialized ); m_hMutex = CreateMutex ( NULL, FALSE, NULL ); m_bInitialized = ( m_hMutex!=NULL ); return m_bInitialized; } bool CSphMutex::Done () { if ( !m_bInitialized ) return true; m_bInitialized = false; return CloseHandle ( m_hMutex )==TRUE; } bool CSphMutex::Lock () { assert ( m_bInitialized ); DWORD uWait = WaitForSingleObject ( m_hMutex, INFINITE ); return ( uWait!=WAIT_FAILED && uWait!=WAIT_TIMEOUT ); } bool CSphMutex::Unlock () { assert ( m_bInitialized ); return ReleaseMutex ( m_hMutex )==TRUE; } bool CSphAutoEvent::Init ( CSphMutex * ) { m_bSent = false; m_hEvent = CreateEvent ( NULL, FALSE, FALSE, NULL ); m_bInitialized = ( m_hEvent!=0 ); return m_bInitialized; } bool CSphAutoEvent::Done() { if ( !m_bInitialized ) return true; m_bInitialized = false; return CloseHandle ( m_hEvent )==TRUE; } void CSphAutoEvent::SetEvent() { ::SetEvent ( m_hEvent ); m_bSent = true; } bool CSphAutoEvent::WaitEvent() { if ( m_bSent ) { m_bSent = false; return true; } DWORD uWait = WaitForSingleObject ( m_hEvent, INFINITE ); return !( uWait==WAIT_FAILED || uWait==WAIT_TIMEOUT ); } #else // UNIX mutex implementation bool CSphMutex::Init () { assert ( !m_bInitialized ); m_bInitialized = ( pthread_mutex_init ( &m_tMutex, NULL )==0 ); return m_bInitialized; } bool CSphMutex::Done () { if ( !m_bInitialized ) return true; m_bInitialized = false; return pthread_mutex_destroy ( &m_tMutex )==0; } bool CSphMutex::Lock () { assert ( m_bInitialized ); return ( pthread_mutex_lock ( &m_tMutex )==0 ); } bool CSphMutex::Unlock () { assert ( m_bInitialized ); return ( pthread_mutex_unlock ( &m_tMutex )==0 ); } bool CSphAutoEvent::Init ( CSphMutex * pMutex ) { m_bSent = false; assert ( pMutex ); if ( !pMutex ) return false; m_pMutex = pMutex->GetInternalMutex(); m_bInitialized = ( pthread_cond_init ( &m_tCond, NULL )==0 ); return m_bInitialized; } bool CSphAutoEvent::Done () { if ( !m_bInitialized ) return true; m_bInitialized = false; return ( pthread_cond_destroy ( &m_tCond ) )==0; } void CSphAutoEvent::SetEvent () { if ( !m_bInitialized ) return; pthread_cond_signal ( &m_tCond ); // locking is done from outside m_bSent = true; } bool CSphAutoEvent::WaitEvent () { if ( !m_bInitialized ) return true; pthread_mutex_lock ( m_pMutex ); if ( !m_bSent ) pthread_cond_wait ( &m_tCond, m_pMutex ); m_bSent = false; pthread_mutex_unlock ( m_pMutex ); return true; } #endif ////////////////////////////////////////////////////////////////////////// // RWLOCK ////////////////////////////////////////////////////////////////////////// #if USE_WINDOWS // Windows rwlock implementation CSphRwlock::CSphRwlock () : m_bInitialized ( false ) , m_hWriteMutex ( NULL ) , m_hReadEvent ( NULL ) , m_iReaders ( 0 ) {} bool CSphRwlock::Init ( bool ) { assert ( !m_bInitialized ); assert ( !m_hWriteMutex && !m_hReadEvent && !m_iReaders ); m_hReadEvent = CreateEvent ( NULL, TRUE, FALSE, NULL ); if ( !m_hReadEvent ) return false; m_hWriteMutex = CreateMutex ( NULL, FALSE, NULL ); if ( !m_hWriteMutex ) { CloseHandle ( m_hReadEvent ); m_hReadEvent = NULL; return false; } m_bInitialized = true; return true; } bool CSphRwlock::Done () { if ( !m_bInitialized ) return true; if ( !CloseHandle ( m_hReadEvent ) ) return false; m_hReadEvent = NULL; if ( !CloseHandle ( m_hWriteMutex ) ) return false; m_hWriteMutex = NULL; m_iReaders = 0; m_bInitialized = false; return true; } const char * CSphRwlock::GetError () const { return m_sError.cstr(); } bool CSphRwlock::ReadLock () { assert ( m_bInitialized ); DWORD uWait = WaitForSingleObject ( m_hWriteMutex, INFINITE ); if ( uWait==WAIT_FAILED || uWait==WAIT_TIMEOUT ) return false; // got the writer mutex, can't be locked for write // so it's OK to add the reader lock, then free the writer mutex // writer mutex also protects readers counter InterlockedIncrement ( &m_iReaders ); // reset writer lock event, we just got ourselves a reader if ( !ResetEvent ( m_hReadEvent ) ) return false; // release writer lock return ReleaseMutex ( m_hWriteMutex )==TRUE; } bool CSphRwlock::WriteLock () { assert ( m_bInitialized ); // try to acquire writer mutex DWORD uWait = WaitForSingleObject ( m_hWriteMutex, INFINITE ); if ( uWait==WAIT_FAILED || uWait==WAIT_TIMEOUT ) return false; // got the writer mutex, no pending readers, rock'n'roll if ( !m_iReaders ) return true; // got the writer mutex, but still have to wait for all readers to complete uWait = WaitForSingleObject ( m_hReadEvent, INFINITE ); if ( uWait==WAIT_FAILED || uWait==WAIT_TIMEOUT ) { // wait failed, well then, release writer mutex ReleaseMutex ( m_hWriteMutex ); return false; } return true; } bool CSphRwlock::Unlock () { assert ( m_bInitialized ); // are we unlocking a writer? if ( ReleaseMutex ( m_hWriteMutex ) ) return true; // yes we are if ( GetLastError()!=ERROR_NOT_OWNER ) return false; // some unexpected error // writer mutex wasn't mine; we must have a read lock if ( !m_iReaders ) return true; // could this ever happen? // atomically decrement reader counter if ( InterlockedDecrement ( &m_iReaders ) ) return true; // there still are pending readers // no pending readers, fire the event for write lock return SetEvent ( m_hReadEvent )==TRUE; } #else // UNIX rwlock implementation (pthreads wrapper) CSphRwlock::CSphRwlock () : m_bInitialized ( false ) {} bool CSphRwlock::Init ( bool bProcessShared ) { assert ( !m_bInitialized ); #ifdef __FreeBSD__ if ( bProcessShared ) { m_sError = "process shared rwlock is not supported by FreeBSD"; return false; } #endif pthread_rwlockattr_t tAttr; pthread_rwlockattr_t * pAttrUsed = NULL; int iRes; if ( bProcessShared ) { iRes = pthread_rwlockattr_init ( &tAttr ); if ( iRes ) { m_sError.SetSprintf ( "pthread_rwlockattr_init, errno=%d", iRes ); return false; } iRes = pthread_rwlockattr_setpshared ( &tAttr, PTHREAD_PROCESS_SHARED ); if ( iRes ) { m_sError.SetSprintf ( "pthread_rwlockattr_setpshared, errno = %d", iRes ); pthread_rwlockattr_destroy ( &tAttr ); return false; } pAttrUsed = &tAttr; } iRes = pthread_rwlock_init ( &m_tLock, pAttrUsed ); if ( iRes ) { m_sError.SetSprintf ( "pthread_rwlock_init, errno = %d", iRes ); if ( pAttrUsed ) pthread_rwlockattr_destroy ( pAttrUsed ); return false; } if ( pAttrUsed ) { iRes = pthread_rwlockattr_destroy ( pAttrUsed ); if ( iRes ) { m_sError.SetSprintf ( "pthread_rwlockattr_destroy, errno = %d", iRes ); return false; } } m_bInitialized = true; return true; } bool CSphRwlock::Done () { if ( !m_bInitialized ) return true; m_bInitialized = !( pthread_rwlock_destroy ( &m_tLock )==0 ); return !m_bInitialized; } const char * CSphRwlock::GetError () const { return m_sError.cstr(); } bool CSphRwlock::ReadLock () { assert ( m_bInitialized ); return pthread_rwlock_rdlock ( &m_tLock )==0; } bool CSphRwlock::WriteLock () { assert ( m_bInitialized ); return pthread_rwlock_wrlock ( &m_tLock )==0; } bool CSphRwlock::Unlock () { assert ( m_bInitialized ); return pthread_rwlock_unlock ( &m_tLock )==0; } #endif ////////////////////////////////////////////////////////////////////////// /// microsecond precision timestamp int64_t sphMicroTimer() { #if USE_WINDOWS // Windows time query static int64_t iBase = 0; static int64_t iStart = 0; static int64_t iFreq = 0; LARGE_INTEGER iLarge; if ( !iBase ) { // get start QPC value QueryPerformanceFrequency ( &iLarge ); iFreq = iLarge.QuadPart; QueryPerformanceCounter ( &iLarge ); iStart = iLarge.QuadPart; // get start UTC timestamp // assuming it's still approximately the same moment as iStart, give or take a msec or three FILETIME ft; GetSystemTimeAsFileTime ( &ft ); iBase = ( int64_t(ft.dwHighDateTime)<<32 ) + int64_t(ft.dwLowDateTime); iBase = ( iBase - 116444736000000000ULL ) / 10; // rebase from 01 Jan 1601 to 01 Jan 1970, and rescale to 1 usec from 100 ns } // we can't easily drag iBase into parens because iBase*iFreq/1000000 overflows 64bit int! QueryPerformanceCounter ( &iLarge ); return iBase + ( iLarge.QuadPart - iStart )*1000000/iFreq; #else // UNIX time query struct timeval tv; gettimeofday ( &tv, NULL ); return int64_t(tv.tv_sec)*int64_t(1000000) + int64_t(tv.tv_usec); #endif // USE_WINDOWS } ////////////////////////////////////////////////////////////////////////// int CSphStrHashFunc::Hash ( const CSphString & sKey ) { return sKey.IsEmpty() ? 0 : sphCRC32 ( sKey.cstr() ); } ////////////////////////////////////////////////////////////////////////// DWORD g_dSphinxCRC32 [ 256 ] = { 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, 0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9, 0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172, 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59, 0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599, 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924, 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, 0x01db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433, 0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01, 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950, 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65, 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa, 0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f, 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683, 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, 0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb, 0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b, 0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef, 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236, 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d, 0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713, 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242, 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777, 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45, 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc, 0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9, 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693, 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d, }; DWORD sphCRC32 ( const void * s ) { // calc CRC DWORD crc = ~((DWORD)0); for ( const BYTE * p=(const BYTE*)s; *p; p++ ) crc = (crc >> 8) ^ g_dSphinxCRC32 [ (crc ^ (*p)) & 0xff ]; return ~crc; } DWORD sphCRC32 ( const void * s, int iLen ) { // calc CRC DWORD crc = ~((DWORD)0); const BYTE * p = (const BYTE*)s; const BYTE * pMax = p + iLen; while ( p> 8) ^ g_dSphinxCRC32 [ (crc ^ *p++) & 0xff ]; return ~crc; } DWORD sphCRC32 ( const void * s, int iLen, DWORD uPrevCRC ) { // calc CRC DWORD crc = ~((DWORD)uPrevCRC); const BYTE * p = (const BYTE*)s; const BYTE * pMax = p + iLen; while ( p> 8) ^ g_dSphinxCRC32 [ (crc ^ *p++) & 0xff ]; return ~crc; } #if USE_WINDOWS template<> CSphAtomic::operator long() { return InterlockedExchangeAdd ( &m_iValue, 0 ); } template<> long CSphAtomic::Inc() { return InterlockedIncrement ( &m_iValue )-1; } template<> long CSphAtomic::Dec() { return InterlockedDecrement ( &m_iValue )+1; } #endif // fast check if we are built with right endianess settings const char* sphCheckEndian() { const char* sErrorMsg = "Oops! It seems that sphinx was built with wrong endianess (cross-compiling?)\n" #if USE_LITTLE_ENDIAN "either reconfigure and rebuild, defining ac_cv_c_bigendian=yes in the environment of ./configure script,\n" "either ensure that '#define USE_LITTLE_ENDIAN = 0' in config/config.h\n"; #else "either reconfigure and rebuild, defining ac_cv_c_bigendian=no in the environment of ./configure script,\n" "either ensure that '#define USE_LITTLE_ENDIAN = 1' in config/config.h\n"; #endif char sMagic[] = "\x01\x02\x03\x04\x05\x06\x07\x08"; unsigned long *pMagic; unsigned long uResult; pMagic = (unsigned long*)sMagic; uResult = 0xFFFFFFFF & (*pMagic); #if USE_LITTLE_ENDIAN if ( uResult==0x01020304 || uResult==0x05060708 ) #else if ( uResult==0x08070605 || uResult==0x04030201 ) #endif return sErrorMsg; return NULL; } // // $Id$ // sphinx-2.2.11-release/src/sphinxsoundex.cpp0000644000175000017500000000163412743402012020275 0ustar alexeyalexey// // $Id$ // // // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License. You should have // received a copy of the GPL license along with this program; if you // did not, you can find it at http://www.gnu.org/ // #include "sphinx.h" void stem_soundex ( BYTE * pWord ) { static BYTE dLetter2Code[27] = "01230120022455012623010202"; // check if the word only contains lowercase English letters BYTE * p = pWord; while ( *p>='a' && *p<='z' ) p++; if ( *p ) return; // do soundex p = pWord+1; BYTE * pOut = pWord+1; while ( *p ) { BYTE c = dLetter2Code [ (*p)-'a' ]; if ( c!='0' && pOut[-1]!=c ) *pOut++ = c; p++; } while ( pOut-pWord<4 && pOut

#include #if !USE_WINDOWS #include #include #endif ////////////////////////////////////////////////////////////////////////// // TRAITS ////////////////////////////////////////////////////////////////////////// void ISphMatchSorter::SetState ( const CSphMatchComparatorState & tState ) { m_tState = tState; m_tState.m_iNow = (DWORD) time ( NULL ); } /// groupby key type typedef int64_t SphGroupKey_t; /// base grouper (class that computes groupby key) class CSphGrouper { public: virtual ~CSphGrouper () {} virtual SphGroupKey_t KeyFromValue ( SphAttr_t uValue ) const = 0; virtual SphGroupKey_t KeyFromMatch ( const CSphMatch & tMatch ) const = 0; virtual void GetLocator ( CSphAttrLocator & tOut ) const = 0; virtual ESphAttr GetResultType () const = 0; virtual void SetStringPool ( const BYTE * ) {} virtual bool CanMulti () const { return true; } }; static bool HasString ( const CSphMatchComparatorState * pState ) { assert ( pState ); for ( int i=0; im_eKeypart[i]==SPH_KEYPART_STRING || pState->m_eKeypart[i]==SPH_KEYPART_STRINGPTR || ( pState->m_tSubKeys[i].m_sKey.cstr() ) ) return true; } return false; } /// match-sorting priority queue traits class CSphMatchQueueTraits : public ISphMatchSorter, ISphNoncopyable { protected: CSphMatch * m_pData; int m_iUsed; int m_iSize; const bool m_bUsesAttrs; private: const int m_iDataLength; public: /// ctor CSphMatchQueueTraits ( int iSize, bool bUsesAttrs ) : m_iUsed ( 0 ) , m_iSize ( iSize ) , m_bUsesAttrs ( bUsesAttrs ) , m_iDataLength ( iSize ) { assert ( iSize>0 ); m_pData = new CSphMatch [ m_iDataLength ]; assert ( m_pData ); m_tState.m_iNow = (DWORD) time ( NULL ); m_iMatchCapacity = m_iDataLength; } /// dtor virtual ~CSphMatchQueueTraits () { for ( int i=0; i struct CompareIndex_fn { const CSphMatch * m_pBase; const CSphMatchComparatorState * m_pState; CompareIndex_fn ( const CSphMatch * pBase, const CSphMatchComparatorState * pState ) : m_pBase ( pBase ) , m_pState ( pState ) {} bool IsLess ( int a, int b ) const { return COMP::IsLess ( m_pBase[b], m_pBase[a], *m_pState ); } }; /// heap sorter /// plain binary heap based PQ template < typename COMP, bool NOTIFICATIONS > class CSphMatchQueue : public CSphMatchQueueTraits { public: /// ctor CSphMatchQueue ( int iSize, bool bUsesAttrs ) : CSphMatchQueueTraits ( iSize, bUsesAttrs ) { if_const ( NOTIFICATIONS ) m_dJustPopped.Reserve(1); } /// check if this sorter does groupby virtual bool IsGroupby () const { return false; } virtual const CSphMatch * GetWorst() const { return m_pData; } /// add entry to the queue virtual bool Push ( const CSphMatch & tEntry ) { m_iTotal++; if_const ( NOTIFICATIONS ) { m_iJustPushed = 0; m_dJustPopped.Resize(0); } if ( m_iUsed==m_iSize ) { // if it's worse that current min, reject it, else pop off current min if ( COMP::IsLess ( tEntry, m_pData[0], m_tState ) ) return true; else Pop (); } // do add m_tSchema.CloneMatch ( m_pData+m_iUsed, tEntry ); if_const ( NOTIFICATIONS ) m_iJustPushed = tEntry.m_uDocID; int iEntry = m_iUsed++; // sift up if needed, so that worst (lesser) ones float to the top while ( iEntry ) { int iParent = ( iEntry-1 ) >> 1; if ( !COMP::IsLess ( m_pData[iEntry], m_pData[iParent], m_tState ) ) break; // entry is less than parent, should float to the top Swap ( m_pData[iEntry], m_pData[iParent] ); iEntry = iParent; } return true; } /// add grouped entry (must not happen) virtual bool PushGrouped ( const CSphMatch &, bool ) { assert ( 0 ); return false; } /// remove root (ie. top priority) entry virtual void Pop () { assert ( m_iUsed ); if ( !(--m_iUsed) ) // empty queue? just return return; // make the last entry my new root Swap ( m_pData[0], m_pData[m_iUsed] ); m_tSchema.FreeStringPtrs ( &m_pData[m_iUsed] ); if_const ( NOTIFICATIONS ) { if ( m_dJustPopped.GetLength() ) m_dJustPopped[0] = m_pData[m_iUsed].m_uDocID; else m_dJustPopped.Add ( m_pData[m_iUsed].m_uDocID ); } // sift down if needed int iEntry = 0; for ( ;; ) { // select child int iChild = (iEntry<<1) + 1; if ( iChild>=m_iUsed ) break; // select smallest child if ( iChild+1=0 ); pTo += m_iUsed; int iCopied = m_iUsed; while ( m_iUsed>0 ) { --pTo; m_tSchema.FreeStringPtrs ( pTo ); Swap ( *pTo, *m_pData ); if ( iTag>=0 ) pTo->m_iTag = iTag; Pop (); } m_iTotal = 0; return iCopied; } void Finalize ( ISphMatchProcessor & tProcessor, bool bCallProcessInResultSetOrder ) { if ( !GetLength() ) return; if ( !bCallProcessInResultSetOrder ) { // just evaluate in heap order CSphMatch * pCur = m_pData; const CSphMatch * pEnd = m_pData + m_iUsed; while ( pCur dIndexes ( GetLength() ); ARRAY_FOREACH ( i, dIndexes ) dIndexes[i] = i; sphSort ( dIndexes.Begin(), dIndexes.GetLength(), CompareIndex_fn ( m_pData, &m_tState ) ); ARRAY_FOREACH ( i, dIndexes ) { tProcessor.Process ( m_pData + dIndexes[i] ); } } } }; ////////////////////////////////////////////////////////////////////////// /// match sorting functor template < typename COMP > struct MatchSort_fn : public MatchSortAccessor_t { CSphMatchComparatorState m_tState; explicit MatchSort_fn ( const CSphMatchComparatorState & tState ) : m_tState ( tState ) {} bool IsLess ( const MEDIAN_TYPE a, const MEDIAN_TYPE b ) { return COMP::IsLess ( *a, *b, m_tState ); } }; /// K-buffer (generalized double buffer) sorter /// faster worst-case but slower average-case than the heap sorter template < typename COMP, bool NOTIFICATIONS > class CSphKbufferMatchQueue : public CSphMatchQueueTraits { protected: static const int COEFF = 4; CSphMatch * m_pEnd; CSphMatch * m_pWorst; bool m_bFinalized; public: /// ctor CSphKbufferMatchQueue ( int iSize, bool bUsesAttrs ) : CSphMatchQueueTraits ( iSize*COEFF, bUsesAttrs ) , m_pEnd ( m_pData+iSize*COEFF ) , m_pWorst ( NULL ) , m_bFinalized ( false ) { if_const ( NOTIFICATIONS ) m_dJustPopped.Reserve ( m_iSize ); m_iSize /= COEFF; } /// check if this sorter does groupby virtual bool IsGroupby () const { return false; } /// add entry to the queue virtual bool Push ( const CSphMatch & tEntry ) { if_const ( NOTIFICATIONS ) { m_iJustPushed = 0; m_dJustPopped.Resize(0); } // quick early rejection checks m_iTotal++; if ( m_pWorst && COMP::IsLess ( tEntry, *m_pWorst, m_tState ) ) return true; // quick check passed // fill the data, back to front m_bFinalized = false; m_iUsed++; m_tSchema.CloneMatch ( m_pEnd-m_iUsed, tEntry ); if_const ( NOTIFICATIONS ) m_iJustPushed = tEntry.m_uDocID; // do the initial sort once if ( m_iTotal==m_iSize ) { assert ( m_iUsed==m_iSize && !m_pWorst ); MatchSort_fn tComp ( m_tState ); sphSort ( m_pEnd-m_iSize, m_iSize, tComp, tComp ); m_pWorst = m_pEnd-m_iSize; m_bFinalized = true; return true; } // do the sort/cut when the K-buffer is full if ( m_iUsed==m_iSize*COEFF ) { MatchSort_fn tComp ( m_tState ); sphSort ( m_pData, m_iUsed, tComp, tComp ); if_const ( NOTIFICATIONS ) { for ( CSphMatch * pMatch = m_pData; pMatch < m_pEnd-m_iSize; pMatch++ ) m_dJustPopped.Add ( pMatch->m_uDocID ); } m_iUsed = m_iSize; m_pWorst = m_pEnd-m_iSize; m_bFinalized = true; } return true; } /// add grouped entry (must not happen) virtual bool PushGrouped ( const CSphMatch &, bool ) { assert ( 0 ); return false; } /// finalize, perform final sort/cut as needed virtual void Finalize ( ISphMatchProcessor & tProcessor, bool ) { if ( !GetLength() ) return; if ( !m_bFinalized ) { MatchSort_fn tComp ( m_tState ); sphSort ( m_pEnd-m_iUsed, m_iUsed, tComp, tComp ); m_iUsed = Min ( m_iUsed, m_iSize ); m_bFinalized = true; } // reverse order iteration CSphMatch * pCur = m_pEnd - 1; const CSphMatch * pEnd = m_pEnd - m_iUsed; while ( pCur>=pEnd ) { tProcessor.Process ( pCur-- ); } } /// current result set length virtual int GetLength () const { return Min ( m_iUsed, m_iSize ); } /// store all entries into specified location in sorted order, and remove them from queue int Flatten ( CSphMatch * pTo, int iTag ) { const CSphMatch * pBegin = pTo; // ensure we are sorted if ( m_iUsed ) { MatchSort_fn tComp ( m_tState ); sphSort ( m_pEnd-m_iUsed, m_iUsed, tComp, tComp ); } // reverse copy for ( int i=1; i<=Min ( m_iUsed, m_iSize ); i++ ) { m_tSchema.FreeStringPtrs ( pTo ); Swap ( *pTo, m_pEnd[-i] ); if ( iTag>=0 ) pTo->m_iTag = iTag; pTo++; } // clean up for the next work session m_iTotal = 0; m_iUsed = 0; m_iSize = 0; m_bFinalized = false; return ( pTo-pBegin ); } }; ////////////////////////////////////////////////////////////////////////// /// collector for UPDATE statement class CSphUpdateQueue : public CSphMatchQueueTraits { CSphAttrUpdate m_tWorkSet; CSphIndex * m_pIndex; CSphString * m_pError; CSphString * m_pWarning; int * m_pAffected; private: void DoUpdate() { if ( !m_iUsed ) return; m_tWorkSet.m_dRowOffset.Resize ( m_iUsed ); m_tWorkSet.m_dDocids.Resize ( m_iUsed ); m_tWorkSet.m_dRows.Resize ( m_iUsed ); ARRAY_FOREACH ( i, m_tWorkSet.m_dDocids ) { m_tWorkSet.m_dRowOffset[i] = 0; m_tWorkSet.m_dDocids[i] = 0; m_tWorkSet.m_dRows[i] = NULL; if ( !DOCINFO2ID ( STATIC2DOCINFO ( m_pData[i].m_pStatic ) ) ) // if static attributes were copied, so, they actually dynamic { m_tWorkSet.m_dDocids[i] = m_pData[i].m_uDocID; } else // static attributes points to the active indexes - so, no lookup, 5 times faster update. { m_tWorkSet.m_dRows[i] = m_pData[i].m_pStatic - ( sizeof(SphDocID_t) / sizeof(CSphRowitem) ); } } *m_pAffected += m_pIndex->UpdateAttributes ( m_tWorkSet, -1, *m_pError, *m_pWarning ); m_iUsed = 0; } public: /// ctor CSphUpdateQueue ( int iSize, CSphAttrUpdateEx * pUpdate, bool bIgnoreNonexistent, bool bStrict ) : CSphMatchQueueTraits ( iSize, true ) { m_tWorkSet.m_dRowOffset.Reserve ( m_iSize ); m_tWorkSet.m_dDocids.Reserve ( m_iSize ); m_tWorkSet.m_dRows.Reserve ( m_iSize ); m_tWorkSet.m_bIgnoreNonexistent = bIgnoreNonexistent; m_tWorkSet.m_bStrict = bStrict; m_tWorkSet.m_dTypes = pUpdate->m_pUpdate->m_dTypes; m_tWorkSet.m_dPool = pUpdate->m_pUpdate->m_dPool; m_tWorkSet.m_dAttrs.Resize ( pUpdate->m_pUpdate->m_dAttrs.GetLength() ); ARRAY_FOREACH ( i, m_tWorkSet.m_dAttrs ) { CSphString sTmp; sTmp = pUpdate->m_pUpdate->m_dAttrs[i]; m_tWorkSet.m_dAttrs[i] = sTmp.Leak(); } m_pIndex = pUpdate->m_pIndex; m_pError = pUpdate->m_pError; m_pWarning = pUpdate->m_pWarning; m_pAffected = &pUpdate->m_iAffected; } /// check if this sorter does groupby virtual bool IsGroupby () const { return false; } /// add entry to the queue virtual bool Push ( const CSphMatch & tEntry ) { m_iTotal++; if ( m_iUsed==m_iSize ) DoUpdate(); // do add m_tSchema.CloneMatch ( &m_pData[m_iUsed++], tEntry ); return true; } /// add grouped entry (must not happen) virtual bool PushGrouped ( const CSphMatch &, bool ) { assert ( 0 ); return false; } /// store all entries into specified location in sorted order, and remove them from queue int Flatten ( CSphMatch *, int ) { assert ( m_iUsed>=0 ); DoUpdate(); m_iTotal = 0; return 0; } virtual void Finalize ( ISphMatchProcessor & tProcessor, bool ) { if ( !GetLength() ) return; // just evaluate in heap order CSphMatch * pCur = m_pData; const CSphMatch * pEnd = m_pData + m_iUsed; while ( pCur* m_pValues; public: /// ctor CSphDeleteQueue ( int iSize, CSphVector * pDeletes ) : CSphMatchQueueTraits ( 1, false ) , m_pValues ( pDeletes ) { m_pValues->Reserve ( iSize ); } /// check if this sorter does groupby virtual bool IsGroupby () const { return false; } /// add entry to the queue virtual bool Push ( const CSphMatch & tEntry ) { m_iTotal++; m_pValues->Add ( tEntry.m_uDocID ); return true; } /// add grouped entry (must not happen) virtual bool PushGrouped ( const CSphMatch &, bool ) { assert ( 0 ); return false; } /// store all entries into specified location in sorted order, and remove them from queue int Flatten ( CSphMatch *, int ) { m_iTotal = 0; return 0; } virtual void Finalize ( ISphMatchProcessor &, bool ) {} }; ////////////////////////////////////////////////////////////////////////// // SORTING+GROUPING QUEUE ////////////////////////////////////////////////////////////////////////// static bool IsCount ( const CSphString & s ) { return s=="@count" || s=="count(*)"; } static bool IsGroupby ( const CSphString & s ) { return s=="@groupby" || s=="@distinct" || s=="groupby()" || s=="@groupbystr"; } static bool IsGroupbyMagic ( const CSphString & s ) { return IsGroupby ( s ) || IsCount ( s ); } /// groupers #define GROUPER_BEGIN(_name) \ class _name : public CSphGrouper \ { \ protected: \ CSphAttrLocator m_tLocator; \ public: \ explicit _name ( const CSphAttrLocator & tLoc ) : m_tLocator ( tLoc ) {} \ virtual void GetLocator ( CSphAttrLocator & tOut ) const { tOut = m_tLocator; } \ virtual ESphAttr GetResultType () const { return m_tLocator.m_iBitCount>8*(int)sizeof(DWORD) ? SPH_ATTR_BIGINT : SPH_ATTR_INTEGER; } \ virtual SphGroupKey_t KeyFromMatch ( const CSphMatch & tMatch ) const { return KeyFromValue ( tMatch.GetAttr ( m_tLocator ) ); } \ virtual SphGroupKey_t KeyFromValue ( SphAttr_t uValue ) const \ { // NOLINT #define GROUPER_END \ } \ }; #define GROUPER_BEGIN_SPLIT(_name) \ GROUPER_BEGIN(_name) \ time_t tStamp = (time_t)uValue; \ struct tm tSplit; \ localtime_r ( &tStamp, &tSplit ); GROUPER_BEGIN ( CSphGrouperAttr ) return uValue; GROUPER_END GROUPER_BEGIN_SPLIT ( CSphGrouperDay ) return (tSplit.tm_year+1900)*10000 + (1+tSplit.tm_mon)*100 + tSplit.tm_mday; GROUPER_END GROUPER_BEGIN_SPLIT ( CSphGrouperWeek ) int iPrevSunday = (1+tSplit.tm_yday) - tSplit.tm_wday; // prev Sunday day of year, base 1 int iYear = tSplit.tm_year+1900; if ( iPrevSunday<=0 ) // check if we crossed year boundary { // adjust day and year iPrevSunday += 365; iYear--; // adjust for leap years if ( iYear%4==0 && ( iYear%100!=0 || iYear%400==0 ) ) iPrevSunday++; } return iYear*1000 + iPrevSunday; GROUPER_END GROUPER_BEGIN_SPLIT ( CSphGrouperMonth ) return (tSplit.tm_year+1900)*100 + (1+tSplit.tm_mon); GROUPER_END GROUPER_BEGIN_SPLIT ( CSphGrouperYear ) return (tSplit.tm_year+1900); GROUPER_END template class CSphGrouperString : public CSphGrouperAttr, public PRED { protected: const BYTE * m_pStringBase; public: explicit CSphGrouperString ( const CSphAttrLocator & tLoc ) : CSphGrouperAttr ( tLoc ) , m_pStringBase ( NULL ) { } virtual ESphAttr GetResultType () const { return SPH_ATTR_BIGINT; } virtual SphGroupKey_t KeyFromValue ( SphAttr_t uValue ) const { if ( !m_pStringBase || !uValue ) return 0; const BYTE * pStr = NULL; int iLen = sphUnpackStr ( m_pStringBase+uValue, &pStr ); if ( !pStr || !iLen ) return 0; return PRED::Hash ( pStr, iLen ); } virtual void SetStringPool ( const BYTE * pStrings ) { m_pStringBase = pStrings; } virtual bool CanMulti () const { return false; } }; class BinaryHash_fn { public: uint64_t Hash ( const BYTE * pStr, int iLen, uint64_t uPrev=SPH_FNV64_SEED ) const { assert ( pStr && iLen ); return sphFNV64 ( pStr, iLen, uPrev ); } }; template < typename T > inline static char * FormatInt ( char sBuf[32], T v ) { if_const ( sizeof(T)==4 && v==INT_MIN ) return strncpy ( sBuf, "-2147483648", 32 ); if_const ( sizeof(T)==8 && v==LLONG_MIN ) return strncpy ( sBuf, "-9223372036854775808", 32 ); bool s = ( v<0 ); if ( s ) v = -v; char * p = sBuf+31; *p = 0; do { *--p = '0' + char ( v % 10 ); v /= 10; } while ( v ); if ( s ) *--p = '-'; return p; } /// lookup JSON key, group by looked up value (used in CSphKBufferJsonGroupSorter) class CSphGrouperJsonField : public CSphGrouper { protected: CSphAttrLocator m_tLocator; public: ISphExpr * m_pExpr; const BYTE * m_pStrings; explicit CSphGrouperJsonField ( const CSphAttrLocator & tLoc, ISphExpr * pExpr ) : m_tLocator ( tLoc ) , m_pExpr ( pExpr ) , m_pStrings ( NULL ) {} virtual ~CSphGrouperJsonField () { SafeRelease ( m_pExpr ); } virtual void SetStringPool ( const BYTE * pStrings ) { m_pStrings = pStrings; if ( m_pExpr ) m_pExpr->Command ( SPH_EXPR_SET_STRING_POOL, (void*)pStrings ); } virtual void GetLocator ( CSphAttrLocator & tOut ) const { tOut = m_tLocator; } virtual ESphAttr GetResultType () const { return SPH_ATTR_BIGINT; } virtual SphGroupKey_t KeyFromMatch ( const CSphMatch & tMatch ) const { if ( !m_pExpr ) return SphGroupKey_t(); return m_pExpr->Int64Eval ( tMatch ); } virtual SphGroupKey_t KeyFromValue ( SphAttr_t ) const { assert(0); return SphGroupKey_t(); } }; template class CSphGrouperMulti : public CSphGrouper, public PRED { public: CSphGrouperMulti ( const CSphVector & dLocators, const CSphVector & dAttrTypes, const CSphVector & dJsonKeys ) : m_dLocators ( dLocators ) , m_dAttrTypes ( dAttrTypes ) , m_dJsonKeys ( dJsonKeys ) { assert ( m_dLocators.GetLength()>1 ); assert ( m_dLocators.GetLength()==m_dAttrTypes.GetLength() && m_dLocators.GetLength()==dJsonKeys.GetLength() ); } virtual ~CSphGrouperMulti () { ARRAY_FOREACH ( i, m_dJsonKeys ) SafeDelete ( m_dJsonKeys[i] ); } virtual SphGroupKey_t KeyFromMatch ( const CSphMatch & tMatch ) const { SphGroupKey_t tKey = SPH_FNV64_SEED; for ( int i=0; iInt64Eval ( tMatch ); const BYTE * pValue = m_pStringBase + ( uValue & 0xffffffff ); ESphJsonType eRes = (ESphJsonType)( uValue >> 32 ); int i32Val; int64_t i64Val; double fVal; switch ( eRes ) { case JSON_STRING: iLen = sphJsonUnpackInt ( &pValue ); tKey = sphFNV64 ( pValue, iLen, tKey ); break; case JSON_INT32: i32Val = sphJsonLoadInt ( &pValue ); tKey = sphFNV64 ( &i32Val, sizeof(i32Val), tKey ); break; case JSON_INT64: i64Val = sphJsonLoadBigint ( &pValue ); tKey = sphFNV64 ( &i64Val, sizeof(i64Val), tKey ); break; case JSON_DOUBLE: fVal = sphQW2D ( sphJsonLoadBigint ( &pValue ) ); tKey = sphFNV64 ( &fVal, sizeof(fVal), tKey ); break; default: break; } } else tKey = sphFNV64 ( &tAttr, sizeof(SphAttr_t), tKey ); } return tKey; } virtual void SetStringPool ( const BYTE * pStrings ) { m_pStringBase = pStrings; ARRAY_FOREACH ( i, m_dJsonKeys ) { if ( m_dJsonKeys[i] ) m_dJsonKeys[i]->Command ( SPH_EXPR_SET_STRING_POOL, (void*)pStrings ); } } virtual SphGroupKey_t KeyFromValue ( SphAttr_t ) const { assert(0); return SphGroupKey_t(); } virtual void GetLocator ( CSphAttrLocator & ) const { assert(0); } virtual ESphAttr GetResultType() const { return SPH_ATTR_BIGINT; } virtual bool CanMulti () const { return false; } private: CSphVector m_dLocators; CSphVector m_dAttrTypes; const BYTE * m_pStringBase; CSphVector m_dJsonKeys; }; ////////////////////////////////////////////////////////////////////////// /// simple fixed-size hash /// doesn't keep the order template < typename T, typename KEY, typename HASHFUNC > class CSphFixedHash : ISphNoncopyable { protected: static const int HASH_LIST_END = -1; static const int HASH_DELETED = -2; struct HashEntry_t { KEY m_tKey; T m_tValue; int m_iNext; }; protected: CSphVector m_dEntries; ///< key-value pairs storage pool CSphVector m_dHash; ///< hash into m_dEntries pool int m_iFree; ///< free pairs count CSphVector m_dFree; ///< free pair indexes public: /// ctor explicit CSphFixedHash ( int iLength ) { int iBuckets = ( 2 << sphLog2 ( iLength-1 ) ); // less than 50% bucket usage guaranteed assert ( iLength>0 ); assert ( iLength<=iBuckets ); m_dEntries.Resize ( iLength ); m_dHash.Resize ( iBuckets ); m_dFree.Resize ( iLength ); Reset (); } /// cleanup void Reset () { ARRAY_FOREACH ( i, m_dEntries ) m_dEntries[i].m_iNext = HASH_DELETED; ARRAY_FOREACH ( i, m_dHash ) m_dHash[i] = HASH_LIST_END; m_iFree = m_dFree.GetLength(); ARRAY_FOREACH ( i, m_dFree ) m_dFree[i] = i; } /// add new entry /// returns NULL on success /// returns pointer to value if already hashed, or replace it with new one, if insisted. T * Add ( const T & tValue, const KEY & tKey, bool bReplace=false ) { assert ( m_iFree>0 && "hash overflow" ); // check if it's already hashed DWORD uHash = DWORD ( HASHFUNC::Hash ( tKey ) ) & ( m_dHash.GetLength()-1 ); int iPrev = -1, iEntry; for ( iEntry=m_dHash[uHash]; iEntry>=0; iPrev=iEntry, iEntry=m_dEntries[iEntry].m_iNext ) if ( m_dEntries[iEntry].m_tKey==tKey ) { if ( bReplace ) m_dEntries[iEntry].m_tValue = tValue; return &m_dEntries[iEntry].m_tValue; } assert ( iEntry!=HASH_DELETED ); // if it's not, do add int iNew = m_dFree [ --m_iFree ]; HashEntry_t & tNew = m_dEntries[iNew]; assert ( tNew.m_iNext==HASH_DELETED ); tNew.m_tKey = tKey; tNew.m_tValue = tValue; tNew.m_iNext = HASH_LIST_END; if ( iPrev>=0 ) { assert ( m_dEntries[iPrev].m_iNext==HASH_LIST_END ); m_dEntries[iPrev].m_iNext = iNew; } else { assert ( m_dHash[uHash]==HASH_LIST_END ); m_dHash[uHash] = iNew; } return NULL; } /// remove entry from hash void Remove ( const KEY & tKey ) { // check if it's already hashed DWORD uHash = DWORD ( HASHFUNC::Hash ( tKey ) ) & ( m_dHash.GetLength()-1 ); int iPrev = -1, iEntry; for ( iEntry=m_dHash[uHash]; iEntry>=0; iPrev=iEntry, iEntry=m_dEntries[iEntry].m_iNext ) if ( m_dEntries[iEntry].m_tKey==tKey ) { // found, remove it assert ( m_dEntries[iEntry].m_iNext!=HASH_DELETED ); if ( iPrev>=0 ) m_dEntries[iPrev].m_iNext = m_dEntries[iEntry].m_iNext; else m_dHash[uHash] = m_dEntries[iEntry].m_iNext; #ifndef NDEBUG m_dEntries[iEntry].m_iNext = HASH_DELETED; #endif m_dFree [ m_iFree++ ] = iEntry; return; } assert ( iEntry!=HASH_DELETED ); } /// get value pointer by key T * operator () ( const KEY & tKey ) const { DWORD uHash = DWORD ( HASHFUNC::Hash ( tKey ) ) & ( m_dHash.GetLength()-1 ); int iEntry; for ( iEntry=m_dHash[uHash]; iEntry>=0; iEntry=m_dEntries[iEntry].m_iNext ) if ( m_dEntries[iEntry].m_tKey==tKey ) return (T*)&m_dEntries[iEntry].m_tValue; assert ( iEntry!=HASH_DELETED ); return NULL; } }; ///////////////////////////////////////////////////////////////////////////// /// (group,attrvalue) pair struct SphGroupedValue_t { public: SphGroupKey_t m_uGroup; SphAttr_t m_uValue; int m_iCount; public: SphGroupedValue_t () {} SphGroupedValue_t ( SphGroupKey_t uGroup, SphAttr_t uValue, int iCount ) : m_uGroup ( uGroup ) , m_uValue ( uValue ) , m_iCount ( iCount ) {} inline bool operator < ( const SphGroupedValue_t & rhs ) const { if ( m_uGroup!=rhs.m_uGroup ) return m_uGrouprhs.m_iCount; } inline bool operator == ( const SphGroupedValue_t & rhs ) const { return m_uGroup==rhs.m_uGroup && m_uValue==rhs.m_uValue; } }; /// same as SphGroupedValue_t but without group struct SphUngroupedValue_t { public: SphAttr_t m_uValue; int m_iCount; public: SphUngroupedValue_t () {} SphUngroupedValue_t ( SphAttr_t uValue, int iCount ) : m_uValue ( uValue ) , m_iCount ( iCount ) {} inline bool operator < ( const SphUngroupedValue_t & rhs ) const { if ( m_uValue!=rhs.m_uValue ) return m_uValuerhs.m_iCount; } inline bool operator == ( const SphUngroupedValue_t & rhs ) const { return m_uValue==rhs.m_uValue; } }; /// unique values counter /// used for COUNT(DISTINCT xxx) GROUP BY yyy queries class CSphUniqounter : public CSphVector { public: #ifndef NDEBUG CSphUniqounter () : m_iCountPos ( 0 ), m_bSorted ( true ) { Reserve ( 16384 ); } void Add ( const SphGroupedValue_t & tValue ) { CSphVector::Add ( tValue ); m_bSorted = false; } void Sort () { CSphVector::Sort (); m_bSorted = true; } #else CSphUniqounter () : m_iCountPos ( 0 ) {} #endif public: int CountStart ( SphGroupKey_t * pOutGroup ); ///< starting counting distinct values, returns count and group key (0 if empty) int CountNext ( SphGroupKey_t * pOutGroup ); ///< continues counting distinct values, returns count and group key (0 if done) void Compact ( SphGroupKey_t * pRemoveGroups, int iRemoveGroups ); protected: int m_iCountPos; #ifndef NDEBUG bool m_bSorted; #endif }; int CSphUniqounter::CountStart ( SphGroupKey_t * pOutGroup ) { m_iCountPos = 0; return CountNext ( pOutGroup ); } int CSphUniqounter::CountNext ( SphGroupKey_t * pOutGroup ) { assert ( m_bSorted ); if ( m_iCountPos>=m_iLength ) return 0; SphGroupKey_t uGroup = m_pData[m_iCountPos].m_uGroup; SphAttr_t uValue = m_pData[m_iCountPos].m_uValue; int iCount = m_pData[m_iCountPos].m_iCount; *pOutGroup = uGroup; while ( m_iCountPosm_uGroup ) { pRemoveGroups++; iRemoveGroups--; } for ( ; pSrcm_uGroup ) { pRemoveGroups++; iRemoveGroups--; } if ( iRemoveGroups && pSrc->m_uGroup==*pRemoveGroups ) continue; // check if it's a dupe if ( pDst>m_pData && pDst[-1]==pSrc[0] ) continue; *pDst++ = *pSrc; } assert ( pDst-m_pData<=m_iLength ); m_iLength = pDst-m_pData; } ///////////////////////////////////////////////////////////////////////////// /// attribute magic enum { SPH_VATTR_ID = -1, ///< tells match sorter to use doc id SPH_VATTR_RELEVANCE = -2, ///< tells match sorter to use match weight SPH_VATTR_FLOAT = 10000 ///< tells match sorter to compare floats }; /// match comparator interface from group-by sorter point of view struct ISphMatchComparator { virtual ~ISphMatchComparator () {} virtual bool VirtualIsLess ( const CSphMatch & a, const CSphMatch & b, const CSphMatchComparatorState & tState ) const = 0; }; /// additional group-by sorter settings struct CSphGroupSorterSettings { CSphAttrLocator m_tLocGroupby; ///< locator for @groupby CSphAttrLocator m_tLocCount; ///< locator for @count CSphAttrLocator m_tLocDistinct; ///< locator for @distinct CSphAttrLocator m_tDistinctLoc; ///< locator for attribute to compute count(distinct) for bool m_bDistinct; ///< whether we need distinct bool m_bMVA; ///< whether we're grouping by MVA attribute bool m_bMva64; CSphGrouper * m_pGrouper; ///< group key calculator bool m_bImplicit; ///< for queries with aggregate functions but without group by clause const ISphFilter * m_pAggrFilterTrait; ///< aggregate filter that got owned by grouper bool m_bJson; ///< whether we're grouping by Json attribute CSphAttrLocator m_tLocGroupbyStr; ///< locator for @groupbystr CSphGroupSorterSettings () : m_bDistinct ( false ) , m_bMVA ( false ) , m_bMva64 ( false ) , m_pGrouper ( NULL ) , m_bImplicit ( false ) , m_pAggrFilterTrait ( NULL ) , m_bJson ( false ) {} }; /// aggregate function interface class IAggrFunc { public: virtual ~IAggrFunc() {} virtual void Ungroup ( CSphMatch * ) {} virtual void Update ( CSphMatch * pDst, const CSphMatch * pSrc, bool bGrouped ) = 0; virtual void Finalize ( CSphMatch * ) {} }; /// aggregate traits for different attribute types template < typename T > class IAggrFuncTraits : public IAggrFunc { public: explicit IAggrFuncTraits ( const CSphAttrLocator & tLocator ) : m_tLocator ( tLocator ) {} inline T GetValue ( const CSphMatch * pRow ); inline void SetValue ( CSphMatch * pRow, T val ); protected: CSphAttrLocator m_tLocator; }; template<> DWORD IAggrFuncTraits::GetValue ( const CSphMatch * pRow ) { return (DWORD)pRow->GetAttr ( m_tLocator ); } template<> void IAggrFuncTraits::SetValue ( CSphMatch * pRow, DWORD val ) { pRow->SetAttr ( m_tLocator, val ); } template<> int64_t IAggrFuncTraits::GetValue ( const CSphMatch * pRow ) { return pRow->GetAttr ( m_tLocator ); } template<> void IAggrFuncTraits::SetValue ( CSphMatch * pRow, int64_t val ) { pRow->SetAttr ( m_tLocator, val ); } template<> float IAggrFuncTraits::GetValue ( const CSphMatch * pRow ) { return pRow->GetAttrFloat ( m_tLocator ); } template<> void IAggrFuncTraits::SetValue ( CSphMatch * pRow, float val ) { pRow->SetAttrFloat ( m_tLocator, val ); } /// SUM() implementation template < typename T > class AggrSum_t : public IAggrFuncTraits { public: explicit AggrSum_t ( const CSphAttrLocator & tLoc ) : IAggrFuncTraits ( tLoc ) {} virtual void Update ( CSphMatch * pDst, const CSphMatch * pSrc, bool ) { this->SetValue ( pDst, this->GetValue(pDst)+this->GetValue(pSrc) ); } }; /// AVG() implementation template < typename T > class AggrAvg_t : public IAggrFuncTraits { protected: CSphAttrLocator m_tCountLoc; public: AggrAvg_t ( const CSphAttrLocator & tLoc, const CSphAttrLocator & tCountLoc ) : IAggrFuncTraits ( tLoc ), m_tCountLoc ( tCountLoc ) {} virtual void Ungroup ( CSphMatch * pDst ) { this->SetValue ( pDst, T ( this->GetValue ( pDst ) * pDst->GetAttr ( m_tCountLoc ) ) ); } virtual void Update ( CSphMatch * pDst, const CSphMatch * pSrc, bool bGrouped ) { if ( bGrouped ) this->SetValue ( pDst, T ( this->GetValue ( pDst ) + this->GetValue ( pSrc ) * pSrc->GetAttr ( m_tCountLoc ) ) ); else this->SetValue ( pDst, this->GetValue ( pDst ) + this->GetValue ( pSrc ) ); } virtual void Finalize ( CSphMatch * pDst ) { this->SetValue ( pDst, T ( this->GetValue ( pDst ) / pDst->GetAttr ( m_tCountLoc ) ) ); } }; /// MAX() implementation template < typename T > class AggrMax_t : public IAggrFuncTraits { public: explicit AggrMax_t ( const CSphAttrLocator & tLoc ) : IAggrFuncTraits ( tLoc ) {} virtual void Update ( CSphMatch * pDst, const CSphMatch * pSrc, bool ) { this->SetValue ( pDst, Max ( this->GetValue(pDst), this->GetValue(pSrc) ) ); } }; /// MIN() implementation template < typename T > class AggrMin_t : public IAggrFuncTraits { public: explicit AggrMin_t ( const CSphAttrLocator & tLoc ) : IAggrFuncTraits ( tLoc ) {} virtual void Update ( CSphMatch * pDst, const CSphMatch * pSrc, bool ) { this->SetValue ( pDst, Min ( this->GetValue(pDst), this->GetValue(pSrc) ) ); } }; /// GROUP_CONCAT() implementation class AggrConcat_t : public IAggrFunc { protected: CSphAttrLocator m_tLoc; public: explicit AggrConcat_t ( const CSphColumnInfo & tCol ) : m_tLoc ( tCol.m_tLocator ) {} void Ungroup ( CSphMatch * ) {} void Finalize ( CSphMatch * ) {} void Update ( CSphMatch * pDst, const CSphMatch * pSrc, bool ) { const char * sDst = (const char*) pDst->GetAttr(m_tLoc); const char * sSrc = (const char*) pSrc->GetAttr(m_tLoc); assert ( !sDst || *sDst ); // ensure the string is either NULL, or has data assert ( !sSrc || *sSrc ); // empty source? kinda weird, but done! if ( !sSrc ) return; // empty destination? just clone the source if ( !sDst ) { if ( sSrc ) pDst->SetAttr ( m_tLoc, (SphAttr_t)strdup(sSrc) ); return; } // both source and destination present? append source to destination // note that it gotta be manual copying here, as SetSprintf (currently) comes with a 1K limit assert ( sDst && sSrc ); int iSrc = strlen ( sSrc ); int iDst = strlen ( sDst ); char * sNew = new char [ iSrc+iDst+2 ]; // OPTIMIZE? careful pre-reserve and/or realloc would be even faster memcpy ( sNew, sDst, iDst ); sNew [ iDst ] = ','; memcpy ( sNew+iDst+1, sSrc, iSrc ); sNew [ iSrc+iDst+1 ] = '\0'; pDst->SetAttr ( m_tLoc, (SphAttr_t)sNew ); SafeDeleteArray ( sDst ); } }; /// group sorting functor template < typename COMPGROUP > struct GroupSorter_fn : public CSphMatchComparatorState, public MatchSortAccessor_t { bool IsLess ( const MEDIAN_TYPE a, const MEDIAN_TYPE b ) const { return COMPGROUP::IsLess ( *b, *a, *this ); } }; struct MatchCloner_t { CSphFixedVector m_dRowBuf; CSphVector m_dAttrsRaw; CSphVector m_dAttrsPtr; const CSphRsetSchema * m_pSchema; MatchCloner_t () : m_dRowBuf ( 0 ) , m_pSchema ( NULL ) { } void SetSchema ( const CSphRsetSchema * pSchema ) { m_pSchema = pSchema; m_dRowBuf.Reset ( m_pSchema->GetDynamicSize() ); } void Combine ( CSphMatch * pDst, const CSphMatch * pSrc, const CSphMatch * pGroup ) { assert ( m_pSchema && pDst && pSrc && pGroup ); assert ( pDst!=pGroup ); m_pSchema->CloneMatch ( pDst, *pSrc ); ARRAY_FOREACH ( i, m_dAttrsRaw ) { pDst->SetAttr ( m_dAttrsRaw[i], pGroup->GetAttr ( m_dAttrsRaw[i] ) ); } ARRAY_FOREACH ( i, m_dAttrsPtr ) { assert ( !pDst->GetAttr ( m_dAttrsPtr[i] ) ); const char * sSrc = (const char*)pGroup->GetAttr ( m_dAttrsPtr[i] ); const char * sDst = NULL; if ( sSrc && *sSrc ) sDst = strdup(sSrc); pDst->SetAttr ( m_dAttrsPtr[i], (SphAttr_t)sDst ); } } void Clone ( CSphMatch * pOld, const CSphMatch * pNew ) { assert ( m_pSchema && pOld && pNew ); if ( pOld->m_pDynamic==NULL ) // no old match has no data to copy, just a fresh but old match { m_pSchema->CloneMatch ( pOld, *pNew ); return; } memcpy ( m_dRowBuf.Begin(), pOld->m_pDynamic, sizeof(m_dRowBuf[0]) * m_dRowBuf.GetLength() ); // don't let cloning operation to free old string data // as it will be copied back ARRAY_FOREACH ( i, m_dAttrsPtr ) pOld->SetAttr ( m_dAttrsPtr[i], 0 ); m_pSchema->CloneMatch ( pOld, *pNew ); ARRAY_FOREACH ( i, m_dAttrsRaw ) pOld->SetAttr ( m_dAttrsRaw[i], sphGetRowAttr ( m_dRowBuf.Begin(), m_dAttrsRaw[i] ) ); ARRAY_FOREACH ( i, m_dAttrsPtr ) pOld->SetAttr ( m_dAttrsPtr[i], sphGetRowAttr ( m_dRowBuf.Begin(), m_dAttrsPtr[i] ) ); } }; static void ExtractAggregates ( const CSphRsetSchema & tSchema, const CSphAttrLocator & tLocCount, const ESphSortKeyPart * m_pGroupSorterKeyparts, const CSphAttrLocator * m_pGroupSorterLocator, CSphVector & dAggregates, CSphVector & dAvgs, MatchCloner_t & tCloner ) { for ( int i=0; i ( tAttr.m_tLocator ) ); break; case SPH_ATTR_BIGINT: dAggregates.Add ( new AggrSum_t ( tAttr.m_tLocator ) ); break; case SPH_ATTR_FLOAT: dAggregates.Add ( new AggrSum_t ( tAttr.m_tLocator ) ); break; default: assert ( 0 && "internal error: unhandled aggregate type" ); break; } break; case SPH_AGGR_AVG: switch ( tAttr.m_eAttrType ) { case SPH_ATTR_INTEGER: dAggregates.Add ( new AggrAvg_t ( tAttr.m_tLocator, tLocCount ) ); break; case SPH_ATTR_BIGINT: dAggregates.Add ( new AggrAvg_t ( tAttr.m_tLocator, tLocCount ) ); break; case SPH_ATTR_FLOAT: dAggregates.Add ( new AggrAvg_t ( tAttr.m_tLocator, tLocCount ) ); break; default: assert ( 0 && "internal error: unhandled aggregate type" ); break; } // store avg to calculate these attributes prior to groups sort for ( int iState=0; iState ( tAttr.m_tLocator ) ); break; case SPH_ATTR_BIGINT: dAggregates.Add ( new AggrMin_t ( tAttr.m_tLocator ) ); break; case SPH_ATTR_FLOAT: dAggregates.Add ( new AggrMin_t ( tAttr.m_tLocator ) ); break; default: assert ( 0 && "internal error: unhandled aggregate type" ); break; } break; case SPH_AGGR_MAX: switch ( tAttr.m_eAttrType ) { case SPH_ATTR_INTEGER: dAggregates.Add ( new AggrMax_t ( tAttr.m_tLocator ) ); break; case SPH_ATTR_BIGINT: dAggregates.Add ( new AggrMax_t ( tAttr.m_tLocator ) ); break; case SPH_ATTR_FLOAT: dAggregates.Add ( new AggrMax_t ( tAttr.m_tLocator ) ); break; default: assert ( 0 && "internal error: unhandled aggregate type" ); break; } break; case SPH_AGGR_CAT: dAggregates.Add ( new AggrConcat_t ( tAttr ) ); break; default: assert ( 0 && "internal error: unhandled aggregate function" ); break; } if ( tAttr.m_eAggrFunc==SPH_AGGR_CAT ) tCloner.m_dAttrsPtr.Add ( tAttr.m_tLocator ); else tCloner.m_dAttrsRaw.Add ( tAttr.m_tLocator ); } } /// match sorter with k-buffering and group-by template < typename COMPGROUP, bool DISTINCT, bool NOTIFICATIONS > class CSphKBufferGroupSorter : public CSphMatchQueueTraits, protected CSphGroupSorterSettings { protected: ESphGroupBy m_eGroupBy; ///< group-by function CSphGrouper * m_pGrouper; CSphFixedHash < CSphMatch *, SphGroupKey_t, IdentityHash_fn > m_hGroup2Match; protected: int m_iLimit; ///< max matches to be retrieved CSphUniqounter m_tUniq; bool m_bSortByDistinct; GroupSorter_fn m_tGroupSorter; const ISphMatchComparator * m_pComp; CSphVector m_dAggregates; CSphVector m_dAvgs; const ISphFilter * m_pAggrFilter; ///< aggregate filter for matches on flatten MatchCloner_t m_tPregroup; static const int GROUPBY_FACTOR = 4; ///< allocate this times more storage when doing group-by (k, as in k-buffer) public: /// ctor CSphKBufferGroupSorter ( const ISphMatchComparator * pComp, const CSphQuery * pQuery, const CSphGroupSorterSettings & tSettings ) // FIXME! make k configurable : CSphMatchQueueTraits ( pQuery->m_iMaxMatches*GROUPBY_FACTOR, true ) , CSphGroupSorterSettings ( tSettings ) , m_eGroupBy ( pQuery->m_eGroupFunc ) , m_pGrouper ( tSettings.m_pGrouper ) , m_hGroup2Match ( pQuery->m_iMaxMatches*GROUPBY_FACTOR ) , m_iLimit ( pQuery->m_iMaxMatches ) , m_bSortByDistinct ( false ) , m_pComp ( pComp ) , m_pAggrFilter ( tSettings.m_pAggrFilterTrait ) { assert ( GROUPBY_FACTOR>1 ); assert ( DISTINCT==false || tSettings.m_tDistinctLoc.m_iBitOffset>=0 ); if_const ( NOTIFICATIONS ) m_dJustPopped.Reserve ( m_iSize ); } /// schema setup virtual void SetSchema ( CSphRsetSchema & tSchema ) { m_tSchema = tSchema; m_tPregroup.SetSchema ( &m_tSchema ); m_tPregroup.m_dAttrsRaw.Add ( m_tLocGroupby ); m_tPregroup.m_dAttrsRaw.Add ( m_tLocCount ); if_const ( DISTINCT ) { m_tPregroup.m_dAttrsRaw.Add ( m_tLocDistinct ); } ExtractAggregates ( m_tSchema, m_tLocCount, m_tGroupSorter.m_eKeypart, m_tGroupSorter.m_tLocator, m_dAggregates, m_dAvgs, m_tPregroup ); } /// dtor ~CSphKBufferGroupSorter () { SafeDelete ( m_pComp ); SafeDelete ( m_pGrouper ); SafeDelete ( m_pAggrFilter ); ARRAY_FOREACH ( i, m_dAggregates ) SafeDelete ( m_dAggregates[i] ); } /// check if this sorter does groupby virtual bool IsGroupby () const { return true; } virtual bool CanMulti () const { if ( m_pGrouper && !m_pGrouper->CanMulti() ) return false; if ( HasString ( &m_tState ) ) return false; if ( HasString ( &m_tGroupSorter ) ) return false; return true; } /// set string pool pointer (for string+groupby sorters) void SetStringPool ( const BYTE * pStrings ) { m_pGrouper->SetStringPool ( pStrings ); } /// add entry to the queue virtual bool Push ( const CSphMatch & tEntry ) { SphGroupKey_t uGroupKey = m_pGrouper->KeyFromMatch ( tEntry ); return PushEx ( tEntry, uGroupKey, false, false ); } /// add grouped entry to the queue virtual bool PushGrouped ( const CSphMatch & tEntry, bool ) { return PushEx ( tEntry, tEntry.GetAttr ( m_tLocGroupby ), true, false ); } /// add entry to the queue virtual bool PushEx ( const CSphMatch & tEntry, const SphGroupKey_t uGroupKey, bool bGrouped, bool, SphAttr_t * pAttr=NULL ) { if_const ( NOTIFICATIONS ) { m_iJustPushed = 0; m_dJustPopped.Resize ( 0 ); } // if this group is already hashed, we only need to update the corresponding match CSphMatch ** ppMatch = m_hGroup2Match ( uGroupKey ); if ( ppMatch ) { CSphMatch * pMatch = (*ppMatch); assert ( pMatch ); assert ( pMatch->GetAttr ( m_tLocGroupby )==uGroupKey ); assert ( pMatch->m_pDynamic[-1]==tEntry.m_pDynamic[-1] ); if ( bGrouped ) { // it's already grouped match // sum grouped matches count pMatch->SetAttr ( m_tLocCount, pMatch->GetAttr ( m_tLocCount ) + tEntry.GetAttr ( m_tLocCount ) ); // OPTIMIZE! AddAttr()? } else { // it's a simple match // increase grouped matches count pMatch->SetAttr ( m_tLocCount, 1 + pMatch->GetAttr ( m_tLocCount ) ); // OPTIMIZE! IncAttr()? } // update aggregates ARRAY_FOREACH ( i, m_dAggregates ) m_dAggregates[i]->Update ( pMatch, &tEntry, bGrouped ); // if new entry is more relevant, update from it if ( m_pComp->VirtualIsLess ( *pMatch, tEntry, m_tState ) ) { if_const ( NOTIFICATIONS ) { m_iJustPushed = tEntry.m_uDocID; m_dJustPopped.Add ( pMatch->m_uDocID ); } // clone the low part of the match m_tPregroup.Clone ( pMatch, &tEntry ); // update @groupbystr value, if available if ( pAttr && m_tLocGroupbyStr.m_bDynamic ) pMatch->SetAttr ( m_tLocGroupbyStr, *pAttr ); } } // submit actual distinct value in all cases if_const ( DISTINCT ) { int iCount = 1; if ( bGrouped ) iCount = (int)tEntry.GetAttr ( m_tLocDistinct ); m_tUniq.Add ( SphGroupedValue_t ( uGroupKey, tEntry.GetAttr ( m_tDistinctLoc ), iCount ) ); // OPTIMIZE! use simpler locator here? } // it's a dupe anyway, so we shouldn't update total matches count if ( ppMatch ) return false; // if we're full, let's cut off some worst groups if ( m_iUsed==m_iSize ) CutWorst ( m_iLimit * (int)(GROUPBY_FACTOR/2) ); // do add assert ( m_iUsedUngroup ( &tNew ); } m_hGroup2Match.Add ( &tNew, uGroupKey ); m_iTotal++; return true; } void CalcAvg ( bool bGroup ) { if ( !m_dAvgs.GetLength() ) return; CSphMatch * pMatch = m_pData; CSphMatch * pEnd = pMatch + m_iUsed; while ( pMatchFinalize ( pMatch ); else m_dAvgs[j]->Ungroup ( pMatch ); } ++pMatch; } } /// store all entries into specified location in sorted order, and remove them from queue int Flatten ( CSphMatch * pTo, int iTag ) { CountDistinct (); CalcAvg ( true ); SortGroups (); CSphVector dAggrs; if ( m_dAggregates.GetLength()!=m_dAvgs.GetLength() ) { dAggrs = m_dAggregates; ARRAY_FOREACH ( i, m_dAvgs ) dAggrs.RemoveValue ( m_dAvgs[i] ); } // FIXME!!! we should provide up-to max_matches to output buffer const CSphMatch * pBegin = pTo; int iLen = GetLength (); for ( int i=0; iFinalize ( &tMatch ); // HAVING filtering if ( m_pAggrFilter && !m_pAggrFilter->Eval ( tMatch ) ) continue; m_tSchema.CloneMatch ( pTo, tMatch ); if ( iTag>=0 ) pTo->m_iTag = iTag; pTo++; } m_iUsed = 0; m_iTotal = 0; m_hGroup2Match.Reset (); if_const ( DISTINCT ) m_tUniq.Resize ( 0 ); return ( pTo-pBegin ); } /// get entries count int GetLength () const { return Min ( m_iUsed, m_iLimit ); } /// set group comparator state void SetGroupState ( const CSphMatchComparatorState & tState ) { m_tGroupSorter.m_fnStrCmp = tState.m_fnStrCmp; // FIXME! manual bitwise copying.. yuck for ( int i=0; i=0 ) for ( int i=0; iSetAttr ( m_tLocDistinct, iCount ); } } } /// cut worst N groups off the buffer tail void CutWorst ( int iBound ) { // sort groups if ( m_bSortByDistinct ) CountDistinct (); CalcAvg ( true ); SortGroups (); CalcAvg ( false ); if_const ( NOTIFICATIONS ) { for ( int i = iBound; i < m_iUsed; ++i ) m_dJustPopped.Add ( m_pData[i].m_uDocID ); } // cleanup unused distinct stuff if_const ( DISTINCT ) { // build kill-list CSphVector dRemove; dRemove.Resize ( m_iUsed-iBound ); ARRAY_FOREACH ( i, dRemove ) dRemove[i] = m_pData[iBound+i].GetAttr ( m_tLocGroupby ); // sort and compact if ( !m_bSortByDistinct ) m_tUniq.Sort (); m_tUniq.Compact ( &dRemove[0], m_iUsed-iBound ); } // rehash m_hGroup2Match.Reset (); for ( int i=0; im_iLimit ) CutWorst ( m_iLimit ); // just evaluate in heap order CSphMatch * pCur = m_pData; const CSphMatch * pEnd = m_pData + m_iUsed; while ( pCur class CSphKBufferNGroupSorter : public CSphMatchQueueTraits, protected CSphGroupSorterSettings { protected: ESphGroupBy m_eGroupBy; ///< group-by function CSphGrouper * m_pGrouper; CSphFixedHash < CSphMatch *, SphGroupKey_t, IdentityHash_fn > m_hGroup2Match; protected: int m_iLimit; ///< max matches to be retrieved int m_iGLimit; ///< limit per one group CSphFixedVector m_dGroupByList; ///< chains of equal matches from groups CSphFixedVector m_dGroupsLen; ///< lengths of chains of equal matches from groups int m_iFreeHeads; ///< insertion point for head matches. CSphFreeList m_dFreeTails; ///< where to put tails of the subgroups SphGroupKey_t m_uLastGroupKey; ///< helps to determine in pushEx whether the new subgroup started #ifndef NDEBUG int m_iruns; ///< helpers for conditional breakpoints on debug int m_ipushed; #endif CSphUniqounter m_tUniq; bool m_bSortByDistinct; GroupSorter_fn m_tGroupSorter; const ISphMatchComparator * m_pComp; CSphVector m_dAggregates; CSphVector m_dAvgs; const ISphFilter * m_pAggrFilter; ///< aggregate filter for matches on flatten MatchCloner_t m_tPregroup; static const int GROUPBY_FACTOR = 4; ///< allocate this times more storage when doing group-by (k, as in k-buffer) protected: inline int GetFreePos ( bool bTailPos ) { // if we're full, let's cut off some worst groups if ( m_iUsed==m_iSize ) { CutWorst ( m_iLimit * (int)(GROUPBY_FACTOR/2) ); // don't return true value for tail this case, // since the context might be changed by the CutWorst! if ( bTailPos ) return -1; } // do add assert ( m_iUsedm_iGroupbyLimit>1 ? 2 : 1 ) * pQuery->m_iMaxMatches * GROUPBY_FACTOR, true ) , CSphGroupSorterSettings ( tSettings ) , m_eGroupBy ( pQuery->m_eGroupFunc ) , m_pGrouper ( tSettings.m_pGrouper ) , m_hGroup2Match ( pQuery->m_iMaxMatches*GROUPBY_FACTOR*2 ) , m_iLimit ( pQuery->m_iMaxMatches ) , m_iGLimit ( pQuery->m_iGroupbyLimit ) , m_dGroupByList ( 0 ) , m_dGroupsLen ( 0 ) , m_iFreeHeads ( 0 ) , m_uLastGroupKey ( -1 ) , m_bSortByDistinct ( false ) , m_pComp ( pComp ) , m_pAggrFilter ( tSettings.m_pAggrFilterTrait ) { assert ( GROUPBY_FACTOR>1 ); assert ( DISTINCT==false || tSettings.m_tDistinctLoc.m_iBitOffset>=0 ); assert ( m_iGLimit > 1 ); if_const ( NOTIFICATIONS ) m_dJustPopped.Reserve ( m_iSize ); // trick! This case we allocated 2*m_iSize mem. // range 0..m_iSize used for 1-st matches of each subgroup (i.e., for heads) // range m_iSize+1..2*m_iSize used for the tails. m_dGroupByList.Reset ( m_iSize ); m_dGroupsLen.Reset ( m_iSize ); m_iSize >>= 1; ARRAY_FOREACH ( i, m_dGroupByList ) { m_dGroupByList[i] = -1; m_dGroupsLen[i] = 0; } m_dFreeTails.Reset ( m_iSize ); #ifndef NDEBUG m_iruns = 0; m_ipushed = 0; #endif } // only for n-group virtual int GetDataLength () const { return CSphMatchQueueTraits::GetDataLength()/2; } /// schema setup virtual void SetSchema ( CSphRsetSchema & tSchema ) { m_tSchema = tSchema; m_tPregroup.SetSchema ( &m_tSchema ); m_tPregroup.m_dAttrsRaw.Add ( m_tLocGroupby ); m_tPregroup.m_dAttrsRaw.Add ( m_tLocCount ); if_const ( DISTINCT ) { m_tPregroup.m_dAttrsRaw.Add ( m_tLocDistinct ); } ExtractAggregates ( m_tSchema, m_tLocCount, m_tGroupSorter.m_eKeypart, m_tGroupSorter.m_tLocator, m_dAggregates, m_dAvgs, m_tPregroup ); } /// dtor virtual ~CSphKBufferNGroupSorter () { SafeDelete ( m_pComp ); SafeDelete ( m_pGrouper ); SafeDelete ( m_pAggrFilter ); ARRAY_FOREACH ( i, m_dAggregates ) SafeDelete ( m_dAggregates[i] ); } /// check if this sorter does groupby virtual bool IsGroupby () const { return true; } virtual bool CanMulti () const { if ( m_pGrouper && !m_pGrouper->CanMulti() ) return false; if ( HasString ( &m_tState ) ) return false; if ( HasString ( &m_tGroupSorter ) ) return false; return true; } /// set string pool pointer (for string+groupby sorters) void SetStringPool ( const BYTE * pStrings ) { m_pGrouper->SetStringPool ( pStrings ); } /// add entry to the queue virtual bool Push ( const CSphMatch & tEntry ) { SphGroupKey_t uGroupKey = m_pGrouper->KeyFromMatch ( tEntry ); return PushEx ( tEntry, uGroupKey, false, false ); } /// add grouped entry to the queue virtual bool PushGrouped ( const CSphMatch & tEntry, bool bNewSet ) { return PushEx ( tEntry, tEntry.GetAttr ( m_tLocGroupby ), true, bNewSet ); } void FreeMatchChain ( int iPos ) { while ( iPos>=0 ) { if_const ( NOTIFICATIONS ) m_dJustPopped.Add ( m_pData[iPos].m_uDocID ); int iLastPos = iPos; m_tSchema.FreeStringPtrs ( m_pData + iPos ); iPos = m_dGroupByList[iPos]; m_dGroupByList[iLastPos] = -1; if ( iLastPos>=m_iSize ) m_dFreeTails.Free ( iLastPos - m_iSize ); } } // insert a match into subgroup, or discard it // returns 0 if no place now (need to flush) // returns 1 if value was discarded or replaced other existing value // returns 2 if value was added. enum InsertRes_e { INSERT_NONE, INSERT_REPLACED, INSERT_ADDED }; InsertRes_e InsertMatch ( int iPos, const CSphMatch & tEntry ) { const int iHead = iPos; int iPrev = -1; const bool bDoAdd = ( m_dGroupsLen[iHead]=0 ) { CSphMatch * pMatch = m_pData+iPos; if ( m_pComp->VirtualIsLess ( *pMatch, tEntry, m_tState ) ) // the tEntry is better than current *pMatch { int iNew = iPos; if ( bDoAdd ) { iNew = GetFreePos ( true ); // add to the tails (2-nd subrange) if ( iNew<0 ) return INSERT_NONE; } else { int iPreLast = iPrev; while ( m_dGroupByList[iNew]>=0 ) { iPreLast = iNew; iNew = m_dGroupByList[iNew]; } m_tSchema.FreeStringPtrs ( m_pData + iNew ); m_dGroupByList[iPreLast] = -1; if ( iPos==iNew ) // avoid cycle link to itself iPos = -1; } CSphMatch & tNew = m_pData [ iNew ]; if_const ( NOTIFICATIONS ) { m_iJustPushed = tEntry.m_uDocID; if ( tNew.m_uDocID!=0 ) m_dJustPopped.Add ( tNew.m_uDocID ); } if ( bDoAdd ) ++m_dGroupsLen[iHead]; if ( iPos==iHead ) // this is the first elem, need to copy groupby staff from it { // trick point! The first elem MUST live in the low half of the pool. // So, replacing the first is actually moving existing one to the last half, // then overwriting the one in the low half with the new value and link them m_tPregroup.Clone ( &tNew, pMatch ); m_tPregroup.Clone ( pMatch, &tEntry ); m_dGroupByList[iNew] = m_dGroupByList[iPos]; m_dGroupByList[iPos] = iNew; } else // this is elem somewhere in the chain, just shift it. { m_tPregroup.Clone ( &tNew, &tEntry ); m_dGroupByList[iPrev] = iNew; m_dGroupByList[iNew] = iPos; } break; } iPrev = iPos; iPos = m_dGroupByList[iPos]; } if ( iPos<0 && bDoAdd ) // this item is less than everything, but still appropriate { int iNew = GetFreePos ( true ); // add to the tails (2-nd subrange) if ( iNew<0 ) return INSERT_NONE; CSphMatch & tNew = m_pData [ iNew ]; m_tPregroup.Clone ( &tNew, &tEntry ); m_dGroupByList[iPrev] = iNew; m_dGroupByList[iNew] = iPos; if_const ( NOTIFICATIONS ) m_iJustPushed = tEntry.m_uDocID; if ( bDoAdd ) ++m_dGroupsLen[iHead]; } return bDoAdd ? INSERT_ADDED : INSERT_REPLACED; } #ifndef NDEBUG void CheckIntegrity() { int iTotalLen = 0; for ( int i=0; i=0 ) { int iNext = m_dGroupByList[iCur]; assert ( iNext==-1 || m_pData[iCur].GetAttr ( m_tLocGroupby )==0 || m_pData[iNext].GetAttr ( m_tLocGroupby )==0 || m_pData[iCur].GetAttr ( m_tLocGroupby )==m_pData[iNext].GetAttr ( m_tLocGroupby ) ); ++iLen; iCur = iNext; } assert ( m_dGroupsLen[i]==iLen ); iTotalLen += iLen; } assert ( iTotalLen==m_iUsed ); } #define CHECKINTEGRITY() CheckIntegrity() #else #define CHECKINTEGRITY() #endif /// add entry to the queue virtual bool PushEx ( const CSphMatch & tEntry, const SphGroupKey_t uGroupKey, bool bGrouped, bool bNewSet ) { #ifndef NDEBUG ++m_ipushed; #endif CHECKINTEGRITY(); if_const ( NOTIFICATIONS ) { m_iJustPushed = 0; m_dJustPopped.Resize ( 0 ); } // if this group is already hashed, we only need to update the corresponding match CSphMatch ** ppMatch = m_hGroup2Match ( uGroupKey ); if ( ppMatch ) { CSphMatch * pMatch = (*ppMatch); assert ( pMatch ); assert ( pMatch->GetAttr ( m_tLocGroupby )==uGroupKey ); assert ( pMatch->m_pDynamic[-1]==tEntry.m_pDynamic[-1] ); if ( bGrouped ) { // it's already grouped match // sum grouped matches count if ( bNewSet || uGroupKey!=m_uLastGroupKey ) { pMatch->SetAttr ( m_tLocCount, pMatch->GetAttr ( m_tLocCount ) + tEntry.GetAttr ( m_tLocCount ) ); // OPTIMIZE! AddAttr()? m_uLastGroupKey = uGroupKey; bNewSet = true; } } else { // it's a simple match // increase grouped matches count pMatch->SetAttr ( m_tLocCount, 1 + pMatch->GetAttr ( m_tLocCount ) ); // OPTIMIZE! IncAttr()? } bNewSet |= !bGrouped; // update aggregates if ( bNewSet ) ARRAY_FOREACH ( i, m_dAggregates ) m_dAggregates[i]->Update ( pMatch, &tEntry, bGrouped ); // if new entry is more relevant, update from it InsertRes_e eRes = InsertMatch ( pMatch-m_pData, tEntry ); if ( eRes==INSERT_NONE ) { // need to keep all poped values CSphTightVector dJustPopped; dJustPopped.SwapData ( m_dJustPopped ); // was no insertion because cache cleaning. Recall myself PushEx ( tEntry, uGroupKey, bGrouped, bNewSet ); // post Push work ARRAY_FOREACH ( i, dJustPopped ) m_dJustPopped.Add ( dJustPopped[i] ); CSphMatch ** ppDec = m_hGroup2Match ( uGroupKey ); assert ( ppDec ); (*ppDec)->SetAttr ( m_tLocCount, (*ppDec)->GetAttr ( m_tLocCount )-1 ); } else if ( eRes==INSERT_ADDED ) { if ( bGrouped ) return true; ++m_iTotal; } } // submit actual distinct value in all cases if_const ( DISTINCT ) { int iCount = 1; if ( bGrouped ) iCount = (int)tEntry.GetAttr ( m_tLocDistinct ); m_tUniq.Add ( SphGroupedValue_t ( uGroupKey, tEntry.GetAttr ( m_tDistinctLoc ), iCount ) ); // OPTIMIZE! use simpler locator here? } CHECKINTEGRITY(); // it's a dupe anyway, so we shouldn't update total matches count if ( ppMatch ) return false; // do add int iNew = GetFreePos ( false ); assert ( iNew>=0 && iNewUngroup ( &tNew ); } m_hGroup2Match.Add ( &tNew, uGroupKey ); m_iTotal++; CHECKINTEGRITY(); return true; } void CalcAvg ( bool bGroup ) { if ( !m_dAvgs.GetLength() ) return; int iHeadMatch; int iMatch = iHeadMatch = 0; for ( int i=0; iFinalize ( pMatch ); else m_dAvgs[j]->Ungroup ( pMatch ); } iMatch = m_dGroupByList [ iMatch ]; if ( iMatch<0 ) iMatch = ++iHeadMatch; } } // rebuild m_hGroup2Match to point to the subgroups (2-nd elem and further) // returns true if any such subgroup found void Hash2nd() { // let the hash points to the chains from 2-nd elem m_hGroup2Match.Reset(); int iHeads = m_iUsed; for ( int i=0; i1 ) { int iCount = m_dGroupsLen[i]; int iTail = m_dGroupByList[i]; assert ( iTail>=0 ); assert ( m_pData[iTail].GetAttr ( m_tLocGroupby )==0 || m_pData[i].GetAttr ( m_tLocGroupby )==m_pData[iTail].GetAttr ( m_tLocGroupby ) ); m_hGroup2Match.Add ( m_pData + iTail, m_pData[i].GetAttr ( m_tLocGroupby ) ); iHeads -= iCount - 1; m_dGroupsLen[iTail] = iCount; } } } /// store all entries into specified location in sorted order, and remove them from queue int Flatten ( CSphMatch * pTo, int iTag ) { CountDistinct (); CalcAvg ( true ); Hash2nd(); SortGroups (); CSphVector dAggrs; if ( m_dAggregates.GetLength()!=m_dAvgs.GetLength() ) { dAggrs = m_dAggregates; ARRAY_FOREACH ( i, m_dAvgs ) dAggrs.RemoveValue ( m_dAvgs[i] ); } const CSphMatch * pBegin = pTo; int iTotal = GetLength (); int iTopGroupMatch = 0; int iEntry = 0; while ( iEntryFinalize ( pMatch ); bool bTopPassed = ( !m_pAggrFilter || m_pAggrFilter->Eval ( *pMatch ) ); // copy top group match if ( bTopPassed ) { m_tSchema.CloneMatch ( pTo, *pMatch ); if ( iTag>=0 ) pTo->m_iTag = iTag; pTo++; } iEntry++; iTopGroupMatch++; // now look for the next match. // In this specific case (2-nd, just after the head) // we have to look it in the hash, not in the linked list! CSphMatch ** ppMatch = m_hGroup2Match ( pMatch->GetAttr ( m_tLocGroupby ) ); int iNext = ( ppMatch ? *ppMatch-m_pData : -1 ); while ( iNext>=0 ) { // copy rest group matches if ( bTopPassed ) { m_tPregroup.Combine ( pTo, m_pData+iNext, pMatch ); if ( iTag>=0 ) pTo->m_iTag = iTag; pTo++; } iEntry++; iNext = m_dGroupByList[iNext]; } } m_iFreeHeads = m_iUsed = 0; m_iTotal = 0; ARRAY_FOREACH ( i, m_dGroupByList ) { m_dGroupByList[i] = -1; m_dGroupsLen[i] = 0; } m_hGroup2Match.Reset (); if_const ( DISTINCT ) m_tUniq.Resize ( 0 ); return ( pTo-pBegin ); } /// get entries count int GetLength () const { return Min ( m_iUsed, m_iLimit ); } /// set group comparator state void SetGroupState ( const CSphMatchComparatorState & tState ) { m_tGroupSorter.m_fnStrCmp = tState.m_fnStrCmp; // FIXME! manual bitwise copying.. yuck for ( int i=0; i=0 ) for ( int i=0; iSetAttr ( m_tLocDistinct, iCount ); } } } /// cut worst N groups off the buffer tail void CutWorst ( int iBound ) { #ifndef NDEBUG ++m_iruns; #endif CHECKINTEGRITY (); // sort groups if ( m_bSortByDistinct ) CountDistinct (); Hash2nd(); CalcAvg ( true ); SortGroups (); CalcAvg ( false ); int iHead = 0; for ( int iLimit=0; iLimitGetAttr ( m_tLocGroupby ) ); int iCount = 1; int iTail = -1; if ( ppTailMatch ) { assert ( (*ppTailMatch)->GetAttr ( m_tLocGroupby )==0 || pMatch->GetAttr ( m_tLocGroupby )==(*ppTailMatch)->GetAttr ( m_tLocGroupby ) ); iTail = (*ppTailMatch) - m_pData; iCount = m_dGroupsLen[iTail]; assert ( iCount>0 ); } // whole chain fits limit if ( ( iLimit + iCount )<=iBound ) { m_dGroupByList[iHead] = iTail; m_dGroupsLen[iHead] = iCount; iLimit += iCount; continue; } // only head match fits limit but not tail match(es) if ( ( iLimit + 1 )==iBound ) { m_dGroupByList[iHead] = -1; m_dGroupsLen[iHead] = 1; FreeMatchChain ( iTail ); iHead++; break; } // part of tail fits limit - it our last chain // fix-up chain to fits limit assert ( iBound-iLimit<=iCount ); iCount = iBound - iLimit; m_dGroupByList[iHead] = iTail; m_dGroupsLen[iHead] = iCount; iCount--; int iPrev = iTail; while ( iCount>0 ) { iPrev = iTail; iTail = m_dGroupByList[iTail]; iCount--; assert ( !iCount || iTail>=0 ); } m_dGroupByList[iPrev] = -1; iHead++; FreeMatchChain ( iTail ); break; } if_const ( DISTINCT ) { int iCount = m_iUsed - iHead; CSphFixedVector dRemove ( iCount ); for ( int i=0; iGetAttr ( m_tLocGroupby ) ); if ( ppTailMatch ) { assert ( ( *ppTailMatch )->GetAttr ( m_tLocGroupby )==0 || pMatch->GetAttr ( m_tLocGroupby )==( *ppTailMatch )->GetAttr ( m_tLocGroupby ) ); int iTail = ( *ppTailMatch ) - m_pData; assert ( m_dGroupsLen[iTail]>0 ); FreeMatchChain ( iTail ); } if_const ( NOTIFICATIONS ) m_dJustPopped.Add ( pMatch->m_uDocID ); m_tSchema.FreeStringPtrs ( pMatch ); m_dGroupByList[i] = -1; m_dGroupsLen[i] = 0; } // cleanup chain lengths after hash2nd for ( int i=m_iSize; im_iLimit ) CutWorst ( m_iLimit ); for ( int iMatch=0; iMatch0 ) { tProcessor.Process ( m_pData + iNext ); iNext = m_dGroupByList[iNext]; iCount--; } } } }; /// match sorter with k-buffering and group-by for MVAs template < typename COMPGROUP, bool DISTINCT, bool NOTIFICATIONS > class CSphKBufferMVAGroupSorter : public CSphKBufferGroupSorter < COMPGROUP, DISTINCT, NOTIFICATIONS > { protected: const DWORD * m_pMva; ///< pointer to MVA pool for incoming matches bool m_bArenaProhibit; CSphAttrLocator m_tMvaLocator; bool m_bMva64; public: /// ctor CSphKBufferMVAGroupSorter ( const ISphMatchComparator * pComp, const CSphQuery * pQuery, const CSphGroupSorterSettings & tSettings ) : CSphKBufferGroupSorter < COMPGROUP, DISTINCT, NOTIFICATIONS > ( pComp, pQuery, tSettings ) , m_pMva ( NULL ) , m_bArenaProhibit ( false ) , m_bMva64 ( tSettings.m_bMva64 ) { this->m_pGrouper->GetLocator ( m_tMvaLocator ); } /// check if this sorter does groupby virtual bool IsGroupby () const { return true; } /// set MVA pool for subsequent matches void SetMVAPool ( const DWORD * pMva, bool bArenaProhibit ) { m_pMva = pMva; m_bArenaProhibit = bArenaProhibit; } /// add entry to the queue virtual bool Push ( const CSphMatch & tEntry ) { assert ( m_pMva ); if ( !m_pMva ) return false; // get that list // FIXME! OPTIMIZE! use simpler locator than full bits/count here // FIXME! hardcoded MVA type, so here's MVA_DOWNSIZE marker for searching const DWORD * pValues = tEntry.GetAttrMVA ( this->m_tMvaLocator, m_pMva, m_bArenaProhibit ); // (this pointer is for gcc; it doesn't work otherwise) if ( !pValues ) return false; DWORD iValues = *pValues++; bool bRes = false; if ( m_bMva64 ) { assert ( ( iValues%2 )==0 ); for ( ;iValues>0; iValues-=2, pValues+=2 ) { int64_t iMva = MVA_UPSIZE ( pValues ); SphGroupKey_t uGroupkey = this->m_pGrouper->KeyFromValue ( iMva ); bRes |= this->PushEx ( tEntry, uGroupkey, false, false ); } } else { while ( iValues-- ) { SphGroupKey_t uGroupkey = this->m_pGrouper->KeyFromValue ( *pValues++ ); bRes |= this->PushEx ( tEntry, uGroupkey, false, false ); } } return bRes; } /// add pre-grouped entry to the queue virtual bool PushGrouped ( const CSphMatch & tEntry, bool bNewSet ) { // re-group it based on the group key // (first 'this' is for icc; second 'this' is for gcc) return this->PushEx ( tEntry, tEntry.GetAttr ( this->m_tLocGroupby ), true, bNewSet ); } }; /// match sorter with k-buffering and group-by for JSON arrays template < typename COMPGROUP, bool DISTINCT, bool NOTIFICATIONS > class CSphKBufferJsonGroupSorter : public CSphKBufferGroupSorter < COMPGROUP, DISTINCT, NOTIFICATIONS > { public: /// ctor CSphKBufferJsonGroupSorter ( const ISphMatchComparator * pComp, const CSphQuery * pQuery, const CSphGroupSorterSettings & tSettings ) : CSphKBufferGroupSorter < COMPGROUP, DISTINCT, NOTIFICATIONS > ( pComp, pQuery, tSettings ) {} /// check if this sorter does groupby virtual bool IsGroupby () const { return true; } /// add entry to the queue virtual bool Push ( const CSphMatch & tMatch ) { bool bRes = false; int iLen; char sBuf[32]; SphGroupKey_t uGroupkey = this->m_pGrouper->KeyFromMatch ( tMatch ); int64_t iValue = (int64_t)uGroupkey; const BYTE * pStrings = ((CSphGrouperJsonField*)this->m_pGrouper)->m_pStrings; const BYTE * pValue = pStrings + ( iValue & 0xffffffff ); ESphJsonType eRes = (ESphJsonType)( iValue >> 32 ); switch ( eRes ) { case JSON_ROOT: { iLen = sphJsonNodeSize ( JSON_ROOT, pValue ); bool bEmpty = iLen==5; // mask and JSON_EOF uGroupkey = bEmpty ? 0 : sphFNV64 ( pValue, iLen ); return this->PushEx ( tMatch, uGroupkey, false, false, bEmpty ? NULL : &iValue ); } case JSON_STRING: case JSON_OBJECT: case JSON_MIXED_VECTOR: iLen = sphJsonUnpackInt ( &pValue ); uGroupkey = ( iLen==1 && eRes!=JSON_STRING ) ? 0 : sphFNV64 ( pValue, iLen ); return this->PushEx ( tMatch, uGroupkey, false, false, ( iLen==1 && eRes!=JSON_STRING ) ? 0: &iValue ); case JSON_STRING_VECTOR: { sphJsonUnpackInt ( &pValue ); iLen = sphJsonUnpackInt ( &pValue ); for ( int i=0;iPushEx ( tMatch, uGroupkey, false, false, &iValue ); pValue += iStrLen; } return bRes; } case JSON_INT32: uGroupkey = sphFNV64 ( (BYTE*)FormatInt ( sBuf, (int)sphGetDword(pValue) ) ); break; case JSON_INT64: uGroupkey = sphFNV64 ( (BYTE*)FormatInt ( sBuf, (int)sphJsonLoadBigint ( &pValue ) ) ); break; case JSON_DOUBLE: snprintf ( sBuf, sizeof(sBuf), "%f", sphQW2D ( sphJsonLoadBigint ( &pValue ) ) ); uGroupkey = sphFNV64 ( (const BYTE*)sBuf ); break; case JSON_INT32_VECTOR: { iLen = sphJsonUnpackInt ( &pValue ); int * p = (int*)pValue; DWORD uOff = pValue-pStrings; for ( int i=0;iPushEx ( tMatch, uGroupkey, false, false, &iPacked ); uOff+=4; } return bRes; } break; case JSON_INT64_VECTOR: case JSON_DOUBLE_VECTOR: { iLen = sphJsonUnpackInt ( &pValue ); int64_t * p = (int64_t*)pValue; DWORD uOff = pValue-pStrings; ESphJsonType eType = eRes==JSON_INT64_VECTOR ? JSON_INT64 : JSON_DOUBLE; for ( int i=0;iPushEx ( tMatch, uGroupkey, false, false, &iPacked ); uOff+=8; } return bRes; } break; default: uGroupkey = 0; iValue = 0; break; } bRes |= this->PushEx ( tMatch, uGroupkey, false, false, &iValue ); return bRes; } /// add pre-grouped entry to the queue virtual bool PushGrouped ( const CSphMatch & tEntry, bool bNewSet ) { // re-group it based on the group key // (first 'this' is for icc; second 'this' is for gcc) return this->PushEx ( tEntry, tEntry.GetAttr ( this->m_tLocGroupby ), true, bNewSet ); } }; /// implicit group-by sorter template < typename COMPGROUP, bool DISTINCT, bool NOTIFICATIONS > class CSphImplicitGroupSorter : public ISphMatchSorter, ISphNoncopyable, protected CSphGroupSorterSettings { protected: CSphMatch m_tData; bool m_bDataInitialized; CSphVector m_dUniq; CSphVector m_dAggregates; const ISphFilter * m_pAggrFilter; ///< aggregate filter for matches on flatten MatchCloner_t m_tPregroup; public: /// ctor CSphImplicitGroupSorter ( const ISphMatchComparator * DEBUGARG(pComp), const CSphQuery *, const CSphGroupSorterSettings & tSettings ) : CSphGroupSorterSettings ( tSettings ) , m_bDataInitialized ( false ) , m_pAggrFilter ( tSettings.m_pAggrFilterTrait ) { assert ( DISTINCT==false || tSettings.m_tDistinctLoc.m_iBitOffset>=0 ); assert ( !pComp ); if_const ( NOTIFICATIONS ) m_dJustPopped.Reserve(1); m_dUniq.Reserve ( 16384 ); m_iMatchCapacity = 1; } /// dtor ~CSphImplicitGroupSorter () { SafeDelete ( m_pAggrFilter ); ARRAY_FOREACH ( i, m_dAggregates ) SafeDelete ( m_dAggregates[i] ); } /// schema setup virtual void SetSchema ( CSphRsetSchema & tSchema ) { m_tSchema = tSchema; m_tPregroup.SetSchema ( &m_tSchema ); m_tPregroup.m_dAttrsRaw.Add ( m_tLocGroupby ); m_tPregroup.m_dAttrsRaw.Add ( m_tLocCount ); if_const ( DISTINCT ) { m_tPregroup.m_dAttrsRaw.Add ( m_tLocDistinct ); } CSphVector dTmp; ESphSortKeyPart dTmpKeypart[CSphMatchComparatorState::MAX_ATTRS]; CSphAttrLocator dTmpLocator[CSphMatchComparatorState::MAX_ATTRS]; ExtractAggregates ( m_tSchema, m_tLocCount, dTmpKeypart, dTmpLocator, m_dAggregates, dTmp, m_tPregroup ); assert ( !dTmp.GetLength() ); } int GetDataLength () const { return 1; } bool UsesAttrs () const { return true; } /// check if this sorter does groupby virtual bool IsGroupby () const { return true; } virtual bool CanMulti () const { return true; } /// set string pool pointer (for string+groupby sorters) void SetStringPool ( const BYTE * ) { } /// add entry to the queue virtual bool Push ( const CSphMatch & tEntry ) { return PushEx ( tEntry, false ); } /// add grouped entry to the queue. bNewSet indicates the beginning of resultset returned by an agent. virtual bool PushGrouped ( const CSphMatch & tEntry, bool ) { return PushEx ( tEntry, true ); } /// store all entries into specified location in sorted order, and remove them from queue virtual int Flatten ( CSphMatch * pTo, int iTag ) { assert ( m_bDataInitialized ); CountDistinct (); ARRAY_FOREACH ( j, m_dAggregates ) m_dAggregates[j]->Finalize ( &m_tData ); int iCopied = 0; if ( !m_pAggrFilter || m_pAggrFilter->Eval ( m_tData ) ) { iCopied = 1; m_tSchema.CloneMatch ( pTo, m_tData ); m_tSchema.FreeStringPtrs ( &m_tData ); if ( iTag>=0 ) pTo->m_iTag = iTag; } m_iTotal = 0; m_bDataInitialized = false; if_const ( DISTINCT ) m_dUniq.Resize(0); return iCopied; } /// finalize, perform final sort/cut as needed void Finalize ( ISphMatchProcessor & tProcessor, bool ) { if ( !GetLength() ) return; tProcessor.Process ( &m_tData ); } /// get entries count int GetLength () const { return m_bDataInitialized ? 1 : 0; } protected: /// add entry to the queue bool PushEx ( const CSphMatch & tEntry, bool bGrouped ) { if_const ( NOTIFICATIONS ) { m_iJustPushed = 0; m_dJustPopped.Resize(0); } if ( m_bDataInitialized ) { assert ( m_tData.m_pDynamic[-1]==tEntry.m_pDynamic[-1] ); if ( bGrouped ) { // it's already grouped match // sum grouped matches count m_tData.SetAttr ( m_tLocCount, m_tData.GetAttr ( m_tLocCount ) + tEntry.GetAttr ( m_tLocCount ) ); // OPTIMIZE! AddAttr()? } else { // it's a simple match // increase grouped matches count m_tData.SetAttr ( m_tLocCount, 1 + m_tData.GetAttr ( m_tLocCount ) ); // OPTIMIZE! IncAttr()? } // update aggregates ARRAY_FOREACH ( i, m_dAggregates ) m_dAggregates[i]->Update ( &m_tData, &tEntry, bGrouped ); // if new entry is more relevant, update from it if ( tEntry.m_uDocIDUngroup ( &m_tData ); } m_bDataInitialized = true; m_iTotal++; return true; } /// count distinct values if necessary void CountDistinct () { if_const ( DISTINCT ) { assert ( m_bDataInitialized ); m_dUniq.Sort (); int iCount = 0; ARRAY_FOREACH ( i, m_dUniq ) { if ( i>0 && m_dUniq[i-1]==m_dUniq[i] ) continue; iCount += m_dUniq[i].m_iCount; } m_tData.SetAttr ( m_tLocDistinct, iCount ); } } }; ////////////////////////////////////////////////////////////////////////// // PLAIN SORTING FUNCTORS ////////////////////////////////////////////////////////////////////////// /// match sorter struct MatchRelevanceLt_fn : public ISphMatchComparator { virtual bool VirtualIsLess ( const CSphMatch & a, const CSphMatch & b, const CSphMatchComparatorState & t ) const { return IsLess ( a, b, t ); } static bool IsLess ( const CSphMatch & a, const CSphMatch & b, const CSphMatchComparatorState & ) { if ( a.m_iWeight!=b.m_iWeight ) return a.m_iWeight < b.m_iWeight; return a.m_uDocID > b.m_uDocID; } }; /// match sorter struct MatchAttrLt_fn : public ISphMatchComparator { virtual bool VirtualIsLess ( const CSphMatch & a, const CSphMatch & b, const CSphMatchComparatorState & t ) const { return IsLess ( a, b, t ); } static inline bool IsLess ( const CSphMatch & a, const CSphMatch & b, const CSphMatchComparatorState & t ) { if ( t.m_eKeypart[0]!=SPH_KEYPART_STRING ) { SphAttr_t aa = a.GetAttr ( t.m_tLocator[0] ); SphAttr_t bb = b.GetAttr ( t.m_tLocator[0] ); if ( aa!=bb ) return aa b.m_uDocID; } }; /// match sorter struct MatchAttrGt_fn : public ISphMatchComparator { virtual bool VirtualIsLess ( const CSphMatch & a, const CSphMatch & b, const CSphMatchComparatorState & t ) const { return IsLess ( a, b, t ); } static inline bool IsLess ( const CSphMatch & a, const CSphMatch & b, const CSphMatchComparatorState & t ) { if ( t.m_eKeypart[0]!=SPH_KEYPART_STRING ) { SphAttr_t aa = a.GetAttr ( t.m_tLocator[0] ); SphAttr_t bb = b.GetAttr ( t.m_tLocator[0] ); if ( aa!=bb ) return aa>bb; } else { int iCmp = t.CmpStrings ( a, b, 0 ); if ( iCmp!=0 ) return iCmp>0; } if ( a.m_iWeight!=b.m_iWeight ) return a.m_iWeight < b.m_iWeight; return a.m_uDocID > b.m_uDocID; } }; /// match sorter struct MatchTimeSegments_fn : public ISphMatchComparator { virtual bool VirtualIsLess ( const CSphMatch & a, const CSphMatch & b, const CSphMatchComparatorState & t ) const { return IsLess ( a, b, t ); } static inline bool IsLess ( const CSphMatch & a, const CSphMatch & b, const CSphMatchComparatorState & t ) { SphAttr_t aa = a.GetAttr ( t.m_tLocator[0] ); SphAttr_t bb = b.GetAttr ( t.m_tLocator[0] ); int iA = GetSegment ( aa, t.m_iNow ); int iB = GetSegment ( bb, t.m_iNow ); if ( iA!=iB ) return iA > iB; if ( a.m_iWeight!=b.m_iWeight ) return a.m_iWeight < b.m_iWeight; if ( aa!=bb ) return aa b.m_uDocID; } protected: static inline int GetSegment ( SphAttr_t iStamp, SphAttr_t iNow ) { if ( iStamp>=iNow-3600 ) return 0; // last hour if ( iStamp>=iNow-24*3600 ) return 1; // last day if ( iStamp>=iNow-7*24*3600 ) return 2; // last week if ( iStamp>=iNow-30*24*3600 ) return 3; // last month if ( iStamp>=iNow-90*24*3600 ) return 4; // last 3 months return 5; // everything else } }; /// match sorter struct MatchExpr_fn : public ISphMatchComparator { virtual bool VirtualIsLess ( const CSphMatch & a, const CSphMatch & b, const CSphMatchComparatorState & t ) const { return IsLess ( a, b, t ); } static inline bool IsLess ( const CSphMatch & a, const CSphMatch & b, const CSphMatchComparatorState & t ) { float aa = a.GetAttrFloat ( t.m_tLocator[0] ); // FIXME! OPTIMIZE!!! simplified (dword-granular) getter could be used here float bb = b.GetAttrFloat ( t.m_tLocator[0] ); if ( aa!=bb ) return aab.m_uDocID; } }; ///////////////////////////////////////////////////////////////////////////// #define SPH_TEST_PAIR(_aa,_bb,_idx ) \ if ( (_aa)!=(_bb) ) \ return ( (t.m_uAttrDesc >> (_idx)) & 1 ) ^ ( (_aa) > (_bb) ); #define SPH_TEST_KEYPART(_idx) \ switch ( t.m_eKeypart[_idx] ) \ { \ case SPH_KEYPART_ID: SPH_TEST_PAIR ( a.m_uDocID, b.m_uDocID, _idx ); break; \ case SPH_KEYPART_WEIGHT: SPH_TEST_PAIR ( a.m_iWeight, b.m_iWeight, _idx ); break; \ case SPH_KEYPART_INT: \ { \ register SphAttr_t aa = a.GetAttr ( t.m_tLocator[_idx] ); \ register SphAttr_t bb = b.GetAttr ( t.m_tLocator[_idx] ); \ SPH_TEST_PAIR ( aa, bb, _idx ); \ break; \ } \ case SPH_KEYPART_FLOAT: \ { \ register float aa = a.GetAttrFloat ( t.m_tLocator[_idx] ); \ register float bb = b.GetAttrFloat ( t.m_tLocator[_idx] ); \ SPH_TEST_PAIR ( aa, bb, _idx ) \ break; \ } \ case SPH_KEYPART_STRINGPTR: \ case SPH_KEYPART_STRING: \ { \ int iCmp = t.CmpStrings ( a, b, _idx ); \ if ( iCmp!=0 ) \ return ( ( t.m_uAttrDesc >> (_idx) ) & 1 ) ^ ( iCmp>0 ); \ break; \ } \ } struct MatchGeneric2_fn : public ISphMatchComparator { virtual bool VirtualIsLess ( const CSphMatch & a, const CSphMatch & b, const CSphMatchComparatorState & t ) const { return IsLess ( a, b, t ); } static inline bool IsLess ( const CSphMatch & a, const CSphMatch & b, const CSphMatchComparatorState & t ) { SPH_TEST_KEYPART(0); SPH_TEST_KEYPART(1); return a.m_uDocID>b.m_uDocID; } }; struct MatchGeneric3_fn : public ISphMatchComparator { virtual bool VirtualIsLess ( const CSphMatch & a, const CSphMatch & b, const CSphMatchComparatorState & t ) const { return IsLess ( a, b, t ); } static inline bool IsLess ( const CSphMatch & a, const CSphMatch & b, const CSphMatchComparatorState & t ) { SPH_TEST_KEYPART(0); SPH_TEST_KEYPART(1); SPH_TEST_KEYPART(2); return a.m_uDocID>b.m_uDocID; } }; struct MatchGeneric4_fn : public ISphMatchComparator { virtual bool VirtualIsLess ( const CSphMatch & a, const CSphMatch & b, const CSphMatchComparatorState & t ) const { return IsLess ( a, b, t ); } static inline bool IsLess ( const CSphMatch & a, const CSphMatch & b, const CSphMatchComparatorState & t ) { SPH_TEST_KEYPART(0); SPH_TEST_KEYPART(1); SPH_TEST_KEYPART(2); SPH_TEST_KEYPART(3); return a.m_uDocID>b.m_uDocID; } }; struct MatchGeneric5_fn : public ISphMatchComparator { virtual bool VirtualIsLess ( const CSphMatch & a, const CSphMatch & b, const CSphMatchComparatorState & t ) const { return IsLess ( a, b, t ); } static inline bool IsLess ( const CSphMatch & a, const CSphMatch & b, const CSphMatchComparatorState & t ) { SPH_TEST_KEYPART(0); SPH_TEST_KEYPART(1); SPH_TEST_KEYPART(2); SPH_TEST_KEYPART(3); SPH_TEST_KEYPART(4); return a.m_uDocID>b.m_uDocID; } }; ////////////////////////////////////////////////////////////////////////// // SORT CLAUSE PARSER ////////////////////////////////////////////////////////////////////////// static const int MAX_SORT_FIELDS = 5; // MUST be in sync with CSphMatchComparatorState::m_iAttr class SortClauseTokenizer_t { protected: const char * m_pCur; const char * m_pMax; char * m_pBuf; protected: char ToLower ( char c ) { // 0..9, A..Z->a..z, _, a..z, @, . if ( ( c>='0' && c<='9' ) || ( c>='a' && c<='z' ) || c=='_' || c=='@' || c=='.' || c=='[' || c==']' || c=='\'' || c=='\"' || c=='(' || c==')' || c=='*' ) return c; if ( c>='A' && c<='Z' ) return c-'A'+'a'; return 0; } public: explicit SortClauseTokenizer_t ( const char * sBuffer ) { int iLen = strlen(sBuffer); m_pBuf = new char [ iLen+1 ]; m_pMax = m_pBuf+iLen; m_pCur = m_pBuf; // make string lowercase but keep case of JSON.field bool bJson = false; for ( int i=0; i<=iLen; i++ ) { char cSrc = sBuffer[i]; char cDst = ToLower ( cSrc ); bJson = ( cSrc=='.' || cSrc=='[' || ( bJson && cDst>0 ) ); // keep case of valid char sequence after '.' and '[' symbols m_pBuf[i] = bJson ? cSrc : cDst; } } ~SortClauseTokenizer_t () { SafeDeleteArray ( m_pBuf ); } const char * GetToken () { // skip spaces while ( m_pCur=m_pMax ) return NULL; // memorize token start, and move pointer forward const char * sRes = m_pCur; while ( *m_pCur ) m_pCur++; return sRes; } bool IsSparseCount ( const char * sTok ) { const char * sSeq = "(*)"; for ( ; sTok=0 && tTok.IsSparseCount ( pTok + sizeof ( "count" ) - 1 ) ) // epression count(*) with various spaces pTok = "@count"; // try to lookup plain attr in sorter schema int iAttr = tSchema.GetAttrIndex ( pTok ); // do not order by mva (the result is undefined) if ( iAttr>=0 && ( tSchema.GetAttr ( iAttr ).m_eAttrType==SPH_ATTR_UINT32SET || tSchema.GetAttr ( iAttr ).m_eAttrType==SPH_ATTR_INT64SET ) ) { sError.SetSprintf ( "order by MVA is undefined" ); return SORT_CLAUSE_ERROR; } // try to lookup aliased count(*) and aliased groupby() in select items if ( iAttr<0 ) { ARRAY_FOREACH ( i, pQuery->m_dItems ) { const CSphQueryItem & tItem = pQuery->m_dItems[i]; if ( !tItem.m_sAlias.cstr() || strcasecmp ( tItem.m_sAlias.cstr(), pTok ) ) continue; if ( tItem.m_sExpr.Begins("@") ) iAttr = tSchema.GetAttrIndex ( tItem.m_sExpr.cstr() ); else if ( tItem.m_sExpr=="count(*)" ) iAttr = tSchema.GetAttrIndex ( "@count" ); else if ( tItem.m_sExpr=="groupby()" ) { iAttr = tSchema.GetAttrIndex ( "@groupbystr" ); // try numeric group by if ( iAttr<0 ) iAttr = tSchema.GetAttrIndex ( "@groupby" ); } break; // break in any case; because we did match the alias } } // try JSON attribute and use JSON attribute instead of JSON field if ( iAttr<0 || ( iAttr>=0 && ( tSchema.GetAttr ( iAttr ).m_eAttrType==SPH_ATTR_JSON_FIELD || tSchema.GetAttr ( iAttr ).m_eAttrType==SPH_ATTR_JSON ) ) ) { if ( iAttr>=0 ) { // aliased SPH_ATTR_JSON_FIELD, reuse existing expression const CSphColumnInfo * pAttr = &tSchema.GetAttr(iAttr); if ( pAttr->m_pExpr.Ptr() ) pAttr->m_pExpr->AddRef(); // SetupSortRemap uses refcounted pointer, but does not AddRef() itself, so help it tState.m_tSubExpr[iField] = pAttr->m_pExpr.Ptr(); tState.m_tSubKeys[iField] = JsonKey_t ( pTok, strlen ( pTok ) ); } else { CSphString sJsonCol, sJsonKey; if ( sphJsonNameSplit ( pTok, &sJsonCol, &sJsonKey ) ) { iAttr = tSchema.GetAttrIndex ( sJsonCol.cstr() ); if ( iAttr>=0 ) { tState.m_tSubExpr[iField] = sphExprParse ( pTok, tSchema, NULL, NULL, sError, NULL ); tState.m_tSubKeys[iField] = JsonKey_t ( pTok, strlen ( pTok ) ); } } } } // try json conversion functions (integer()/double()/bigint() in the order by clause) if ( iAttr<0 ) { ISphExpr * pExpr = sphExprParse ( pTok, tSchema, &eAttrType, NULL, sError, NULL ); if ( pExpr ) { tState.m_tSubExpr[iField] = pExpr; tState.m_tSubKeys[iField] = JsonKey_t ( pTok, strlen(pTok) ); tState.m_tSubKeys[iField].m_uMask = 0; tState.m_tSubType[iField] = eAttrType; iAttr = 0; // will be remapped in SetupSortRemap } } // try precalculated json fields received from agents (prefixed with @int_*) if ( iAttr<0 ) { CSphString sName; sName.SetSprintf ( "%s%s", g_sIntAttrPrefix, pTok ); iAttr = tSchema.GetAttrIndex ( sName.cstr() ); } // epic fail if ( iAttr<0 ) { sError.SetSprintf ( "sort-by attribute '%s' not found", pTok ); return SORT_CLAUSE_ERROR; } const CSphColumnInfo & tCol = tSchema.GetAttr(iAttr); tState.m_eKeypart[iField] = Attr2Keypart ( eAttrType!=SPH_ATTR_NONE ? eAttrType : tCol.m_eAttrType ); tState.m_tLocator[iField] = tCol.m_tLocator; tState.m_dAttrs[iField] = iAttr; } } if ( iField==0 ) { sError.SetSprintf ( "no sort order defined" ); return SORT_CLAUSE_ERROR; } if ( iField==1 ) tState.m_eKeypart[iField++] = SPH_KEYPART_ID; // add "id ASC" switch ( iField ) { case 2: eFunc = FUNC_GENERIC2; break; case 3: eFunc = FUNC_GENERIC3; break; case 4: eFunc = FUNC_GENERIC4; break; case 5: eFunc = FUNC_GENERIC5; break; default: sError.SetSprintf ( "INTERNAL ERROR: %d fields in sphParseSortClause()", iField ); return SORT_CLAUSE_ERROR; } return SORT_CLAUSE_OK; } ////////////////////////////////////////////////////////////////////////// // SORTING+GROUPING INSTANTIATION ////////////////////////////////////////////////////////////////////////// template < typename COMPGROUP > static ISphMatchSorter * sphCreateSorter3rd ( const ISphMatchComparator * pComp, const CSphQuery * pQuery, const CSphGroupSorterSettings & tSettings, bool bHasPackedFactors ) { BYTE uSelector = (bHasPackedFactors?1:0) +(tSettings.m_bDistinct?2:0) +(tSettings.m_bMVA?4:0) +(tSettings.m_bImplicit?8:0) +((pQuery->m_iGroupbyLimit>1)?16:0) +(tSettings.m_bJson?32:0); switch ( uSelector ) { case 0: return new CSphKBufferGroupSorter < COMPGROUP, false, false > ( pComp, pQuery, tSettings ); case 1: return new CSphKBufferGroupSorter < COMPGROUP, false, true > ( pComp, pQuery, tSettings ); case 2: return new CSphKBufferGroupSorter < COMPGROUP, true, false > ( pComp, pQuery, tSettings ); case 3: return new CSphKBufferGroupSorter < COMPGROUP, true, true > ( pComp, pQuery, tSettings ); case 4: return new CSphKBufferMVAGroupSorter < COMPGROUP, false, false > ( pComp, pQuery, tSettings ); case 5: return new CSphKBufferMVAGroupSorter < COMPGROUP, false, true > ( pComp, pQuery, tSettings ); case 6: return new CSphKBufferMVAGroupSorter < COMPGROUP, true, false > ( pComp, pQuery, tSettings); case 7: return new CSphKBufferMVAGroupSorter < COMPGROUP, true, true > ( pComp, pQuery, tSettings); case 8: return new CSphImplicitGroupSorter < COMPGROUP, false, false > ( pComp, pQuery, tSettings ); case 9: return new CSphImplicitGroupSorter < COMPGROUP, false, true > ( pComp, pQuery, tSettings ); case 10: return new CSphImplicitGroupSorter < COMPGROUP, true, false > ( pComp, pQuery, tSettings ); case 11: return new CSphImplicitGroupSorter < COMPGROUP, true, true > ( pComp, pQuery, tSettings ); case 16: return new CSphKBufferNGroupSorter < COMPGROUP, false, false > ( pComp, pQuery, tSettings ); case 17: return new CSphKBufferNGroupSorter < COMPGROUP, false, true > ( pComp, pQuery, tSettings ); case 18: return new CSphKBufferNGroupSorter < COMPGROUP, true, false > ( pComp, pQuery, tSettings ); case 19: return new CSphKBufferNGroupSorter < COMPGROUP, true, true > ( pComp, pQuery, tSettings ); case 32: return new CSphKBufferJsonGroupSorter < COMPGROUP, false, false > ( pComp, pQuery, tSettings ); case 33: return new CSphKBufferJsonGroupSorter < COMPGROUP, false, true > ( pComp, pQuery, tSettings ); case 34: return new CSphKBufferJsonGroupSorter < COMPGROUP, true, false > ( pComp, pQuery, tSettings); case 35: return new CSphKBufferJsonGroupSorter < COMPGROUP, true, true > ( pComp, pQuery, tSettings); } assert(0); return NULL; } static ISphMatchSorter * sphCreateSorter2nd ( ESphSortFunc eGroupFunc, const ISphMatchComparator * pComp, const CSphQuery * pQuery, const CSphGroupSorterSettings & tSettings, bool bHasPackedFactors ) { switch ( eGroupFunc ) { case FUNC_GENERIC2: return sphCreateSorter3rd ( pComp, pQuery, tSettings, bHasPackedFactors ); break; case FUNC_GENERIC3: return sphCreateSorter3rd ( pComp, pQuery, tSettings, bHasPackedFactors ); break; case FUNC_GENERIC4: return sphCreateSorter3rd ( pComp, pQuery, tSettings, bHasPackedFactors ); break; case FUNC_GENERIC5: return sphCreateSorter3rd ( pComp, pQuery, tSettings, bHasPackedFactors ); break; case FUNC_EXPR: return sphCreateSorter3rd ( pComp, pQuery, tSettings, bHasPackedFactors ); break; default: return NULL; } } static ISphMatchSorter * sphCreateSorter1st ( ESphSortFunc eMatchFunc, ESphSortFunc eGroupFunc, const CSphQuery * pQuery, const CSphGroupSorterSettings & tSettings, bool bHasPackedFactors ) { if ( tSettings.m_bImplicit ) return sphCreateSorter2nd ( eGroupFunc, NULL, pQuery, tSettings, bHasPackedFactors ); ISphMatchComparator * pComp = NULL; switch ( eMatchFunc ) { case FUNC_REL_DESC: pComp = new MatchRelevanceLt_fn(); break; case FUNC_ATTR_DESC: pComp = new MatchAttrLt_fn(); break; case FUNC_ATTR_ASC: pComp = new MatchAttrGt_fn(); break; case FUNC_TIMESEGS: pComp = new MatchTimeSegments_fn(); break; case FUNC_GENERIC2: pComp = new MatchGeneric2_fn(); break; case FUNC_GENERIC3: pComp = new MatchGeneric3_fn(); break; case FUNC_GENERIC4: pComp = new MatchGeneric4_fn(); break; case FUNC_GENERIC5: pComp = new MatchGeneric5_fn(); break; case FUNC_EXPR: pComp = new MatchExpr_fn(); break; // only for non-bitfields, obviously } assert ( pComp ); return sphCreateSorter2nd ( eGroupFunc, pComp, pQuery, tSettings, bHasPackedFactors ); } ////////////////////////////////////////////////////////////////////////// // GEODIST ////////////////////////////////////////////////////////////////////////// struct ExprGeodist_t : public ISphExpr { public: ExprGeodist_t () {} bool Setup ( const CSphQuery * pQuery, const ISphSchema & tSchema, CSphString & sError ); virtual float Eval ( const CSphMatch & tMatch ) const; virtual void Command ( ESphExprCommand eCmd, void * pArg ); protected: CSphAttrLocator m_tGeoLatLoc; CSphAttrLocator m_tGeoLongLoc; float m_fGeoAnchorLat; float m_fGeoAnchorLong; int m_iLat; int m_iLon; }; bool ExprGeodist_t::Setup ( const CSphQuery * pQuery, const ISphSchema & tSchema, CSphString & sError ) { if ( !pQuery->m_bGeoAnchor ) { sError.SetSprintf ( "INTERNAL ERROR: no geoanchor, can not create geodist evaluator" ); return false; } int iLat = tSchema.GetAttrIndex ( pQuery->m_sGeoLatAttr.cstr() ); if ( iLat<0 ) { sError.SetSprintf ( "unknown latitude attribute '%s'", pQuery->m_sGeoLatAttr.cstr() ); return false; } int iLong = tSchema.GetAttrIndex ( pQuery->m_sGeoLongAttr.cstr() ); if ( iLong<0 ) { sError.SetSprintf ( "unknown latitude attribute '%s'", pQuery->m_sGeoLongAttr.cstr() ); return false; } m_tGeoLatLoc = tSchema.GetAttr(iLat).m_tLocator; m_tGeoLongLoc = tSchema.GetAttr(iLong).m_tLocator; m_fGeoAnchorLat = pQuery->m_fGeoLatitude; m_fGeoAnchorLong = pQuery->m_fGeoLongitude; m_iLat = iLat; m_iLon = iLong; return true; } static inline double sphSqr ( double v ) { return v*v; } float ExprGeodist_t::Eval ( const CSphMatch & tMatch ) const { const double R = 6384000; float plat = tMatch.GetAttrFloat ( m_tGeoLatLoc ); float plon = tMatch.GetAttrFloat ( m_tGeoLongLoc ); double dlat = plat - m_fGeoAnchorLat; double dlon = plon - m_fGeoAnchorLong; double a = sphSqr ( sin ( dlat/2 ) ) + cos(plat)*cos(m_fGeoAnchorLat)*sphSqr(sin(dlon/2)); double c = 2*asin ( Min ( 1.0, sqrt(a) ) ); return (float)(R*c); } void ExprGeodist_t::Command ( ESphExprCommand eCmd, void * pArg ) { if ( eCmd==SPH_EXPR_GET_DEPENDENT_COLS ) { static_cast < CSphVector* >(pArg)->Add ( m_iLat ); static_cast < CSphVector* >(pArg)->Add ( m_iLon ); } } ////////////////////////////////////////////////////////////////////////// // PUBLIC FUNCTIONS (FACTORY AND FLATTENING) ////////////////////////////////////////////////////////////////////////// static CSphGrouper * sphCreateGrouperString ( const CSphAttrLocator & tLoc, ESphCollation eCollation ); static CSphGrouper * sphCreateGrouperMulti ( const CSphVector & dLocators, const CSphVector & dAttrTypes, const CSphVector & dJsonKeys, ESphCollation eCollation ); static bool SetupGroupbySettings ( const CSphQuery * pQuery, const ISphSchema & tSchema, CSphGroupSorterSettings & tSettings, CSphVector & dGroupColumns, CSphString & sError, bool bImplicit ) { tSettings.m_tDistinctLoc.m_iBitOffset = -1; if ( pQuery->m_sGroupBy.IsEmpty() && !bImplicit ) return true; if ( pQuery->m_eGroupFunc==SPH_GROUPBY_ATTRPAIR ) { sError.SetSprintf ( "SPH_GROUPBY_ATTRPAIR is not supported any more (just group on 'bigint' attribute)" ); return false; } CSphString sJsonColumn; CSphString sJsonKey; if ( pQuery->m_eGroupFunc==SPH_GROUPBY_MULTIPLE ) { CSphVector dLocators; CSphVector dAttrTypes; CSphVector dJsonKeys; CSphVector dGroupBy; const char * a = pQuery->m_sGroupBy.cstr(); const char * b = a; while ( *a ) { while ( *b && *b!=',' ) b++; CSphString & sNew = dGroupBy.Add(); sNew.SetBinary ( a, b-a ); if ( *b==',' ) b += 2; a = b; } dGroupBy.Uniq(); ARRAY_FOREACH ( i, dGroupBy ) { CSphString sJsonExpr; dJsonKeys.Add ( NULL ); if ( sphJsonNameSplit ( dGroupBy[i].cstr(), &sJsonColumn, &sJsonKey ) ) { sJsonExpr = dGroupBy[i]; dGroupBy[i] = sJsonColumn; } const int iAttr = tSchema.GetAttrIndex ( dGroupBy[i].cstr() ); if ( iAttr<0 ) { sError.SetSprintf ( "group-by attribute '%s' not found", dGroupBy[i].cstr() ); return false; } ESphAttr eType = tSchema.GetAttr ( iAttr ).m_eAttrType; if ( eType==SPH_ATTR_UINT32SET || eType==SPH_ATTR_INT64SET ) { sError.SetSprintf ( "MVA values can't be used in multiple group-by" ); return false; } else if ( sJsonExpr.IsEmpty() && eType==SPH_ATTR_JSON ) { sError.SetSprintf ( "JSON blob can't be used in multiple group-by" ); return false; } dLocators.Add ( tSchema.GetAttr ( iAttr ).m_tLocator ); dAttrTypes.Add ( eType ); dGroupColumns.Add ( iAttr ); if ( !sJsonExpr.IsEmpty() ) dJsonKeys.Last() = sphExprParse ( sJsonExpr.cstr(), tSchema, NULL, NULL, sError, NULL ); } tSettings.m_pGrouper = sphCreateGrouperMulti ( dLocators, dAttrTypes, dJsonKeys, pQuery->m_eCollation ); } else if ( sphJsonNameSplit ( pQuery->m_sGroupBy.cstr(), &sJsonColumn, &sJsonKey ) ) { const int iAttr = tSchema.GetAttrIndex ( sJsonColumn.cstr() ); if ( iAttr<0 ) { sError.SetSprintf ( "groupby: no such attribute '%s'", sJsonColumn.cstr() ); return false; } if ( tSchema.GetAttr(iAttr).m_eAttrType!=SPH_ATTR_JSON ) { sError.SetSprintf ( "groupby: attribute '%s' does not have subfields (must be sql_attr_json)", sJsonColumn.cstr() ); return false; } if ( pQuery->m_eGroupFunc!=SPH_GROUPBY_ATTR ) { sError.SetSprintf ( "groupby: legacy groupby modes are not supported on JSON attributes" ); return false; } dGroupColumns.Add ( iAttr ); ISphExpr * pExpr = sphExprParse ( pQuery->m_sGroupBy.cstr(), tSchema, NULL, NULL, sError, NULL, pQuery->m_eCollation ); tSettings.m_pGrouper = new CSphGrouperJsonField ( tSchema.GetAttr(iAttr).m_tLocator, pExpr ); tSettings.m_bJson = true; } else if ( bImplicit ) { tSettings.m_bImplicit = true; } else { // setup groupby attr int iGroupBy = tSchema.GetAttrIndex ( pQuery->m_sGroupBy.cstr() ); if ( iGroupBy<0 ) { // try aliased groupby attr (facets) ARRAY_FOREACH ( i, pQuery->m_dItems ) if ( pQuery->m_sGroupBy==pQuery->m_dItems[i].m_sExpr ) { iGroupBy = tSchema.GetAttrIndex ( pQuery->m_dItems[i].m_sAlias.cstr() ); break; } else if ( pQuery->m_sGroupBy==pQuery->m_dItems[i].m_sAlias ) { iGroupBy = tSchema.GetAttrIndex ( pQuery->m_dItems[i].m_sExpr.cstr() ); break; } } if ( iGroupBy<0 ) { sError.SetSprintf ( "group-by attribute '%s' not found", pQuery->m_sGroupBy.cstr() ); return false; } ESphAttr eType = tSchema.GetAttr ( iGroupBy ).m_eAttrType; CSphAttrLocator tLoc = tSchema.GetAttr ( iGroupBy ).m_tLocator; switch ( pQuery->m_eGroupFunc ) { case SPH_GROUPBY_DAY: tSettings.m_pGrouper = new CSphGrouperDay ( tLoc ); break; case SPH_GROUPBY_WEEK: tSettings.m_pGrouper = new CSphGrouperWeek ( tLoc ); break; case SPH_GROUPBY_MONTH: tSettings.m_pGrouper = new CSphGrouperMonth ( tLoc ); break; case SPH_GROUPBY_YEAR: tSettings.m_pGrouper = new CSphGrouperYear ( tLoc ); break; case SPH_GROUPBY_ATTR: if ( eType==SPH_ATTR_JSON || eType==SPH_ATTR_JSON_FIELD ) { ISphExpr * pExpr = sphExprParse ( pQuery->m_sGroupBy.cstr(), tSchema, NULL, NULL, sError, NULL, pQuery->m_eCollation ); tSettings.m_pGrouper = new CSphGrouperJsonField ( tLoc, pExpr ); tSettings.m_bJson = true; } else if ( eType==SPH_ATTR_STRING ) tSettings.m_pGrouper = sphCreateGrouperString ( tLoc, pQuery->m_eCollation ); else tSettings.m_pGrouper = new CSphGrouperAttr ( tLoc ); break; default: sError.SetSprintf ( "invalid group-by mode (mode=%d)", pQuery->m_eGroupFunc ); return false; } tSettings.m_bMVA = ( eType==SPH_ATTR_UINT32SET || eType==SPH_ATTR_INT64SET ); tSettings.m_bMva64 = ( eType==SPH_ATTR_INT64SET ); dGroupColumns.Add ( iGroupBy ); } // setup distinct attr if ( !pQuery->m_sGroupDistinct.IsEmpty() ) { int iDistinct = tSchema.GetAttrIndex ( pQuery->m_sGroupDistinct.cstr() ); if ( iDistinct<0 ) { sError.SetSprintf ( "group-count-distinct attribute '%s' not found", pQuery->m_sGroupDistinct.cstr() ); return false; } tSettings.m_tDistinctLoc = tSchema.GetAttr ( iDistinct ).m_tLocator; } return true; } // move expressions used in ORDER BY or WITHIN GROUP ORDER BY to presort phase static bool FixupDependency ( ISphSchema & tSchema, const int * pAttrs, int iAttrCount ) { assert ( pAttrs ); CSphVector dCur; // add valid attributes to processing list for ( int i=0; i=0 ) dCur.Add ( pAttrs[i] ); int iInitialAttrs = dCur.GetLength(); // collect columns which affect current expressions for ( int i=0; iSPH_EVAL_PRESORT && tCol.m_pExpr.Ptr()!=NULL ) tCol.m_pExpr->Command ( SPH_EXPR_GET_DEPENDENT_COLS, &dCur ); } // get rid of dupes dCur.Uniq(); // fix up of attributes stages ARRAY_FOREACH ( i, dCur ) { int iAttr = dCur[i]; if ( iAttr<0 ) continue; CSphColumnInfo & tCol = const_cast < CSphColumnInfo & > ( tSchema.GetAttr ( iAttr ) ); if ( tCol.m_eStage==SPH_EVAL_FINAL ) tCol.m_eStage = SPH_EVAL_PRESORT; } // it uses attributes if it has dependencies from other attributes return ( iInitialAttrs>dCur.GetLength() ); } // expression that transform string pool base + offset -> ptr struct ExprSortStringAttrFixup_c : public ISphExpr { const BYTE * m_pStrings; ///< string pool; base for offset of string attributes const CSphAttrLocator m_tLocator; ///< string attribute to fix explicit ExprSortStringAttrFixup_c ( const CSphAttrLocator & tLocator ) : m_pStrings ( NULL ) , m_tLocator ( tLocator ) { } virtual float Eval ( const CSphMatch & ) const { assert ( 0 ); return 0.0f; } virtual int64_t Int64Eval ( const CSphMatch & tMatch ) const { SphAttr_t uOff = tMatch.GetAttr ( m_tLocator ); return (int64_t)( m_pStrings && uOff ? m_pStrings + uOff : NULL ); } virtual void Command ( ESphExprCommand eCmd, void * pArg ) { if ( eCmd==SPH_EXPR_SET_STRING_POOL ) m_pStrings = (const BYTE*)pArg; } }; // expression that transform string pool base + offset -> ptr struct ExprSortJson2StringPtr_c : public ISphExpr { const BYTE * m_pStrings; ///< string pool; base for offset of string attributes const CSphAttrLocator m_tJsonCol; ///< JSON attribute to fix CSphRefcountedPtr m_pExpr; ExprSortJson2StringPtr_c ( const CSphAttrLocator & tLocator, ISphExpr * pExpr ) : m_pStrings ( NULL ) , m_tJsonCol ( tLocator ) , m_pExpr ( pExpr ) {} virtual bool IsStringPtr () const { return true; } virtual float Eval ( const CSphMatch & ) const { assert ( 0 ); return 0.0f; } virtual int StringEval ( const CSphMatch & tMatch, const BYTE ** ppStr ) const { if ( !m_pStrings || !m_pExpr ) { *ppStr = NULL; return 0; } uint64_t uValue = m_pExpr->Int64Eval ( tMatch ); const BYTE * pVal = m_pStrings + ( uValue & 0xffffffff ); ESphJsonType eJson = (ESphJsonType)( uValue >> 32 ); CSphString sVal; // FIXME!!! make string length configurable for STRING and STRING_VECTOR to compare and allocate only Min(String.Length, CMP_LENGTH) switch ( eJson ) { case JSON_INT32: sVal.SetSprintf ( "%d", sphJsonLoadInt ( &pVal ) ); break; case JSON_INT64: sVal.SetSprintf ( INT64_FMT, sphJsonLoadBigint ( &pVal ) ); break; case JSON_DOUBLE: sVal.SetSprintf ( "%f", sphQW2D ( sphJsonLoadBigint ( &pVal ) ) ); break; case JSON_STRING: { int iLen = sphJsonUnpackInt ( &pVal ); sVal.SetBinary ( (const char *)pVal, iLen ); break; } case JSON_STRING_VECTOR: { int iTotalLen = sphJsonUnpackInt ( &pVal ); int iCount = sphJsonUnpackInt ( &pVal ); CSphFixedVector dBuf ( iTotalLen + 4 ); // data and tail GAP BYTE * pDst = dBuf.Begin(); // head element if ( iCount ) { int iElemLen = sphJsonUnpackInt ( &pVal ); memcpy ( pDst, pVal, iElemLen ); pDst += iElemLen; } // tail elements separated by space for ( int i=1; iCommand ( eCmd, pArg ); } } }; bool sphIsSortStringInternal ( const char * sColumnName ) { assert ( sColumnName ); return ( strncmp ( sColumnName, g_sIntAttrPrefix, sizeof(g_sIntAttrPrefix)-1 )==0 ); } // only STRING ( static packed ) and JSON fields mush be remapped static void SetupSortRemap ( CSphRsetSchema & tSorterSchema, CSphMatchComparatorState & tState ) { #ifndef NDEBUG int iColWasCount = tSorterSchema.GetAttrsCount(); #endif for ( int i=0; i=0 && tState.m_dAttrs[i] & dAttrs ) { dAttrs.Resize ( 0 ); for ( int i=0; im_tLocator; tRemap.m_tDst = tDst.m_tLocator; } return ( dAttrs.GetLength()>0 ); } //////////////////// // BINARY COLLATION //////////////////// int sphCollateBinary ( const BYTE * pStr1, const BYTE * pStr2, bool bPacked ) { if ( bPacked ) { int iLen1 = sphUnpackStr ( pStr1, &pStr1 ); int iLen2 = sphUnpackStr ( pStr2, &pStr2 ); int iRes = memcmp ( (const char *)pStr1, (const char *)pStr2, Min ( iLen1, iLen2 ) ); return iRes ? iRes : ( iLen1-iLen2 ); } else { return strcmp ( (const char *)pStr1, (const char *)pStr2 ); } } /////////////////////////////// // LIBC_CI, LIBC_CS COLLATIONS /////////////////////////////// /// libc_ci, wrapper for strcasecmp int sphCollateLibcCI ( const BYTE * pStr1, const BYTE * pStr2, bool bPacked ) { if ( bPacked ) { int iLen1 = sphUnpackStr ( pStr1, &pStr1 ); int iLen2 = sphUnpackStr ( pStr2, &pStr2 ); int iRes = strncasecmp ( (const char *)pStr1, (const char *)pStr2, Min ( iLen1, iLen2 ) ); return iRes ? iRes : ( iLen1-iLen2 ); } else { return strcasecmp ( (const char *)pStr1, (const char *)pStr2 ); } } /// libc_cs, wrapper for strcoll int sphCollateLibcCS ( const BYTE * pStr1, const BYTE * pStr2, bool bPacked ) { #define COLLATE_STACK_BUFFER 1024 if ( bPacked ) { int iLen1 = sphUnpackStr ( pStr1, &pStr1 ); int iLen2 = sphUnpackStr ( pStr2, &pStr2 ); // strcoll wants asciiz strings, so we would have to copy them over // lets use stack buffer for smaller ones, and allocate from heap for bigger ones int iRes = 0; int iLen = Min ( iLen1, iLen2 ); if ( iLen=0x70 && i<=0x7f )*16 ); // 2170..217f, -16 g_dCollWeights_UTF8CI[i+0x900] = (unsigned short)( 0x2400 + i - ( i>=0xd0 && i<=0xe9 )*26 ); // 24d0..24e9, -26 g_dCollWeights_UTF8CI[i+0xa00] = (unsigned short)( 0xff00 + i - ( i>=0x41 && i<=0x5a )*32 ); // ff41..ff5a, -32 } // generate planes table for ( int i=0; i<0x100; i++ ) g_dCollPlanes_UTF8CI[i] = NULL; for ( int i=0; i<0x0b; i++ ) g_dCollPlanes_UTF8CI [ dWeightPlane[i] ] = g_dCollWeights_UTF8CI + 0x100*i; } /// collate a single codepoint static inline int CollateUTF8CI ( int iCode ) { return ( ( iCode>>16 ) || !g_dCollPlanes_UTF8CI [ iCode>>8 ] ) ? iCode : g_dCollPlanes_UTF8CI [ iCode>>8 ][ iCode&0xff ]; } /// utf8_general_ci int sphCollateUtf8GeneralCI ( const BYTE * pArg1, const BYTE * pArg2, bool bPacked ) { const BYTE * pStr1 = pArg1; const BYTE * pStr2 = pArg2; const BYTE * pMax1 = NULL; const BYTE * pMax2 = NULL; if ( bPacked ) { int iLen1 = sphUnpackStr ( pStr1, (const BYTE**)&pStr1 ); int iLen2 = sphUnpackStr ( pStr2, (const BYTE**)&pStr2 ); pMax1 = pStr1 + iLen1; pMax2 = pStr2 + iLen2; } while ( ( bPacked && pStr1=pMax1 && pStr2>=pMax2 ) return 0; return ( pStr1 m_dBuf; static const int LOCALE_SAFE_GAP = 16; LibcCSHash_fn() { m_dBuf.Resize ( COLLATE_STACK_BUFFER ); } uint64_t Hash ( const BYTE * pStr, int iLen, uint64_t uPrev=SPH_FNV64_SEED ) const { assert ( pStr && iLen ); int iCompositeLen = iLen + 1 + (int)( 3.0f * iLen ) + LOCALE_SAFE_GAP; if ( m_dBuf.GetLength() ( tLoc ); else if ( eCollation==SPH_COLLATION_LIBC_CI ) return new CSphGrouperString ( tLoc ); else if ( eCollation==SPH_COLLATION_LIBC_CS ) return new CSphGrouperString ( tLoc ); else return new CSphGrouperString ( tLoc ); } CSphGrouper * sphCreateGrouperMulti ( const CSphVector & dLocators, const CSphVector & dAttrTypes, const CSphVector & dJsonKeys, ESphCollation eCollation ) { if ( eCollation==SPH_COLLATION_UTF8_GENERAL_CI ) return new CSphGrouperMulti ( dLocators, dAttrTypes, dJsonKeys ); else if ( eCollation==SPH_COLLATION_LIBC_CI ) return new CSphGrouperMulti ( dLocators, dAttrTypes, dJsonKeys ); else if ( eCollation==SPH_COLLATION_LIBC_CS ) return new CSphGrouperMulti ( dLocators, dAttrTypes, dJsonKeys ); else return new CSphGrouperMulti ( dLocators, dAttrTypes, dJsonKeys ); } ///////////////////////// // SORTING QUEUE FACTORY ///////////////////////// template < typename COMP > static ISphMatchSorter * CreatePlainSorter ( bool bKbuffer, int iMaxMatches, bool bUsesAttrs, bool bFactors ) { if ( bKbuffer ) { if ( bFactors ) return new CSphKbufferMatchQueue ( iMaxMatches, bUsesAttrs ); else return new CSphKbufferMatchQueue ( iMaxMatches, bUsesAttrs ); } else { if ( bFactors ) return new CSphMatchQueue ( iMaxMatches, bUsesAttrs ); else return new CSphMatchQueue ( iMaxMatches, bUsesAttrs ); } } static ISphMatchSorter * CreatePlainSorter ( ESphSortFunc eMatchFunc, bool bKbuffer, int iMaxMatches, bool bUsesAttrs, bool bFactors ) { switch ( eMatchFunc ) { case FUNC_REL_DESC: return CreatePlainSorter ( bKbuffer, iMaxMatches, bUsesAttrs, bFactors ); break; case FUNC_ATTR_DESC: return CreatePlainSorter ( bKbuffer, iMaxMatches, bUsesAttrs, bFactors ); break; case FUNC_ATTR_ASC: return CreatePlainSorter ( bKbuffer, iMaxMatches, bUsesAttrs, bFactors ); break; case FUNC_TIMESEGS: return CreatePlainSorter ( bKbuffer, iMaxMatches, bUsesAttrs, bFactors ); break; case FUNC_GENERIC2: return CreatePlainSorter ( bKbuffer, iMaxMatches, bUsesAttrs, bFactors ); break; case FUNC_GENERIC3: return CreatePlainSorter ( bKbuffer, iMaxMatches, bUsesAttrs, bFactors ); break; case FUNC_GENERIC4: return CreatePlainSorter ( bKbuffer, iMaxMatches, bUsesAttrs, bFactors ); break; case FUNC_GENERIC5: return CreatePlainSorter ( bKbuffer, iMaxMatches, bUsesAttrs, bFactors ); break; case FUNC_EXPR: return CreatePlainSorter ( bKbuffer, iMaxMatches, bUsesAttrs, bFactors ); break; default: return NULL; } } static void ExtraAddSortkeys ( CSphSchema * pExtra, const ISphSchema & tSorterSchema, const int * dAttrs ) { if ( pExtra ) for ( int i=0; i=0 ) pExtra->AddAttr ( tSorterSchema.GetAttr ( dAttrs[i] ), true ); } ISphMatchSorter * sphCreateQueue ( SphQueueSettings_t & tQueue ) { // prepare for descent ISphMatchSorter * pTop = NULL; CSphMatchComparatorState tStateMatch, tStateGroup; // short-cuts const CSphQuery * pQuery = &tQueue.m_tQuery; const ISphSchema & tSchema = tQueue.m_tSchema; CSphString & sError = tQueue.m_sError; CSphQueryProfile * pProfiler = tQueue.m_pProfiler; CSphSchema * pExtra = tQueue.m_pExtra; sError = ""; bool bHasZonespanlist = false; bool bNeedZonespanlist = false; DWORD uPackedFactorFlags = SPH_FACTOR_DISABLE; /////////////////////////////////////// // build incoming and outgoing schemas /////////////////////////////////////// // sorter schema // adds computed expressions and groupby stuff on top of the original index schema CSphRsetSchema tSorterSchema; tSorterSchema = tSchema; CSphVector dQueryAttrs; // we need this to perform a sanity check bool bHasGroupByExpr = false; // setup overrides, detach them into dynamic part ARRAY_FOREACH ( i, pQuery->m_dOverrides ) { const char * sAttr = pQuery->m_dOverrides[i].m_sAttr.cstr(); int iIndex = tSorterSchema.GetAttrIndex ( sAttr ); if ( iIndex<0 ) { sError.SetSprintf ( "override attribute '%s' not found", sAttr ); return NULL; } CSphColumnInfo tCol; tCol = tSorterSchema.GetAttr ( iIndex ); tCol.m_eStage = SPH_EVAL_OVERRIDE; tSorterSchema.AddDynamicAttr ( tCol ); if ( pExtra ) pExtra->AddAttr ( tCol, true ); tSorterSchema.RemoveStaticAttr ( iIndex ); dQueryAttrs.Add ( sphFNV64 ( tCol.m_sName.cstr() ) ); } // setup @geodist if ( pQuery->m_bGeoAnchor && tSorterSchema.GetAttrIndex ( "@geodist" )<0 ) { ExprGeodist_t * pExpr = new ExprGeodist_t (); if ( !pExpr->Setup ( pQuery, tSorterSchema, sError ) ) { pExpr->Release (); return NULL; } CSphColumnInfo tCol ( "@geodist", SPH_ATTR_FLOAT ); tCol.m_pExpr = pExpr; // takes ownership, no need to for explicit pExpr release tCol.m_eStage = SPH_EVAL_PREFILTER; // OPTIMIZE? actual stage depends on usage tSorterSchema.AddDynamicAttr ( tCol ); if ( pExtra ) pExtra->AddAttr ( tCol, true ); dQueryAttrs.Add ( sphFNV64 ( tCol.m_sName.cstr() ) ); } // setup @expr if ( pQuery->m_eSort==SPH_SORT_EXPR && tSorterSchema.GetAttrIndex ( "@expr" )<0 ) { CSphColumnInfo tCol ( "@expr", SPH_ATTR_FLOAT ); // enforce float type for backwards compatibility (ie. too lazy to fix those tests right now) tCol.m_pExpr = sphExprParse ( pQuery->m_sSortBy.cstr(), tSorterSchema, NULL, NULL, sError, pProfiler, pQuery->m_eCollation, NULL, &bHasZonespanlist ); bNeedZonespanlist |= bHasZonespanlist; if ( !tCol.m_pExpr ) return NULL; tCol.m_eStage = SPH_EVAL_PRESORT; tSorterSchema.AddDynamicAttr ( tCol ); dQueryAttrs.Add ( sphFNV64 ( tCol.m_sName.cstr() ) ); } // expressions from select items bool bHasCount = false; if ( tQueue.m_bComputeItems ) ARRAY_FOREACH ( iItem, pQuery->m_dItems ) { const CSphQueryItem & tItem = pQuery->m_dItems[iItem]; const CSphString & sExpr = tItem.m_sExpr; bool bIsCount = IsCount(sExpr); bHasCount |= bIsCount; if ( sExpr=="*" ) { for ( int i=0; i=0 && tItem.m_eAggrFunc==SPH_AGGR_NONE ) ) && ( tItem.m_sAlias.IsEmpty() || tItem.m_sAlias==tItem.m_sExpr ) ); if ( iAttrIdx>=0 ) { ESphAttr eAttr = tSchema.GetAttr ( iAttrIdx ).m_eAttrType; if ( eAttr==SPH_ATTR_STRING || eAttr==SPH_ATTR_UINT32SET || eAttr==SPH_ATTR_INT64SET ) { if ( tItem.m_eAggrFunc!=SPH_AGGR_NONE ) { sError.SetSprintf ( "can not aggregate non-scalar attribute '%s'", tItem.m_sExpr.cstr() ); return NULL; } if ( !bPlainAttr ) { bPlainAttr = true; for ( int i=0; im_dItems[i].m_sAlias ) bPlainAttr = false; } } } if ( bPlainAttr || IsGroupby ( sExpr ) || bIsCount ) { bHasGroupByExpr = IsGroupby ( sExpr ); continue; } // not an attribute? must be an expression, and must be aliased by query parser assert ( !tItem.m_sAlias.IsEmpty() ); // tricky part // we might be fed with precomputed matches, but it's all or nothing // the incoming match either does not have anything computed, or it has everything int iSorterAttr = tSorterSchema.GetAttrIndex ( tItem.m_sAlias.cstr() ); if ( iSorterAttr>=0 ) { if ( dQueryAttrs.Contains ( sphFNV64 ( tItem.m_sAlias.cstr() ) ) ) { sError.SetSprintf ( "alias '%s' must be unique (conflicts with another alias)", tItem.m_sAlias.cstr() ); return NULL; } else { tSorterSchema.RemoveStaticAttr ( iSorterAttr ); } } // a new and shiny expression, lets parse CSphColumnInfo tExprCol ( tItem.m_sAlias.cstr(), SPH_ATTR_NONE ); DWORD uQueryPackedFactorFlags = SPH_FACTOR_DISABLE; // tricky bit // GROUP_CONCAT() adds an implicit TO_STRING() conversion on top of its argument // and then the aggregate operation simply concatenates strings as matches arrive // ideally, we would instead pass ownership of the expression to G_C() implementation // and also the original expression type, and let the string conversion happen in G_C() itself // but that ideal route seems somewhat more complicated in the current architecture if ( tItem.m_eAggrFunc==SPH_AGGR_CAT ) { CSphString sExpr2; sExpr2.SetSprintf ( "TO_STRING(%s)", sExpr.cstr() ); tExprCol.m_pExpr = sphExprParse ( sExpr2.cstr(), tSorterSchema, &tExprCol.m_eAttrType, &tExprCol.m_bWeight, sError, pProfiler, pQuery->m_eCollation, tQueue.m_pHook, &bHasZonespanlist, &uQueryPackedFactorFlags, &tExprCol.m_eStage ); } else { tExprCol.m_pExpr = sphExprParse ( sExpr.cstr(), tSorterSchema, &tExprCol.m_eAttrType, &tExprCol.m_bWeight, sError, pProfiler, pQuery->m_eCollation, tQueue.m_pHook, &bHasZonespanlist, &uQueryPackedFactorFlags, &tExprCol.m_eStage ); } uPackedFactorFlags |= uQueryPackedFactorFlags; bNeedZonespanlist |= bHasZonespanlist; tExprCol.m_eAggrFunc = tItem.m_eAggrFunc; if ( !tExprCol.m_pExpr ) { sError.SetSprintf ( "parse error: %s", sError.cstr() ); return NULL; } // force AVG() to be computed in floats if ( tExprCol.m_eAggrFunc==SPH_AGGR_AVG ) { tExprCol.m_eAttrType = SPH_ATTR_FLOAT; tExprCol.m_tLocator.m_iBitCount = 32; } // force explicit type conversion for JSON attributes if ( tExprCol.m_eAggrFunc!=SPH_AGGR_NONE && tExprCol.m_eAttrType==SPH_ATTR_JSON_FIELD ) { sError.SetSprintf ( "ambiguous attribute type '%s', use INTEGER(), BIGINT() or DOUBLE() conversion functions", tItem.m_sExpr.cstr() ); return NULL; } if ( uQueryPackedFactorFlags & SPH_FACTOR_JSON_OUT ) tExprCol.m_eAttrType = SPH_ATTR_FACTORS_JSON; // force GROUP_CONCAT() to be computed as strings if ( tExprCol.m_eAggrFunc==SPH_AGGR_CAT ) { tExprCol.m_eAttrType = SPH_ATTR_STRINGPTR; tExprCol.m_tLocator.m_iBitCount = ROWITEMPTR_BITS; } // postpone aggregates, add non-aggregates if ( tExprCol.m_eAggrFunc==SPH_AGGR_NONE ) { // is this expression used in filter? // OPTIMIZE? hash filters and do hash lookups? if ( tExprCol.m_eAttrType!=SPH_ATTR_JSON_FIELD ) ARRAY_FOREACH ( i, pQuery->m_dFilters ) if ( pQuery->m_dFilters[i].m_sAttrName==tExprCol.m_sName ) { // is this a hack? // m_bWeight is computed after EarlyReject() get called // that means we can't evaluate expressions with WEIGHT() in prefilter phase if ( tExprCol.m_bWeight ) { tExprCol.m_eStage = SPH_EVAL_PRESORT; // special, weight filter ( short cut ) break; } // so we are about to add a filter condition // but it might depend on some preceding columns (e.g. SELECT 1+attr f1 ... WHERE f1>5) // lets detect those and move them to prefilter \ presort phase too CSphVector dCur; tExprCol.m_pExpr->Command ( SPH_EXPR_GET_DEPENDENT_COLS, &dCur ); // usual filter tExprCol.m_eStage = SPH_EVAL_PREFILTER; ARRAY_FOREACH ( j, dCur ) { const CSphColumnInfo & tCol = tSorterSchema.GetAttr ( dCur[j] ); if ( tCol.m_bWeight ) { tExprCol.m_eStage = SPH_EVAL_PRESORT; tExprCol.m_bWeight = true; } // handle chains of dependencies (e.g. SELECT 1+attr f1, f1-1 f2 ... WHERE f2>5) if ( tCol.m_pExpr.Ptr() ) { tCol.m_pExpr->Command ( SPH_EXPR_GET_DEPENDENT_COLS, &dCur ); } } dCur.Uniq(); ARRAY_FOREACH ( j, dCur ) { CSphColumnInfo & tDep = const_cast < CSphColumnInfo & > ( tSorterSchema.GetAttr ( dCur[j] ) ); if ( tDep.m_eStage>tExprCol.m_eStage ) tDep.m_eStage = tExprCol.m_eStage; } break; } // add it! // NOTE, "final" stage might need to be fixed up later // we'll do that when parsing sorting clause tSorterSchema.AddDynamicAttr ( tExprCol ); } else // some aggregate { tExprCol.m_eStage = SPH_EVAL_PRESORT; // sorter expects computed expression tSorterSchema.AddDynamicAttr ( tExprCol ); if ( pExtra ) pExtra->AddAttr ( tExprCol, true ); /// update aggregate dependencies (e.g. SELECT 1+attr f1, min(f1), ...) CSphVector dCur; tExprCol.m_pExpr->Command ( SPH_EXPR_GET_DEPENDENT_COLS, &dCur ); ARRAY_FOREACH ( j, dCur ) { const CSphColumnInfo & tCol = tSorterSchema.GetAttr ( dCur[j] ); if ( tCol.m_pExpr.Ptr() ) tCol.m_pExpr->Command ( SPH_EXPR_GET_DEPENDENT_COLS, &dCur ); } dCur.Uniq(); ARRAY_FOREACH ( j, dCur ) { CSphColumnInfo & tDep = const_cast < CSphColumnInfo & > ( tSorterSchema.GetAttr ( dCur[j] ) ); if ( tDep.m_eStage>tExprCol.m_eStage ) tDep.m_eStage = tExprCol.m_eStage; } } dQueryAttrs.Add ( sphFNV64 ( (const BYTE *)tExprCol.m_sName.cstr() ) ); } //////////////////////////////////////////// // setup groupby settings, create shortcuts //////////////////////////////////////////// CSphVector dGroupColumns; CSphGroupSorterSettings tSettings; bool bImplicit = false; if ( pQuery->m_sGroupBy.IsEmpty() ) ARRAY_FOREACH_COND ( i, pQuery->m_dItems, !bImplicit ) { const CSphQueryItem & t = pQuery->m_dItems[i]; bImplicit = ( t.m_eAggrFunc!=SPH_AGGR_NONE ) || t.m_sExpr=="count(*)" || t.m_sExpr=="@distinct"; } if ( !SetupGroupbySettings ( pQuery, tSorterSchema, tSettings, dGroupColumns, sError, bImplicit ) ) return NULL; const bool bGotGroupby = !pQuery->m_sGroupBy.IsEmpty() || tSettings.m_bImplicit; // or else, check in SetupGroupbySettings() would already fail const bool bGotDistinct = ( tSettings.m_tDistinctLoc.m_iBitOffset>=0 ); if ( bHasGroupByExpr && !bGotGroupby ) { sError = "GROUPBY() is allowed only in GROUP BY queries"; return NULL; } // check for HAVING constrains if ( tQueue.m_pAggrFilter && !tQueue.m_pAggrFilter->m_sAttrName.IsEmpty() ) { if ( !bGotGroupby ) { sError.SetSprintf ( "can not use HAVING without GROUP BY" ); return NULL; } // should be column named at group by or it's alias or aggregate const CSphString & sHaving = tQueue.m_pAggrFilter->m_sAttrName; if ( !IsGroupbyMagic ( sHaving ) ) { bool bValidHaving = false; ARRAY_FOREACH ( i, pQuery->m_dItems ) { const CSphQueryItem & tItem = pQuery->m_dItems[i]; if ( tItem.m_sAlias!=sHaving ) continue; bValidHaving = ( IsGroupbyMagic ( tItem.m_sExpr ) || tItem.m_eAggrFunc!=SPH_AGGR_NONE ); break; } if ( !bValidHaving ) { sError.SetSprintf ( "can not use HAVING with attribute not related to GROUP BY" ); return NULL; } } } // now lets add @groupby etc if needed if ( bGotGroupby && tSorterSchema.GetAttrIndex ( "@groupby" )<0 ) { ESphAttr eGroupByResult = ( !tSettings.m_bImplicit ) ? tSettings.m_pGrouper->GetResultType() : SPH_ATTR_INTEGER; // implicit do not have grouper if ( tSettings.m_bMva64 ) eGroupByResult = SPH_ATTR_BIGINT; CSphColumnInfo tGroupby ( "@groupby", eGroupByResult ); CSphColumnInfo tCount ( "@count", SPH_ATTR_INTEGER ); CSphColumnInfo tDistinct ( "@distinct", SPH_ATTR_INTEGER ); tGroupby.m_eStage = SPH_EVAL_SORTER; tCount.m_eStage = SPH_EVAL_SORTER; tDistinct.m_eStage = SPH_EVAL_SORTER; tSorterSchema.AddDynamicAttr ( tGroupby ); tSorterSchema.AddDynamicAttr ( tCount ); if ( pExtra ) { pExtra->AddAttr ( tGroupby, true ); pExtra->AddAttr ( tCount, true ); } if ( bGotDistinct ) { tSorterSchema.AddDynamicAttr ( tDistinct ); if ( pExtra ) pExtra->AddAttr ( tDistinct, true ); } // add @groupbystr last in case we need to skip it on sending (like @int_str2ptr_*) if ( tSettings.m_bJson ) { CSphColumnInfo tGroupbyStr ( "@groupbystr", SPH_ATTR_JSON_FIELD ); tGroupbyStr.m_eStage = SPH_EVAL_SORTER; tSorterSchema.AddDynamicAttr ( tGroupbyStr ); } } #define LOC_CHECK(_cond,_msg) if (!(_cond)) { sError = "invalid schema: " _msg; return NULL; } int iGroupby = tSorterSchema.GetAttrIndex ( "@groupby" ); if ( iGroupby>=0 ) { tSettings.m_bDistinct = bGotDistinct; tSettings.m_tLocGroupby = tSorterSchema.GetAttr ( iGroupby ).m_tLocator; LOC_CHECK ( tSettings.m_tLocGroupby.m_bDynamic, "@groupby must be dynamic" ); int iCount = tSorterSchema.GetAttrIndex ( "@count" ); LOC_CHECK ( iCount>=0, "missing @count" ); tSettings.m_tLocCount = tSorterSchema.GetAttr ( iCount ).m_tLocator; LOC_CHECK ( tSettings.m_tLocCount.m_bDynamic, "@count must be dynamic" ); int iDistinct = tSorterSchema.GetAttrIndex ( "@distinct" ); if ( bGotDistinct ) { LOC_CHECK ( iDistinct>=0, "missing @distinct" ); tSettings.m_tLocDistinct = tSorterSchema.GetAttr ( iDistinct ).m_tLocator; LOC_CHECK ( tSettings.m_tLocDistinct.m_bDynamic, "@distinct must be dynamic" ); } else { LOC_CHECK ( iDistinct<=0, "unexpected @distinct" ); } int iGroupbyStr = tSorterSchema.GetAttrIndex ( "@groupbystr" ); if ( iGroupbyStr>=0 ) tSettings.m_tLocGroupbyStr = tSorterSchema.GetAttr ( iGroupbyStr ).m_tLocator; } if ( bHasCount ) { LOC_CHECK ( tSorterSchema.GetAttrIndex ( "@count" )>=0, "Count(*) or @count is queried, but not available in the schema" ); } #undef LOC_CHECK //////////////////////////////////// // choose and setup sorting functor //////////////////////////////////// ESphSortFunc eMatchFunc = FUNC_REL_DESC; ESphSortFunc eGroupFunc = FUNC_REL_DESC; bool bUsesAttrs = false; bool bRandomize = false; // matches sorting function if ( pQuery->m_eSort==SPH_SORT_EXTENDED ) { ESortClauseParseResult eRes = sphParseSortClause ( pQuery, pQuery->m_sSortBy.cstr(), tSorterSchema, eMatchFunc, tStateMatch, sError ); if ( eRes==SORT_CLAUSE_ERROR ) return NULL; if ( eRes==SORT_CLAUSE_RANDOM ) bRandomize = true; ExtraAddSortkeys ( pExtra, tSorterSchema, tStateMatch.m_dAttrs ); bUsesAttrs = FixupDependency ( tSorterSchema, tStateMatch.m_dAttrs, CSphMatchComparatorState::MAX_ATTRS ); if ( !bUsesAttrs ) { for ( int i=0; im_eSort==SPH_SORT_EXPR ) { tStateMatch.m_eKeypart[0] = SPH_KEYPART_INT; tStateMatch.m_tLocator[0] = tSorterSchema.GetAttr ( tSorterSchema.GetAttrIndex ( "@expr" ) ).m_tLocator; tStateMatch.m_eKeypart[1] = SPH_KEYPART_ID; tStateMatch.m_uAttrDesc = 1; eMatchFunc = FUNC_EXPR; bUsesAttrs = true; } else { // check sort-by attribute if ( pQuery->m_eSort!=SPH_SORT_RELEVANCE ) { int iSortAttr = tSorterSchema.GetAttrIndex ( pQuery->m_sSortBy.cstr() ); if ( iSortAttr<0 ) { sError.SetSprintf ( "sort-by attribute '%s' not found", pQuery->m_sSortBy.cstr() ); return NULL; } const CSphColumnInfo & tAttr = tSorterSchema.GetAttr ( iSortAttr ); tStateMatch.m_eKeypart[0] = Attr2Keypart ( tAttr.m_eAttrType ); tStateMatch.m_tLocator[0] = tAttr.m_tLocator; tStateMatch.m_dAttrs[0] = iSortAttr; SetupSortRemap ( tSorterSchema, tStateMatch ); } // find out what function to use and whether it needs attributes bUsesAttrs = true; switch ( pQuery->m_eSort ) { case SPH_SORT_ATTR_DESC: eMatchFunc = FUNC_ATTR_DESC; break; case SPH_SORT_ATTR_ASC: eMatchFunc = FUNC_ATTR_ASC; break; case SPH_SORT_TIME_SEGMENTS: eMatchFunc = FUNC_TIMESEGS; break; case SPH_SORT_RELEVANCE: eMatchFunc = FUNC_REL_DESC; bUsesAttrs = false; break; default: sError.SetSprintf ( "unknown sorting mode %d", pQuery->m_eSort ); return NULL; } } // groups sorting function if ( bGotGroupby ) { ESortClauseParseResult eRes = sphParseSortClause ( pQuery, pQuery->m_sGroupSortBy.cstr(), tSorterSchema, eGroupFunc, tStateGroup, sError ); if ( eRes==SORT_CLAUSE_ERROR || eRes==SORT_CLAUSE_RANDOM ) { if ( eRes==SORT_CLAUSE_RANDOM ) sError.SetSprintf ( "groups can not be sorted by @random" ); return NULL; } ExtraAddSortkeys ( pExtra, tSorterSchema, tStateGroup.m_dAttrs ); assert ( dGroupColumns.GetLength() || tSettings.m_bImplicit ); if ( pExtra && !tSettings.m_bImplicit ) { ARRAY_FOREACH ( i, dGroupColumns ) pExtra->AddAttr ( tSorterSchema.GetAttr ( dGroupColumns[i] ), true ); } if ( bGotDistinct ) { dGroupColumns.Add ( tSorterSchema.GetAttrIndex ( pQuery->m_sGroupDistinct.cstr() ) ); assert ( dGroupColumns.Last()>=0 ); if ( pExtra ) pExtra->AddAttr ( tSorterSchema.GetAttr ( dGroupColumns.Last() ), true ); } if ( dGroupColumns.GetLength() ) // implicit case { FixupDependency ( tSorterSchema, dGroupColumns.Begin(), dGroupColumns.GetLength() ); } FixupDependency ( tSorterSchema, tStateGroup.m_dAttrs, CSphMatchComparatorState::MAX_ATTRS ); // GroupSortBy str attributes setup SetupSortRemap ( tSorterSchema, tStateGroup ); } // set up aggregate filter for grouper if ( bGotGroupby && tQueue.m_pAggrFilter && !tQueue.m_pAggrFilter->m_sAttrName.IsEmpty() ) { if ( tSorterSchema.GetAttr ( tQueue.m_pAggrFilter->m_sAttrName.cstr() ) ) { tSettings.m_pAggrFilterTrait = sphCreateAggrFilter ( tQueue.m_pAggrFilter, tQueue.m_pAggrFilter->m_sAttrName, tSorterSchema, sError ); } else { // having might reference aliased attributes but @* attributes got stored without alias in sorter schema CSphString sHaving; ARRAY_FOREACH ( i, pQuery->m_dItems ) { const CSphQueryItem & tItem = pQuery->m_dItems[i]; if ( tItem.m_sAlias==tQueue.m_pAggrFilter->m_sAttrName ) { sHaving = tItem.m_sExpr; break; } } if ( sHaving=="groupby()" ) sHaving = "@groupby"; else if ( sHaving=="count(*)" ) sHaving = "@count"; tSettings.m_pAggrFilterTrait = sphCreateAggrFilter ( tQueue.m_pAggrFilter, sHaving, tSorterSchema, sError ); } if ( !tSettings.m_pAggrFilterTrait ) return NULL; } /////////////////// // spawn the queue /////////////////// if ( !bGotGroupby ) { if ( tQueue.m_pUpdate ) pTop = new CSphUpdateQueue ( pQuery->m_iMaxMatches, tQueue.m_pUpdate, pQuery->m_bIgnoreNonexistent, pQuery->m_bStrict ); else if ( tQueue.m_pDeletes ) pTop = new CSphDeleteQueue ( pQuery->m_iMaxMatches, tQueue.m_pDeletes ); else pTop = CreatePlainSorter ( eMatchFunc, pQuery->m_bSortKbuffer, pQuery->m_iMaxMatches, bUsesAttrs, uPackedFactorFlags & SPH_FACTOR_ENABLE ); } else { pTop = sphCreateSorter1st ( eMatchFunc, eGroupFunc, pQuery, tSettings, uPackedFactorFlags & SPH_FACTOR_ENABLE ); } if ( !pTop ) { sError.SetSprintf ( "internal error: unhandled sorting mode (match-sort=%d, group=%d, group-sort=%d)", eMatchFunc, bGotGroupby, eGroupFunc ); return NULL; } switch ( pQuery->m_eCollation ) { case SPH_COLLATION_LIBC_CI: tStateMatch.m_fnStrCmp = sphCollateLibcCI; tStateGroup.m_fnStrCmp = sphCollateLibcCI; break; case SPH_COLLATION_LIBC_CS: tStateMatch.m_fnStrCmp = sphCollateLibcCS; tStateGroup.m_fnStrCmp = sphCollateLibcCS; break; case SPH_COLLATION_UTF8_GENERAL_CI: tStateMatch.m_fnStrCmp = sphCollateUtf8GeneralCI; tStateGroup.m_fnStrCmp = sphCollateUtf8GeneralCI; break; case SPH_COLLATION_BINARY: tStateMatch.m_fnStrCmp = sphCollateBinary; tStateGroup.m_fnStrCmp = sphCollateBinary; break; } assert ( pTop ); pTop->SetState ( tStateMatch ); pTop->SetGroupState ( tStateGroup ); pTop->SetSchema ( tSorterSchema ); pTop->m_bRandomize = bRandomize; if ( bRandomize ) { if ( pQuery->m_iRandSeed>=0 ) sphSrand ( (DWORD)pQuery->m_iRandSeed ); else sphAutoSrand (); } tQueue.m_bZonespanlist = bNeedZonespanlist; tQueue.m_uPackedFactorFlags = uPackedFactorFlags; return pTop; } int sphFlattenQueue ( ISphMatchSorter * pQueue, CSphQueryResult * pResult, int iTag ) { if ( !pQueue || !pQueue->GetLength() ) return 0; int iOffset = pResult->m_dMatches.GetLength (); pResult->m_dMatches.Resize ( iOffset + pQueue->GetLength() ); int iCopied = pQueue->Flatten ( pResult->m_dMatches.Begin() + iOffset, iTag ); pResult->m_dMatches.Resize ( iOffset + iCopied ); return iCopied; } bool sphHasExpressions ( const CSphQuery & tQuery, const CSphSchema & tSchema ) { ARRAY_FOREACH ( i, tQuery.m_dItems ) { const CSphQueryItem & tItem = tQuery.m_dItems[i]; const CSphString & sExpr = tItem.m_sExpr; // all expressions that come from parser are automatically aliased assert ( !tItem.m_sAlias.IsEmpty() ); if ( !( sExpr=="*" || ( tSchema.GetAttrIndex ( sExpr.cstr() )>=0 && tItem.m_eAggrFunc==SPH_AGGR_NONE && tItem.m_sAlias==sExpr ) || IsGroupbyMagic ( sExpr ) ) ) return true; } return false; } // // $Id$ // sphinx-2.2.11-release/src/sphinxselect.y0000644000175000017500000001211012743402012017544 0ustar alexeyalexey%{ #if USE_WINDOWS #pragma warning(push,1) #pragma warning(disable:4702) // unreachable code #endif %} %lex-param { SelectParser_t * pParser } %parse-param { SelectParser_t * pParser } %pure-parser %error-verbose %token SEL_TOKEN %token SEL_ID %token SEL_AS %token SEL_AVG %token SEL_MAX %token SEL_MIN %token SEL_SUM %token SEL_GROUP_CONCAT %token SEL_GROUPBY %token SEL_COUNT %token SEL_WEIGHT %token SEL_DISTINCT %token SEL_OPTION %token SEL_COMMENT_OPEN %token SEL_COMMENT_CLOSE %token TOK_DIV %token TOK_MOD %token TOK_NEG %token TOK_LTE %token TOK_GTE %token TOK_EQ %token TOK_NE %token TOK_CONST_STRING %left TOK_OR %left TOK_AND %left '|' %left '&' %left TOK_EQ TOK_NE %left '<' '>' TOK_LTE TOK_GTE %left '+' '-' %left '*' '/' TOK_DIV '%' TOK_MOD %nonassoc TOK_NEG %nonassoc TOK_NOT %token TOK_IS %token TOK_NULL %token TOK_FOR %token TOK_FUNC_IN %% select: select_list | select_list comment | comment ; select_list: select_item | select_list ',' select_item ; select_item: '*' { pParser->AddItem ( &$1 ); } | select_expr opt_alias opt_alias: // empty | SEL_TOKEN { pParser->AliasLastItem ( &$1 ); } | SEL_AS SEL_TOKEN { pParser->AliasLastItem ( &$2 ); } ; select_expr: expr { pParser->AddItem ( &$1 ); } | SEL_AVG '(' expr ')' { pParser->AddItem ( &$3, SPH_AGGR_AVG, &$1, &$4 ); } | SEL_MAX '(' expr ')' { pParser->AddItem ( &$3, SPH_AGGR_MAX, &$1, &$4 ); } | SEL_MIN '(' expr ')' { pParser->AddItem ( &$3, SPH_AGGR_MIN, &$1, &$4 ); } | SEL_SUM '(' expr ')' { pParser->AddItem ( &$3, SPH_AGGR_SUM, &$1, &$4 ); } | SEL_GROUP_CONCAT '(' expr ')' { pParser->AddItem ( &$3, SPH_AGGR_CAT, &$1, &$4 ); } | SEL_GROUPBY '(' ')' { pParser->AddItem ( "groupby()", &$1, &$3 ); } | SEL_COUNT '(' '*' ')' { pParser->AddItem ( "count(*)", &$1, &$4 ); } | SEL_COUNT '(' SEL_DISTINCT SEL_TOKEN ')' // FIXME: may be check if $4 == this->m_sGroupDistinct and warn/error, if not? { pParser->AddItem ( "@distinct", &$1, &$5 ); } ; expr: select_atom | '`' select_atom '`' { $$ = $2; $$.m_iEnd = $2.m_iEnd; } | '-' expr %prec TOK_NEG { $$ = $1; $$.m_iEnd = $2.m_iEnd; } | TOK_NOT expr { $$ = $1; $$.m_iEnd = $2.m_iEnd; } | expr '+' expr { $$ = $1; $$.m_iEnd = $3.m_iEnd; } | expr '-' expr { $$ = $1; $$.m_iEnd = $3.m_iEnd; } | expr '*' expr { $$ = $1; $$.m_iEnd = $3.m_iEnd; } | expr '/' expr { $$ = $1; $$.m_iEnd = $3.m_iEnd; } | expr '<' expr { $$ = $1; $$.m_iEnd = $3.m_iEnd; } | expr '>' expr { $$ = $1; $$.m_iEnd = $3.m_iEnd; } | expr '&' expr { $$ = $1; $$.m_iEnd = $3.m_iEnd; } | expr '|' expr { $$ = $1; $$.m_iEnd = $3.m_iEnd; } | expr '%' expr { $$ = $1; $$.m_iEnd = $3.m_iEnd; } | expr TOK_DIV expr { $$ = $1; $$.m_iEnd = $3.m_iEnd; } | expr TOK_MOD expr { $$ = $1; $$.m_iEnd = $3.m_iEnd; } | expr TOK_LTE expr { $$ = $1; $$.m_iEnd = $3.m_iEnd; } | expr TOK_GTE expr { $$ = $1; $$.m_iEnd = $3.m_iEnd; } | expr TOK_EQ expr { $$ = $1; $$.m_iEnd = $3.m_iEnd; } | expr TOK_NE expr { $$ = $1; $$.m_iEnd = $3.m_iEnd; } | expr TOK_AND expr { $$ = $1; $$.m_iEnd = $3.m_iEnd; } | expr TOK_OR expr { $$ = $1; $$.m_iEnd = $3.m_iEnd; } | '(' expr ')' { $$ = $1; $$.m_iEnd = $3.m_iEnd; } | '{' consthash '}' { $$ = $1; $$.m_iEnd = $3.m_iEnd; } | function | json_expr | json_field TOK_IS TOK_NULL { $$ = $1; $$.m_iEnd = $3.m_iEnd; } | json_field TOK_IS TOK_NOT TOK_NULL { $$ = $1; $$.m_iEnd = $4.m_iEnd; } | expr TOK_EQ TOK_CONST_STRING { $$ = $1; $$.m_iEnd = $3.m_iEnd; } ; select_atom: SEL_ID | SEL_TOKEN ; function: SEL_TOKEN '(' arglist ')' { $$ = $1; $$.m_iEnd = $4.m_iEnd; } | SEL_TOKEN '(' ')' { $$ = $1; $$.m_iEnd = $3.m_iEnd; } | SEL_MIN '(' expr ',' expr ')' { $$ = $1; $$.m_iEnd = $6.m_iEnd; } // handle clash with aggregate functions | SEL_MAX '(' expr ',' expr ')' { $$ = $1; $$.m_iEnd = $6.m_iEnd; } | SEL_WEIGHT '(' ')' { $$ = $1; $$.m_iEnd = $3.m_iEnd; } | SEL_TOKEN '(' expr for_loop ')' { $$ = $1; $$.m_iEnd = $5.m_iEnd; } | TOK_FUNC_IN '(' arglist ')' { $$ = $1; $$.m_iEnd = $4.m_iEnd; } ; arglist: arg | arglist ',' arg ; consthash: hash_key TOK_EQ SEL_TOKEN | consthash ',' hash_key TOK_EQ SEL_TOKEN ; hash_key: SEL_TOKEN | TOK_FUNC_IN ; arg: expr | TOK_CONST_STRING ; comment: SEL_COMMENT_OPEN SEL_OPTION SEL_TOKEN TOK_EQ SEL_TOKEN SEL_COMMENT_CLOSE { pParser->AddOption ( &$3, &$5 ); } ; json_field: json_expr | ident ; json_expr: SEL_TOKEN subscript { $$ = $1; $$.m_iEnd = $2.m_iEnd; } ; subscript: subkey | subscript subkey { $$ = $1; $$.m_iEnd = $2.m_iEnd; } ; ident: SEL_TOKEN | SEL_ID | SEL_AS | SEL_AVG | SEL_MAX | SEL_MIN | SEL_SUM | SEL_GROUP_CONCAT | SEL_GROUPBY | SEL_COUNT | SEL_WEIGHT | SEL_DISTINCT | SEL_OPTION | TOK_DIV | TOK_MOD | TOK_NEG | TOK_LTE | TOK_GTE | TOK_EQ | TOK_NE | TOK_OR | TOK_AND | TOK_NOT | TOK_NULL ; subkey: '.' ident { $$ = $1; $$.m_iEnd = $2.m_iEnd; } | '[' expr ']' { $$ = $1; $$.m_iEnd = $3.m_iEnd; } | '[' TOK_CONST_STRING ']' { $$ = $1; $$.m_iEnd = $3.m_iEnd; } ; for_loop: TOK_FOR ident TOK_FUNC_IN json_field { $$ = $1; $$.m_iEnd = $4.m_iEnd; } ; %% #if USE_WINDOWS #pragma warning(pop) #endif sphinx-2.2.11-release/src/sphinxsearch.h0000644000175000017500000001327112743402012017522 0ustar alexeyalexey// // $Id$ // // // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License. You should have // received a copy of the GPL license along with this program; if you // did not, you can find it at http://www.gnu.org/ // #ifndef _sphinxsearch_ #define _sphinxsearch_ #include "sphinx.h" #include "sphinxquery.h" #include "sphinxint.h" ////////////////////////////////////////////////////////////////////////// /// term modifiers enum TermPosFilter_e { TERM_POS_NONE = 0, TERM_POS_FIELD_LIMIT = 1, TERM_POS_FIELD_START = 2, TERM_POS_FIELD_END = 3, TERM_POS_FIELD_STARTEND = 4, TERM_POS_ZONES = 5, }; /// decoder state saved at a certain offset struct SkiplistEntry_t { SphDocID_t m_iBaseDocid; ///< delta decoder docid base (aka docid infinum) int64_t m_iOffset; ///< offset in the doclist file (relative to the doclist start) int64_t m_iBaseHitlistPos; ///< delta decoder hitlist offset base }; /// term, searcher view class ISphQword { public: // setup by query parser CSphString m_sWord; ///< my copy of word CSphString m_sDictWord; ///< word after being processed by dict (eg. stemmed) SphWordID_t m_uWordID; ///< word ID, from dictionary TermPosFilter_e m_iTermPos; int m_iAtomPos; ///< word position, from query float m_fBoost; ///< IDF keyword boost (multiplier) bool m_bExpanded; ///< added by prefix expansion bool m_bExcluded; ///< excluded by the query (rval to operator NOT) // setup by QwordSetup() int m_iDocs; ///< document count, from wordlist int m_iHits; ///< hit count, from wordlist bool m_bHasHitlist; ///< hitlist presence flag CSphVector m_dSkiplist; ///< skiplist for quicker document list seeks // iterator state FieldMask_t m_dQwordFields; ///< current match fields DWORD m_uMatchHits; ///< current match hits count SphOffset_t m_iHitlistPos; ///< current position in hitlist, from doclist protected: bool m_bAllFieldsKnown; ///< whether the all match fields is known, or only low 32. public: ISphQword () : m_uWordID ( 0 ) , m_iTermPos ( TERM_POS_NONE ) , m_iAtomPos ( 0 ) , m_fBoost ( 1.0f ) , m_bExpanded ( false ) , m_bExcluded ( false ) , m_iDocs ( 0 ) , m_iHits ( 0 ) , m_bHasHitlist ( true ) , m_uMatchHits ( 0 ) , m_iHitlistPos ( 0 ) , m_bAllFieldsKnown ( false ) { m_dQwordFields.UnsetAll(); } virtual ~ISphQword () {} virtual void HintDocid ( SphDocID_t ) {} virtual const CSphMatch & GetNextDoc ( DWORD * pInlineDocinfo ) = 0; virtual void SeekHitlist ( SphOffset_t uOff ) = 0; virtual Hitpos_t GetNextHit () = 0; virtual void CollectHitMask (); virtual void Reset () { m_iDocs = 0; m_iHits = 0; m_dQwordFields.UnsetAll(); m_bAllFieldsKnown = false; m_uMatchHits = 0; m_iHitlistPos = 0; } }; /// term setup, searcher view class CSphQueryNodeCache; class ISphZoneCheck; struct CSphQueryStats; class ISphQwordSetup : ISphNoncopyable { public: CSphDict * m_pDict; const CSphIndex * m_pIndex; ESphDocinfo m_eDocinfo; const CSphRowitem * m_pMinRow; SphDocID_t m_uMinDocid; int m_iInlineRowitems; ///< inline rowitems count int m_iDynamicRowitems; ///< dynamic rowitems counts (including (!) inline) int64_t m_iMaxTimer; CSphString * m_pWarning; CSphQueryContext * m_pCtx; CSphQueryNodeCache * m_pNodeCache; mutable ISphZoneCheck * m_pZoneChecker; CSphQueryStats * m_pStats; mutable bool m_bSetQposMask; ISphQwordSetup () : m_pDict ( NULL ) , m_pIndex ( NULL ) , m_eDocinfo ( SPH_DOCINFO_NONE ) , m_pMinRow ( NULL ) , m_uMinDocid ( 0 ) , m_iInlineRowitems ( 0 ) , m_iDynamicRowitems ( 0 ) , m_iMaxTimer ( 0 ) , m_pWarning ( NULL ) , m_pCtx ( NULL ) , m_pNodeCache ( NULL ) , m_pZoneChecker ( NULL ) , m_pStats ( NULL ) , m_bSetQposMask ( false ) {} virtual ~ISphQwordSetup () {} virtual ISphQword * QwordSpawn ( const XQKeyword_t & tWord ) const = 0; virtual bool QwordSetup ( ISphQword * pQword ) const = 0; }; /// generic ranker interface class ISphRanker : public ISphExtra { public: virtual ~ISphRanker () {} virtual CSphMatch * GetMatchesBuffer() = 0; virtual int GetMatches () = 0; virtual void Reset ( const ISphQwordSetup & tSetup ) = 0; }; /// factory ISphRanker * sphCreateRanker ( const XQQuery_t & tXQ, const CSphQuery * pQuery, CSphQueryResult * pResult, const ISphQwordSetup & tTermSetup, const CSphQueryContext & tCtx ); ////////////////////////////////////////////////////////////////////////// /// hit mark, used for snippets generation struct SphHitMark_t { DWORD m_uPosition; DWORD m_uSpan; bool operator == ( const SphHitMark_t & rhs ) const { return m_uPosition==rhs.m_uPosition && m_uSpan==rhs.m_uSpan; } }; /// hit marker, used for snippets generation class CSphHitMarker { public: class ExtNode_i * m_pRoot; public: CSphHitMarker() : m_pRoot ( NULL ) {} ~CSphHitMarker(); void Mark ( CSphVector & ); static CSphHitMarker * Create ( const XQNode_t * pRoot, const ISphQwordSetup & tSetup ); }; ////////////////////////////////////////////////////////////////////////// /// intra-batch node cache class CSphQueryNodeCache { friend class NodeCacheContainer_t; protected: class NodeCacheContainer_t * m_pPool; int m_iMaxCachedDocs; int m_iMaxCachedHits; public: CSphQueryNodeCache ( int iCells, int MaxCachedDocs, int MaxCachedHits ); ~CSphQueryNodeCache (); ExtNode_i * CreateProxy ( ExtNode_i * pChild, const XQNode_t * pRawChild, const ISphQwordSetup & tSetup ); }; #endif // _sphinxsearch_ // // $Id$ // sphinx-2.2.11-release/src/sphinxsearch.cpp0000644000175000017500000102707312743402012020063 0ustar alexeyalexey// // $Id$ // // // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License. You should have // received a copy of the GPL license along with this program; if you // did not, you can find it at http://www.gnu.org/ // #include "sphinx.h" #include "sphinxsearch.h" #include "sphinxquery.h" #include "sphinxint.h" #include "sphinxplugin.h" #include ////////////////////////////////////////////////////////////////////////// /// query debugging printouts #define QDEBUG 0 #if QDEBUG #define QDEBUGARG(_arg) _arg #else #define QDEBUGARG(_arg) #endif ////////////////////////////////////////////////////////////////////////// /// costs for max_predicted_time estimations, in nanoseconds /// YMMV, defaults were estimated in a very specific environment, and then rounded off int g_iPredictorCostDoc = 64; int g_iPredictorCostHit = 48; int g_iPredictorCostSkip = 2048; int g_iPredictorCostMatch = 64; ////////////////////////////////////////////////////////////////////////// // EXTENDED MATCHING V2 ////////////////////////////////////////////////////////////////////////// #define SPH_TREE_DUMP 0 #define SPH_BM25_K1 1.2f #define SPH_BM25_SCALE 1000 struct QwordsHash_fn { static inline int Hash ( const CSphString & sKey ) { return sphCRC32 ( sKey.cstr() ); } }; void ISphQword::CollectHitMask() { if ( m_bAllFieldsKnown ) return; SeekHitlist ( m_iHitlistPos ); for ( Hitpos_t uHit = GetNextHit(); uHit!=EMPTY_HIT; uHit = GetNextHit() ) m_dQwordFields.Set ( HITMAN::GetField ( uHit ) ); m_bAllFieldsKnown = true; } /// match in the stream struct ExtDoc_t { SphDocID_t m_uDocid; CSphRowitem * m_pDocinfo; ///< for inline storage only SphOffset_t m_uHitlistOffset; DWORD m_uDocFields; float m_fTFIDF; }; /// word in the query struct ExtQword_t { CSphString m_sWord; ///< word CSphString m_sDictWord; ///< word as processed by dict int m_iDocs; ///< matching documents int m_iHits; ///< matching hits float m_fIDF; ///< IDF value float m_fBoost; ///< IDF multiplier int m_iQueryPos; ///< position in the query bool m_bExpanded; ///< added by prefix expansion bool m_bExcluded; ///< excluded by the query (eg. bb in (aa AND NOT bb)) }; /// query words set typedef CSphOrderedHash < ExtQword_t, CSphString, QwordsHash_fn, 256 > ExtQwordsHash_t; struct ZoneHits_t { CSphVector m_dStarts; CSphVector m_dEnds; }; /// per-document zone information (span start/end positions) struct ZoneInfo_t { SphDocID_t m_uDocid; ZoneHits_t * m_pHits; }; // FindSpan vector operators static bool operator < ( const ZoneInfo_t & tZone, SphDocID_t uDocid ) { return tZone.m_uDocid & dTermDupes ) const = 0; virtual bool GotHitless () = 0; virtual int GetDocsCount () { return INT_MAX; } virtual int GetHitsCount () { return 0; } virtual uint64_t GetWordID () const = 0; ///< for now, only used for duplicate keyword checks in quorum operator void DebugIndent ( int iLevel ) { while ( iLevel-- ) printf ( " " ); } virtual void DebugDump ( int iLevel ) { DebugIndent ( iLevel ); printf ( "ExtNode\n" ); } // return specific extra data may be associated with the node // intended to be used a bit similar to QueryInterface() in COM technology // but simpler due to enum instead of 128-bit GUID, and no ref. counting inline bool GetExtraData ( ExtraData_e eNode, void** ppData ) { return ExtraDataImpl ( eNode, ppData ); } private: virtual bool ExtraDataImpl ( ExtraData_e, void** ) { return false; } public: static const int MAX_DOCS = 512; static const int MAX_HITS = 512; int m_iAtomPos; ///< we now need it on this level for tricks like expanded keywords within phrases protected: ExtDoc_t m_dDocs[MAX_DOCS]; ExtHit_t m_dHits[MAX_HITS]; public: int m_iStride; ///< docinfo stride (for inline mode only) protected: CSphRowitem * m_pDocinfo; ///< docinfo storage (for inline mode only) void AllocDocinfo ( const ISphQwordSetup & tSetup ) { if ( tSetup.m_iInlineRowitems ) { m_iStride = tSetup.m_iInlineRowitems; m_pDocinfo = new CSphRowitem [ MAX_DOCS*m_iStride ]; } } protected: inline const ExtDoc_t * ReturnDocsChunk ( int iCount, const char * sNode ) { assert ( iCount>=0 && iCount=0 && iCount=m_dHits[i].m_uQuerypos ) || ( !bReverse && m_dHits[i-1].m_uQuerypos<=m_dHits[i].m_uQuerypos ) ); assert ( m_dHits[i-1].m_uDocid!=m_dHits[i].m_uDocid || ( m_dHits[i-1].m_uHitpos & dTermDupes ) const; virtual bool GotHitless () { return false; } virtual int GetDocsCount () { return m_pQword->m_iDocs; } virtual int GetHitsCount () { return m_pQword->m_iHits; } virtual uint64_t GetWordID () const { if ( m_pQword->m_uWordID ) return m_pQword->m_uWordID; else return sphFNV64 ( m_pQword->m_sDictWord.cstr() ); } virtual void HintDocid ( SphDocID_t uMinID ) { m_pQword->HintDocid ( uMinID ); if ( m_pStats ) m_pStats->m_iSkips++; if ( m_pNanoBudget ) *m_pNanoBudget -= g_iPredictorCostSkip; } virtual void DebugDump ( int iLevel ) { DebugIndent ( iLevel ); printf ( "ExtTerm: %s at: %d ", m_pQword->m_sWord.cstr(), m_pQword->m_iAtomPos ); if ( m_dQueriedFields.TestAll(true) ) { printf ( "(all)\n" ); } else { bool bFirst = true; printf ( "in: " ); for ( int iField=0; iField class TermAcceptor_c { public: TermAcceptor_c ( ISphQword *, const XQNode_t *, const ISphQwordSetup & ) {} protected: inline bool IsAcceptableHit ( const ExtHit_t * ) const { return true; } inline void Reset() {} }; template<> class TermAcceptor_c : public ISphNoncopyable { public: TermAcceptor_c ( ISphQword *, const XQNode_t * pNode, const ISphQwordSetup & ) : m_iMaxFieldPos ( pNode->m_dSpec.m_iFieldMaxPos ) {} protected: inline bool IsAcceptableHit ( const ExtHit_t * ) const; inline void Reset() {} private: const int m_iMaxFieldPos; }; template<> class TermAcceptor_c : public ISphNoncopyable { public: TermAcceptor_c ( ISphQword *, const XQNode_t * pNode, const ISphQwordSetup & tSetup ) : m_pZoneChecker ( tSetup.m_pZoneChecker ) , m_dZones ( pNode->m_dSpec.m_dZones ) , m_uLastZonedId ( 0 ) , m_iCheckFrom ( 0 ) {} protected: inline bool IsAcceptableHit ( const ExtHit_t * pHit ) const; inline void Reset() { m_uLastZonedId = 0; m_iCheckFrom = 0; } protected: ISphZoneCheck * m_pZoneChecker; ///< zone-limited searches query ranker about zones mutable CSphVector m_dZones; ///< zone ids for this particular term mutable SphDocID_t m_uLastZonedId; mutable int m_iCheckFrom; }; /// class BufferedNode_c { protected: BufferedNode_c () : m_pRawDocs ( NULL ) , m_pRawDoc ( NULL ) , m_pRawHit ( NULL ) , m_uLastID ( 0 ) , m_eState ( COPY_DONE ) , m_uDoneFor ( 0 ) , m_uHitStartDocid ( 0 ) { m_dMyDocs[0].m_uDocid = DOCID_MAX; m_dMyHits[0].m_uDocid = DOCID_MAX; m_dFilteredHits[0].m_uDocid = DOCID_MAX; } void Reset () { m_pRawDocs = NULL; m_pRawDoc = NULL; m_pRawHit = NULL; m_uLastID = 0; m_eState = COPY_DONE; m_uDoneFor = 0; m_uHitStartDocid = 0; m_dMyDocs[0].m_uDocid = DOCID_MAX; m_dMyHits[0].m_uDocid = DOCID_MAX; m_dFilteredHits[0].m_uDocid = DOCID_MAX; } protected: const ExtDoc_t * m_pRawDocs; ///< chunk start as returned by raw GetDocsChunk() (need to store it for raw GetHitsChunk() calls) const ExtDoc_t * m_pRawDoc; ///< current position in raw docs chunk const ExtHit_t * m_pRawHit; ///< current position in raw hits chunk SphDocID_t m_uLastID; enum { COPY_FILTERED, COPY_TRAILING, COPY_DONE } m_eState; ///< internal GetHitsChunk() state (are we copying from my hits, or passing trailing raw hits, or done) ExtDoc_t m_dMyDocs[ExtNode_i::MAX_DOCS]; ///< all documents within the required pos range ExtHit_t m_dMyHits[ExtNode_i::MAX_HITS]; ///< all hits within the required pos range ExtHit_t m_dFilteredHits[ExtNode_i::MAX_HITS]; ///< hits from requested subset of the documents (for GetHitsChunk()) SphDocID_t m_uDoneFor; SphDocID_t m_uHitStartDocid; }; /// single keyword streamer, with term position filtering template < TermPosFilter_e T, class ExtBase=ExtTerm_c > class ExtConditional : public BufferedNode_c, public ExtBase, protected TermAcceptor_c { typedef TermAcceptor_c t_Acceptor; protected: ExtConditional ( ISphQword * pQword, const XQNode_t * pNode, const ISphQwordSetup & tSetup ); public: virtual void Reset ( const ISphQwordSetup & tSetup ); virtual const ExtDoc_t * GetDocsChunk(); virtual const ExtHit_t * GetHitsChunk ( const ExtDoc_t * pDocs ); virtual bool GotHitless () { return false; } private: virtual bool ExtraDataImpl ( ExtraData_e eData, void ** ppResult ); }; /// single keyword streamer, with term position filtering template < TermPosFilter_e T > class ExtTermPos_c : public ExtConditional { public: ExtTermPos_c ( ISphQword * pQword, const XQNode_t * pNode, const ISphQwordSetup & tSetup ) : ExtConditional ( pQword, pNode, tSetup ) { ExtTerm_c::Init ( pQword, pNode->m_dSpec.m_dFieldMask, tSetup, pNode->m_bNotWeighted ); } }; template bool ExtConditional::ExtraDataImpl ( ExtraData_e, void ** ) { return false; } /// multi-node binary-operation streamer traits class ExtTwofer_c : public ExtNode_i { public: ExtTwofer_c ( ExtNode_i * pFirst, ExtNode_i * pSecond, const ISphQwordSetup & tSetup ); ExtTwofer_c () {} ///< to be used in pair with Init(); ~ExtTwofer_c (); void Init ( ExtNode_i * pFirst, ExtNode_i * pSecond, const ISphQwordSetup & tSetup ); virtual void Reset ( const ISphQwordSetup & tSetup ); virtual int GetQwords ( ExtQwordsHash_t & hQwords ); virtual void SetQwordsIDF ( const ExtQwordsHash_t & hQwords ); virtual void GetTerms ( const ExtQwordsHash_t & hQwords, CSphVector & dTermDupes ) const; virtual bool GotHitless () { return m_pChildren[0]->GotHitless() || m_pChildren[1]->GotHitless(); } void DebugDumpT ( const char * sName, int iLevel ) { DebugIndent ( iLevel ); printf ( "%s:\n", sName ); m_pChildren[0]->DebugDump ( iLevel+1 ); m_pChildren[1]->DebugDump ( iLevel+1 ); } void SetNodePos ( WORD uPosLeft, WORD uPosRight ) { m_dNodePos[0] = uPosLeft; m_dNodePos[1] = uPosRight; } virtual void HintDocid ( SphDocID_t uMinID ) { m_pChildren[0]->HintDocid ( uMinID ); m_pChildren[1]->HintDocid ( uMinID ); } virtual uint64_t GetWordID () const { return m_pChildren[0]->GetWordID() ^ m_pChildren[1]->GetWordID(); } protected: ExtNode_i * m_pChildren[2]; const ExtDoc_t * m_pCurDoc[2]; const ExtHit_t * m_pCurHit[2]; WORD m_dNodePos[2]; SphDocID_t m_uMatchedDocid; }; /// A-and-B streamer class ExtAnd_c : public ExtTwofer_c { public: ExtAnd_c ( ExtNode_i * pFirst, ExtNode_i * pSecond, const ISphQwordSetup & tSetup ) : ExtTwofer_c ( pFirst, pSecond, tSetup ), m_bQPosReverse ( false ) {} ExtAnd_c() : m_bQPosReverse ( false ) {} ///< to be used with Init() virtual const ExtDoc_t * GetDocsChunk(); virtual const ExtHit_t * GetHitsChunk ( const ExtDoc_t * pDocs ); void DebugDump ( int iLevel ) { DebugDumpT ( "ExtAnd", iLevel ); } void SetQPosReverse () { m_bQPosReverse = true; } protected: bool m_bQPosReverse; }; class ExtAndZonespanned_c : public ExtAnd_c { public: virtual const ExtHit_t * GetHitsChunk ( const ExtDoc_t * pDocs ); void DebugDump ( int iLevel ) { DebugDumpT ( "ExtAndZonespan", iLevel ); } protected: bool IsSameZonespan ( const ExtHit_t * pHit1, const ExtHit_t * pHit2 ) const; ISphZoneCheck * m_pZoneChecker; CSphVector m_dZones; }; class ExtAndZonespan_c : public ExtConditional < TERM_POS_NONE, ExtAndZonespanned_c > { public: ExtAndZonespan_c ( ExtNode_i * pFirst, ExtNode_i * pSecond, const ISphQwordSetup & tSetup, const XQNode_t * pNode ) : ExtConditional ( NULL, pNode, tSetup ) { Init ( pFirst, pSecond, tSetup ); m_pZoneChecker = tSetup.m_pZoneChecker; m_dZones = pNode->m_dSpec.m_dZones; } }; /// A-or-B streamer class ExtOr_c : public ExtTwofer_c { public: ExtOr_c ( ExtNode_i * pFirst, ExtNode_i * pSecond, const ISphQwordSetup & tSetup ) : ExtTwofer_c ( pFirst, pSecond, tSetup ) {} virtual const ExtDoc_t * GetDocsChunk(); virtual const ExtHit_t * GetHitsChunk ( const ExtDoc_t * pDocs ); void DebugDump ( int iLevel ) { DebugDumpT ( "ExtOr", iLevel ); } }; /// A-maybe-B streamer class ExtMaybe_c : public ExtOr_c { public: ExtMaybe_c ( ExtNode_i * pFirst, ExtNode_i * pSecond, const ISphQwordSetup & tSetup ) : ExtOr_c ( pFirst, pSecond, tSetup ) {} virtual const ExtDoc_t * GetDocsChunk(); void DebugDump ( int iLevel ) { DebugDumpT ( "ExtMaybe", iLevel ); } }; /// A-and-not-B streamer class ExtAndNot_c : public ExtTwofer_c { public: ExtAndNot_c ( ExtNode_i * pFirst, ExtNode_i * pSecond, const ISphQwordSetup & tSetup ); virtual const ExtDoc_t * GetDocsChunk(); virtual const ExtHit_t * GetHitsChunk ( const ExtDoc_t * pDocs ); virtual void Reset ( const ISphQwordSetup & tSetup ); void DebugDump ( int iLevel ) { DebugDumpT ( "ExtAndNot", iLevel ); } protected: bool m_bPassthrough; }; /// generic operator over N nodes class ExtNWayT : public ExtNode_i { public: ExtNWayT ( const CSphVector & dNodes, const ISphQwordSetup & tSetup ); ~ExtNWayT (); virtual void Reset ( const ISphQwordSetup & tSetup ); virtual int GetQwords ( ExtQwordsHash_t & hQwords ); virtual void SetQwordsIDF ( const ExtQwordsHash_t & hQwords ); virtual void GetTerms ( const ExtQwordsHash_t & hQwords, CSphVector & dTermDupes ) const; virtual bool GotHitless () { return false; } virtual void HintDocid ( SphDocID_t uMinID ) { m_pNode->HintDocid ( uMinID ); } virtual uint64_t GetWordID () const; protected: ExtNode_i * m_pNode; ///< my and-node for all the terms const ExtDoc_t * m_pDocs; ///< current docs chunk from and-node const ExtHit_t * m_pHits; ///< current hits chunk from and-node const ExtDoc_t * m_pDoc; ///< current doc from and-node const ExtHit_t * m_pHit; ///< current hit from and-node const ExtDoc_t * m_pMyDoc; ///< current doc for hits getter const ExtHit_t * m_pMyHit; ///< current hit for hits getter SphDocID_t m_uLastDocID; ///< last emitted hit ExtHit_t m_dMyHits[MAX_HITS]; ///< buffer for all my phrase hits; inherited m_dHits will receive filtered results SphDocID_t m_uMatchedDocid; ///< doc currently in process SphDocID_t m_uHitsOverFor; ///< there are no more hits for matches block starting with this ID protected: inline void ConstructNode ( const CSphVector & dNodes, const CSphVector & dPositions, const ISphQwordSetup & tSetup ) { assert ( m_pNode==NULL ); WORD uLPos = dPositions[0]; ExtNode_i * pCur = dNodes[uLPos++]; // ++ for zero-based to 1-based ExtAnd_c * pCurEx = NULL; DWORD uLeaves = dNodes.GetLength(); WORD uRPos; for ( DWORD i=1; iSetNodePos ( uLPos, uRPos ); uLPos = 0; } if ( pCurEx ) pCurEx->SetQPosReverse(); m_pNode = pCur; } }; struct ExtNodeTF_fn { bool IsLess ( ExtNode_i * pA, ExtNode_i * pB ) const { return pA->GetDocsCount() < pB->GetDocsCount(); } }; struct ExtNodeTFExt_fn { const CSphVector & m_dNodes; explicit ExtNodeTFExt_fn ( const CSphVector & dNodes ) : m_dNodes ( dNodes ) {} ExtNodeTFExt_fn ( const ExtNodeTFExt_fn & rhs ) : m_dNodes ( rhs.m_dNodes ) {} bool IsLess ( WORD uA, WORD uB ) const { return m_dNodes[uA]->GetDocsCount() < m_dNodes[uB]->GetDocsCount(); } private: const ExtNodeTFExt_fn & operator = ( const ExtNodeTFExt_fn & ) { return *this; } }; /// FSM is Finite State Machine template < class FSM > class ExtNWay_c : public ExtNWayT, private FSM { public: ExtNWay_c ( const CSphVector & dNodes, const XQNode_t & tNode, const ISphQwordSetup & tSetup ) : ExtNWayT ( dNodes, tSetup ) , FSM ( dNodes, tNode, tSetup ) { CSphVector dPositions ( dNodes.GetLength() ); ARRAY_FOREACH ( i, dPositions ) dPositions[i] = (WORD) i; dPositions.Sort ( ExtNodeTFExt_fn ( dNodes ) ); ConstructNode ( dNodes, dPositions, tSetup ); } public: virtual const ExtDoc_t * GetDocsChunk(); virtual const ExtHit_t * GetHitsChunk ( const ExtDoc_t * pDocs ); virtual void DebugDump ( int iLevel ) { DebugIndent ( iLevel ); printf ( "%s\n", FSM::GetName() ); m_pNode->DebugDump ( iLevel+1 ); } private: bool EmitTail ( int & iHit ); ///< the "trickiest part" extracted in order to process the proximity also }; class FSMphrase { protected: struct State_t { int m_iTagQword; DWORD m_uExpHitposWithField; }; protected: FSMphrase ( const CSphVector & dQwords, const XQNode_t & tNode, const ISphQwordSetup & tSetup ); bool HitFSM ( const ExtHit_t* pHit, ExtHit_t* dTarget ); inline static const char * GetName() { return "ExtPhrase"; } inline void ResetFSM() { m_dStates.Resize(0); } protected: CSphVector m_dQposDelta; ///< next expected qpos delta for each existing qpos (for skipped stopwords case) CSphVector m_dAtomPos; ///< lets use it as finite automata states and keep references on it CSphVector m_dStates; ///< pointers to states of finite automata DWORD m_uQposMask; }; /// exact phrase streamer typedef ExtNWay_c < FSMphrase > ExtPhrase_c; /// proximity streamer class FSMproximity { protected: FSMproximity ( const CSphVector & dQwords, const XQNode_t & tNode, const ISphQwordSetup & tSetup ); bool HitFSM ( const ExtHit_t* pHit, ExtHit_t* dTarget ); inline static const char * GetName() { return "ExtProximity"; } inline void ResetFSM() { m_uExpPos = 0; m_uWords = 0; m_iMinQindex = -1; ARRAY_FOREACH ( i, m_dProx ) m_dProx[i] = UINT_MAX; } protected: int m_iMaxDistance; DWORD m_uWordsExpected; DWORD m_uMinQpos; DWORD m_uQLen; DWORD m_uExpPos; CSphVector m_dProx; // proximity hit position for i-th word CSphVector m_dDeltas; // used for weight calculation DWORD m_uWords; int m_iMinQindex; DWORD m_uQposMask; }; /// exact phrase streamer typedef ExtNWay_c ExtProximity_c; /// proximity streamer class FSMmultinear { protected: FSMmultinear ( const CSphVector & dNodes, const XQNode_t & tNode, const ISphQwordSetup & tSetup ); bool HitFSM ( const ExtHit_t * pHit, ExtHit_t * dTarget ); inline static const char * GetName() { return "ExtMultinear"; } inline void ResetFSM() { m_iRing = m_uLastP = m_uPrelastP = 0; } protected: int m_iNear; ///< the NEAR distance DWORD m_uPrelastP; DWORD m_uPrelastML; DWORD m_uPrelastSL; DWORD m_uPrelastW; DWORD m_uLastP; ///< position of the last hit DWORD m_uLastML; ///< the length of the previous hit DWORD m_uLastSL; ///< the length of the previous hit in Query DWORD m_uLastW; ///< last weight DWORD m_uWordsExpected; ///< now many hits we're expect DWORD m_uWeight; ///< weight accum DWORD m_uFirstHit; ///< hitpos of the beginning of the match chain WORD m_uFirstNpos; ///< N-position of the head of the chain WORD m_uFirstQpos; ///< Q-position of the head of the chain (for twofers) CSphVector m_dNpos; ///< query positions for multinear CSphVector m_dRing; ///< ring buffer for multihit data int m_iRing; ///< the head of the ring bool m_bTwofer; ///< if we have 2- or N-way NEAR bool m_bQposMask; private: inline int RingTail() const { return ( m_iRing + m_dNpos.GetLength() - 1 ) % m_uWordsExpected; } inline void Add2Ring ( const ExtHit_t* pHit ) { if ( !m_bTwofer ) m_dRing [ RingTail() ] = *pHit; } inline void ShiftRing() { if ( ++m_iRing==(int)m_uWordsExpected ) m_iRing=0; } }; /// exact phrase streamer typedef ExtNWay_c ExtMultinear_c; /// quorum streamer class ExtQuorum_c : public ExtNode_i { public: ExtQuorum_c ( CSphVector & dQwords, const XQNode_t & tNode, const ISphQwordSetup & tSetup ); virtual ~ExtQuorum_c (); virtual void Reset ( const ISphQwordSetup & tSetup ); virtual const ExtDoc_t * GetDocsChunk(); virtual const ExtHit_t * GetHitsChunk ( const ExtDoc_t * pDocs ); virtual int GetQwords ( ExtQwordsHash_t & hQwords ); virtual void SetQwordsIDF ( const ExtQwordsHash_t & hQwords ); virtual void GetTerms ( const ExtQwordsHash_t & hQwords, CSphVector & dTermDupes ) const; virtual uint64_t GetWordID () const; virtual bool GotHitless () { return false; } virtual void HintDocid ( SphDocID_t uMinID ) { ARRAY_FOREACH ( i, m_dChildren ) if ( m_dChildren[i].m_pTerm ) m_dChildren[i].m_pTerm->HintDocid ( uMinID ); } static int GetThreshold ( const XQNode_t & tNode, int iQwords ); struct TermTuple_t { ExtNode_i * m_pTerm; ///< my children nodes (simply ExtTerm_c for now, not true anymore) const ExtDoc_t * m_pCurDoc; ///< current positions into children doclists const ExtHit_t * m_pCurHit; ///< current positions into children hitlists int m_iCount; ///< terms count in case of dupes bool m_bStandStill; ///< should we emit hits to proceed further }; private: ExtHit_t m_dQuorumHits[MAX_HITS]; ///< buffer for all my quorum hits; inherited m_dHits will receive filtered results int m_iMyHitCount; ///< hits collected so far int m_iMyLast; ///< hits processed so far CSphVector m_dInitialChildren; ///< my children nodes (simply ExtTerm_c for now) CSphVector m_dChildren; SphDocID_t m_uMatchedDocid; ///< tail docid for hitlist emission int m_iThresh; ///< keyword count threshold // FIXME!!! also skip hits processing for children w\o constrains ( zones or field limit ) bool m_bHasDupes; ///< should we analyze hits on docs collecting // check for hits that matches and return flag that docs might be advanced bool CollectMatchingHits ( SphDocID_t uDocid, int iQuorum ); const ExtHit_t * GetHitsChunkDupes ( const ExtDoc_t * pDocs ); const ExtHit_t * GetHitsChunkDupesTail (); const ExtHit_t * GetHitsChunkSimple ( const ExtDoc_t * pDocs ); int CountQuorum ( bool bFixDupes ) { if ( !m_bHasDupes ) return m_dChildren.GetLength(); int iSum = 0; bool bHasDupes = false; ARRAY_FOREACH ( i, m_dChildren ) { iSum += m_dChildren[i].m_iCount; bHasDupes |= ( m_dChildren[i].m_iCount>1 ); } #if QDEBUG if ( bFixDupes && bHasDupes!=m_bHasDupes ) printf ( "quorum dupes %d -> %d\n", m_bHasDupes, bHasDupes ); #endif m_bHasDupes = bFixDupes ? bHasDupes : m_bHasDupes; return iSum; } }; /// A-B-C-in-this-order streamer class ExtOrder_c : public ExtNode_i { public: ExtOrder_c ( const CSphVector & dChildren, const ISphQwordSetup & tSetup ); ~ExtOrder_c (); virtual void Reset ( const ISphQwordSetup & tSetup ); virtual const ExtDoc_t * GetDocsChunk(); virtual const ExtHit_t * GetHitsChunk ( const ExtDoc_t * pDocs ); virtual int GetQwords ( ExtQwordsHash_t & hQwords ); virtual void SetQwordsIDF ( const ExtQwordsHash_t & hQwords ); virtual void GetTerms ( const ExtQwordsHash_t & hQwords, CSphVector & dTermDupes ) const; virtual bool GotHitless () { return false; } virtual uint64_t GetWordID () const; virtual void HintDocid ( SphDocID_t uMinID ) { ARRAY_FOREACH ( i, m_dChildren ) m_dChildren[i]->HintDocid ( uMinID ); } protected: CSphVector m_dChildren; CSphVector m_pDocsChunk; ///< last document chunk (for hit fetching) CSphVector m_pDocs; ///< current position in document chunk CSphVector m_pHits; ///< current position in hits chunk ExtHit_t m_dMyHits[MAX_HITS]; ///< buffer for all my phrase hits; inherited m_dHits will receive filtered results bool m_bDone; SphDocID_t m_uHitsOverFor; protected: int GetChildIdWithNextHit ( SphDocID_t uDocid ); ///< get next hit within given document, and return its child-id int GetMatchingHits ( SphDocID_t uDocid, ExtHit_t * pHitbuf, int iLimit ); ///< process candidate hits and stores actual matches while we can }; /// same-text-unit streamer /// (aka, A and B within same sentence, or same paragraph) class ExtUnit_c : public ExtNode_i { public: ExtUnit_c ( ExtNode_i * pFirst, ExtNode_i * pSecond, const FieldMask_t& dFields, const ISphQwordSetup & tSetup, const char * sUnit ); ~ExtUnit_c (); virtual const ExtDoc_t * GetDocsChunk(); virtual const ExtHit_t * GetHitsChunk ( const ExtDoc_t * pDocs ); virtual void Reset ( const ISphQwordSetup & tSetup ); virtual int GetQwords ( ExtQwordsHash_t & hQwords ); virtual void SetQwordsIDF ( const ExtQwordsHash_t & hQwords ); virtual void GetTerms ( const ExtQwordsHash_t & hQwords, CSphVector & dTermDupes ) const; virtual uint64_t GetWordID () const; public: virtual bool GotHitless () { return false; } virtual void HintDocid ( SphDocID_t uMinID ) { m_pArg1->HintDocid ( uMinID ); m_pArg2->HintDocid ( uMinID ); } virtual void DebugDump ( int iLevel ) { DebugIndent ( iLevel ); printf ( "ExtSentence\n" ); m_pArg1->DebugDump ( iLevel+1 ); m_pArg2->DebugDump ( iLevel+1 ); } protected: inline const ExtDoc_t * ReturnDocsChunk ( int iDocs, int iMyHit ) { assert ( iMyHit > ZoneVVector_t; /// ranker interface /// ranker folds incoming hitstream into simple match chunks, and computes relevance rank class ExtRanker_c : public ISphRanker, public ISphZoneCheck { public: ExtRanker_c ( const XQQuery_t & tXQ, const ISphQwordSetup & tSetup ); virtual ~ExtRanker_c (); virtual void Reset ( const ISphQwordSetup & tSetup ); virtual CSphMatch * GetMatchesBuffer () { return m_dMatches; } virtual const ExtDoc_t * GetFilteredDocs (); int GetQwords ( ExtQwordsHash_t & hQwords ) { return m_pRoot ? m_pRoot->GetQwords ( hQwords ) : -1; } virtual void SetQwordsIDF ( const ExtQwordsHash_t & hQwords ); virtual void SetTermDupes ( const ExtQwordsHash_t & , int ) {} virtual bool InitState ( const CSphQueryContext &, CSphString & ) { return true; } public: // FIXME? hide and friend? virtual SphZoneHit_e IsInZone ( int iZone, const ExtHit_t * pHit, int * pLastSpan ); virtual const CSphIndex * GetIndex() { return m_pIndex; } public: CSphMatch m_dMatches[ExtNode_i::MAX_DOCS]; ///< exposed for caller DWORD m_uPayloadMask; ///< exposed for ranker state functors int m_iQwords; ///< exposed for ranker state functors int m_iMaxQpos; ///< max in-query pos among all keywords, including dupes; for ranker state functors protected: void CleanupZones ( SphDocID_t uMaxDocid ); int m_iInlineRowitems; ExtNode_i * m_pRoot; const ExtDoc_t * m_pDoclist; const ExtHit_t * m_pHitlist; ExtDoc_t m_dMyDocs[ExtNode_i::MAX_DOCS]; ///< my local documents pool; for filtering CSphMatch m_dMyMatches[ExtNode_i::MAX_DOCS]; ///< my local matches pool; for filtering CSphMatch m_tTestMatch; const CSphIndex * m_pIndex; ///< this is he who'll do my filtering! CSphQueryContext * m_pCtx; int64_t * m_pNanoBudget; protected: CSphVector m_dZones; CSphVector m_dZoneStartTerm; CSphVector m_dZoneEndTerm; CSphVector m_dZoneStart; CSphVector m_dZoneEnd; CSphVector m_dZoneMax; ///< last docid we (tried) to cache CSphVector m_dZoneMin; ///< first docid we (tried) to cache ZoneVVector_t m_dZoneInfo; bool m_bZSlist; }; STATIC_ASSERT ( ( 8*8*sizeof(DWORD) )>=SPH_MAX_FIELDS, PAYLOAD_MASK_OVERFLOW ); static const bool WITH_BM25 = true; template < bool USE_BM25 = false > class ExtRanker_WeightSum_c : public ExtRanker_c { protected: int m_iWeights; const int * m_pWeights; public: ExtRanker_WeightSum_c ( const XQQuery_t & tXQ, const ISphQwordSetup & tSetup ) : ExtRanker_c ( tXQ, tSetup ) {} virtual int GetMatches (); virtual bool InitState ( const CSphQueryContext & tCtx, CSphString & ) { m_iWeights = tCtx.m_iWeights; m_pWeights = tCtx.m_dWeights; return true; } }; class ExtRanker_None_c : public ExtRanker_c { public: ExtRanker_None_c ( const XQQuery_t & tXQ, const ISphQwordSetup & tSetup ) : ExtRanker_c ( tXQ, tSetup ) {} virtual int GetMatches (); }; template < typename STATE > class ExtRanker_T : public ExtRanker_c { protected: STATE m_tState; const ExtHit_t * m_pHitBase; CSphVector m_dZonespans; // zonespanlists for my matches public: ExtRanker_T ( const XQQuery_t & tXQ, const ISphQwordSetup & tSetup ); virtual int GetMatches (); virtual bool InitState ( const CSphQueryContext & tCtx, CSphString & sError ) { return m_tState.Init ( tCtx.m_iWeights, &tCtx.m_dWeights[0], this, sError, tCtx.m_uPackedFactorFlags ); } private: virtual bool ExtraDataImpl ( ExtraData_e eType, void ** ppResult ) { switch ( eType ) { case EXTRA_GET_DATA_ZONESPANS: assert ( ppResult ); *ppResult = &m_dZonespans; return true; default: return m_tState.ExtraData ( eType, ppResult ); } } }; ////////////////////////////////////////////////////////////////////////// static inline void CopyExtDocinfo ( ExtDoc_t & tDst, const ExtDoc_t & tSrc, CSphRowitem ** ppRow, int iStride ) { if ( tSrc.m_pDocinfo ) { assert ( ppRow && *ppRow ); memcpy ( *ppRow, tSrc.m_pDocinfo, iStride*sizeof(CSphRowitem) ); tDst.m_pDocinfo = *ppRow; *ppRow += iStride; } else tDst.m_pDocinfo = NULL; } static inline void CopyExtDoc ( ExtDoc_t & tDst, const ExtDoc_t & tSrc, CSphRowitem ** ppRow, int iStride ) { tDst = tSrc; CopyExtDocinfo ( tDst, tSrc, ppRow, iStride ); } ExtNode_i::ExtNode_i () : m_iAtomPos ( 0 ) , m_iStride ( 0 ) , m_pDocinfo ( NULL ) { m_dDocs[0].m_uDocid = DOCID_MAX; m_dHits[0].m_uDocid = DOCID_MAX; } static ISphQword * CreateQueryWord ( const XQKeyword_t & tWord, const ISphQwordSetup & tSetup, CSphDict * pZonesDict=NULL ) { BYTE sTmp [ 3*SPH_MAX_WORD_LEN + 16 ]; strncpy ( (char*)sTmp, tWord.m_sWord.cstr(), sizeof(sTmp) ); sTmp[sizeof(sTmp)-1] = '\0'; ISphQword * pWord = tSetup.QwordSpawn ( tWord ); pWord->m_sWord = tWord.m_sWord; CSphDict * pDict = pZonesDict ? pZonesDict : tSetup.m_pDict; pWord->m_uWordID = tWord.m_bMorphed ? pDict->GetWordIDNonStemmed ( sTmp ) : pDict->GetWordID ( sTmp ); pWord->m_sDictWord = (char*)sTmp; pWord->m_bExpanded = tWord.m_bExpanded; tSetup.QwordSetup ( pWord ); if ( tWord.m_bFieldStart && tWord.m_bFieldEnd ) pWord->m_iTermPos = TERM_POS_FIELD_STARTEND; else if ( tWord.m_bFieldStart ) pWord->m_iTermPos = TERM_POS_FIELD_START; else if ( tWord.m_bFieldEnd ) pWord->m_iTermPos = TERM_POS_FIELD_END; else pWord->m_iTermPos = TERM_POS_NONE; pWord->m_fBoost = tWord.m_fBoost; pWord->m_iAtomPos = tWord.m_iAtomPos; return pWord; } struct AtomPosQWord_fn { bool operator () ( ISphQword * ) const { return true; } }; struct AtomPosExtNode_fn { bool operator () ( ExtNode_i * pNode ) const { return !pNode->GotHitless(); } }; template int CountAtomPos ( const CSphVector & dNodes, const NODE_CHECK & fnCheck ) { if ( dNodes.GetLength()<2 ) return dNodes.GetLength(); int iMinPos = INT_MAX; int iMaxPos = 0; ARRAY_FOREACH ( i, dNodes ) { T * pNode = dNodes[i]; if ( fnCheck ( pNode ) ) { iMinPos = Min ( pNode->m_iAtomPos, iMinPos ); iMaxPos = Max ( pNode->m_iAtomPos, iMaxPos ); } } if ( iMinPos==INT_MAX ) return 0; CSphBitvec dAtomPos ( iMaxPos - iMinPos + 1 ); ARRAY_FOREACH ( i, dNodes ) { if ( fnCheck ( dNodes[i] ) ) dAtomPos.BitSet ( dNodes[i]->m_iAtomPos - iMinPos ); } return dAtomPos.BitCount(); } template < typename T > static ExtNode_i * CreateMultiNode ( const XQNode_t * pQueryNode, const ISphQwordSetup & tSetup, bool bNeedsHitlist ) { /////////////////////////////////// // virtually plain (expanded) node /////////////////////////////////// assert ( pQueryNode ); if ( pQueryNode->m_dChildren.GetLength() ) { CSphVector dNodes; CSphVector dTerms; ARRAY_FOREACH ( i, pQueryNode->m_dChildren ) { ExtNode_i * pTerm = ExtNode_i::Create ( pQueryNode->m_dChildren[i], tSetup ); assert ( !pTerm || pTerm->m_iAtomPos>=0 ); if ( pTerm ) { if ( !pTerm->GotHitless() ) dNodes.Add ( pTerm ); else dTerms.Add ( pTerm ); } } int iAtoms = CountAtomPos ( dNodes, AtomPosExtNode_fn() ); if ( iAtoms<2 ) { ARRAY_FOREACH ( i, dNodes ) SafeDelete ( dNodes[i] ); ARRAY_FOREACH ( i, dTerms ) SafeDelete ( dTerms[i] ); if ( tSetup.m_pWarning ) tSetup.m_pWarning->SetSprintf ( "can't create phrase node, hitlists unavailable (hitlists=%d, nodes=%d)", iAtoms, pQueryNode->m_dChildren.GetLength() ); return NULL; } // FIXME! tricky combo again // quorum+expand used KeywordsEqual() path to drill down until actual nodes ExtNode_i * pResult = new T ( dNodes, *pQueryNode, tSetup ); // AND result with the words that had no hitlist if ( dTerms.GetLength () ) { pResult = new ExtAnd_c ( pResult, dTerms[0], tSetup ); for ( int i=1; iGetCount() ) return tSetup.m_pNodeCache->CreateProxy ( pResult, pQueryNode, tSetup ); return pResult; } ////////////////////// // regular plain node ////////////////////// ExtNode_i * pResult = NULL; CSphVector dQwordsHit; // have hits CSphVector dQwords; // don't have hits // partition phrase words const CSphVector & dWords = pQueryNode->m_dWords; ARRAY_FOREACH ( i, dWords ) { ISphQword * pWord = CreateQueryWord ( dWords[i], tSetup ); if ( pWord->m_bHasHitlist || !bNeedsHitlist ) dQwordsHit.Add ( pWord ); else dQwords.Add ( pWord ); } // see if we can create the node int iAtoms = CountAtomPos ( dQwordsHit, AtomPosQWord_fn() ); if ( iAtoms<2 ) { ARRAY_FOREACH ( i, dQwords ) SafeDelete ( dQwords[i] ); ARRAY_FOREACH ( i, dQwordsHit ) SafeDelete ( dQwordsHit[i] ); if ( tSetup.m_pWarning ) tSetup.m_pWarning->SetSprintf ( "can't create phrase node, hitlists unavailable (hitlists=%d, nodes=%d)", iAtoms, dWords.GetLength() ); return NULL; } else { // at least two words have hitlists, creating phrase node assert ( pQueryNode->m_dWords.GetLength() ); assert ( pQueryNode->GetOp()==SPH_QUERY_PHRASE || pQueryNode->GetOp()==SPH_QUERY_PROXIMITY || pQueryNode->GetOp()==SPH_QUERY_QUORUM ); // create nodes CSphVector dNodes; ARRAY_FOREACH ( i, dQwordsHit ) { dNodes.Add ( ExtNode_i::Create ( dQwordsHit[i], pQueryNode, tSetup ) ); dNodes.Last()->m_iAtomPos = dQwordsHit[i]->m_iAtomPos; } pResult = new T ( dNodes, *pQueryNode, tSetup ); } // AND result with the words that had no hitlist if ( dQwords.GetLength() ) { ExtNode_i * pNode = ExtNode_i::Create ( dQwords[0], pQueryNode, tSetup ); for ( int i=1; iGetCount() ) return tSetup.m_pNodeCache->CreateProxy ( pResult, pQueryNode, tSetup ); return pResult; } static ExtNode_i * CreateOrderNode ( const XQNode_t * pNode, const ISphQwordSetup & tSetup ) { if ( pNode->m_dChildren.GetLength()<2 ) { if ( tSetup.m_pWarning ) tSetup.m_pWarning->SetSprintf ( "order node requires at least two children" ); return NULL; } CSphVector dChildren; ARRAY_FOREACH ( i, pNode->m_dChildren ) { ExtNode_i * pChild = ExtNode_i::Create ( pNode->m_dChildren[i], tSetup ); if ( !pChild || pChild->GotHitless() ) { if ( tSetup.m_pWarning ) tSetup.m_pWarning->SetSprintf ( "failed to create order node, hitlist unavailable" ); ARRAY_FOREACH ( j, dChildren ) SafeDelete ( dChildren[j] ); return NULL; } dChildren.Add ( pChild ); } ExtNode_i * pResult = new ExtOrder_c ( dChildren, tSetup ); if ( pNode->GetCount() ) return tSetup.m_pNodeCache->CreateProxy ( pResult, pNode, tSetup ); return pResult; } ExtNode_i * ExtNode_i::Create ( const XQKeyword_t & tWord, const XQNode_t * pNode, const ISphQwordSetup & tSetup ) { return Create ( CreateQueryWord ( tWord, tSetup ), pNode, tSetup ); } ExtNode_i * ExtNode_i::Create ( ISphQword * pQword, const XQNode_t * pNode, const ISphQwordSetup & tSetup ) { assert ( pQword ); if ( pNode->m_dSpec.m_iFieldMaxPos ) pQword->m_iTermPos = TERM_POS_FIELD_LIMIT; if ( pNode->m_dSpec.m_dZones.GetLength() ) pQword->m_iTermPos = TERM_POS_ZONES; if ( !pQword->m_bHasHitlist ) { if ( tSetup.m_pWarning && pQword->m_iTermPos!=TERM_POS_NONE ) tSetup.m_pWarning->SetSprintf ( "hitlist unavailable, position limit ignored" ); return new ExtTermHitless_c ( pQword, pNode->m_dSpec.m_dFieldMask, tSetup, pNode->m_bNotWeighted ); } switch ( pQword->m_iTermPos ) { case TERM_POS_FIELD_STARTEND: return new ExtTermPos_c ( pQword, pNode, tSetup ); case TERM_POS_FIELD_START: return new ExtTermPos_c ( pQword, pNode, tSetup ); case TERM_POS_FIELD_END: return new ExtTermPos_c ( pQword, pNode, tSetup ); case TERM_POS_FIELD_LIMIT: return new ExtTermPos_c ( pQword, pNode, tSetup ); case TERM_POS_ZONES: return new ExtTermPos_c ( pQword, pNode, tSetup ); default: return new ExtTerm_c ( pQword, pNode->m_dSpec.m_dFieldMask, tSetup, pNode->m_bNotWeighted ); } } ////////////////////////////////////////////////////////////////////////// struct ExtPayloadEntry_t { SphDocID_t m_uDocid; Hitpos_t m_uHitpos; bool operator < ( const ExtPayloadEntry_t & rhs ) const { if ( m_uDocid!=rhs.m_uDocid ) return ( m_uDocid m_dCache; ExtPayloadKeyword_t m_tWord; FieldMask_t m_dFieldMask; int m_iCurDocsEnd; ///< end of the last docs chunk returned, exclusive, ie [begin,end) int m_iCurHit; ///< end of the last hits chunk (within the last docs chunk) returned, exclusive public: explicit ExtPayload_c ( const XQNode_t * pNode, const ISphQwordSetup & tSetup ); virtual void Reset ( const ISphQwordSetup & tSetup ); virtual void HintDocid ( SphDocID_t ) {} // FIXME!!! implement with tree virtual const ExtDoc_t * GetDocsChunk(); virtual const ExtHit_t * GetHitsChunk ( const ExtDoc_t * pDocs ); virtual int GetQwords ( ExtQwordsHash_t & hQwords ); virtual void SetQwordsIDF ( const ExtQwordsHash_t & hQwords ); virtual void GetTerms ( const ExtQwordsHash_t &, CSphVector & ) const; virtual bool GotHitless () { return false; } virtual int GetDocsCount () { return m_tWord.m_iDocs; } virtual uint64_t GetWordID () const { return m_tWord.m_uWordID; } private: void PopulateCache ( const ISphQwordSetup & tSetup, bool bFillStat ); }; ExtPayload_c::ExtPayload_c ( const XQNode_t * pNode, const ISphQwordSetup & tSetup ) { // sanity checks // this node must be only created for a huge OR of tiny expansions assert ( pNode->m_dWords.GetLength()==1 ); assert ( tSetup.m_eDocinfo!=SPH_DOCINFO_INLINE ); assert ( pNode->m_dWords.Begin()->m_pPayload ); assert ( pNode->m_dSpec.m_dZones.GetLength()==0 && !pNode->m_dSpec.m_bZoneSpan ); (XQKeyword_t &)m_tWord = *pNode->m_dWords.Begin(); m_dFieldMask = pNode->m_dSpec.m_dFieldMask; m_iAtomPos = m_tWord.m_iAtomPos; BYTE sTmpWord [ 3*SPH_MAX_WORD_LEN + 4 ]; // our little stemming buffer (morphology aware dictionary might need to change the keyword) strncpy ( (char*)sTmpWord, m_tWord.m_sWord.cstr(), sizeof(sTmpWord) ); sTmpWord[sizeof(sTmpWord)-1] = '\0'; // setup keyword disk reader m_tWord.m_uWordID = tSetup.m_pDict->GetWordID ( sTmpWord ); m_tWord.m_sDictWord = (const char *)sTmpWord; m_tWord.m_fIDF = -1.0f; m_tWord.m_iDocs = 0; m_tWord.m_iHits = 0; PopulateCache ( tSetup, true ); } void ExtPayload_c::PopulateCache ( const ISphQwordSetup & tSetup, bool bFillStat ) { ISphQword * pQword = tSetup.QwordSpawn ( m_tWord ); pQword->m_sWord = m_tWord.m_sWord; pQword->m_uWordID = m_tWord.m_uWordID; pQword->m_sDictWord = m_tWord.m_sDictWord; pQword->m_bExpanded = true; bool bOk = tSetup.QwordSetup ( pQword ); // setup keyword idf and stats if ( bFillStat ) { m_tWord.m_iDocs = pQword->m_iDocs; m_tWord.m_iHits = pQword->m_iHits; } m_dCache.Reserve ( Max ( pQword->m_iHits, pQword->m_iDocs ) ); // read and cache all docs and hits if ( bOk ) for ( ;; ) { const CSphMatch & tMatch = pQword->GetNextDoc ( NULL ); if ( !tMatch.m_uDocID ) break; pQword->SeekHitlist ( pQword->m_iHitlistPos ); for ( Hitpos_t uHit = pQword->GetNextHit(); uHit!=EMPTY_HIT; uHit = pQword->GetNextHit() ) { // apply field limits if ( !m_dFieldMask.Test ( HITMAN::GetField(uHit) ) ) continue; // FIXME!!! apply zone limits too // apply field-start/field-end modifiers if ( m_tWord.m_bFieldStart && HITMAN::GetPos(uHit)!=1 ) continue; if ( m_tWord.m_bFieldEnd && !HITMAN::IsEnd(uHit) ) continue; // ok, this hit works, copy it ExtPayloadEntry_t & tEntry = m_dCache.Add (); tEntry.m_uDocid = tMatch.m_uDocID; tEntry.m_uHitpos = uHit; } } m_dCache.Sort(); if ( bFillStat && m_dCache.GetLength() ) { // there might be duplicate documents, but not hits, lets recalculate docs count // FIXME!!! that not work for RT index - get rid of ExtPayload_c and move PopulateCache code to index specific QWord SphDocID_t uLastDoc = m_dCache.Begin()->m_uDocid; const ExtPayloadEntry_t * pCur = m_dCache.Begin() + 1; const ExtPayloadEntry_t * pEnd = m_dCache.Begin() + m_dCache.GetLength(); int iDocsTotal = 1; while ( pCur!=pEnd ) { iDocsTotal += ( uLastDoc!=pCur->m_uDocid ); uLastDoc = pCur->m_uDocid; pCur++; } m_tWord.m_iDocs = iDocsTotal; } // reset iterators m_iCurDocsEnd = 0; m_iCurHit = 0; // dismissed SafeDelete ( pQword ); } void ExtPayload_c::Reset ( const ISphQwordSetup & tSetup ) { m_dCache.Resize ( 0 ); PopulateCache ( tSetup, false ); } const ExtDoc_t * ExtPayload_c::GetDocsChunk() { m_iCurHit = m_iCurDocsEnd; if ( m_iCurDocsEnd>=m_dCache.GetLength() ) return NULL; int iDoc = 0; int iEnd = m_iCurDocsEnd; // shortcut, and vs2005 optimization while ( iDoc=m_iCurDocsEnd ) return NULL; int iHit = 0; while ( pDocs->m_uDocid!=DOCID_MAX ) { // skip rejected documents while ( m_iCurHitm_uDocid ) m_iCurHit++; if ( m_iCurHit>=m_iCurDocsEnd ) break; // skip non-matching documents SphDocID_t uDocid = m_dCache[m_iCurHit].m_uDocid; if ( pDocs->m_uDocidm_uDocidm_uDocid!=uDocid ) continue; } // copy accepted documents while ( m_iCurHitm_uDocid && iHit=m_iCurDocsEnd || iHit>=MAX_HITS-1 ) break; } assert ( iHit>=0 && iHitm_fIDF; } } void ExtPayload_c::GetTerms ( const ExtQwordsHash_t & hQwords, CSphVector & dTermDupes ) const { if ( m_tWord.m_bExcluded ) return; ExtQword_t & tQword = hQwords[ m_tWord.m_sWord ]; TermPos_t & tPos = dTermDupes.Add(); tPos.m_uAtomPos = (WORD)m_tWord.m_iAtomPos; tPos.m_uQueryPos = (WORD)tQword.m_iQueryPos; } ////////////////////////////////////////////////////////////////////////// ExtNode_i * ExtNode_i::Create ( const XQNode_t * pNode, const ISphQwordSetup & tSetup ) { // empty node? if ( pNode->IsEmpty() ) return NULL; if ( pNode->m_dWords.GetLength() || pNode->m_bVirtuallyPlain ) { const int iWords = pNode->m_bVirtuallyPlain ? pNode->m_dChildren.GetLength() : pNode->m_dWords.GetLength(); if ( iWords==1 ) { if ( pNode->m_dWords.Begin()->m_bExpanded && pNode->m_dWords.Begin()->m_pPayload ) return new ExtPayload_c ( pNode, tSetup ); if ( pNode->m_bVirtuallyPlain ) return Create ( pNode->m_dChildren[0], tSetup ); else return Create ( pNode->m_dWords[0], pNode, tSetup ); } switch ( pNode->GetOp() ) { case SPH_QUERY_PHRASE: return CreateMultiNode ( pNode, tSetup, true ); case SPH_QUERY_PROXIMITY: return CreateMultiNode ( pNode, tSetup, true ); case SPH_QUERY_NEAR: return CreateMultiNode ( pNode, tSetup, true ); case SPH_QUERY_QUORUM: { assert ( pNode->m_dWords.GetLength()==0 || pNode->m_dChildren.GetLength()==0 ); int iQuorumCount = pNode->m_dWords.GetLength()+pNode->m_dChildren.GetLength(); int iThr = ExtQuorum_c::GetThreshold ( *pNode, iQuorumCount ); bool bOrOperator = false; if ( iThr>=iQuorumCount ) { // threshold is too high if ( tSetup.m_pWarning && !pNode->m_bPercentOp ) tSetup.m_pWarning->SetSprintf ( "quorum threshold too high (words=%d, thresh=%d); replacing quorum operator with AND operator", iQuorumCount, pNode->m_iOpArg ); } else if ( iQuorumCount>256 ) { // right now quorum can only handle 256 words if ( tSetup.m_pWarning ) tSetup.m_pWarning->SetSprintf ( "too many words (%d) for quorum; replacing with an AND", iQuorumCount ); } else if ( iThr==1 ) { bOrOperator = true; } else // everything is ok; create quorum node { return CreateMultiNode ( pNode, tSetup, false ); } // couldn't create quorum, make an AND node instead CSphVector dTerms; dTerms.Reserve ( iQuorumCount ); ARRAY_FOREACH ( i, pNode->m_dWords ) dTerms.Add ( Create ( pNode->m_dWords[i], pNode, tSetup ) ); ARRAY_FOREACH ( i, pNode->m_dChildren ) dTerms.Add ( Create ( pNode->m_dChildren[i], tSetup ) ); // make not simple, but optimized AND node. dTerms.Sort ( ExtNodeTF_fn() ); ExtNode_i * pCur = dTerms[0]; for ( int i=1; iGetCount() ) return tSetup.m_pNodeCache->CreateProxy ( pCur, pNode, tSetup ); return pCur; } default: assert ( 0 && "unexpected plain node type" ); return NULL; } } else { int iChildren = pNode->m_dChildren.GetLength (); assert ( iChildren>0 ); // special case, operator BEFORE if ( pNode->GetOp ()==SPH_QUERY_BEFORE ) { // before operator can not handle ZONESPAN bool bZoneSpan = ARRAY_ANY ( bZoneSpan, pNode->m_dChildren, pNode->m_dChildren[_any]->m_dSpec.m_bZoneSpan ); if ( bZoneSpan && tSetup.m_pWarning ) tSetup.m_pWarning->SetSprintf ( "BEFORE operator is incompatible with ZONESPAN, ZONESPAN ignored" ); return CreateOrderNode ( pNode, tSetup ); } // special case, AND over terms (internally reordered for speed) bool bAndTerms = ( pNode->GetOp()==SPH_QUERY_AND ); bool bZonespan = true; bool bZonespanChecked = false; for ( int i=0; im_dChildren[i]; bAndTerms = ( pChildren->m_dWords.GetLength()==1 ); bZonespan &= pChildren->m_dSpec.m_bZoneSpan; if ( !bZonespan ) break; bZonespanChecked = true; } bZonespan &= bZonespanChecked; if ( bAndTerms ) { if ( bZonespan ) { CSphVector dTerms; for ( int i=0; im_dChildren[i]; ExtNode_i * pTerm = ExtNode_i::Create ( pChild, tSetup ); if ( pTerm ) dTerms.Add ( pTerm ); } dTerms.Sort ( ExtNodeTF_fn() ); ExtNode_i * pCur = dTerms[0]; for ( int i=1; im_dChildren[0] ); // For zonespan we have also Extra data which is not (yet?) covered by common-node optimization. // if ( pNode->GetCount() ) // return tSetup.m_pNodeCache->CreateProxy ( pCur, pNode, tSetup ); return pCur; } else { CSphVector dTerms; for ( int i=0; im_dChildren[i]; ExtNode_i * pTerm = ExtNode_i::Create ( pChild, tSetup ); if ( pTerm ) dTerms.Add ( pTerm ); } dTerms.Sort ( ExtNodeTF_fn() ); ExtNode_i * pCur = dTerms[0]; for ( int i=1; iGetCount() ) return tSetup.m_pNodeCache->CreateProxy ( pCur, pNode, tSetup ); return pCur; } } // Multinear and phrase could be also non-plain, so here is the second entry for it. if ( pNode->GetOp()==SPH_QUERY_NEAR ) return CreateMultiNode ( pNode, tSetup, true ); if ( pNode->GetOp()==SPH_QUERY_PHRASE ) return CreateMultiNode ( pNode, tSetup, true ); // generic create ExtNode_i * pCur = NULL; for ( int i=0; im_dChildren[i], tSetup ); if ( !pNext ) continue; if ( !pCur ) { pCur = pNext; continue; } switch ( pNode->GetOp() ) { case SPH_QUERY_OR: pCur = new ExtOr_c ( pCur, pNext, tSetup ); break; case SPH_QUERY_MAYBE: pCur = new ExtMaybe_c ( pCur, pNext, tSetup ); break; case SPH_QUERY_AND: pCur = new ExtAnd_c ( pCur, pNext, tSetup ); break; case SPH_QUERY_ANDNOT: pCur = new ExtAndNot_c ( pCur, pNext, tSetup ); break; case SPH_QUERY_SENTENCE: pCur = new ExtUnit_c ( pCur, pNext, pNode->m_dSpec.m_dFieldMask, tSetup, MAGIC_WORD_SENTENCE ); break; case SPH_QUERY_PARAGRAPH: pCur = new ExtUnit_c ( pCur, pNext, pNode->m_dSpec.m_dFieldMask, tSetup, MAGIC_WORD_PARAGRAPH ); break; default: assert ( 0 && "internal error: unhandled op in ExtNode_i::Create()" ); break; } } if ( pCur && pNode->GetCount() ) return tSetup.m_pNodeCache->CreateProxy ( pCur, pNode, tSetup ); return pCur; } } ////////////////////////////////////////////////////////////////////////// inline void ExtTerm_c::Init ( ISphQword * pQword, const FieldMask_t & dFields, const ISphQwordSetup & tSetup, bool bNotWeighted ) { m_pQword = pQword; m_pWarning = tSetup.m_pWarning; m_bNotWeighted = bNotWeighted; m_iAtomPos = pQword->m_iAtomPos; m_pLastChecked = m_dDocs; m_uMatchChecked = 0; m_bTail = false; m_dQueriedFields = dFields; m_bHasWideFields = false; if ( tSetup.m_pIndex && tSetup.m_pIndex->GetMatchSchema().m_dFields.GetLength()>32 ) for ( int i=1; im_pNanoBudget : NULL; AllocDocinfo ( tSetup ); } ExtTerm_c::ExtTerm_c ( ISphQword * pQword, const ISphQwordSetup & tSetup ) : m_pQword ( pQword ) , m_pWarning ( tSetup.m_pWarning ) , m_bNotWeighted ( true ) { m_iAtomPos = pQword->m_iAtomPos; m_pLastChecked = m_dDocs; m_uMatchChecked = 0; m_bTail = false; m_dQueriedFields.SetAll(); m_bHasWideFields = tSetup.m_pIndex && ( tSetup.m_pIndex->GetMatchSchema().m_dFields.GetLength()>32 ); m_iMaxTimer = tSetup.m_iMaxTimer; m_pStats = tSetup.m_pStats; m_pNanoBudget = m_pStats ? m_pStats->m_pNanoBudget : NULL; AllocDocinfo ( tSetup ); } ExtTerm_c::ExtTerm_c ( ISphQword * pQword, const FieldMask_t & dFields, const ISphQwordSetup & tSetup, bool bNotWeighted ) { Init ( pQword, dFields, tSetup, bNotWeighted ); } void ExtTerm_c::Reset ( const ISphQwordSetup & tSetup ) { m_pLastChecked = m_dDocs; m_uMatchChecked = 0; m_bTail = false; m_iMaxTimer = tSetup.m_iMaxTimer; m_pQword->Reset (); tSetup.QwordSetup ( m_pQword ); } const ExtDoc_t * ExtTerm_c::GetDocsChunk() { m_pLastChecked = m_dDocs; m_bTail = false; if ( !m_pQword->m_iDocs ) return NULL; // max_query_time if ( m_iMaxTimer>0 && sphMicroTimer()>=m_iMaxTimer ) { if ( m_pWarning ) *m_pWarning = "query time exceeded max_query_time"; return NULL; } // max_predicted_time if ( m_pNanoBudget && *m_pNanoBudget<0 ) { if ( m_pWarning ) *m_pWarning = "predicted query time exceeded max_predicted_time"; return NULL; } // interrupt by sitgerm if ( m_bInterruptNow ) { if ( m_pWarning ) *m_pWarning = "Server shutdown in progress"; return NULL; } int iDoc = 0; CSphRowitem * pDocinfo = m_pDocinfo; while ( iDocGetNextDoc ( pDocinfo ); if ( !tMatch.m_uDocID ) { m_pQword->m_iDocs = 0; break; } if ( !m_bHasWideFields ) { // fields 0-31 can be quickly checked right here, right now if (!( m_pQword->m_dQwordFields.GetMask32() & m_dQueriedFields.GetMask32() )) continue; } else { // fields 32+ need to be checked with CollectHitMask() and stuff m_pQword->CollectHitMask(); bool bHasSameFields = false; for ( int i=0; im_dQwordFields[i] & m_dQueriedFields[i] )!=0; if ( !bHasSameFields ) continue; } ExtDoc_t & tDoc = m_dDocs[iDoc++]; tDoc.m_uDocid = tMatch.m_uDocID; tDoc.m_pDocinfo = pDocinfo; tDoc.m_uHitlistOffset = m_pQword->m_iHitlistPos; tDoc.m_uDocFields = m_pQword->m_dQwordFields.GetMask32() & m_dQueriedFields.GetMask32(); // OPTIMIZE: only needed for phrase node tDoc.m_fTFIDF = float(m_pQword->m_uMatchHits) / float(m_pQword->m_uMatchHits+SPH_BM25_K1) * m_fIDF; pDocinfo += m_iStride; } if ( m_pStats ) m_pStats->m_iFetchedDocs += iDoc; if ( m_pNanoBudget ) *m_pNanoBudget -= g_iPredictorCostDoc*iDoc; return ReturnDocsChunk ( iDoc, "term" ); } const ExtHit_t * ExtTerm_c::GetHitsChunk ( const ExtDoc_t * pMatched ) { if ( !pMatched ) return NULL; // aim to the right document ExtDoc_t * pDoc = m_pLastChecked; assert ( pDoc && pDoc>=m_dDocs && pDocm_uDocid==m_uMatchChecked ) return NULL; // find match m_uMatchChecked = pMatched->m_uDocid; do { while ( pDoc->m_uDocid < pMatched->m_uDocid ) pDoc++; m_pLastChecked = pDoc; if ( pDoc->m_uDocid==DOCID_MAX ) return NULL; // matched docs block is over for me, gimme another one while ( pMatched->m_uDocid < pDoc->m_uDocid ) pMatched++; if ( pMatched->m_uDocid==DOCID_MAX ) return NULL; // matched doc block did not yet begin for me, gimme another one } while ( pDoc->m_uDocid!=pMatched->m_uDocid ); // setup hitlist reader m_pQword->SeekHitlist ( pDoc->m_uHitlistOffset ); } // hit emission int iHit = 0; m_bTail = false; while ( iHitGetNextHit(); if ( uHit==EMPTY_HIT ) { // no more hits; get next acceptable document pDoc++; m_pLastChecked = pDoc; do { while ( pDoc->m_uDocid < pMatched->m_uDocid ) pDoc++; m_pLastChecked = pDoc; if ( pDoc->m_uDocid==DOCID_MAX ) { pDoc = NULL; break; } // matched docs block is over for me, gimme another one while ( pMatched->m_uDocid < pDoc->m_uDocid ) pMatched++; if ( pMatched->m_uDocid==DOCID_MAX ) { pDoc = NULL; break; } // matched doc block did not yet begin for me, gimme another one } while ( pDoc->m_uDocid!=pMatched->m_uDocid ); if ( !pDoc ) break; assert ( pDoc->m_uDocid==pMatched->m_uDocid ); // setup hitlist reader m_pQword->SeekHitlist ( pDoc->m_uHitlistOffset ); continue; } if (!( m_dQueriedFields.Test ( HITMAN::GetField ( uHit ) ) )) continue; ExtHit_t & tHit = m_dHits[iHit++]; tHit.m_uDocid = pDoc->m_uDocid; tHit.m_uHitpos = uHit; tHit.m_uQuerypos = (WORD) m_iAtomPos; // assume less that 64K words per query tHit.m_uWeight = tHit.m_uMatchlen = tHit.m_uSpanlen = 1; } if ( iHit==MAX_HITS-1 ) m_bTail = true; if ( m_pStats ) m_pStats->m_iFetchedHits += iHit; if ( m_pNanoBudget ) *m_pNanoBudget -= g_iPredictorCostHit*iHit; return ReturnHitsChunk ( iHit, "term", false ); } int ExtTerm_c::GetQwords ( ExtQwordsHash_t & hQwords ) { m_fIDF = 0.0f; ExtQword_t * pQword = hQwords ( m_pQword->m_sWord ); if ( !m_bNotWeighted && pQword && !pQword->m_bExcluded ) pQword->m_iQueryPos = Min ( pQword->m_iQueryPos, m_pQword->m_iAtomPos ); if ( m_bNotWeighted || pQword ) return m_pQword->m_bExcluded ? -1 : m_pQword->m_iAtomPos; m_fIDF = -1.0f; ExtQword_t tInfo; tInfo.m_sWord = m_pQword->m_sWord; tInfo.m_sDictWord = m_pQword->m_sDictWord; tInfo.m_iDocs = m_pQword->m_iDocs; tInfo.m_iHits = m_pQword->m_iHits; tInfo.m_iQueryPos = m_pQword->m_iAtomPos; tInfo.m_fIDF = -1.0f; // suppress gcc 4.2.3 warning tInfo.m_fBoost = m_pQword->m_fBoost; tInfo.m_bExpanded = m_pQword->m_bExpanded; tInfo.m_bExcluded = m_pQword->m_bExcluded; hQwords.Add ( tInfo, m_pQword->m_sWord ); return m_pQword->m_bExcluded ? -1 : m_pQword->m_iAtomPos; } void ExtTerm_c::SetQwordsIDF ( const ExtQwordsHash_t & hQwords ) { if ( m_fIDF<0.0f ) { assert ( hQwords ( m_pQword->m_sWord ) ); m_fIDF = hQwords ( m_pQword->m_sWord )->m_fIDF; } } void ExtTerm_c::GetTerms ( const ExtQwordsHash_t & hQwords, CSphVector & dTermDupes ) const { if ( m_bNotWeighted || m_pQword->m_bExcluded ) return; ExtQword_t & tQword = hQwords[ m_pQword->m_sWord ]; TermPos_t & tPos = dTermDupes.Add (); tPos.m_uAtomPos = (WORD)m_pQword->m_iAtomPos; tPos.m_uQueryPos = (WORD)tQword.m_iQueryPos; } ////////////////////////////////////////////////////////////////////////// const ExtHit_t * ExtTermHitless_c::GetHitsChunk ( const ExtDoc_t * pMatched ) { if ( !pMatched ) return NULL; // aim to the right document ExtDoc_t * pDoc = m_pLastChecked; assert ( pDoc && pDoc>=m_dDocs && pDocm_uDocid==m_uMatchChecked ) return NULL; // find match m_uMatchChecked = pMatched->m_uDocid; do { while ( pDoc->m_uDocid < pMatched->m_uDocid ) pDoc++; m_pLastChecked = pDoc; if ( pDoc->m_uDocid==DOCID_MAX ) return NULL; // matched docs block is over for me, gimme another one while ( pMatched->m_uDocid < pDoc->m_uDocid ) pMatched++; if ( pMatched->m_uDocid==DOCID_MAX ) return NULL; // matched doc block did not yet begin for me, gimme another one } while ( pDoc->m_uDocid!=pMatched->m_uDocid ); m_uFieldPos = 0; } // hit emission int iHit = 0; m_bTail = false; DWORD uMaxFields = SPH_MAX_FIELDS; if ( !m_bHasWideFields ) { uMaxFields = 0; DWORD uFields = pDoc->m_uDocFields; while ( uFields ) // count up to highest bit, max value is 32 { uFields >>= 1; uMaxFields++; } } for ( ;; ) { if ( ( m_uFieldPos<32 && ( pDoc->m_uDocFields & ( 1 << m_uFieldPos ) ) ) // not necessary && m_dQueriedFields.Test ( m_uFieldPos ) ) { // emit hit ExtHit_t & tHit = m_dHits[iHit++]; tHit.m_uDocid = pDoc->m_uDocid; tHit.m_uHitpos = HITMAN::Create ( m_uFieldPos, -1 ); tHit.m_uQuerypos = (WORD) m_iAtomPos; tHit.m_uWeight = tHit.m_uMatchlen = tHit.m_uSpanlen = 1; if ( iHit==MAX_HITS-1 ) break; } if ( m_uFieldPosm_uDocid < pMatched->m_uDocid ) pDoc++; m_pLastChecked = pDoc; if ( pDoc->m_uDocid==DOCID_MAX ) { pDoc = NULL; break; } // matched docs block is over for me, gimme another one while ( pMatched->m_uDocid < pDoc->m_uDocid ) pMatched++; if ( pMatched->m_uDocid==DOCID_MAX ) { pDoc = NULL; break; } // matched doc block did not yet begin for me, gimme another one } while ( pDoc->m_uDocid!=pMatched->m_uDocid ); if ( !pDoc ) break; m_uFieldPos = 0; } if ( iHit==MAX_HITS-1 ) m_bTail = true; assert ( iHit>=0 && iHit ExtConditional::ExtConditional ( ISphQword * pQword, const XQNode_t * pNode, const ISphQwordSetup & tSetup ) : BufferedNode_c () , ExtBase () , t_Acceptor ( pQword, pNode, tSetup ) { ExtBase::AllocDocinfo ( tSetup ); } template < TermPosFilter_e T, class ExtBase > void ExtConditional::Reset ( const ISphQwordSetup & tSetup ) { BufferedNode_c::Reset(); ExtBase::Reset(tSetup); TermAcceptor_c::Reset(); } inline bool TermAcceptor_c::IsAcceptableHit ( const ExtHit_t * pHit ) const { return HITMAN::GetPos ( pHit->m_uHitpos )<=m_iMaxFieldPos; } template<> inline bool TermAcceptor_c::IsAcceptableHit ( const ExtHit_t * pHit ) const { return HITMAN::GetPos ( pHit->m_uHitpos )==1; } template<> inline bool TermAcceptor_c::IsAcceptableHit ( const ExtHit_t * pHit ) const { return HITMAN::IsEnd ( pHit->m_uHitpos ); } template<> inline bool TermAcceptor_c::IsAcceptableHit ( const ExtHit_t * pHit ) const { return HITMAN::GetPos ( pHit->m_uHitpos )==1 && HITMAN::IsEnd ( pHit->m_uHitpos ); } inline bool TermAcceptor_c::IsAcceptableHit ( const ExtHit_t * pHit ) const { assert ( m_pZoneChecker ); if ( m_uLastZonedId!=pHit->m_uDocid ) m_iCheckFrom = 0; m_uLastZonedId = pHit->m_uDocid; // only check zones that actually match this document for ( int i=m_iCheckFrom; iIsInZone ( m_dZones[i], pHit, NULL ); switch ( eState ) { case SPH_ZONE_FOUND: return true; case SPH_ZONE_NO_DOCUMENT: Swap ( m_dZones[i], m_dZones[m_iCheckFrom] ); m_iCheckFrom++; break; default: break; } } return false; } template < TermPosFilter_e T, class ExtBase > const ExtDoc_t * ExtConditional::GetDocsChunk() { SphDocID_t uSkipID = m_uLastID; // fetch more docs if needed if ( !m_pRawDocs ) { m_pRawDocs = ExtBase::GetDocsChunk(); if ( !m_pRawDocs ) return NULL; m_pRawDoc = m_pRawDocs; m_pRawHit = NULL; uSkipID = 0; } // filter the hits, and build the documents list int iMyDoc = 0; int iMyHit = 0; const ExtDoc_t * pDoc = m_pRawDoc; // just a shortcut const ExtHit_t * pHit = m_pRawHit; SphDocID_t uLastID = m_uLastID = 0; CSphRowitem * pDocinfo = ExtBase::m_pDocinfo; for ( ;; ) { // try to fetch more hits for current raw docs block if we're out if ( !pHit || pHit->m_uDocid==DOCID_MAX ) pHit = ExtBase::GetHitsChunk ( m_pRawDocs ); // did we touch all the hits we had? if so, we're fully done with // current raw docs block, and should start a new one if ( !pHit ) { m_pRawDocs = ExtBase::GetDocsChunk(); if ( !m_pRawDocs ) // no more incoming documents? bail break; pDoc = m_pRawDocs; pHit = NULL; continue; } // skip all tail hits hits from documents below or same ID as uSkipID // scan until next acceptable hit while ( pHit->m_uDocid < pDoc->m_uDocid || ( uSkipID && pHit->m_uDocid<=uSkipID ) ) // skip leftovers pHit++; while ( ( pHit->m_uDocid!=DOCID_MAX || ( uSkipID && pHit->m_uDocid<=uSkipID ) ) && !t_Acceptor::IsAcceptableHit ( pHit ) ) // skip unneeded hits pHit++; if ( pHit->m_uDocid==DOCID_MAX || ( uSkipID && pHit->m_uDocid<=uSkipID ) ) // check for eof continue; // find and emit new document while ( pDoc->m_uDocidm_uDocid ) pDoc++; // FIXME? unsafe in broken cases assert ( pDoc->m_uDocid==pHit->m_uDocid ); assert ( iMyDocm_uDocid ) CopyExtDoc ( m_dMyDocs[iMyDoc++], *pDoc, &pDocinfo, ExtBase::m_iStride ); uLastID = pDoc->m_uDocid; // current hit is surely acceptable. m_dMyHits[iMyHit++] = *(pHit++); // copy acceptable hits for this document while ( iMyHitm_uDocid==uLastID ) { if ( t_Acceptor::IsAcceptableHit ( pHit ) ) { m_dMyHits[iMyHit++] = *pHit; } pHit++; } if ( iMyHit==ExtBase::MAX_HITS-1 ) { // there is no more space for acceptable hits; but further calls to GetHits() *might* produce some // we need to memorize the trailing document id m_uLastID = uLastID; break; } } m_pRawDoc = pDoc; m_pRawHit = pHit; assert ( iMyDoc>=0 && iMyDoc=0 && iMyHit const ExtHit_t * ExtConditional::GetHitsChunk ( const ExtDoc_t * pDocs ) { const ExtDoc_t * pStart = pDocs; if ( m_eState==COPY_DONE ) { // this request completed in full if ( m_uDoneFor==pDocs->m_uDocid || !m_uDoneFor || m_uHitStartDocid==pDocs->m_uDocid ) return NULL; // old request completed in full, but we have a new hits subchunk request now // even though there were no new docs requests in the meantime! m_eState = COPY_FILTERED; if ( m_uDoneFor && m_uDoneFor!=DOCID_MAX ) { while ( pDocs->m_uDocid!=DOCID_MAX && pDocs->m_uDocid<=m_uDoneFor ) pDocs++; } } m_uDoneFor = pDocs->m_uDocid; // regular case // copy hits for requested docs from my hits to filtered hits, and return those int iFilteredHits = 0; if ( m_eState==COPY_FILTERED ) { const ExtHit_t * pMyHit = m_dMyHits; for ( ;; ) { // skip hits that the caller is not interested in while ( pMyHit->m_uDocid < pDocs->m_uDocid ) pMyHit++; // out of acceptable hits? if ( pMyHit->m_uDocid==DOCID_MAX ) { // do we have a trailing document? if yes, we should also copy trailing hits m_eState = m_uLastID ? COPY_TRAILING : COPY_DONE; break; } // skip docs that i do not have while ( pDocs->m_uDocid < pMyHit->m_uDocid ) pDocs++; // out of requested docs? over and out if ( pDocs->m_uDocid==DOCID_MAX ) { m_eState = COPY_DONE; break; } // copy matching hits while ( iFilteredHitsm_uDocid==pMyHit->m_uDocid ) { m_dFilteredHits[iFilteredHits++] = *pMyHit++; } // paranoid check that we're not out of bounds assert ( iFilteredHits<=ExtBase::MAX_HITS-1 && pDocs->m_uDocid!=pMyHit->m_uDocid ); } } // trailing hits case // my hits did not have enough space, so we should pass raw hits for the last doc while ( m_eState==COPY_TRAILING && m_uLastID && iFilteredHitsm_uDocid==DOCID_MAX ) m_pRawHit = ExtBase::GetHitsChunk ( m_pRawDocs ); // no more hits for current chunk if ( !m_pRawHit ) { m_eState = COPY_DONE; break; } // copy while we can while ( m_pRawHit->m_uDocid==m_uLastID && iFilteredHitsm_uDocid!=m_uLastID && m_pRawHit->m_uDocid!=DOCID_MAX ) m_eState = COPY_DONE; // in any case, this chunk is over break; } m_uDoneFor = pDocs->m_uDocid; m_uHitStartDocid = 0; if ( m_uDoneFor==DOCID_MAX && pDocs-1>=pStart ) { m_uDoneFor = ( pDocs-1 )->m_uDocid; m_uHitStartDocid = pStart->m_uDocid; } if ( iFilteredHits && m_dFilteredHits[iFilteredHits-1].m_uDocid>m_uDoneFor ) m_uDoneFor = m_dFilteredHits[iFilteredHits-1].m_uDocid; PrintHitsChunk ( iFilteredHits, ExtBase::m_iAtomPos, m_dFilteredHits, "cond", this ); m_dFilteredHits[iFilteredHits].m_uDocid = DOCID_MAX; return iFilteredHits ? m_dFilteredHits : NULL; } ////////////////////////////////////////////////////////////////////////// ExtTwofer_c::ExtTwofer_c ( ExtNode_i * pFirst, ExtNode_i * pSecond, const ISphQwordSetup & tSetup ) { Init ( pFirst, pSecond, tSetup ); } inline void ExtTwofer_c::Init ( ExtNode_i * pFirst, ExtNode_i * pSecond, const ISphQwordSetup & tSetup ) { m_pChildren[0] = pFirst; m_pChildren[1] = pSecond; m_pCurHit[0] = NULL; m_pCurHit[1] = NULL; m_pCurDoc[0] = NULL; m_pCurDoc[1] = NULL; m_dNodePos[0] = 0; m_dNodePos[1] = 0; m_uMatchedDocid = 0; m_iAtomPos = ( pFirst && pFirst->m_iAtomPos ) ? pFirst->m_iAtomPos : 0; if ( pSecond && pSecond->m_iAtomPos && pSecond->m_iAtomPosm_iAtomPos; AllocDocinfo ( tSetup ); } ExtTwofer_c::~ExtTwofer_c () { SafeDelete ( m_pChildren[0] ); SafeDelete ( m_pChildren[1] ); } void ExtTwofer_c::Reset ( const ISphQwordSetup & tSetup ) { m_pChildren[0]->Reset ( tSetup ); m_pChildren[1]->Reset ( tSetup ); m_pCurHit[0] = NULL; m_pCurHit[1] = NULL; m_pCurDoc[0] = NULL; m_pCurDoc[1] = NULL; m_uMatchedDocid = 0; } int ExtTwofer_c::GetQwords ( ExtQwordsHash_t & hQwords ) { int iMax1 = m_pChildren[0]->GetQwords ( hQwords ); int iMax2 = m_pChildren[1]->GetQwords ( hQwords ); return Max ( iMax1, iMax2 ); } void ExtTwofer_c::SetQwordsIDF ( const ExtQwordsHash_t & hQwords ) { m_pChildren[0]->SetQwordsIDF ( hQwords ); m_pChildren[1]->SetQwordsIDF ( hQwords ); } void ExtTwofer_c::GetTerms ( const ExtQwordsHash_t & hQwords, CSphVector & dTermDupes ) const { m_pChildren[0]->GetTerms ( hQwords, dTermDupes ); m_pChildren[1]->GetTerms ( hQwords, dTermDupes ); } ////////////////////////////////////////////////////////////////////////// const ExtDoc_t * ExtAnd_c::GetDocsChunk() { const ExtDoc_t * pCur0 = m_pCurDoc[0]; const ExtDoc_t * pCur1 = m_pCurDoc[1]; int iDoc = 0; CSphRowitem * pDocinfo = m_pDocinfo; for ( ;; ) { // if any of the pointers is empty, *and* there is no data yet, process next child chunk // if there is data, we can't advance, because child hitlist offsets would be lost if ( !pCur0 || !pCur1 ) { if ( iDoc!=0 ) break; if ( !pCur0 ) { if ( pCur1 && pCur1->m_uDocid!=DOCID_MAX ) m_pChildren[0]->HintDocid ( pCur1->m_uDocid ); pCur0 = m_pChildren[0]->GetDocsChunk(); } if ( !pCur1 ) { if ( pCur0 && pCur0->m_uDocid!=DOCID_MAX ) m_pChildren[1]->HintDocid ( pCur0->m_uDocid ); pCur1 = m_pChildren[1]->GetDocsChunk(); } if ( !pCur0 || !pCur1 ) { m_pCurDoc[0] = NULL; m_pCurDoc[1] = NULL; return NULL; } } // find common matches assert ( pCur0 && pCur1 ); while ( iDocm_uDocid < pCur1->m_uDocid ) pCur0++; if ( pCur0->m_uDocid==DOCID_MAX ) { pCur0 = NULL; break; } while ( pCur1->m_uDocid < pCur0->m_uDocid ) pCur1++; if ( pCur1->m_uDocid==DOCID_MAX ) { pCur1 = NULL; break; } if ( pCur0->m_uDocid!=pCur1->m_uDocid ) continue; // emit it ExtDoc_t & tDoc = m_dDocs[iDoc++]; tDoc.m_uDocid = pCur0->m_uDocid; tDoc.m_uDocFields = pCur0->m_uDocFields | pCur1->m_uDocFields; // not necessary tDoc.m_uHitlistOffset = -1; tDoc.m_fTFIDF = pCur0->m_fTFIDF + pCur1->m_fTFIDF; CopyExtDocinfo ( tDoc, *pCur0, &pDocinfo, m_iStride ); // skip it pCur0++; if ( pCur0->m_uDocid==DOCID_MAX ) pCur0 = NULL; pCur1++; if ( pCur1->m_uDocid==DOCID_MAX ) pCur1 = NULL; if ( !pCur0 || !pCur1 ) break; } } m_pCurDoc[0] = pCur0; m_pCurDoc[1] = pCur1; return ReturnDocsChunk ( iDoc, "and" ); } struct CmpAndHitReverse_fn { inline bool IsLess ( const ExtHit_t & a, const ExtHit_t & b ) const { return ( a.m_uDocidb.m_uQuerypos ) ); } }; const ExtHit_t * ExtAnd_c::GetHitsChunk ( const ExtDoc_t * pDocs ) { const ExtHit_t * pCur0 = m_pCurHit[0]; const ExtHit_t * pCur1 = m_pCurHit[1]; if ( m_uMatchedDocid < pDocs->m_uDocid ) m_uMatchedDocid = 0; int iHit = 0; WORD uNodePos0 = m_dNodePos[0]; WORD uNodePos1 = m_dNodePos[1]; while ( iHitm_uDocid==m_uMatchedDocid ) || ( pCur1 && pCur1->m_uDocid==m_uMatchedDocid ) ) ) { // merge, while possible if ( pCur0 && pCur1 && pCur0->m_uDocid==m_uMatchedDocid && pCur1->m_uDocid==m_uMatchedDocid ) while ( iHitm_uHitpos < pCur1->m_uHitpos ) || ( pCur0->m_uHitpos==pCur1->m_uHitpos && pCur0->m_uQuerypos<=pCur1->m_uQuerypos ) ) { m_dHits[iHit] = *pCur0++; if ( uNodePos0!=0 ) m_dHits[iHit++].m_uNodepos = uNodePos0; else iHit++; if ( pCur0->m_uDocid!=m_uMatchedDocid ) break; } else { m_dHits[iHit] = *pCur1++; if ( uNodePos1!=0 ) m_dHits[iHit++].m_uNodepos = uNodePos1; else iHit++; if ( pCur1->m_uDocid!=m_uMatchedDocid ) break; } } // copy tail, while possible, unless the other child is at the end of a hit block if ( pCur0 && pCur0->m_uDocid==m_uMatchedDocid && !( pCur1 && pCur1->m_uDocid==DOCID_MAX ) ) { while ( pCur0->m_uDocid==m_uMatchedDocid && iHitm_uDocid==m_uMatchedDocid && !( pCur0 && pCur0->m_uDocid==DOCID_MAX ) ) { while ( pCur1->m_uDocid==m_uMatchedDocid && iHitm_uDocid!=m_uMatchedDocid && pCur0->m_uDocid!=DOCID_MAX ) && ( pCur1 && pCur1->m_uDocid!=m_uMatchedDocid && pCur1->m_uDocid!=DOCID_MAX ) ) m_uMatchedDocid = 0; // warmup if needed if ( !pCur0 || pCur0->m_uDocid==DOCID_MAX ) pCur0 = m_pChildren[0]->GetHitsChunk ( pDocs ); if ( !pCur1 || pCur1->m_uDocid==DOCID_MAX ) pCur1 = m_pChildren[1]->GetHitsChunk ( pDocs ); // one of the hitlists is over if ( !pCur0 || !pCur1 ) { // if one is over, we might still need to copy the other one. otherwise, skip it if ( ( pCur0 && pCur0->m_uDocid==m_uMatchedDocid ) || ( pCur1 && pCur1->m_uDocid==m_uMatchedDocid ) ) continue; if ( pCur0 ) while ( ( pCur0 = m_pChildren[0]->GetHitsChunk ( pDocs ) )!=NULL ); if ( pCur1 ) while ( ( pCur1 = m_pChildren[1]->GetHitsChunk ( pDocs ) )!=NULL ); if ( !pCur0 && !pCur1 ) break; // both are over, we're done } // find matching doc assert ( pCur1 && pCur0 ); while ( !m_uMatchedDocid ) { while ( pCur0->m_uDocid < pCur1->m_uDocid ) pCur0++; if ( pCur0->m_uDocid==DOCID_MAX ) break; while ( pCur1->m_uDocid < pCur0->m_uDocid ) pCur1++; if ( pCur1->m_uDocid==DOCID_MAX ) break; if ( pCur0->m_uDocid==pCur1->m_uDocid ) m_uMatchedDocid = pCur0->m_uDocid; } } m_pCurHit[0] = pCur0; m_pCurHit[1] = pCur1; if ( iHit && m_bQPosReverse ) sphSort ( m_dHits, iHit, CmpAndHitReverse_fn() ); return ReturnHitsChunk ( iHit, "and", m_bQPosReverse ); } ////////////////////////////////////////////////////////////////////////// bool ExtAndZonespanned_c::IsSameZonespan ( const ExtHit_t * pHit1, const ExtHit_t * pHit2 ) const { ARRAY_FOREACH ( i, m_dZones ) { int iSpan1, iSpan2; if ( m_pZoneChecker->IsInZone ( m_dZones[i], pHit1, &iSpan1 )==SPH_ZONE_FOUND && m_pZoneChecker->IsInZone ( m_dZones[i], pHit2, &iSpan2 )==SPH_ZONE_FOUND ) { assert ( iSpan1>=0 && iSpan2>=0 ); if ( iSpan1==iSpan2 ) return true; } } return false; } const ExtHit_t * ExtAndZonespanned_c::GetHitsChunk ( const ExtDoc_t * pDocs ) { const ExtHit_t * pCur0 = m_pCurHit[0]; const ExtHit_t * pCur1 = m_pCurHit[1]; if ( m_uMatchedDocid < pDocs->m_uDocid ) m_uMatchedDocid = 0; int iHit = 0; WORD uNodePos0 = m_dNodePos[0]; WORD uNodePos1 = m_dNodePos[1]; while ( iHitm_uDocid==m_uMatchedDocid ) || ( pCur1 && pCur1->m_uDocid==m_uMatchedDocid ) ) ) { // merge, while possible if ( pCur0 && pCur1 && pCur0->m_uDocid==m_uMatchedDocid && pCur1->m_uDocid==m_uMatchedDocid ) while ( iHitm_uHitpos < pCur1->m_uHitpos ) || ( pCur0->m_uHitpos==pCur1->m_uHitpos && pCur0->m_uQuerypos<=pCur1->m_uQuerypos ) ) { if ( IsSameZonespan ( pCur0, pCur1 ) ) { m_dHits[iHit] = *pCur0; if ( uNodePos0!=0 ) m_dHits[iHit].m_uNodepos = uNodePos0; iHit++; } pCur0++; if ( pCur0->m_uDocid!=m_uMatchedDocid ) break; } else { if ( IsSameZonespan ( pCur0, pCur1 ) ) { m_dHits[iHit] = *pCur1; if ( uNodePos1!=0 ) m_dHits[iHit].m_uNodepos = uNodePos1; iHit++; } pCur1++; if ( pCur1->m_uDocid!=m_uMatchedDocid ) break; } } // our special GetDocsChunk made the things so simply, that we doesn't need to care about tail hits at all. // copy tail, while possible, unless the other child is at the end of a hit block if ( pCur0 && pCur0->m_uDocid==m_uMatchedDocid && !( pCur1 && pCur1->m_uDocid==DOCID_MAX ) ) { while ( pCur0->m_uDocid==m_uMatchedDocid && iHitm_uDocid==m_uMatchedDocid && !( pCur0 && pCur0->m_uDocid==DOCID_MAX ) ) { while ( pCur1->m_uDocid==m_uMatchedDocid && iHitm_uDocid!=m_uMatchedDocid && pCur0->m_uDocid!=DOCID_MAX ) && ( pCur1 && pCur1->m_uDocid!=m_uMatchedDocid && pCur1->m_uDocid!=DOCID_MAX ) ) m_uMatchedDocid = 0; // warmup if needed if ( !pCur0 || pCur0->m_uDocid==DOCID_MAX ) { pCur0 = m_pChildren[0]->GetHitsChunk ( pDocs ); } if ( !pCur1 || pCur1->m_uDocid==DOCID_MAX ) { pCur1 = m_pChildren[1]->GetHitsChunk ( pDocs ); } // one of the hitlists is over if ( !pCur0 || !pCur1 ) { if ( !pCur0 && !pCur1 ) break; // both are over, we're done // one is over, but we still need to copy the other one m_uMatchedDocid = pCur0 ? pCur0->m_uDocid : pCur1->m_uDocid; assert ( m_uMatchedDocid!=DOCID_MAX ); continue; } // find matching doc assert ( pCur1 && pCur0 ); while ( !m_uMatchedDocid ) { while ( pCur0->m_uDocid < pCur1->m_uDocid ) pCur0++; if ( pCur0->m_uDocid==DOCID_MAX ) break; while ( pCur1->m_uDocid < pCur0->m_uDocid ) pCur1++; if ( pCur1->m_uDocid==DOCID_MAX ) break; if ( pCur0->m_uDocid==pCur1->m_uDocid ) m_uMatchedDocid = pCur0->m_uDocid; } } m_pCurHit[0] = pCur0; m_pCurHit[1] = pCur1; if ( iHit && m_bQPosReverse ) sphSort ( m_dHits, iHit, CmpAndHitReverse_fn() ); return ReturnHitsChunk ( iHit, "and-zonespan", m_bQPosReverse ); } ////////////////////////////////////////////////////////////////////////// const ExtDoc_t * ExtOr_c::GetDocsChunk() { const ExtDoc_t * pCur0 = m_pCurDoc[0]; const ExtDoc_t * pCur1 = m_pCurDoc[1]; DWORD uTouched = 0; int iDoc = 0; CSphRowitem * pDocinfo = m_pDocinfo; while ( iDocm_uDocid==DOCID_MAX ) { if ( uTouched & 1 ) break; // it was touched, so we can't advance, because child hitlist offsets would be lost pCur0 = m_pChildren[0]->GetDocsChunk(); } if ( !pCur1 || pCur1->m_uDocid==DOCID_MAX ) { if ( uTouched & 2 ) break; // it was touched, so we can't advance, because child hitlist offsets would be lost pCur1 = m_pChildren[1]->GetDocsChunk(); } // check if we're over if ( !pCur0 && !pCur1 ) break; // merge lists while we can, copy tail while if we can not if ( pCur0 && pCur1 ) { // merge lists if we have both of them while ( iDocm_uDocid < pCur1->m_uDocid && iDocm_uDocid==DOCID_MAX ) { pCur0 = NULL; break; } // copy min docids from 2nd child while ( pCur1->m_uDocid < pCur0->m_uDocid && iDocm_uDocid==DOCID_MAX ) { pCur1 = NULL; break; } // copy min docids from both children assert ( pCur0->m_uDocid && pCur0->m_uDocid!=DOCID_MAX ); assert ( pCur1->m_uDocid && pCur1->m_uDocid!=DOCID_MAX ); while ( pCur0->m_uDocid==pCur1->m_uDocid && pCur0->m_uDocid!=DOCID_MAX && iDocm_uDocFields | pCur1->m_uDocFields; // not necessary m_dDocs[iDoc].m_fTFIDF = pCur0->m_fTFIDF + pCur1->m_fTFIDF; CopyExtDocinfo ( m_dDocs[iDoc], *pCur0, &pDocinfo, m_iStride ); iDoc++; pCur0++; pCur1++; uTouched |= 3; } if ( pCur0->m_uDocid==DOCID_MAX ) { pCur0 = NULL; break; } if ( pCur1->m_uDocid==DOCID_MAX ) { pCur1 = NULL; break; } } } else { // copy tail if we don't have both lists const ExtDoc_t * pList = pCur0 ? pCur0 : pCur1; if ( pList->m_uDocid!=DOCID_MAX && iDocm_uDocid!=DOCID_MAX && iDocm_uDocid==DOCID_MAX ) pList = NULL; if ( pCur0 ) pCur0 = pList; else pCur1 = pList; } } m_pCurDoc[0] = pCur0; m_pCurDoc[1] = pCur1; return ReturnDocsChunk ( iDoc, "or" ); } const ExtHit_t * ExtOr_c::GetHitsChunk ( const ExtDoc_t * pDocs ) { const ExtHit_t * pCur0 = m_pCurHit[0]; const ExtHit_t * pCur1 = m_pCurHit[1]; int iHit = 0; while ( iHitm_uDocid==m_uMatchedDocid ) || ( pCur1 && pCur1->m_uDocid==m_uMatchedDocid ) ) ) { // merge, while possible if ( pCur0 && pCur1 && pCur0->m_uDocid==m_uMatchedDocid && pCur1->m_uDocid==m_uMatchedDocid ) while ( iHitm_uHitposm_uHitpos ) || ( pCur0->m_uHitpos==pCur1->m_uHitpos && pCur0->m_uQuerypos<=pCur1->m_uQuerypos ) ) { m_dHits[iHit++] = *pCur0++; if ( pCur0->m_uDocid!=m_uMatchedDocid ) break; } else { m_dHits[iHit++] = *pCur1++; if ( pCur1->m_uDocid!=m_uMatchedDocid ) break; } } // a pretty tricky bit // one of the nodes might have run out of current hits chunk (rather hits at all) // so we need to get the next hits chunk NOW, check for that condition, and keep merging // simply going to tail hits copying is incorrect, it could copy in wrong order // example, word A, pos 1, 2, 3, hit chunk ends, 4, 5, 6, word B, pos 7, 8, 9 if ( !pCur0 || pCur0->m_uDocid==DOCID_MAX ) { pCur0 = m_pChildren[0]->GetHitsChunk ( pDocs ); if ( pCur0 && pCur0->m_uDocid==m_uMatchedDocid ) continue; } if ( !pCur1 || pCur1->m_uDocid==DOCID_MAX ) { pCur1 = m_pChildren[1]->GetHitsChunk ( pDocs ); if ( pCur1 && pCur1->m_uDocid==m_uMatchedDocid ) continue; } // copy tail, while possible if ( pCur0 && pCur0->m_uDocid==m_uMatchedDocid ) { while ( pCur0->m_uDocid==m_uMatchedDocid && iHitm_uDocid==m_uMatchedDocid ); while ( pCur1->m_uDocid==m_uMatchedDocid && iHitm_uDocid!=m_uMatchedDocid ) && ( pCur1 && pCur1->m_uDocid!=m_uMatchedDocid ) ) m_uMatchedDocid = 0; // warmup if needed if ( !pCur0 || pCur0->m_uDocid==DOCID_MAX ) pCur0 = m_pChildren[0]->GetHitsChunk ( pDocs ); if ( !pCur1 || pCur1->m_uDocid==DOCID_MAX ) pCur1 = m_pChildren[1]->GetHitsChunk ( pDocs ); if ( !pCur0 && !pCur1 ) break; m_uMatchedDocid = ( pCur0 && pCur1 ) ? Min ( pCur0->m_uDocid, pCur1->m_uDocid ) : ( pCur0 ? pCur0->m_uDocid : pCur1->m_uDocid ); } m_pCurHit[0] = pCur0; m_pCurHit[1] = pCur1; return ReturnHitsChunk ( iHit, "or", false ); } ////////////////////////////////////////////////////////////////////////// // returns documents from left subtree only // // each call returns only one document and rewinds docs in rhs to look for the // same docID as in lhs // // we do this to return hits from rhs too which we need to affect match rank const ExtDoc_t * ExtMaybe_c::GetDocsChunk() { const ExtDoc_t * pCur0 = m_pCurDoc[0]; const ExtDoc_t * pCur1 = m_pCurDoc[1]; int iDoc = 0; // try to get next doc from lhs if ( !pCur0 || pCur0->m_uDocid==DOCID_MAX ) pCur0 = m_pChildren[0]->GetDocsChunk(); // we have nothing to do if there is no doc from lhs if ( pCur0 ) { // look for same docID in rhs do { if ( !pCur1 || pCur1->m_uDocid==DOCID_MAX ) pCur1 = m_pChildren[1]->GetDocsChunk(); else if ( pCur1->m_uDocidm_uDocid ) ++pCur1; } while ( pCur1 && pCur1->m_uDocidm_uDocid ); m_dDocs [ iDoc ] = *pCur0; // alter doc like with | fulltext operator if we have it both in lhs and rhs if ( pCur1 && pCur0->m_uDocid==pCur1->m_uDocid ) { m_dDocs [ iDoc ].m_uDocFields |= pCur1->m_uDocFields; m_dDocs [ iDoc ].m_fTFIDF += pCur1->m_fTFIDF; } ++pCur0; ++iDoc; } m_pCurDoc[0] = pCur0; m_pCurDoc[1] = pCur1; return ReturnDocsChunk ( iDoc, "maybe" ); } ////////////////////////////////////////////////////////////////////////// ExtAndNot_c::ExtAndNot_c ( ExtNode_i * pFirst, ExtNode_i * pSecond, const ISphQwordSetup & tSetup ) : ExtTwofer_c ( pFirst, pSecond, tSetup ) , m_bPassthrough ( false ) { } const ExtDoc_t * ExtAndNot_c::GetDocsChunk() { // if reject-list is over, simply pass through to accept-list if ( m_bPassthrough ) return m_pChildren[0]->GetDocsChunk(); // otherwise, do some removals const ExtDoc_t * pCur0 = m_pCurDoc[0]; const ExtDoc_t * pCur1 = m_pCurDoc[1]; int iDoc = 0; CSphRowitem * pDocinfo = m_pDocinfo; while ( iDocm_uDocid==DOCID_MAX ) { // there were matches; we can not pull more because that'd fuckup hitlists if ( iDoc ) break; // no matches so far; go pull pCur0 = m_pChildren[0]->GetDocsChunk(); if ( !pCur0 ) break; } // pull more docs from reject, if nedeed if ( !pCur1 || pCur1->m_uDocid==DOCID_MAX ) pCur1 = m_pChildren[1]->GetDocsChunk(); // if there's nothing to filter against, simply copy leftovers if ( !pCur1 ) { assert ( pCur0 ); while ( pCur0->m_uDocid!=DOCID_MAX && iDocm_uDocid==DOCID_MAX ) m_bPassthrough = true; break; } // perform filtering assert ( pCur0 ); assert ( pCur1 ); for ( ;; ) { assert ( iDocm_uDocid!=DOCID_MAX ); assert ( pCur1->m_uDocid!=DOCID_MAX ); // copy accepted until min rejected id while ( pCur0->m_uDocid < pCur1->m_uDocid && iDocm_uDocid==DOCID_MAX || iDoc==MAX_DOCS-1 ) break; // skip rejected until min accepted id while ( pCur1->m_uDocid < pCur0->m_uDocid ) pCur1++; if ( pCur1->m_uDocid==DOCID_MAX ) break; // skip both while ids match while ( pCur0->m_uDocid==pCur1->m_uDocid && pCur0->m_uDocid!=DOCID_MAX ) { pCur0++; pCur1++; } if ( pCur0->m_uDocid==DOCID_MAX || pCur1->m_uDocid==DOCID_MAX ) break; } } m_pCurDoc[0] = pCur0; m_pCurDoc[1] = pCur1; return ReturnDocsChunk ( iDoc, "andnot" ); } const ExtHit_t * ExtAndNot_c::GetHitsChunk ( const ExtDoc_t * pDocs ) { return m_pChildren[0]->GetHitsChunk ( pDocs ); } void ExtAndNot_c::Reset ( const ISphQwordSetup & tSetup ) { m_bPassthrough = false; ExtTwofer_c::Reset ( tSetup ); } ////////////////////////////////////////////////////////////////////////// ExtNWayT::ExtNWayT ( const CSphVector & dNodes, const ISphQwordSetup & tSetup ) : m_pNode ( NULL ) , m_pDocs ( NULL ) , m_pHits ( NULL ) , m_pDoc ( NULL ) , m_pHit ( NULL ) , m_pMyDoc ( NULL ) , m_pMyHit ( NULL ) , m_uLastDocID ( 0 ) , m_uMatchedDocid ( 0 ) , m_uHitsOverFor ( 0 ) { assert ( dNodes.GetLength()>1 ); m_iAtomPos = dNodes[0]->m_iAtomPos; m_dMyHits[0].m_uDocid = DOCID_MAX; AllocDocinfo ( tSetup ); } ExtNWayT::~ExtNWayT () { SafeDelete ( m_pNode ); } void ExtNWayT::Reset ( const ISphQwordSetup & tSetup ) { m_pNode->Reset ( tSetup ); m_pDocs = NULL; m_pHits = NULL; m_pDoc = NULL; m_pHit = NULL; m_pMyDoc = NULL; m_pMyHit = NULL; m_uLastDocID = 0; m_uMatchedDocid = 0; m_uHitsOverFor = 0; m_dMyHits[0].m_uDocid = DOCID_MAX; } int ExtNWayT::GetQwords ( ExtQwordsHash_t & hQwords ) { assert ( m_pNode ); return m_pNode->GetQwords ( hQwords ); } void ExtNWayT::SetQwordsIDF ( const ExtQwordsHash_t & hQwords ) { assert ( m_pNode ); m_pNode->SetQwordsIDF ( hQwords ); } void ExtNWayT::GetTerms ( const ExtQwordsHash_t & hQwords, CSphVector & dTermDupes ) const { assert ( m_pNode ); m_pNode->GetTerms ( hQwords, dTermDupes ); } uint64_t ExtNWayT::GetWordID() const { assert ( m_pNode ); return m_pNode->GetWordID(); } template < class FSM > const ExtDoc_t * ExtNWay_c::GetDocsChunk() { // initial warmup if ( !m_pDoc ) { if ( !m_pDocs ) m_pDocs = m_pNode->GetDocsChunk(); if ( !m_pDocs ) return NULL; // no more docs m_pDoc = m_pDocs; } // shortcuts const ExtDoc_t * pDoc = m_pDoc; const ExtHit_t * pHit = m_pHit; FSM::ResetFSM(); // skip leftover hits while ( m_uLastDocID ) { if ( !pHit || pHit->m_uDocid==DOCID_MAX ) { pHit = m_pHits = m_pNode->GetHitsChunk ( m_pDocs ); if ( !pHit ) break; } while ( pHit->m_uDocid==m_uLastDocID ) pHit++; if ( pHit->m_uDocid!=DOCID_MAX && pHit->m_uDocid!=m_uLastDocID ) m_uLastDocID = 0; } // search for matches int iDoc = 0; int iHit = 0; CSphRowitem * pDocinfo = m_pDocinfo; while ( iHitm_uDocid==DOCID_MAX ) { // grab more hits pHit = m_pHits = m_pNode->GetHitsChunk ( m_pDocs ); if ( m_pHits ) continue; m_uMatchedDocid = 0; // no more hits for current docs chunk; grab more docs pDoc = m_pDocs = m_pNode->GetDocsChunk(); if ( !m_pDocs ) break; // we got docs, there must be hits pHit = m_pHits = m_pNode->GetHitsChunk ( m_pDocs ); assert ( pHit ); continue; } // check if the incoming hit is out of bounds, or affects min pos if ( pHit->m_uDocid!=m_uMatchedDocid ) { m_uMatchedDocid = pHit->m_uDocid; FSM::ResetFSM(); continue; } if ( FSM::HitFSM ( pHit, &m_dMyHits[iHit] ) ) { // emit document, if it's new if ( pHit->m_uDocid!=m_uLastDocID ) { assert ( pDoc->m_uDocid<=pHit->m_uDocid ); while ( pDoc->m_uDocid < pHit->m_uDocid ) pDoc++; assert ( pDoc->m_uDocid==pHit->m_uDocid ); m_dDocs[iDoc].m_uDocid = pHit->m_uDocid; m_dDocs[iDoc].m_uDocFields = 1<< ( HITMAN::GetField ( pHit->m_uHitpos ) ); // non necessary m_dDocs[iDoc].m_uHitlistOffset = -1; m_dDocs[iDoc].m_fTFIDF = pDoc->m_fTFIDF; CopyExtDocinfo ( m_dDocs[iDoc], *pDoc, &pDocinfo, m_iStride ); iDoc++; m_uLastDocID = pHit->m_uDocid; } iHit++; } // go on pHit++; } // reset current positions for hits chunk getter m_pMyDoc = m_dDocs; m_pMyHit = m_dMyHits; // save shortcuts m_pDoc = pDoc; m_pHit = pHit; assert ( iHit>=0 && iHit const ExtHit_t * ExtNWay_c::GetHitsChunk ( const ExtDoc_t * pDocs ) { // if we already emitted hits for this matches block, do not do that again SphDocID_t uFirstMatch = pDocs->m_uDocid; if ( uFirstMatch==m_uHitsOverFor ) return NULL; // shortcuts const ExtDoc_t * pMyDoc = m_pMyDoc; const ExtHit_t * pMyHit = m_pMyHit; if ( !pMyDoc ) return NULL; assert ( pMyHit ); // filter and copy hits from m_dMyHits int iHit = 0; while ( iHitm_uDocid < pDocs->m_uDocid ) pMyDoc++; if ( pMyDoc->m_uDocid==DOCID_MAX ) break; while ( pDocs->m_uDocid < pMyDoc->m_uDocid ) pDocs++; if ( pDocs->m_uDocid==DOCID_MAX ) break; } while ( pDocs->m_uDocid!=pMyDoc->m_uDocid ); if ( pDocs->m_uDocid!=pMyDoc->m_uDocid ) { assert ( pMyDoc->m_uDocid==DOCID_MAX || pDocs->m_uDocid==DOCID_MAX ); break; } assert ( pDocs->m_uDocid==pMyDoc->m_uDocid ); assert ( pDocs->m_uDocid!=0 ); assert ( pDocs->m_uDocid!=DOCID_MAX ); m_uMatchedDocid = pDocs->m_uDocid; } // skip until we have to while ( pMyHit->m_uDocid < m_uMatchedDocid ) pMyHit++; // copy while we can if ( pMyHit->m_uDocid!=DOCID_MAX ) { assert ( pMyHit->m_uDocid==m_uMatchedDocid ); assert ( m_uMatchedDocid!=0 && m_uMatchedDocid!=DOCID_MAX ); while ( pMyHit->m_uDocid==m_uMatchedDocid && iHitm_uDocid!=m_uMatchedDocid && pMyHit->m_uDocid!=DOCID_MAX ) { // it's simply next document in the line; switch to it m_uMatchedDocid = 0; pMyDoc++; } else if ( pMyHit->m_uDocid==DOCID_MAX && !m_pHit ) { // it's the end break; } else if ( pMyHit->m_uDocid==DOCID_MAX && m_pHit && iHitm_uDocid ); assert ( m_uMatchedDocid==m_uLastDocID ); assert ( !m_pDoc || m_uMatchedDocid==m_pDoc->m_uDocid ); m_pMyDoc = pMyDoc; if ( EmitTail(iHit) ) m_uHitsOverFor = uFirstMatch; pMyDoc = m_pMyDoc; } } // save shortcuts m_pMyDoc = pMyDoc; m_pMyHit = pMyHit; assert ( iHit>=0 && iHit bool ExtNWay_c::EmitTail ( int & iHit ) { const ExtHit_t * pHit = m_pHit; const ExtDoc_t * pMyDoc = m_pMyDoc; bool bTailFinished = false; while ( iHitm_uDocid==DOCID_MAX ) { pHit = m_pHits = m_pNode->GetHitsChunk ( m_pDocs ); if ( !pHit ) { m_uMatchedDocid = 0; pMyDoc++; break; } } // stop and finish on the first new id if ( pHit->m_uDocid!=m_uMatchedDocid ) { // reset hits getter; this docs chunk from above is finally over bTailFinished = true; m_uMatchedDocid = 0; pMyDoc++; break; } if ( FSM::HitFSM ( pHit, &m_dHits[iHit] ) ) iHit++; pHit++; } // save shortcut m_pHit = pHit; m_pMyDoc = pMyDoc; return bTailFinished; } ////////////////////////////////////////////////////////////////////////// DWORD GetQposMask ( const CSphVector & dQwords ) { int iQposBase = dQwords[0]->m_iAtomPos; DWORD uQposMask = 0; for ( int i=1; im_iAtomPos - iQposBase; assert ( iQposDelta<(int)sizeof(uQposMask)*8 ); uQposMask |= ( 1 << iQposDelta ); } return uQposMask; } FSMphrase::FSMphrase ( const CSphVector & dQwords, const XQNode_t & , const ISphQwordSetup & tSetup ) : m_dAtomPos ( dQwords.GetLength() ) , m_uQposMask ( 0 ) { ARRAY_FOREACH ( i, dQwords ) m_dAtomPos[i] = dQwords[i]->m_iAtomPos; assert ( ( m_dAtomPos.Last()-m_dAtomPos[0]+1 )>0 ); m_dQposDelta.Resize ( m_dAtomPos.Last()-m_dAtomPos[0]+1 ); ARRAY_FOREACH ( i, m_dQposDelta ) m_dQposDelta[i] = -INT_MAX; for ( int i=1; i<(int)m_dAtomPos.GetLength(); i++ ) m_dQposDelta [ dQwords[i-1]->m_iAtomPos - dQwords[0]->m_iAtomPos ] = dQwords[i]->m_iAtomPos - dQwords[i-1]->m_iAtomPos; if ( tSetup.m_bSetQposMask ) m_uQposMask = GetQposMask ( dQwords ); } inline bool FSMphrase::HitFSM ( const ExtHit_t * pHit, ExtHit_t * pTarget ) { DWORD uHitposWithField = HITMAN::GetPosWithField ( pHit->m_uHitpos ); // adding start state for start hit if ( pHit->m_uQuerypos==m_dAtomPos[0] ) { State_t & tState = m_dStates.Add(); tState.m_iTagQword = 0; tState.m_uExpHitposWithField = uHitposWithField + m_dQposDelta[0]; } // updating states for ( int i=m_dStates.GetLength()-1; i>=0; i-- ) { if ( m_dStates[i].m_uExpHitposWithFieldm_uQuerypos ) { m_dStates[i].m_iTagQword++; // check for next elm in query m_dStates[i].m_uExpHitposWithField = uHitposWithField + m_dQposDelta [ pHit->m_uQuerypos - m_dAtomPos[0] ]; } // checking if state successfully matched if ( m_dStates[i].m_iTagQword==m_dAtomPos.GetLength()-1 ) { DWORD uSpanlen = m_dAtomPos.Last() - m_dAtomPos[0]; // emit directly into m_dHits, this is no need to disturb m_dMyHits here. pTarget->m_uDocid = pHit->m_uDocid; pTarget->m_uHitpos = uHitposWithField - uSpanlen; pTarget->m_uQuerypos = (WORD) m_dAtomPos[0]; pTarget->m_uMatchlen = pTarget->m_uSpanlen = (WORD)( uSpanlen + 1 ); pTarget->m_uWeight = m_dAtomPos.GetLength(); pTarget->m_uQposMask = m_uQposMask; ResetFSM (); return true; } } return false; } ////////////////////////////////////////////////////////////////////////// FSMproximity::FSMproximity ( const CSphVector & dQwords, const XQNode_t & tNode, const ISphQwordSetup & tSetup ) : m_iMaxDistance ( tNode.m_iOpArg ) , m_uWordsExpected ( dQwords.GetLength() ) , m_uExpPos ( 0 ) , m_uQposMask ( 0 ) { assert ( m_iMaxDistance>0 ); m_uMinQpos = dQwords[0]->m_iAtomPos; m_uQLen = dQwords.Last()->m_iAtomPos - m_uMinQpos; m_dProx.Resize ( m_uQLen+1 ); m_dDeltas.Resize ( m_uQLen+1 ); if ( tSetup.m_bSetQposMask ) m_uQposMask = GetQposMask ( dQwords ); } inline bool FSMproximity::HitFSM ( const ExtHit_t* pHit, ExtHit_t* pTarget ) { // walk through the hitlist and update context int iQindex = pHit->m_uQuerypos - m_uMinQpos; DWORD uHitposWithField = HITMAN::GetPosWithField ( pHit->m_uHitpos ); // check if the word is new if ( m_dProx[iQindex]==UINT_MAX ) m_uWords++; // update the context m_dProx[iQindex] = uHitposWithField; // check if the incoming hit is out of bounds, or affects min pos if ( uHitposWithField>=m_uExpPos // out of expected bounds || iQindex==m_iMinQindex ) // or simply affects min pos { m_iMinQindex = iQindex; int iMinPos = uHitposWithField - m_uQLen - m_iMaxDistance; ARRAY_FOREACH ( i, m_dProx ) if ( m_dProx[i]!=UINT_MAX ) { if ( (int)m_dProx[i]<=iMinPos ) { m_dProx[i] = UINT_MAX; m_uWords--; continue; } if ( m_dProx[i]m_uHitpos - m_dProx[m_iMinQindex] - m_uQLen ) DWORD uMax = 0; ARRAY_FOREACH ( i, m_dProx ) if ( m_dProx[i]!=UINT_MAX ) { m_dDeltas[i] = m_dProx[i] - i; uMax = Max ( uMax, m_dProx[i] ); } else m_dDeltas[i] = INT_MAX; m_dDeltas.Sort (); DWORD uCurWeight = 0; DWORD uWeight = 0; int iLast = -INT_MAX; ARRAY_FOREACH_COND ( i, m_dDeltas, m_dDeltas[i]!=INT_MAX ) { if ( m_dDeltas[i]==iLast ) uCurWeight++; else { uWeight += uCurWeight ? ( 1+uCurWeight ) : 0; uCurWeight = 0; } iLast = m_dDeltas[i]; } uWeight += uCurWeight ? ( 1+uCurWeight ) : 0; if ( !uWeight ) uWeight = 1; // emit hit pTarget->m_uDocid = pHit->m_uDocid; pTarget->m_uHitpos = Hitpos_t ( m_dProx[m_iMinQindex] ); // !COMMIT strictly speaking this is creation from LCS not value pTarget->m_uQuerypos = (WORD) m_uMinQpos; pTarget->m_uSpanlen = pTarget->m_uMatchlen = (WORD)( uMax-m_dProx[m_iMinQindex]+1 ); pTarget->m_uWeight = uWeight; pTarget->m_uQposMask = m_uQposMask; // remove current min, and force recompue m_dProx[m_iMinQindex] = UINT_MAX; m_iMinQindex = -1; m_uWords--; m_uExpPos = 0; return true; } ////////////////////////////////////////////////////////////////////////// FSMmultinear::FSMmultinear ( const CSphVector & dNodes, const XQNode_t & tNode, const ISphQwordSetup & tSetup ) : m_iNear ( tNode.m_iOpArg ) , m_uWordsExpected ( dNodes.GetLength() ) , m_uFirstQpos ( 65535 ) , m_bQposMask ( tSetup.m_bSetQposMask ) { if ( m_uWordsExpected==2 ) m_bTwofer = true; else { m_dNpos.Reserve ( m_uWordsExpected ); m_dRing.Resize ( m_uWordsExpected ); m_bTwofer = false; } assert ( m_iNear>0 ); } inline bool FSMmultinear::HitFSM ( const ExtHit_t* pHit, ExtHit_t* pTarget ) { // walk through the hitlist and update context DWORD uHitposWithField = HITMAN::GetPosWithField ( pHit->m_uHitpos ); WORD uNpos = pHit->m_uNodepos; WORD uQpos = pHit->m_uQuerypos; // skip dupe hit (may be emitted by OR node, for example) if ( m_uLastP==uHitposWithField ) { // lets choose leftmost (in query) from all dupes. 'a NEAR/2 a' case if ( m_bTwofer && uNpos( m_dNpos.BinarySearch ( uNpos ) ); if ( !p ) { p = const_cast( m_dNpos.BinarySearch ( m_dRing [ RingTail() ].m_uNodepos ) ); *p = uNpos; m_dNpos.Sort(); m_dRing [ RingTail() ].m_uNodepos = uNpos; m_dRing [ RingTail() ].m_uQuerypos = uQpos; } return false; } else if ( m_uPrelastP && m_uLastML < pHit->m_uMatchlen ) // check if the hit is subset of another one { // roll back pre-last to check agains this new hit. m_uLastML = m_uPrelastML; m_uLastSL = m_uPrelastSL; m_uFirstHit = m_uLastP = m_uPrelastP; m_uWeight = m_uWeight - m_uLastW + m_uPrelastW; } else return false; } // probably new chain if ( m_uLastP==0 || ( m_uLastP + m_uLastML + m_iNear )<=uHitposWithField ) { m_uFirstHit = m_uLastP = uHitposWithField; m_uLastML = pHit->m_uMatchlen; m_uLastSL = pHit->m_uSpanlen; m_uWeight = m_uLastW = pHit->m_uWeight; if ( m_bTwofer ) { m_uFirstQpos = uQpos; m_uFirstNpos = uNpos; } else { m_dNpos.Resize(1); m_dNpos[0] = uNpos; Add2Ring ( pHit ); } return false; } // this hit (with such querypos) already was there. Skip the hit. if ( m_bTwofer ) { // special case for twofer: hold the overlapping if ( ( m_uFirstHit + m_uLastML )>uHitposWithField && ( m_uFirstHit + m_uLastML )<( uHitposWithField + pHit->m_uMatchlen ) && m_uLastML!=pHit->m_uMatchlen ) { m_uFirstHit = m_uLastP = uHitposWithField; m_uLastML = pHit->m_uMatchlen; m_uLastSL = pHit->m_uSpanlen; m_uWeight = m_uLastW = pHit->m_uWeight; m_uFirstQpos = uQpos; m_uFirstNpos = uNpos; return false; } if ( uNpos==m_uFirstNpos ) { if ( m_uLastP < uHitposWithField ) { m_uPrelastML = m_uLastML; m_uPrelastSL = m_uLastSL; m_uPrelastP = m_uLastP; m_uPrelastW = pHit->m_uWeight; m_uFirstHit = m_uLastP = uHitposWithField; m_uLastML = pHit->m_uMatchlen; m_uLastSL = pHit->m_uSpanlen; m_uWeight = m_uLastW = m_uPrelastW; m_uFirstQpos = uQpos; m_uFirstNpos = uNpos; } return false; } } else { if ( uNpos < m_dNpos[0] ) { m_uFirstQpos = Min ( m_uFirstQpos, uQpos ); m_dNpos.Insert ( 0, uNpos ); } else if ( uNpos > m_dNpos.Last() ) { m_uFirstQpos = Min ( m_uFirstQpos, uQpos ); m_dNpos.Add ( uNpos ); } else if ( uNpos!=m_dNpos[0] && uNpos!=m_dNpos.Last() ) { int iEnd = m_dNpos.GetLength(); int iStart = 0; int iMid = -1; while ( iEnd-iStart>1 ) { iMid = ( iStart + iEnd ) / 2; if ( uNpos==m_dNpos[iMid] ) { const ExtHit_t& dHit = m_dRing[m_iRing]; // last addition same as the first. So, we can shift if ( uNpos==dHit.m_uNodepos ) { m_uWeight -= dHit.m_uWeight; m_uFirstHit = HITMAN::GetPosWithField ( dHit.m_uHitpos ); ShiftRing(); // last addition same as the first. So, we can shift } else if ( uNpos==m_dRing [ RingTail() ].m_uNodepos ) m_uWeight -= m_dRing [ RingTail() ].m_uWeight; else return false; } if ( uNposm_uWeight; m_uLastML = pHit->m_uMatchlen; m_uLastSL = pHit->m_uSpanlen; Add2Ring ( pHit ); // finally got the whole chain - emit it! // warning: we don't support overlapping in generic chains. if ( m_bTwofer || (int)m_uWordsExpected==m_dNpos.GetLength() ) { pTarget->m_uDocid = pHit->m_uDocid; pTarget->m_uHitpos = Hitpos_t ( m_uFirstHit ); // !COMMIT strictly speaking this is creation from LCS not value pTarget->m_uMatchlen = (WORD)( uHitposWithField - m_uFirstHit + m_uLastML ); pTarget->m_uWeight = m_uWeight; m_uPrelastP = 0; if ( m_bTwofer ) // for exactly 2 words allow overlapping - so, just shift the chain, not reset it { pTarget->m_uQuerypos = Min ( m_uFirstQpos, pHit->m_uQuerypos ); pTarget->m_uSpanlen = 2; pTarget->m_uQposMask = ( 1 << ( Max ( m_uFirstQpos, pHit->m_uQuerypos ) - pTarget->m_uQuerypos ) ); m_uFirstHit = m_uLastP = uHitposWithField; m_uWeight = pHit->m_uWeight; m_uFirstQpos = pHit->m_uQuerypos; } else { pTarget->m_uQuerypos = Min ( m_uFirstQpos, pHit->m_uQuerypos ); pTarget->m_uSpanlen = (WORD) m_dNpos.GetLength(); pTarget->m_uQposMask = 0; m_uLastP = 0; if ( m_bQposMask && pTarget->m_uSpanlen>1 ) { ARRAY_FOREACH ( i, m_dNpos ) { int iQposDelta = m_dNpos[i] - pTarget->m_uQuerypos; assert ( iQposDelta<(int)sizeof(pTarget->m_uQposMask)*8 ); pTarget->m_uQposMask |= ( 1 << iQposDelta ); } } } return true; } m_uLastP = uHitposWithField; return false; } ////////////////////////////////////////////////////////////////////////// struct QuorumDupeNodeHash_t { uint64_t m_uWordID; int m_iIndex; bool operator < ( const QuorumDupeNodeHash_t & b ) const { if ( m_uWordID==b.m_uWordID ) return m_iIndexm_iAtomPosm_iAtomPos; } }; ExtQuorum_c::ExtQuorum_c ( CSphVector & dQwords, const XQNode_t & tNode, const ISphQwordSetup & tSetup ) { assert ( tNode.GetOp()==SPH_QUERY_QUORUM ); assert ( dQwords.GetLength()1 ); // use TERM instead assert ( dQwords.GetLength()<=256 ); // internal masks are upto 256 bits assert ( m_iThresh>=1 ); // 1 is also OK; it's a bit different from just OR assert ( m_iThresh0 ) { m_iAtomPos = dQwords[0]->m_iAtomPos; // compute duplicate keywords mask (aka dupe mask) // FIXME! will fail with wordforms and stuff; sorry, no wordforms vs expand vs quorum support for now! CSphFixedVector dHashes ( dQwords.GetLength() ); ARRAY_FOREACH ( i, dQwords ) { dHashes[i].m_uWordID = dQwords[i]->GetWordID(); dHashes[i].m_iIndex = i; } sphSort ( dHashes.Begin(), dHashes.GetLength() ); QuorumDupeNodeHash_t tParent = *dHashes.Begin(); m_dInitialChildren.Add().m_pTerm = dQwords[tParent.m_iIndex]; m_dInitialChildren.Last().m_iCount = 1; tParent.m_iIndex = 0; for ( int i=1; iReset ( tSetup ); } int ExtQuorum_c::GetQwords ( ExtQwordsHash_t & hQwords ) { int iMax = -1; ARRAY_FOREACH ( i, m_dChildren ) { int iKidMax = m_dChildren[i].m_pTerm->GetQwords ( hQwords ); iMax = Max ( iMax, iKidMax ); } return iMax; } void ExtQuorum_c::SetQwordsIDF ( const ExtQwordsHash_t & hQwords ) { ARRAY_FOREACH ( i, m_dChildren ) m_dChildren[i].m_pTerm->SetQwordsIDF ( hQwords ); } void ExtQuorum_c::GetTerms ( const ExtQwordsHash_t & hQwords, CSphVector & dTermDupes ) const { ARRAY_FOREACH ( i, m_dChildren ) m_dChildren[i].m_pTerm->GetTerms ( hQwords, dTermDupes ); } uint64_t ExtQuorum_c::GetWordID() const { uint64_t uHash = 0; ARRAY_FOREACH ( i, m_dChildren ) uHash ^= m_dChildren[i].m_pTerm->GetWordID(); return uHash; } const ExtDoc_t * ExtQuorum_c::GetDocsChunk() { // warmup ARRAY_FOREACH ( i, m_dChildren ) { TermTuple_t & tElem = m_dChildren[i]; tElem.m_bStandStill = false; // clear this-round-match flag if ( tElem.m_pCurDoc && tElem.m_pCurDoc->m_uDocid!=DOCID_MAX ) continue; tElem.m_pCurDoc = tElem.m_pTerm->GetDocsChunk(); if ( tElem.m_pCurDoc ) continue; m_dChildren.RemoveFast ( i ); i--; } // main loop int iDoc = 0; CSphRowitem * pDocinfo = m_pDocinfo; bool bProceed2HitChunk = false; m_iMyHitCount = 0; m_iMyLast = 0; int iQuorumLeft = CountQuorum ( true ); while ( iDoc=m_iThresh && !bProceed2HitChunk ) { // find min document ID, count occurrences ExtDoc_t tCand; tCand.m_uDocid = DOCID_MAX; // current candidate id tCand.m_uHitlistOffset = 0; // suppress gcc warnings tCand.m_pDocinfo = NULL; tCand.m_uDocFields = 0; // non necessary tCand.m_fTFIDF = 0.0f; int iQuorum = 0; ARRAY_FOREACH ( i, m_dChildren ) { TermTuple_t & tElem = m_dChildren[i]; assert ( tElem.m_pCurDoc->m_uDocid && tElem.m_pCurDoc->m_uDocid!=DOCID_MAX ); if ( tElem.m_pCurDoc->m_uDocid < tCand.m_uDocid ) { tCand = *tElem.m_pCurDoc; iQuorum = tElem.m_iCount; } else if ( tElem.m_pCurDoc->m_uDocid==tCand.m_uDocid ) { tCand.m_uDocFields |= tElem.m_pCurDoc->m_uDocFields; // FIXME!!! check hits in case of dupes or field constrain tCand.m_fTFIDF += tElem.m_pCurDoc->m_fTFIDF; iQuorum += tElem.m_iCount; } } // FIXME!!! check that tail hits should be processed right after CollectMatchingHits if ( iQuorum>=m_iThresh && ( !m_bHasDupes || CollectMatchingHits ( tCand.m_uDocid, m_iThresh ) ) ) { CopyExtDoc ( m_dDocs[iDoc++], tCand, &pDocinfo, m_iStride ); // FIXME!!! move to children advancing ARRAY_FOREACH ( i, m_dChildren ) { if ( m_dChildren[i].m_pCurDoc->m_uDocid==tCand.m_uDocid ) m_dChildren[i].m_bStandStill = true; } } // advance children int iWasChildren = m_dChildren.GetLength(); ARRAY_FOREACH ( i, m_dChildren ) { TermTuple_t & tElem = m_dChildren[i]; if ( tElem.m_pCurDoc->m_uDocid!=tCand.m_uDocid ) continue; tElem.m_pCurDoc++; if ( tElem.m_pCurDoc->m_uDocid!=DOCID_MAX ) continue; // should grab hits first if ( tElem.m_bStandStill ) { bProceed2HitChunk = true; continue; // still should fast forward rest of children to pass current doc-id } tElem.m_pCurDoc = tElem.m_pTerm->GetDocsChunk(); if ( tElem.m_pCurDoc ) continue; m_dChildren.RemoveFast ( i ); i--; } if ( iWasChildren!=m_dChildren.GetLength() ) iQuorumLeft = CountQuorum ( false ); } return ReturnDocsChunk ( iDoc, "quorum" ); } const ExtHit_t * ExtQuorum_c::GetHitsChunk ( const ExtDoc_t * pDocs ) { // dupe tail hits if ( m_bHasDupes && m_uMatchedDocid ) return GetHitsChunkDupesTail(); // quorum-buffer path if ( m_bHasDupes ) return GetHitsChunkDupes ( pDocs ); return GetHitsChunkSimple ( pDocs ); } const ExtHit_t * ExtQuorum_c::GetHitsChunkDupesTail () { ExtDoc_t dTailDocs[2]; dTailDocs[0].m_uDocid = m_uMatchedDocid; dTailDocs[1].m_uDocid = DOCID_MAX; int iHit = 0; while ( iHitm_uDocid==m_uMatchedDocid && HITMAN::GetPosWithField ( pCurHit->m_uHitpos ) < uMinPosWithField ) { uMinPosWithField = HITMAN::GetPosWithField ( pCurHit->m_uHitpos ); iMinChild = i; } } // no hits found at children if ( iMinChild<0 ) { m_uMatchedDocid = 0; break; } m_dHits[iHit++] = *m_dChildren[iMinChild].m_pCurHit; m_dChildren[iMinChild].m_pCurHit++; if ( m_dChildren[iMinChild].m_pCurHit->m_uDocid==DOCID_MAX ) m_dChildren[iMinChild].m_pCurHit = m_dChildren[iMinChild].m_pTerm->GetHitsChunk ( dTailDocs ); } return ReturnHitsChunk ( iHit, "quorum-dupes-tail", false ); } struct QuorumCmpHitPos_fn { inline bool IsLess ( const ExtHit_t & a, const ExtHit_t & b ) const { return HITMAN::GetPosWithField ( a.m_uHitpos )m_uDocid!=DOCID_MAX ) { SphDocID_t uDocid = pDocs->m_uDocid; while ( m_dQuorumHits[m_iMyLast].m_uDocidm_uDocid==uDocid && HITMAN::GetPosWithField ( pCurHit->m_uHitpos ) < uMinPosWithField ) { uMinPosWithField = HITMAN::GetPosWithField ( pCurHit->m_uHitpos ); iMinChild = i; } } } // no hits found at children and quorum-buffer over if ( iMinChild<0 && m_iMyLast==iMyEnd ) { pDocs++; bCheckChildren = false; break; } if ( iMinChild<0 ) { m_dHits[iHit++] = m_dQuorumHits[m_iMyLast++]; } else { m_dHits[iHit++] = *m_dChildren[iMinChild].m_pCurHit; m_dChildren[iMinChild].m_pCurHit++; if ( m_dChildren[iMinChild].m_pCurHit->m_uDocid==DOCID_MAX ) m_dChildren[iMinChild].m_pCurHit = m_dChildren[iMinChild].m_pTerm->GetHitsChunk ( pDocs ); } } if ( m_iMyLast==iMyEnd && bCheckChildren ) // quorum-buffer over but children still have hits m_uMatchedDocid = uDocid; } return ReturnHitsChunk ( iHit, "quorum-dupes", false ); } const ExtHit_t * ExtQuorum_c::GetHitsChunkSimple ( const ExtDoc_t * pDocs ) { // warmup ARRAY_FOREACH ( i, m_dChildren ) { TermTuple_t & tElem = m_dChildren[i]; if ( !tElem.m_pCurHit || tElem.m_pCurHit->m_uDocid==DOCID_MAX ) tElem.m_pCurHit = tElem.m_pTerm->GetHitsChunk ( pDocs ); } // main loop int iHit = 0; while ( iHitm_uDocid==m_uMatchedDocid && HITMAN::GetPosWithField ( pCurHit->m_uHitpos ) < uMinPosWithField ) { uMinPosWithField = HITMAN::GetPosWithField ( pCurHit->m_uHitpos ); // !COMMIT bench/fix, is LCS right here? iMinChild = i; } } if ( iMinChild<0 ) { SphDocID_t uLastDoc = m_uMatchedDocid; m_uMatchedDocid = 0; while ( pDocs->m_uDocid!=DOCID_MAX && pDocs->m_uDocid<=uLastDoc ) pDocs++; } } // get min common incoming docs and hits doc-id if ( !m_uMatchedDocid ) { bool bDocMatched = false; while ( !bDocMatched && pDocs->m_uDocid!=DOCID_MAX ) { iMinChild = -1; uMinPosWithField = UINT_MAX; ARRAY_FOREACH ( i, m_dChildren ) { TermTuple_t & tElem = m_dChildren[i]; if ( !tElem.m_pCurHit ) continue; // fast forward hits while ( tElem.m_pCurHit->m_uDocidm_uDocid && tElem.m_pCurHit->m_uDocid!=DOCID_MAX ) tElem.m_pCurHit++; if ( tElem.m_pCurHit->m_uDocid==pDocs->m_uDocid ) { bDocMatched = true; if ( HITMAN::GetPosWithField ( tElem.m_pCurHit->m_uHitpos ) < uMinPosWithField ) { uMinPosWithField = HITMAN::GetPosWithField ( tElem.m_pCurHit->m_uHitpos ); iMinChild = i; } } // rescan current child if ( tElem.m_pCurHit->m_uDocid==DOCID_MAX ) { tElem.m_pCurHit = tElem.m_pTerm->GetHitsChunk ( pDocs ); i -= ( tElem.m_pCurHit ? 1 : 0 ); } } if ( !bDocMatched ) pDocs++; } assert ( !bDocMatched || pDocs->m_uDocid!=DOCID_MAX ); if ( bDocMatched ) m_uMatchedDocid = pDocs->m_uDocid; else break; } assert ( iMinChild>=0 ); m_dHits[iHit++] = *m_dChildren[iMinChild].m_pCurHit; m_dChildren[iMinChild].m_pCurHit++; if ( m_dChildren[iMinChild].m_pCurHit->m_uDocid==DOCID_MAX ) m_dChildren[iMinChild].m_pCurHit = m_dChildren[iMinChild].m_pTerm->GetHitsChunk ( pDocs ); } return ReturnHitsChunk ( iHit, "quorum-simple", false ); } int ExtQuorum_c::GetThreshold ( const XQNode_t & tNode, int iQwords ) { return ( tNode.m_bPercentOp ? (int)floor ( 1.0f / 100.0f * tNode.m_iOpArg * iQwords + 0.5f ) : tNode.m_iOpArg ); } bool ExtQuorum_c::CollectMatchingHits ( SphDocID_t uDocid, int iThreshold ) { assert ( m_dQuorumHits+m_iMyHitCount+CountQuorum ( false )m_uDocid==DOCID_MAX ) tElem.m_pCurHit = tElem.m_pTerm->GetHitsChunk ( tElem.m_pCurDoc ); // that hit stream over for now if ( !tElem.m_pCurHit || tElem.m_pCurHit->m_uDocid==DOCID_MAX ) { iTermHits = 0; continue; } while ( tElem.m_pCurHit->m_uDocid!=DOCID_MAX && tElem.m_pCurHit->m_uDocidm_uDocid==uDocid && iTermHits=iThreshold ) break; // there might be tail hits - rescan current child if ( tElem.m_pCurHit->m_uDocid==DOCID_MAX ) { i--; } else { iTermHits = 0; } } // discard collected hits is case of no quorum matched if ( iQuorumm_uDocid==DOCID_MAX ) tElem.m_pCurHit = tElem.m_pTerm->GetHitsChunk ( tElem.m_pCurDoc ); // hit stream over for current term if ( !tElem.m_pCurHit || tElem.m_pCurHit->m_uDocid==DOCID_MAX ) continue; // collect all hits while ( tElem.m_pCurHit->m_uDocid==uDocid && pHitBuf=m_dQuorumHits+MAX_HITS ) break; // there might be tail hits - rescan current child if ( tElem.m_pCurHit->m_uDocid==DOCID_MAX ) i--; } m_iMyHitCount = pHitBuf - m_dQuorumHits; return true; } ////////////////////////////////////////////////////////////////////////// ExtOrder_c::ExtOrder_c ( const CSphVector & dChildren, const ISphQwordSetup & tSetup ) : m_dChildren ( dChildren ) , m_bDone ( false ) , m_uHitsOverFor ( 0 ) { int iChildren = dChildren.GetLength(); assert ( iChildren>=2 ); m_pDocs.Resize ( iChildren ); m_pHits.Resize ( iChildren ); m_pDocsChunk.Resize ( iChildren ); m_dMyHits[0].m_uDocid = DOCID_MAX; if ( dChildren.GetLength()>0 ) m_iAtomPos = dChildren[0]->m_iAtomPos; ARRAY_FOREACH ( i, dChildren ) { assert ( m_dChildren[i] ); m_pDocs[i] = NULL; m_pHits[i] = NULL; } AllocDocinfo ( tSetup ); } void ExtOrder_c::Reset ( const ISphQwordSetup & tSetup ) { m_bDone = false; m_uHitsOverFor = 0; m_dMyHits[0].m_uDocid = DOCID_MAX; ARRAY_FOREACH ( i, m_dChildren ) { assert ( m_dChildren[i] ); m_dChildren[i]->Reset ( tSetup ); m_pDocs[i] = NULL; m_pHits[i] = NULL; } } ExtOrder_c::~ExtOrder_c () { ARRAY_FOREACH ( i, m_dChildren ) SafeDelete ( m_dChildren[i] ); } int ExtOrder_c::GetChildIdWithNextHit ( SphDocID_t uDocid ) { // OPTIMIZE! implement PQ instead of full-scan DWORD uMinPosWithField = UINT_MAX; int iChild = -1; ARRAY_FOREACH ( i, m_dChildren ) { // is this child over? if ( !m_pHits[i] ) continue; // skip until proper hit while ( m_pHits[i]->m_uDocid!=DOCID_MAX && m_pHits[i]->m_uDocidm_uDocid==DOCID_MAX ) { // hits and docs over here if ( !m_pDocsChunk[i] ) return -1; m_pHits[i] = m_dChildren[i]->GetHitsChunk ( m_pDocsChunk[i] ); i--; continue; } // is this our man at all? if ( m_pHits[i]->m_uDocid==uDocid ) { // is he the best we can get? if ( HITMAN::GetPosWithField ( m_pHits[i]->m_uHitpos ) < uMinPosWithField ) { uMinPosWithField = HITMAN::GetPosWithField ( m_pHits[i]->m_uHitpos ); iChild = i; } } } return iChild; } int ExtOrder_c::GetMatchingHits ( SphDocID_t uDocid, ExtHit_t * pHitbuf, int iLimit ) { // my trackers CSphVector dAccLongest; CSphVector dAccRecent; int iPosLongest = 0; // needed to handle cases such as "a b c" << a int iPosRecent = 0; int iField = -1; dAccLongest.Reserve ( m_dChildren.GetLength() ); dAccRecent.Reserve ( m_dChildren.GetLength() ); // while there's enough space in the buffer int iMyHit = 0; while ( iMyHit+m_dChildren.GetLength()m_uDocid==uDocid ); // most recent subseq must never be longer assert ( dAccRecent.GetLength()<=dAccLongest.GetLength() ); // handle that hit! int iHitField = HITMAN::GetField ( pHit->m_uHitpos ); int iHitPos = HITMAN::GetPos ( pHit->m_uHitpos ); if ( iHitField!=iField ) { // new field; reset both trackers dAccLongest.Resize ( 0 ); dAccRecent.Resize ( 0 ); // initial seeding, if needed if ( iChild==0 ) { dAccLongest.Add ( *pHit ); iPosLongest = iHitPos + pHit->m_uSpanlen; iField = iHitField; } } else if ( iChild==dAccLongest.GetLength() && iHitPos>=iPosLongest ) { // it fits longest tracker dAccLongest.Add ( *pHit ); iPosLongest = iHitPos + pHit->m_uSpanlen; // fully matched subsequence if ( dAccLongest.GetLength()==m_dChildren.GetLength() ) { // flush longest tracker into buffer, and keep it terminated ARRAY_FOREACH ( i, dAccLongest ) pHitbuf[iMyHit++] = dAccLongest[i]; // reset both trackers dAccLongest.Resize ( 0 ); dAccRecent.Resize ( 0 ); iPosRecent = iPosLongest; } } else if ( iChild==0 ) { // it restarts most-recent tracker dAccRecent.Resize ( 0 ); dAccRecent.Add ( *pHit ); iPosRecent = iHitPos + pHit->m_uSpanlen; if ( !dAccLongest.GetLength() ) { dAccLongest.Add ( *pHit ); iPosLongest = iHitPos + pHit->m_uSpanlen; } } else if ( iChild==dAccRecent.GetLength() && iHitPos>=iPosRecent ) { // it fits most-recent tracker dAccRecent.Add ( *pHit ); iPosRecent = iHitPos + pHit->m_uSpanlen; // maybe most-recent just became longest too? if ( dAccRecent.GetLength()==dAccLongest.GetLength() ) { dAccLongest.SwapData ( dAccRecent ); dAccRecent.Resize ( 0 ); iPosLongest = iPosRecent; } } // advance hit stream m_pHits[iChild]++; } assert ( iMyHit>=0 && iMyHitGetDocsChunk(); if ( !m_pDocs[i] ) { m_bDone = true; return NULL; } } // match, while there's enough space in buffers CSphRowitem * pDocinfo = m_pDocinfo; int iDoc = 0; int iMyHit = 0; while ( iDocm_uDocid; assert ( uDocid!=DOCID_MAX ); for ( int i=1; im_uDocid < uDocid ) m_pDocs[i]++; // block end marker? pull next block and keep scanning if ( m_pDocs[i]->m_uDocid==DOCID_MAX ) { m_pDocs[i] = m_pDocsChunk[i] = m_dChildren[i]->GetDocsChunk(); if ( !m_pDocs[i] ) { m_bDone = true; return ReturnDocsChunk ( iDoc, "order" ); } continue; } // too big id? its out next candidate if ( m_pDocs[i]->m_uDocid > uDocid ) { uDocid = m_pDocs[i]->m_uDocid; i = 0; continue; } assert ( m_pDocs[i]->m_uDocid==uDocid ); i++; } #ifndef NDEBUG assert ( uDocid!=DOCID_MAX ); ARRAY_FOREACH ( i, m_dChildren ) { assert ( m_pDocs[i] ); assert ( m_pDocs[i]->m_uDocid==uDocid ); } #endif // prefetch hits ARRAY_FOREACH ( i, m_dChildren ) { if ( !m_pHits[i] ) m_pHits[i] = m_dChildren[i]->GetHitsChunk ( m_pDocsChunk[i] ); // every document comes with at least one hit // and we did not yet process current candidate's hits // so we MUST have hits at this point no matter what assert ( m_pHits[i] ); } // match and save hits int iGotHits = GetMatchingHits ( uDocid, m_dMyHits+iMyHit, MAX_HITS-1-iMyHit ); if ( iGotHits ) { CopyExtDoc ( m_dDocs[iDoc++], *m_pDocs[0], &pDocinfo, m_iStride ); iMyHit += iGotHits; } // advance doc stream m_pDocs[0]++; if ( m_pDocs[0]->m_uDocid==DOCID_MAX ) { m_pDocs[0] = m_pDocsChunk[0] = m_dChildren[0]->GetDocsChunk(); if ( !m_pDocs[0] ) { m_bDone = true; break; } } } return ReturnDocsChunk ( iDoc, "order" ); } const ExtHit_t * ExtOrder_c::GetHitsChunk ( const ExtDoc_t * pDocs ) { if ( pDocs->m_uDocid==m_uHitsOverFor ) return NULL; // copy accumulated hits while we can SphDocID_t uFirstMatch = pDocs->m_uDocid; const ExtHit_t * pMyHits = m_dMyHits; int iHit = 0; for ( ;; ) { while ( pDocs->m_uDocid!=pMyHits->m_uDocid ) { while ( pDocs->m_uDocid < pMyHits->m_uDocid ) pDocs++; if ( pDocs->m_uDocid==DOCID_MAX ) break; while ( pMyHits->m_uDocid < pDocs->m_uDocid ) pMyHits++; if ( pMyHits->m_uDocid==DOCID_MAX ) break; } if ( pDocs->m_uDocid==DOCID_MAX || pMyHits->m_uDocid==DOCID_MAX ) break; assert ( pDocs->m_uDocid==pMyHits->m_uDocid ); while ( pDocs->m_uDocid==pMyHits->m_uDocid ) m_dHits[iHit++] = *pMyHits++; assert ( iHitm_uDocid==DOCID_MAX ) { // ...all of them! setup the next run to check for trailing hits m_dMyHits[0].m_uDocid = DOCID_MAX; } else { // ...but not all of them! we ran out of docs earlier; hence, trailing hits are of no interest m_uHitsOverFor = uFirstMatch; } } else { // we did not copy any hits; check for trailing ones as the last resort if ( pDocs->m_uDocid!=DOCID_MAX ) { iHit = GetMatchingHits ( pDocs->m_uDocid, m_dHits, MAX_HITS-1 ); } if ( !iHit ) { // actually, not *only* in this case, also in partial buffer case // but for simplicity, lets just run one extra GetHitsChunk() iteration m_uHitsOverFor = uFirstMatch; } } // all done assert ( iHitGetQwords ( hQwords ); iMax = Max ( iMax, iKidMax ); } return iMax; } void ExtOrder_c::SetQwordsIDF ( const ExtQwordsHash_t & hQwords ) { ARRAY_FOREACH ( i, m_dChildren ) m_dChildren[i]->SetQwordsIDF ( hQwords ); } void ExtOrder_c::GetTerms ( const ExtQwordsHash_t & hQwords, CSphVector & dTermDupes ) const { ARRAY_FOREACH ( i, m_dChildren ) m_dChildren[i]->GetTerms ( hQwords, dTermDupes ); } uint64_t ExtOrder_c::GetWordID () const { uint64_t uHash = 0; ARRAY_FOREACH ( i, m_dChildren ) uHash ^= m_dChildren[i]->GetWordID(); return uHash; } ////////////////////////////////////////////////////////////////////////// ExtUnit_c::ExtUnit_c ( ExtNode_i * pFirst, ExtNode_i * pSecond, const FieldMask_t& uFields, const ISphQwordSetup & tSetup, const char * sUnit ) { m_pArg1 = pFirst; m_pArg2 = pSecond; XQKeyword_t tDot; tDot.m_sWord = sUnit; m_pDot = new ExtTerm_c ( CreateQueryWord ( tDot, tSetup ), uFields, tSetup, true ); m_uHitsOverFor = 0; m_uTailDocid = 0; m_uTailSentenceEnd = 0; m_pDocs1 = NULL; m_pDocs2 = NULL; m_pDotDocs = NULL; m_pDoc1 = NULL; m_pDoc2 = NULL; m_pDotDoc = NULL; m_pHit1 = NULL; m_pHit2 = NULL; m_pDotHit = NULL; m_dMyHits[0].m_uDocid = DOCID_MAX; } ExtUnit_c::~ExtUnit_c () { SafeDelete ( m_pArg1 ); SafeDelete ( m_pArg2 ); SafeDelete ( m_pDot ); } void ExtUnit_c::Reset ( const ISphQwordSetup & tSetup ) { m_pArg1->Reset ( tSetup ); m_pArg2->Reset ( tSetup ); m_pDot->Reset ( tSetup ); m_uHitsOverFor = 0; m_uTailDocid = 0; m_uTailSentenceEnd = 0; m_pDocs1 = NULL; m_pDocs2 = NULL; m_pDotDocs = NULL; m_pDoc1 = NULL; m_pDoc2 = NULL; m_pDotDoc = NULL; m_pHit1 = NULL; m_pHit2 = NULL; m_pDotHit = NULL; m_dMyHits[0].m_uDocid = DOCID_MAX; } int ExtUnit_c::GetQwords ( ExtQwordsHash_t & hQwords ) { int iMax1 = m_pArg1->GetQwords ( hQwords ); int iMax2 = m_pArg2->GetQwords ( hQwords ); return Max ( iMax1, iMax2 ); } void ExtUnit_c::SetQwordsIDF ( const ExtQwordsHash_t & hQwords ) { m_pArg1->SetQwordsIDF ( hQwords ); m_pArg2->SetQwordsIDF ( hQwords ); } void ExtUnit_c::GetTerms ( const ExtQwordsHash_t & hQwords, CSphVector & dTermDupes ) const { m_pArg1->GetTerms ( hQwords, dTermDupes ); m_pArg2->GetTerms ( hQwords, dTermDupes ); } uint64_t ExtUnit_c::GetWordID() const { uint64_t uHash = m_pArg1->GetWordID(); uHash ^= m_pArg2->GetWordID(); return uHash; } /// skips hits until their docids are less than the given limit static inline void SkipHitsLtDocid ( const ExtHit_t * (*ppHits), SphDocID_t uMatch, ExtNode_i * pNode, const ExtDoc_t * pDocs ) { for ( ;; ) { const ExtHit_t * pHit = *ppHits; if ( !pHit || pHit->m_uDocid==DOCID_MAX ) { pHit = *ppHits = pNode->GetHitsChunk ( pDocs ); // OPTIMIZE? use that max? if ( !pHit ) return; } while ( pHit->m_uDocid < uMatch ) pHit++; *ppHits = pHit; if ( pHit->m_uDocid!=DOCID_MAX ) return; } } /// skips hits within current document while their position is less or equal than the given limit /// returns true if a matching hit (with big enough position, and in current document) was found /// returns false otherwise static inline bool SkipHitsLtePos ( const ExtHit_t * (*ppHits), Hitpos_t uPos, ExtNode_i * pNode, const ExtDoc_t * pDocs ) { SphDocID_t uDocid = (*ppHits)->m_uDocid; for ( ;; ) { const ExtHit_t * pHit = *ppHits; if ( !pHit || pHit->m_uDocid==DOCID_MAX ) { pHit = *ppHits = pNode->GetHitsChunk ( pDocs ); // OPTIMIZE? use that max? if ( !pHit ) return false; } while ( pHit->m_uDocid==uDocid && pHit->m_uHitpos<=uPos ) pHit++; *ppHits = pHit; if ( pHit->m_uDocid!=DOCID_MAX ) return ( pHit->m_uDocid==uDocid ); } } int ExtUnit_c::FilterHits ( int iMyHit, DWORD uSentenceEnd, SphDocID_t uDocid, int * pDoc ) { while ( iMyHitm_uDocid==uDocid && m_pHit1->m_uHitposm_uDocid==uDocid && m_pHit2->m_uHitposm_uDocid==uDocid && m_pHit2->m_uDocid==uDocid ) continue; // no more in-sentence hits, but perhaps more sentences in this document else break; // document is over } // register document as matching if ( pDoc ) { ExtDoc_t & tDoc = m_dDocs [ (*pDoc)++ ]; tDoc.m_uDocid = m_pDoc1->m_uDocid; tDoc.m_uDocFields = m_pDoc1->m_uDocFields | m_pDoc2->m_uDocFields; // non necessary tDoc.m_uHitlistOffset = -1; tDoc.m_fTFIDF = m_pDoc1->m_fTFIDF + m_pDoc2->m_fTFIDF; tDoc.m_pDocinfo = NULL; // no inline support, sorry pDoc = NULL; // just once } if ( bValid1 && ( !bValid2 || m_pHit1->m_uHitpos < m_pHit2->m_uHitpos ) ) { m_dMyHits[iMyHit++] = *m_pHit1++; if ( m_pHit1->m_uDocid==DOCID_MAX ) m_pHit1 = m_pArg1->GetHitsChunk ( m_pDocs1 ); } else { m_dMyHits[iMyHit++] = *m_pHit2++; if ( m_pHit2->m_uDocid==DOCID_MAX ) m_pHit2 = m_pArg2->GetHitsChunk ( m_pDocs2 ); } } else { // no sentence matched yet // let's check the next hit pair assert ( m_pHit1->m_uDocid==uDocid ); assert ( m_pHit2->m_uDocid==uDocid ); assert ( m_pDotHit->m_uDocid==uDocid ); // our current hit pair locations DWORD uMin = Min ( m_pHit1->m_uHitpos, m_pHit2->m_uHitpos ); DWORD uMax = Max ( m_pHit1->m_uHitpos, m_pHit2->m_uHitpos ); // skip all dots beyond the min location if ( !SkipHitsLtePos ( &m_pDotHit, uMin, m_pDot, m_pDotDocs ) ) { // we have a match! // moreover, no more dots past min location in current document // copy hits until next document uSentenceEnd = UINT_MAX; continue; } // does the first post-pair-start dot separate our hit pair? if ( m_pDotHit->m_uHitpos < uMax ) { // yes, got an "A dot B" case // rewind candidate hits past this dot, break if current document is over if ( !SkipHitsLtePos ( &m_pHit1, m_pDotHit->m_uHitpos, m_pArg1, m_pDocs1 ) ) break; if ( !SkipHitsLtePos ( &m_pHit2, m_pDotHit->m_uHitpos, m_pArg2, m_pDocs2 ) ) break; continue; } else { // we have a match! // copy hits until next dot if ( !SkipHitsLtePos ( &m_pDotHit, uMax, m_pDot, m_pDotDocs ) ) uSentenceEnd = UINT_MAX; // correction, no next dot, so make it "next document" else uSentenceEnd = m_pDotHit->m_uHitpos; assert ( uSentenceEnd ); } } } m_uTailSentenceEnd = uSentenceEnd; // just in case tail hits loop will happen return iMyHit; } void ExtUnit_c::SkipTailHits () { m_uTailDocid = 0; m_pDoc1++; m_pDoc2++; } const ExtDoc_t * ExtUnit_c::GetDocsChunk() { // SENTENCE operator is essentially AND on steroids // that also takes relative dot positions into account // // when document matches both args but not the dot, it degenerates into AND // we immediately lookup and copy matching document hits anyway, though // this is suboptimal (because these hits might never be required at all) // but this is expected to be rare case, so let's keep code simple // // when document matches both args and the dot, we need to filter the hits // only those left/right pairs that are not (!) separated by a dot should match int iDoc = 0; int iMyHit = 0; if ( m_uTailDocid ) SkipTailHits(); while ( iMyHitm_uDocid==DOCID_MAX ) { m_pDoc1 = m_pDocs1 = m_pArg1->GetDocsChunk(); if ( !m_pDoc1 ) break; // node is over } if ( !m_pDoc2 || m_pDoc2->m_uDocid==DOCID_MAX ) { m_pDoc2 = m_pDocs2 = m_pArg2->GetDocsChunk(); if ( !m_pDoc2 ) break; // node is over } // find next candidate match while ( m_pDoc1->m_uDocid!=m_pDoc2->m_uDocid && m_pDoc1->m_uDocid!=DOCID_MAX && m_pDoc2->m_uDocid!=DOCID_MAX ) { while ( m_pDoc1->m_uDocid < m_pDoc2->m_uDocid && m_pDoc2->m_uDocid!=DOCID_MAX ) m_pDoc1++; while ( m_pDoc1->m_uDocid > m_pDoc2->m_uDocid && m_pDoc1->m_uDocid!=DOCID_MAX ) m_pDoc2++; } // got our candidate that matches AND? SphDocID_t uDocid = m_pDoc1->m_uDocid; if ( m_pDoc1->m_uDocid==DOCID_MAX || m_pDoc2->m_uDocid==DOCID_MAX ) continue; // yes, now fetch more dots docs, if needed // note how NULL is accepted here, "A and B but no dots" case is valid! if ( !m_pDotDoc || m_pDotDoc->m_uDocid==DOCID_MAX ) m_pDotDoc = m_pDotDocs = m_pDot->GetDocsChunk(); // skip preceding docs while ( m_pDotDoc && m_pDotDoc->m_uDocid < uDocid ) { while ( m_pDotDoc->m_uDocid < uDocid ) m_pDotDoc++; if ( m_pDotDoc->m_uDocid==DOCID_MAX ) m_pDotDoc = m_pDotDocs = m_pDot->GetDocsChunk(); } // we will need document hits on both routes below SkipHitsLtDocid ( &m_pHit1, uDocid, m_pArg1, m_pDocs1 ); SkipHitsLtDocid ( &m_pHit2, uDocid, m_pArg2, m_pDocs2 ); assert ( m_pHit1 && m_pHit1->m_uDocid==uDocid ); assert ( m_pHit2 && m_pHit2->m_uDocid==uDocid ); DWORD uSentenceEnd = 0; if ( !m_pDotDoc || m_pDotDoc->m_uDocid!=uDocid ) { // no dots in current document? // just copy all hits until next document uSentenceEnd = UINT_MAX; } else { // got both hits and dots // rewind to relevant dots hits, then do sentence boundary detection SkipHitsLtDocid ( &m_pDotHit, uDocid, m_pDot, m_pDotDocs ); } // do those hits iMyHit = FilterHits ( iMyHit, uSentenceEnd, uDocid, &iDoc ); // out of matching hits buffer? gotta return docs chunk now, then if ( iMyHit==MAX_HITS-1 ) { // mark a possibility of some trailing hits for current dot, if any if ( ( m_pHit1 && m_pHit1->m_uDocid==uDocid ) || ( m_pHit2 && m_pHit2->m_uDocid==uDocid ) ) { m_uTailDocid = uDocid; // yep, do check that tail } else { SkipTailHits(); // nope, both hit lists are definitely over } return ReturnDocsChunk ( iDoc, iMyHit ); } // all hits copied; do the next candidate m_pDoc1++; m_pDoc2++; } return ReturnDocsChunk ( iDoc, iMyHit ); } const ExtHit_t * ExtUnit_c::GetHitsChunk ( const ExtDoc_t * pDocs ) { SphDocID_t uFirstMatch = pDocs->m_uDocid; // current hits chunk already returned if ( m_uHitsOverFor==uFirstMatch ) { // and there are no trailing hits? bail if ( !m_uTailDocid ) return NULL; // and there might be trailing hits for the last document? try and loop them int iMyHit = FilterHits ( 0, m_uTailSentenceEnd, m_uTailDocid, NULL ); if ( !iMyHit ) { // no trailing hits were there actually m_uTailDocid = 0; m_pDoc1++; m_pDoc2++; return NULL; } // ok, we got some trailing hits! // check whether we might have even more if (!( iMyHit==MAX_HITS-1 && m_pHit1 && m_pHit1->m_uDocid==m_uTailDocid && m_pHit2 && m_pHit2->m_uDocid==m_uTailDocid )) { // nope, both hit lists are definitely over now m_uTailDocid = 0; m_pDoc1++; m_pDoc2++; } // return those trailing hits assert ( iMyHitm_uDocid!=pDocs->m_uDocid ) { while ( pDocs->m_uDocid < pMyHit->m_uDocid && pDocs->m_uDocid!=DOCID_MAX ) pDocs++; if ( pDocs->m_uDocid==DOCID_MAX ) break; while ( pMyHit->m_uDocid < pDocs->m_uDocid ) pMyHit++; } // out of hits if ( pMyHit->m_uDocid==DOCID_MAX || pDocs->m_uDocid==DOCID_MAX ) { // there still might be trailing hits // if so, they will be handled on next entry m_uHitsOverFor = uFirstMatch; if ( pDocs->m_uDocid==DOCID_MAX && m_uTailDocid ) SkipTailHits(); break; } // copy while ( pMyHit->m_uDocid==pDocs->m_uDocid ) m_dHits[iHit++] = *pMyHit++; if ( pMyHit->m_uDocid==DOCID_MAX ) { m_uHitsOverFor = uFirstMatch; break; } } assert ( iHit>=0 && iHit & dZones, CSphStringBuilder & tRes, int iIdent ) { if ( iIdent ) tRes.Appendf ( "\n" ); for ( int i=0; iGetOp() ) { case SPH_QUERY_AND: tRes.Appendf ( "AND(" ); break; case SPH_QUERY_OR: tRes.Appendf ( "OR(" ); break; case SPH_QUERY_MAYBE: tRes.Appendf ( "MAYBE(" ); break; case SPH_QUERY_NOT: tRes.Appendf ( "NOT(" ); break; case SPH_QUERY_ANDNOT: tRes.Appendf ( "ANDNOT(" ); break; case SPH_QUERY_BEFORE: tRes.Appendf ( "BEFORE(" ); break; case SPH_QUERY_PHRASE: tRes.Appendf ( "PHRASE(" ); break; case SPH_QUERY_PROXIMITY: tRes.Appendf ( "PROXIMITY(distance=%d, ", pNode->m_iOpArg ); break; case SPH_QUERY_QUORUM: tRes.Appendf ( "QUORUM(count=%d, ", pNode->m_iOpArg ); break; case SPH_QUERY_NEAR: tRes.Appendf ( "NEAR(distance=%d", pNode->m_iOpArg ); break; case SPH_QUERY_SENTENCE: tRes.Appendf ( "SENTENCE(" ); break; case SPH_QUERY_PARAGRAPH: tRes.Appendf ( "PARAGRAPH(" ); break; default: tRes.Appendf ( "OPERATOR-%d(", pNode->GetOp() ); break; } if ( pNode->m_dChildren.GetLength() && pNode->m_dWords.GetLength() ) tRes.Appendf("virtually-plain, "); // dump spec for keyword nodes // FIXME? double check that spec does *not* affect non keyword nodes if ( !pNode->m_dSpec.IsEmpty() && pNode->m_dWords.GetLength() ) { const XQLimitSpec_t & s = pNode->m_dSpec; if ( s.m_bFieldSpec && !s.m_dFieldMask.TestAll ( true ) ) { tRes.Appendf ( "fields=(" ); bool bNeedComma = false; ARRAY_FOREACH ( i, tSchema.m_dFields ) if ( s.m_dFieldMask.Test(i) ) { if ( bNeedComma ) tRes.Appendf ( ", " ); bNeedComma = true; tRes.Appendf ( "%s", tSchema.m_dFields[i].m_sName.cstr() ); } tRes.Appendf ( "), " ); } if ( s.m_iFieldMaxPos ) tRes.Appendf ( "max_field_pos=%d, ", s.m_iFieldMaxPos ); if ( s.m_dZones.GetLength() ) { tRes.Appendf ( s.m_bZoneSpan ? "zonespans=(" : "zones=(" ); bool bNeedComma = false; ARRAY_FOREACH ( i, s.m_dZones ) { if ( bNeedComma ) tRes.Appendf ( ", " ); bNeedComma = true; tRes.Appendf ( "%s", dZones [ s.m_dZones[i] ].cstr() ); } tRes.Appendf ( "), " ); } } if ( pNode->m_dChildren.GetLength() ) { ARRAY_FOREACH ( i, pNode->m_dChildren ) { if ( i>0 ) tRes.Appendf ( ", " ); Explain ( pNode->m_dChildren[i], tSchema, dZones, tRes, iIdent+1 ); } } else { ARRAY_FOREACH ( i, pNode->m_dWords ) { const XQKeyword_t & w = pNode->m_dWords[i]; if ( i>0 ) tRes.Appendf(", "); tRes.Appendf ( "KEYWORD(%s, querypos=%d", w.m_sWord.cstr(), w.m_iAtomPos ); if ( w.m_bExcluded ) tRes.Appendf ( ", excluded" ); if ( w.m_bExpanded ) tRes.Appendf ( ", expanded" ); if ( w.m_bFieldStart ) tRes.Appendf ( ", field_start" ); if ( w.m_bFieldEnd ) tRes.Appendf ( ", field_end" ); if ( w.m_bMorphed ) tRes.Appendf ( ", morphed" ); if ( w.m_fBoost!=1.0f ) // really comparing floats? tRes.Appendf ( ", boost=%f", w.m_fBoost ); tRes.Appendf ( ")" ); } } tRes.Appendf(")"); } ExtRanker_c::ExtRanker_c ( const XQQuery_t & tXQ, const ISphQwordSetup & tSetup ) : m_dZoneInfo ( 0 ) { assert ( tSetup.m_pCtx ); m_iInlineRowitems = tSetup.m_iInlineRowitems; for ( int i=0; iDebugDump(0); #endif // we generally have three (!) trees for each query // 1) parsed tree, a raw result of query parsing // 2) transformed tree, with star expansions, morphology, and other transfomations // 3) evaluation tree, with tiny keywords cache, and other optimizations // tXQ.m_pRoot, passed to ranker from the index, is the transformed tree // m_pRoot, internal to ranker, is the evaluation tree if ( tSetup.m_pCtx->m_pProfile ) { tSetup.m_pCtx->m_pProfile->m_sTransformedTree.Clear(); Explain ( tXQ.m_pRoot, tSetup.m_pIndex->GetMatchSchema(), tXQ.m_dZones, tSetup.m_pCtx->m_pProfile->m_sTransformedTree, 0 ); } m_pDoclist = NULL; m_pHitlist = NULL; m_uPayloadMask = 0; m_iQwords = 0; m_pIndex = tSetup.m_pIndex; m_pCtx = tSetup.m_pCtx; m_pNanoBudget = tSetup.m_pStats ? tSetup.m_pStats->m_pNanoBudget : NULL; m_dZones = tXQ.m_dZones; m_dZoneStart.Resize ( m_dZones.GetLength() ); m_dZoneEnd.Resize ( m_dZones.GetLength() ); m_dZoneMax.Resize ( m_dZones.GetLength() ); m_dZoneMin.Resize ( m_dZones.GetLength() ); m_dZoneMax.Fill ( 0 ); m_dZoneMin.Fill ( DOCID_MAX ); m_bZSlist = tXQ.m_bNeedSZlist; m_dZoneInfo.Reset ( m_dZones.GetLength() ); CSphDict * pZonesDict = NULL; // workaround for a particular case with following conditions if ( !m_pIndex->GetDictionary()->GetSettings().m_bWordDict && m_dZones.GetLength() ) pZonesDict = m_pIndex->GetDictionary()->Clone(); ARRAY_FOREACH ( i, m_dZones ) { XQKeyword_t tDot; tDot.m_sWord.SetSprintf ( "%c%s", MAGIC_CODE_ZONE, m_dZones[i].cstr() ); m_dZoneStartTerm.Add ( new ExtTerm_c ( CreateQueryWord ( tDot, tSetup, pZonesDict ), tSetup ) ); m_dZoneStart[i] = NULL; tDot.m_sWord.SetSprintf ( "%c/%s", MAGIC_CODE_ZONE, m_dZones[i].cstr() ); m_dZoneEndTerm.Add ( new ExtTerm_c ( CreateQueryWord ( tDot, tSetup, pZonesDict ), tSetup ) ); m_dZoneEnd[i] = NULL; } SafeDelete ( pZonesDict ); } ExtRanker_c::~ExtRanker_c () { SafeDelete ( m_pRoot ); ARRAY_FOREACH ( i, m_dZones ) { SafeDelete ( m_dZoneStartTerm[i] ); SafeDelete ( m_dZoneEndTerm[i] ); } ARRAY_FOREACH ( i, m_dZoneInfo ) { ARRAY_FOREACH ( iDoc, m_dZoneInfo[i] ) { SafeDelete ( m_dZoneInfo[i][iDoc].m_pHits ); } m_dZoneInfo[i].Reset(); } } void ExtRanker_c::Reset ( const ISphQwordSetup & tSetup ) { if ( m_pRoot ) m_pRoot->Reset ( tSetup ); ARRAY_FOREACH ( i, m_dZones ) { m_dZoneStartTerm[i]->Reset ( tSetup ); m_dZoneEndTerm[i]->Reset ( tSetup ); m_dZoneStart[i] = NULL; m_dZoneEnd[i] = NULL; } m_dZoneMax.Fill ( 0 ); m_dZoneMin.Fill ( DOCID_MAX ); ARRAY_FOREACH ( i, m_dZoneInfo ) { ARRAY_FOREACH ( iDoc, m_dZoneInfo[i] ) SafeDelete ( m_dZoneInfo[i][iDoc].m_pHits ); m_dZoneInfo[i].Reset(); } } const ExtDoc_t * ExtRanker_c::GetFilteredDocs () { #if QDEBUG printf ( "ranker getfiltereddocs" ); #endif ESphQueryState eState = SPH_QSTATE_TOTAL; CSphQueryProfile * pProfile = m_pCtx->m_pProfile; for ( ;; ) { // get another chunk if ( pProfile ) eState = pProfile->Switch ( SPH_QSTATE_GET_DOCS ); const ExtDoc_t * pCand = m_pRoot->GetDocsChunk(); if ( !pCand ) { if ( pProfile ) pProfile->Switch ( eState ); return NULL; } // create matches, and filter them if ( pProfile ) pProfile->Switch ( SPH_QSTATE_FILTER ); int iDocs = 0; SphDocID_t uMaxID = 0; while ( pCand->m_uDocid!=DOCID_MAX ) { m_tTestMatch.m_uDocID = pCand->m_uDocid; m_tTestMatch.m_pStatic = NULL; if ( pCand->m_pDocinfo ) memcpy ( m_tTestMatch.m_pDynamic, pCand->m_pDocinfo, m_iInlineRowitems*sizeof(CSphRowitem) ); if ( m_pIndex->EarlyReject ( m_pCtx, m_tTestMatch ) ) { pCand++; continue; } uMaxID = pCand->m_uDocid; m_dMyDocs[iDocs] = *pCand; m_tTestMatch.m_iWeight = (int)( (pCand->m_fTFIDF+0.5f)*SPH_BM25_SCALE ); // FIXME! bench bNeedBM25 Swap ( m_tTestMatch, m_dMyMatches[iDocs] ); iDocs++; pCand++; } // clean up zone hash if ( !m_bZSlist ) CleanupZones ( uMaxID ); if ( iDocs ) { if ( m_pNanoBudget ) *m_pNanoBudget -= g_iPredictorCostMatch*iDocs; m_dMyDocs[iDocs].m_uDocid = DOCID_MAX; if ( pProfile ) pProfile->Switch ( eState ); #if QDEBUG CSphStringBuilder tRes; tRes.Appendf ( "matched %p docs (%d) = [", this, iDocs ); for ( int i=0; i & dZone = m_dZoneInfo[i]; int iSpan = FindSpan ( dZone, uMaxDocid ); if ( iSpan==-1 ) continue; if ( iSpan==dZone.GetLength()-1 ) { ARRAY_FOREACH ( iDoc, dZone ) SafeDelete ( dZone[iDoc].m_pHits ); dZone.Resize ( 0 ); m_dZoneMin[i] = uMaxDocid; continue; } for ( int iDoc=0; iDoc<=iSpan; iDoc++ ) SafeDelete ( dZone[iDoc].m_pHits ); int iLen = dZone.GetLength() - iSpan - 1; memmove ( dZone.Begin(), dZone.Begin()+iSpan+1, sizeof(dZone[0]) * iLen ); dZone.Resize ( iLen ); m_dZoneMin[i] = dZone.Begin()->m_uDocid; } } void ExtRanker_c::SetQwordsIDF ( const ExtQwordsHash_t & hQwords ) { m_iQwords = hQwords.GetLength (); if ( m_pRoot ) m_pRoot->SetQwordsIDF ( hQwords ); } static SphZoneHit_e ZoneCacheFind ( const ZoneVVector_t & dZones, int iZone, const ExtHit_t * pHit, int * pLastSpan ) { if ( !dZones[iZone].GetLength() ) return SPH_ZONE_NO_DOCUMENT; ZoneInfo_t * pZone = sphBinarySearch ( dZones[iZone].Begin(), &dZones[iZone].Last(), bind ( &ZoneInfo_t::m_uDocid ), pHit->m_uDocid ); if ( !pZone ) return SPH_ZONE_NO_DOCUMENT; if ( pZone ) { // remove end markers that might mess up ordering Hitpos_t uPosWithField = HITMAN::GetPosWithField ( pHit->m_uHitpos ); int iSpan = FindSpan ( pZone->m_pHits->m_dStarts, uPosWithField ); if ( iSpan<0 || uPosWithField>pZone->m_pHits->m_dEnds[iSpan] ) return SPH_ZONE_NO_SPAN; if ( pLastSpan ) *pLastSpan = iSpan; return SPH_ZONE_FOUND; } return SPH_ZONE_NO_DOCUMENT; } SphZoneHit_e ExtRanker_c::IsInZone ( int iZone, const ExtHit_t * pHit, int * pLastSpan ) { // quick route, we have current docid cached SphZoneHit_e eRes = ZoneCacheFind ( m_dZoneInfo, iZone, pHit, pLastSpan ); if ( eRes!=SPH_ZONE_NO_DOCUMENT ) return eRes; // is there any zone info for this document at all? if ( pHit->m_uDocid<=m_dZoneMax[iZone] ) return SPH_ZONE_NO_DOCUMENT; // long route, read in zone info for all (!) the documents until next requested // that's because we might be queried out of order // current chunk const ExtDoc_t * pStart = m_dZoneStart[iZone]; const ExtDoc_t * pEnd = m_dZoneEnd[iZone]; // now keep caching spans until we see current id while ( pHit->m_uDocid > m_dZoneMax[iZone] ) { // get more docs if needed if ( ( !pStart && m_dZoneMax[iZone]!=DOCID_MAX ) || pStart->m_uDocid==DOCID_MAX ) { pStart = m_dZoneStartTerm[iZone]->GetDocsChunk(); if ( !pStart ) { m_dZoneMax[iZone] = DOCID_MAX; return SPH_ZONE_NO_DOCUMENT; } } if ( ( !pEnd && m_dZoneMax[iZone]!=DOCID_MAX ) || pEnd->m_uDocid==DOCID_MAX ) { pEnd = m_dZoneEndTerm[iZone]->GetDocsChunk(); if ( !pEnd ) { m_dZoneMax[iZone] = DOCID_MAX; return SPH_ZONE_NO_DOCUMENT; } } assert ( pStart && pEnd ); // skip zone starts past already cached stuff while ( pStart->m_uDocid<=m_dZoneMax[iZone] ) pStart++; if ( pStart->m_uDocid==DOCID_MAX ) continue; // skip zone ends until a match with start while ( pEnd->m_uDocidm_uDocid ) pEnd++; if ( pEnd->m_uDocid==DOCID_MAX ) continue; // handle mismatching start/end ids // (this must never happen normally, but who knows what data we're fed) assert ( pStart->m_uDocid!=DOCID_MAX ); assert ( pEnd->m_uDocid!=DOCID_MAX ); assert ( pStart->m_uDocid<=pEnd->m_uDocid ); if ( pStart->m_uDocid!=pEnd->m_uDocid ) { while ( pStart->m_uDocid < pEnd->m_uDocid ) pStart++; if ( pStart->m_uDocid==DOCID_MAX ) continue; } // first matching uncached docid found! assert ( pStart->m_uDocid==pEnd->m_uDocid ); assert ( pStart->m_uDocid > m_dZoneMax[iZone] ); // but maybe we don't need docid this big just yet? if ( pStart->m_uDocid > pHit->m_uDocid ) { // store current in-chunk positions m_dZoneStart[iZone] = pStart; m_dZoneEnd[iZone] = pEnd; // no zone info for all those precending documents (including requested one) m_dZoneMax[iZone] = pStart->m_uDocid-1; return SPH_ZONE_NO_DOCUMENT; } // cache all matching docs from current chunks below requested docid // (there might be more matching docs, but we are lazy and won't cache them upfront) ExtDoc_t dCache [ ExtNode_i::MAX_DOCS ]; int iCache = 0; while ( pStart->m_uDocid<=pHit->m_uDocid ) { // match if ( pStart->m_uDocid==pEnd->m_uDocid ) { dCache[iCache++] = *pStart; pStart++; pEnd++; continue; } // mismatch! // this must not really happen, starts/ends must be in sync // but let's be graceful anyway, and just skip to next match if ( pStart->m_uDocid==DOCID_MAX || pEnd->m_uDocid==DOCID_MAX ) break; while ( pStart->m_uDocid < pEnd->m_uDocid ) pStart++; if ( pStart->m_uDocid==DOCID_MAX ) break; while ( pEnd->m_uDocid < pStart->m_uDocid ) pEnd++; if ( pEnd->m_uDocid==DOCID_MAX ) break; } // should have found at least one id to cache assert ( iCache ); assert ( iCache < ExtNode_i::MAX_DOCS ); dCache[iCache].m_uDocid = DOCID_MAX; // do caching const ExtHit_t * pStartHits = m_dZoneStartTerm[iZone]->GetHitsChunk ( dCache ); const ExtHit_t * pEndHits = m_dZoneEndTerm[iZone]->GetHitsChunk ( dCache ); int iReserveStart = m_dZoneStartTerm[iZone]->GetHitsCount() / Max ( m_dZoneStartTerm[iZone]->GetDocsCount(), 1 ); int iReserveEnd = m_dZoneEndTerm[iZone]->GetHitsCount() / Max ( m_dZoneEndTerm[iZone]->GetDocsCount(), 1 ); int iReserve = Max ( iReserveStart, iReserveEnd ); // loop documents one by one while ( pStartHits && pEndHits ) { // load all hits for current document SphDocID_t uCur = pStartHits->m_uDocid; // FIXME!!! replace by iterate then add elements to vector instead of searching each time ZoneHits_t * pZone = NULL; CSphVector & dZones = m_dZoneInfo[iZone]; if ( dZones.GetLength() ) { ZoneInfo_t * pInfo = sphBinarySearch ( dZones.Begin(), &dZones.Last(), bind ( &ZoneInfo_t::m_uDocid ), uCur ); if ( pInfo ) pZone = pInfo->m_pHits; } if ( !pZone ) { if ( dZones.GetLength() && dZones.Last().m_uDocid>uCur ) { int iInsertPos = FindSpan ( dZones, uCur ); assert ( iInsertPos>=0 ); dZones.Insert ( iInsertPos, ZoneInfo_t() ); dZones[iInsertPos].m_uDocid = uCur; pZone = dZones[iInsertPos].m_pHits = new ZoneHits_t(); } else { ZoneInfo_t & tElem = dZones.Add (); tElem.m_uDocid = uCur; pZone = tElem.m_pHits = new ZoneHits_t(); } pZone->m_dStarts.Reserve ( iReserve ); pZone->m_dEnds.Reserve ( iReserve ); } assert ( pEndHits->m_uDocid==uCur ); // load all the pairs of start and end hits for it // do it by with the FSM: // // state 'begin': // - start marker -> set state 'inspan', startspan=pos++ // - end marker -> pos++ // - end of doc -> set state 'finish' // // state 'inspan': // - start marker -> startspan = pos++ // - end marker -> set state 'outspan', endspan=pos++ // - end of doc -> set state 'finish' // // state 'outspan': // - start marker -> set state 'inspan', commit span, startspan=pos++ // - end marker -> endspan = pos++ // - end of doc -> set state 'finish', commit span // // state 'finish': // - we are done. int bEofDoc = 0; // state 'begin' is here. while ( !bEofDoc && pEndHits->m_uHitpos < pStartHits->m_uHitpos ) { ++pEndHits; bEofDoc |= (pEndHits->m_uDocid!=uCur)?2:0; } if ( !bEofDoc ) { // state 'inspan' (true) or 'outspan' (false) bool bInSpan = true; Hitpos_t iSpanBegin = pStartHits->m_uHitpos; Hitpos_t iSpanEnd = pEndHits->m_uHitpos; while ( bEofDoc!=3 ) /// action end-of-doc { // action inspan/start-marker if ( bInSpan ) { ++pStartHits; bEofDoc |= (pStartHits->m_uDocid!=uCur)?1:0; } else // action outspan/end-marker { ++pEndHits; bEofDoc |= (pEndHits->m_uDocid!=uCur)?2:0; } if ( pStartHits->m_uHitposm_uHitpos && !( bEofDoc & 1 ) ) { // actions for outspan/start-marker state // ....... will ignore all the inside. if ( !bInSpan ) { bInSpan = true; pZone->m_dStarts.Add ( iSpanBegin ); pZone->m_dEnds.Add ( iSpanEnd ); iSpanBegin = pStartHits->m_uHitpos; } } else if ( !( bEofDoc & 2 ) ) { // actions for inspan/end-marker state // so, ....... will ignore all the inside. bInSpan = false; iSpanEnd = pEndHits->m_uHitpos; } } // action 'commit' for outspan/end-of-doc if ( iSpanBegin < iSpanEnd ) { pZone->m_dStarts.Add ( iSpanBegin ); pZone->m_dEnds.Add ( iSpanEnd ); } if ( pStartHits->m_uDocid==DOCID_MAX ) pStartHits = m_dZoneStartTerm[iZone]->GetHitsChunk ( dCache ); if ( pEndHits->m_uDocid==DOCID_MAX ) pEndHits = m_dZoneEndTerm[iZone]->GetHitsChunk ( dCache ); } // data sanity checks assert ( pZone->m_dStarts.GetLength()==pZone->m_dEnds.GetLength() ); // update cache status m_dZoneMax[iZone] = uCur; m_dZoneMin[iZone] = Min ( m_dZoneMin[iZone], uCur ); } } // store current in-chunk positions m_dZoneStart[iZone] = pStart; m_dZoneEnd[iZone] = pEnd; // cached a bunch of spans, try our check again return ZoneCacheFind ( m_dZoneInfo, iZone, pHit, pLastSpan ); } ////////////////////////////////////////////////////////////////////////// template < bool USE_BM25 > int ExtRanker_WeightSum_c::GetMatches () { if ( !m_pRoot ) return 0; const ExtDoc_t * pDoc = m_pDoclist; int iMatches = 0; while ( iMatchesm_uDocid==DOCID_MAX ) pDoc = GetFilteredDocs (); if ( !pDoc ) { m_pDoclist = NULL; return iMatches; } DWORD uRank = 0; DWORD uMask = pDoc->m_uDocFields; if ( !uMask ) { // possible if we have more than 32 fields // honestly loading all hits etc is cumbersome, so let's just fake it uRank = 1; } else { // just sum weights over the lowest 32 fields int iWeights = Min ( m_iWeights, 32 ); for ( int i=0; im_uDocFields & (1<m_uDocid==DOCID_MAX ) pDoc = GetFilteredDocs (); if ( !pDoc ) { m_pDoclist = NULL; return iMatches; } Swap ( m_dMatches[iMatches], m_dMyMatches[pDoc-m_dMyDocs] ); // OPTIMIZE? can avoid this swap and simply return m_dMyMatches (though in lesser chunks) m_dMatches[iMatches].m_iWeight = 1; iMatches++; pDoc++; } m_pDoclist = pDoc; return iMatches; } ////////////////////////////////////////////////////////////////////////// template < typename STATE > ExtRanker_T::ExtRanker_T ( const XQQuery_t & tXQ, const ISphQwordSetup & tSetup ) : ExtRanker_c ( tXQ, tSetup ) { // FIXME!!! move out the disable of m_bZSlist in case no zonespan nodes if ( m_bZSlist ) m_dZonespans.Reserve ( ExtNode_i::MAX_DOCS * m_dZones.GetLength() ); m_pHitBase = NULL; } static inline const ExtHit_t * RankerGetHits ( CSphQueryProfile * pProfile, ExtNode_i * pRoot, const ExtDoc_t * pDocs ) { if ( !pProfile ) return pRoot->GetHitsChunk ( pDocs ); pProfile->Switch ( SPH_QSTATE_GET_HITS ); const ExtHit_t * pHlist = pRoot->GetHitsChunk ( pDocs ); pProfile->Switch ( SPH_QSTATE_RANK ); return pHlist; } template < typename STATE > int ExtRanker_T::GetMatches () { if ( !m_pRoot ) return 0; CSphQueryProfile * pProfile = m_pCtx->m_pProfile; int iMatches = 0; const ExtHit_t * pHlist = m_pHitlist; const ExtHit_t * pHitBase = m_pHitBase; const ExtDoc_t * pDocs = m_pDoclist; m_dZonespans.Resize(1); int iLastZoneData = 0; CSphVector dSpans; if ( m_bZSlist ) { dSpans.Resize ( m_dZones.GetLength() ); dSpans.Fill ( -1 ); } // warmup if necessary if ( !pHlist ) { if ( !pDocs ) pDocs = GetFilteredDocs (); if ( !pDocs ) return iMatches; pHlist = RankerGetHits ( pProfile, m_pRoot, pDocs ); if ( !pHlist ) return iMatches; } if ( !pHitBase ) pHitBase = pHlist; // main matching loop const ExtDoc_t * pDoc = pDocs; for ( SphDocID_t uCurDocid=0; iMatchesm_uDocid==uCurDocid ) { m_tState.Update ( pHlist ); if ( m_bZSlist ) { ARRAY_FOREACH ( i, m_dZones ) { int iSpan; if ( IsInZone ( i, pHlist, &iSpan )!=SPH_ZONE_FOUND ) continue; if ( iSpan!=dSpans[i] ) { m_dZonespans.Add ( i ); m_dZonespans.Add ( iSpan ); dSpans[i] = iSpan; } } } ++pHlist; } // if hits block is over, get next block, but do *not* flush current doc if ( pHlist->m_uDocid==DOCID_MAX ) { assert ( pDocs ); pHlist = RankerGetHits ( pProfile, m_pRoot, pDocs ); if ( pHlist ) continue; } // otherwise (new match or no next hits block), flush current doc if ( uCurDocid ) { assert ( uCurDocid==pDoc->m_uDocid ); Swap ( m_dMatches[iMatches], m_dMyMatches[pDoc-m_dMyDocs] ); m_dMatches[iMatches].m_iWeight = m_tState.Finalize ( m_dMatches[iMatches] ); if ( m_bZSlist ) { m_dZonespans[iLastZoneData] = m_dZonespans.GetLength() - iLastZoneData - 1; m_dMatches[iMatches].m_iTag = iLastZoneData; iLastZoneData = m_dZonespans.GetLength(); m_dZonespans.Add(0); dSpans.Fill ( -1 ); } iMatches++; } // boundary checks if ( !pHlist ) { if ( m_bZSlist && uCurDocid ) CleanupZones ( uCurDocid ); // there are no more hits for current docs block; do we have a next one? assert ( pDocs ); pDoc = pDocs = GetFilteredDocs (); // we don't, so bail out if ( !pDocs ) break; // we do, get some hits with proper profile pHlist = RankerGetHits ( pProfile, m_pRoot, pDocs ); assert ( pHlist ); // fresh docs block, must have hits } // skip until next good doc/hit pair assert ( pDoc->m_uDocid<=pHlist->m_uDocid ); while ( pDoc->m_uDocidm_uDocid ) pDoc++; assert ( pDoc->m_uDocid==pHlist->m_uDocid ); uCurDocid = pHlist->m_uDocid; } m_pDoclist = pDocs; m_pHitlist = pHlist; if ( !m_pHitBase ) m_pHitBase = pHitBase; return iMatches; } ////////////////////////////////////////////////////////////////////////// template < bool USE_BM25, bool HANDLE_DUPES > struct RankerState_Proximity_fn : public ISphExtra { BYTE m_uLCS[SPH_MAX_FIELDS]; BYTE m_uCurLCS; int m_iExpDelta; int m_iLastHitPosWithField; int m_iFields; const int * m_pWeights; DWORD m_uLcsTailPos; DWORD m_uLcsTailQposMask; DWORD m_uCurQposMask; DWORD m_uCurPos; bool Init ( int iFields, const int * pWeights, ExtRanker_c *, CSphString &, DWORD ) { memset ( m_uLCS, 0, sizeof(m_uLCS) ); m_uCurLCS = 0; m_iExpDelta = -INT_MAX; m_iLastHitPosWithField = -INT_MAX; m_iFields = iFields; m_pWeights = pWeights; m_uLcsTailPos = 0; m_uLcsTailQposMask = 0; m_uCurQposMask = 0; m_uCurPos = 0; return true; } void Update ( const ExtHit_t * pHlist ) { if_const ( !HANDLE_DUPES ) { // all query keywords are unique // simpler path (just do the delta) const int iPosWithField = HITMAN::GetPosWithField ( pHlist->m_uHitpos ); int iDelta = iPosWithField - pHlist->m_uQuerypos; if ( iPosWithField>m_iLastHitPosWithField ) m_uCurLCS = ( ( iDelta==m_iExpDelta ) ? m_uCurLCS : 0 ) + BYTE(pHlist->m_uWeight); DWORD uField = HITMAN::GetField ( pHlist->m_uHitpos ); if ( m_uCurLCS>m_uLCS[uField] ) m_uLCS[uField] = m_uCurLCS; m_iLastHitPosWithField = iPosWithField; m_iExpDelta = iDelta + pHlist->m_uSpanlen - 1; // !COMMIT why spanlen?? } else { // keywords are duplicated in the query // so there might be multiple qpos entries sharing the same hitpos DWORD uPos = HITMAN::GetPosWithField ( pHlist->m_uHitpos ); DWORD uField = HITMAN::GetField ( pHlist->m_uHitpos ); // reset accumulated data from previous field if ( (DWORD)HITMAN::GetField ( m_uCurPos )!=uField ) m_uCurQposMask = 0; if ( uPos!=m_uCurPos ) { // next new and shiny hitpos in line // FIXME!? what do we do with longer spans? keep looking? reset? if ( m_uCurLCS<2 ) { m_uLcsTailPos = m_uCurPos; m_uLcsTailQposMask = m_uCurQposMask; m_uCurLCS = 1; // FIXME!? can this ever be different? ("a b" c) maybe.. } m_uCurQposMask = 0; m_uCurPos = uPos; if ( m_uLCS[uField] < pHlist->m_uWeight ) m_uLCS[uField] = BYTE(pHlist->m_uWeight); } // add that qpos to current qpos mask (for the current hitpos) m_uCurQposMask |= ( 1UL << pHlist->m_uQuerypos ); // and check if that results in a better lcs match now int iDelta = m_uCurPos - m_uLcsTailPos; if ( iDelta && iDelta<32 && ( m_uCurQposMask >> iDelta ) & m_uLcsTailQposMask ) { // cool, it matched! m_uLcsTailQposMask = ( 1UL << pHlist->m_uQuerypos ); // our lcs span now ends with a specific qpos m_uLcsTailPos = m_uCurPos; // and in a specific position m_uCurLCS = BYTE ( m_uCurLCS + pHlist->m_uWeight ); // and it's longer m_uCurQposMask = 0; // and we should avoid matching subsequent hits on the same hitpos // update per-field vector if ( m_uCurLCS>m_uLCS[uField] ) m_uLCS[uField] = m_uCurLCS; } } } DWORD Finalize ( const CSphMatch & tMatch ) { m_uCurLCS = 0; m_iExpDelta = -1; m_iLastHitPosWithField = -1; if_const ( HANDLE_DUPES ) { m_uLcsTailPos = 0; m_uLcsTailQposMask = 0; m_uCurQposMask = 0; m_uCurPos = 0; } DWORD uRank = 0; for ( int i=0; im_iMaxQpos; return true; } void Update ( const ExtHit_t * pHlist ) { // upd LCS DWORD uField = HITMAN::GetField ( pHlist->m_uHitpos ); int iPosWithField = HITMAN::GetPosWithField ( pHlist->m_uHitpos ); int iDelta = iPosWithField - pHlist->m_uQuerypos; if ( iDelta==m_iExpDelta && HITMAN::GetPosWithField ( pHlist->m_uHitpos )>=m_uMinExpPos ) { if ( iPosWithField>m_iLastHitPos ) m_uCurLCS = (BYTE)( m_uCurLCS + pHlist->m_uWeight ); if ( HITMAN::IsEnd ( pHlist->m_uHitpos ) && (int)pHlist->m_uQuerypos==m_iMaxQuerypos && HITMAN::GetPos ( pHlist->m_uHitpos )==m_iMaxQuerypos ) { m_uExactHit |= ( 1UL << HITMAN::GetField ( pHlist->m_uHitpos ) ); } } else { if ( iPosWithField>m_iLastHitPos ) m_uCurLCS = BYTE(pHlist->m_uWeight); if ( HITMAN::GetPos ( pHlist->m_uHitpos )==1 ) { m_uHeadHit |= ( 1UL << HITMAN::GetField ( pHlist->m_uHitpos ) ); if ( HITMAN::IsEnd ( pHlist->m_uHitpos ) && m_iMaxQuerypos==1 ) m_uExactHit |= ( 1UL << HITMAN::GetField ( pHlist->m_uHitpos ) ); } } if ( m_uCurLCS>m_uLCS[uField] ) m_uLCS[uField] = m_uCurLCS; m_iExpDelta = iDelta + pHlist->m_uSpanlen - 1; m_iLastHitPos = iPosWithField; m_uMinExpPos = HITMAN::GetPosWithField ( pHlist->m_uHitpos ) + 1; } DWORD Finalize ( const CSphMatch & tMatch ) { m_uCurLCS = 0; m_iExpDelta = -1; m_iLastHitPos = -1; DWORD uRank = 0; for ( int i=0; i>i)&1) + ((m_uExactHit>>i)&1) )*m_pWeights[i]; m_uLCS[i] = 0; } m_uHeadHit = 0; m_uExactHit = 0; return tMatch.m_iWeight + uRank*SPH_BM25_SCALE; } }; template < bool USE_BM25 > struct RankerState_ProximityPayload_fn : public RankerState_Proximity_fn { DWORD m_uPayloadRank; DWORD m_uPayloadMask; bool Init ( int iFields, const int * pWeights, ExtRanker_c * pRanker, CSphString & sError, DWORD ) { RankerState_Proximity_fn::Init ( iFields, pWeights, pRanker, sError, false ); m_uPayloadRank = 0; m_uPayloadMask = pRanker->m_uPayloadMask; return true; } void Update ( const ExtHit_t * pHlist ) { DWORD uField = HITMAN::GetField ( pHlist->m_uHitpos ); if ( ( 1<m_uPayloadRank += HITMAN::GetPos ( pHlist->m_uHitpos ) * this->m_pWeights[uField]; else RankerState_Proximity_fn::Update ( pHlist ); } DWORD Finalize ( const CSphMatch & tMatch ) { // as usual, redundant 'this' is just because gcc is stupid this->m_uCurLCS = 0; this->m_iExpDelta = -1; this->m_iLastHitPosWithField = -1; DWORD uRank = m_uPayloadRank; for ( int i=0; im_iFields; i++ ) { // no special care for payload fields as their LCS will be 0 anyway uRank += this->m_uLCS[i]*this->m_pWeights[i]; this->m_uLCS[i] = 0; } m_uPayloadRank = 0; return USE_BM25 ? tMatch.m_iWeight + uRank*SPH_BM25_SCALE : uRank; } }; ////////////////////////////////////////////////////////////////////////// struct RankerState_MatchAny_fn : public RankerState_Proximity_fn { int m_iPhraseK; BYTE m_uMatchMask[SPH_MAX_FIELDS]; bool Init ( int iFields, const int * pWeights, ExtRanker_c * pRanker, CSphString & sError, DWORD ) { RankerState_Proximity_fn::Init ( iFields, pWeights, pRanker, sError, false ); m_iPhraseK = 0; for ( int i=0; im_iQwords; memset ( m_uMatchMask, 0, sizeof(m_uMatchMask) ); return true; } void Update ( const ExtHit_t * pHlist ) { RankerState_Proximity_fn::Update ( pHlist ); m_uMatchMask [ HITMAN::GetField ( pHlist->m_uHitpos ) ] |= ( 1<<(pHlist->m_uQuerypos-1) ); } DWORD Finalize ( const CSphMatch & ) { m_uCurLCS = 0; m_iExpDelta = -1; m_iLastHitPosWithField = -1; DWORD uRank = 0; for ( int i=0; im_uHitpos ) ]; } DWORD Finalize ( const CSphMatch & ) { DWORD uRes = m_uRank; m_uRank = 0; return uRes; } }; ////////////////////////////////////////////////////////////////////////// struct RankerState_Fieldmask_fn : public ISphExtra { DWORD m_uRank; bool Init ( int, const int *, ExtRanker_c *, CSphString &, DWORD ) { m_uRank = 0; return true; } void Update ( const ExtHit_t * pHlist ) { m_uRank |= 1UL << HITMAN::GetField ( pHlist->m_uHitpos ); } DWORD Finalize ( const CSphMatch & ) { DWORD uRes = m_uRank; m_uRank = 0; return uRes; } }; ////////////////////////////////////////////////////////////////////////// struct RankerState_Plugin_fn : public ISphExtra { RankerState_Plugin_fn() : m_pData ( NULL ) , m_pPlugin ( NULL ) {} ~RankerState_Plugin_fn() { assert ( m_pPlugin ); if ( m_pPlugin->m_fnDeinit ) m_pPlugin->m_fnDeinit ( m_pData ); m_pPlugin->Release(); } bool Init ( int iFields, const int * pWeights, ExtRanker_c * pRanker, CSphString & sError, DWORD ) { if ( !m_pPlugin->m_fnInit ) return true; SPH_RANKER_INIT r; r.num_field_weights = iFields; r.field_weights = const_cast(pWeights); r.options = m_sOptions.cstr(); r.payload_mask = pRanker->m_uPayloadMask; r.num_query_words = pRanker->m_iQwords; r.max_qpos = pRanker->m_iMaxQpos; char sErrorBuf [ SPH_UDF_ERROR_LEN ]; if ( m_pPlugin->m_fnInit ( &m_pData, &r, sErrorBuf )==0 ) return true; sError = sErrorBuf; return false; } void Update ( const ExtHit_t * p ) { if ( !m_pPlugin->m_fnUpdate ) return; SPH_RANKER_HIT h; h.doc_id = p->m_uDocid; h.hit_pos = p->m_uHitpos; h.query_pos = p->m_uQuerypos; h.node_pos = p->m_uNodepos; h.span_length = p->m_uSpanlen; h.match_length = p->m_uMatchlen; h.weight = p->m_uWeight; h.query_pos_mask = p->m_uQposMask; m_pPlugin->m_fnUpdate ( m_pData, &h ); } DWORD Finalize ( const CSphMatch & tMatch ) { // at some point in the future, we might start passing the entire match, // with blackjack, hookers, attributes, and their schema; but at this point, // the only sort-of useful part of a match that we are able to push down to // the ranker plugin is the match weight return m_pPlugin->m_fnFinalize ( m_pData, tMatch.m_iWeight ); } private: void * m_pData; const PluginRanker_c * m_pPlugin; CSphString m_sOptions; virtual bool ExtraDataImpl ( ExtraData_e eType, void ** ppResult ) { switch ( eType ) { case EXTRA_SET_RANKER_PLUGIN: m_pPlugin = (const PluginRanker_c*)ppResult; break; case EXTRA_SET_RANKER_PLUGIN_OPTS: m_sOptions = (char*)ppResult; break; default: return false; } return true; } }; ////////////////////////////////////////////////////////////////////////// class FactorPool_c { public: FactorPool_c (); void Prealloc ( int iElementSize, int nElements ); BYTE * Alloc (); void Free ( BYTE * pPtr ); int GetElementSize() const; int GetIntElementSize () const; void AddToHash ( SphDocID_t uId, BYTE * pPacked ); void AddRef ( SphDocID_t uId ); void Release ( SphDocID_t uId ); void Flush (); bool IsInitialized() const; SphFactorHash_t * GetHashPtr(); private: int m_iElementSize; CSphFixedVector m_dPool; SphFactorHash_t m_dHash; CSphFreeList m_dFree; SphFactorHashEntry_t * Find ( SphDocID_t uId ) const; inline DWORD HashFunc ( SphDocID_t uId ) const; bool FlushEntry ( SphFactorHashEntry_t * pEntry ); }; FactorPool_c::FactorPool_c () : m_iElementSize ( 0 ) , m_dPool ( 0 ) , m_dHash ( 0 ) { } void FactorPool_c::Prealloc ( int iElementSize, int nElements ) { m_iElementSize = iElementSize; m_dPool.Reset ( nElements*GetIntElementSize() ); m_dHash.Reset ( nElements ); m_dFree.Reset ( nElements ); memset ( m_dHash.Begin(), 0, sizeof(m_dHash[0])*m_dHash.GetLength() ); } BYTE * FactorPool_c::Alloc () { int iIndex = m_dFree.Get(); assert ( iIndex>=0 && iIndex*GetIntElementSize()=m_dPool.Begin() && pPtr<&( m_dPool.Last() ) ); int iIndex = ( pPtr-m_dPool.Begin() )/GetIntElementSize(); m_dFree.Free ( iIndex ); } int FactorPool_c::GetIntElementSize () const { return m_iElementSize+sizeof(SphFactorHashEntry_t); } int FactorPool_c::GetElementSize() const { return m_iElementSize; } void FactorPool_c::AddToHash ( SphDocID_t uId, BYTE * pPacked ) { SphFactorHashEntry_t * pNew = (SphFactorHashEntry_t *)(pPacked+m_iElementSize); memset ( pNew, 0, sizeof(SphFactorHashEntry_t) ); DWORD uKey = HashFunc ( uId ); if ( m_dHash[uKey] ) { SphFactorHashEntry_t * pStart = m_dHash[uKey]; pNew->m_pPrev = NULL; pNew->m_pNext = pStart; pStart->m_pPrev = pNew; } pNew->m_pData = pPacked; pNew->m_iId = uId; m_dHash[uKey] = pNew; } SphFactorHashEntry_t * FactorPool_c::Find ( SphDocID_t uId ) const { DWORD uKey = HashFunc ( uId ); if ( m_dHash[uKey] ) { SphFactorHashEntry_t * pEntry = m_dHash[uKey]; while ( pEntry ) { if ( pEntry->m_iId==uId ) return pEntry; pEntry = pEntry->m_pNext; } } return NULL; } void FactorPool_c::AddRef ( SphDocID_t uId ) { if ( !uId ) return; SphFactorHashEntry_t * pEntry = Find ( uId ); if ( pEntry ) pEntry->m_iRefCount++; } void FactorPool_c::Release ( SphDocID_t uId ) { if ( !uId ) return; SphFactorHashEntry_t * pEntry = Find ( uId ); if ( pEntry ) { pEntry->m_iRefCount--; bool bHead = !pEntry->m_pPrev; SphFactorHashEntry_t * pNext = pEntry->m_pNext; if ( FlushEntry ( pEntry ) && bHead ) m_dHash [ HashFunc ( uId ) ] = pNext; } } bool FactorPool_c::FlushEntry ( SphFactorHashEntry_t * pEntry ) { assert ( pEntry ); assert ( pEntry->m_iRefCount>=0 ); if ( pEntry->m_iRefCount ) return false; if ( pEntry->m_pPrev ) pEntry->m_pPrev->m_pNext = pEntry->m_pNext; if ( pEntry->m_pNext ) pEntry->m_pNext->m_pPrev = pEntry->m_pPrev; Free ( pEntry->m_pData ); return true; } void FactorPool_c::Flush() { ARRAY_FOREACH ( i, m_dHash ) { SphFactorHashEntry_t * pEntry = m_dHash[i]; while ( pEntry ) { SphFactorHashEntry_t * pNext = pEntry->m_pNext; bool bHead = !pEntry->m_pPrev; if ( FlushEntry(pEntry) && bHead ) m_dHash[i] = pNext; pEntry = pNext; } } } inline DWORD FactorPool_c::HashFunc ( SphDocID_t uId ) const { return (DWORD)( uId % m_dHash.GetLength() ); } bool FactorPool_c::IsInitialized() const { return !!m_iElementSize; } SphFactorHash_t * FactorPool_c::GetHashPtr () { return &m_dHash; } ////////////////////////////////////////////////////////////////////////// // EXPRESSION RANKER ////////////////////////////////////////////////////////////////////////// /// lean hit /// only stores keyword id and hit position struct LeanHit_t { WORD m_uQuerypos; Hitpos_t m_uHitpos; LeanHit_t & operator = ( const ExtHit_t & rhs ) { m_uQuerypos = rhs.m_uQuerypos; m_uHitpos = rhs.m_uHitpos; return *this; } }; /// ranker state that computes weight dynamically based on user supplied expression (formula) template < bool NEED_PACKEDFACTORS = false, bool HANDLE_DUPES = false > struct RankerState_Expr_fn : public ISphExtra { public: // per-field and per-document stuff BYTE m_uLCS[SPH_MAX_FIELDS]; BYTE m_uCurLCS; DWORD m_uCurPos; DWORD m_uLcsTailPos; DWORD m_uLcsTailQposMask; DWORD m_uCurQposMask; int m_iExpDelta; int m_iLastHitPos; int m_iFields; const int * m_pWeights; DWORD m_uDocBM25; CSphBitvec m_tMatchedFields; int m_iCurrentField; DWORD m_uHitCount[SPH_MAX_FIELDS]; DWORD m_uWordCount[SPH_MAX_FIELDS]; CSphVector m_dIDF; float m_dTFIDF[SPH_MAX_FIELDS]; float m_dMinIDF[SPH_MAX_FIELDS]; float m_dMaxIDF[SPH_MAX_FIELDS]; float m_dSumIDF[SPH_MAX_FIELDS]; int m_iMinHitPos[SPH_MAX_FIELDS]; int m_iMinBestSpanPos[SPH_MAX_FIELDS]; CSphBitvec m_tExactHit; CSphBitvec m_tExactOrder; CSphBitvec m_tKeywords; DWORD m_uDocWordCount; int m_iMaxWindowHits[SPH_MAX_FIELDS]; CSphVector m_dTF; ///< for bm25a float m_fDocBM25A; ///< for bm25a CSphVector m_dFieldTF; ///< for bm25f, per-field layout (ie all field0 tfs, then all field1 tfs, etc) int m_iMinGaps[SPH_MAX_FIELDS]; ///< number of gaps in the minimum matching window const char * m_sExpr; ISphExpr * m_pExpr; ESphAttr m_eExprType; const CSphSchema * m_pSchema; CSphAttrLocator m_tFieldLensLoc; float m_fAvgDocLen; const int64_t * m_pFieldLens; int64_t m_iTotalDocuments; float m_fParamK1; float m_fParamB; int m_iMaxQpos; ///< among all words, including dupes CSphVector m_dTermDupes; CSphVector m_dTermsHit; CSphBitvec m_tHasMultiQpos; int m_uLastSpanStart; FactorPool_c m_tFactorPool; int m_iPoolMatchCapacity; // per-query stuff int m_iMaxLCS; int m_iQueryWordCount; public: // internal state, and factor settings // max_window_hits(n) CSphVector m_dWindow; int m_iWindowSize; // min_gaps int m_iHaveMinWindow; ///< whether to compute minimum matching window, and over how many query words int m_iMinWindowWords; ///< how many unique words have we seen so far CSphVector m_dMinWindowHits; ///< current minimum matching window candidate hits CSphVector m_dMinWindowCounts; ///< maps querypos indexes to number of occurrencess in m_dMinWindowHits // exact_order int m_iLastField; int m_iLastQuerypos; int m_iExactOrderWords; // LCCS and Weighted LCCS BYTE m_dLCCS[SPH_MAX_FIELDS]; float m_dWLCCS[SPH_MAX_FIELDS]; CSphVector m_dNextQueryPos; ///< words positions might have gaps due to stop-words WORD m_iQueryPosLCCS; int m_iHitPosLCCS; BYTE m_iLenLCCS; float m_fWeightLCCS; // ATC #define XRANK_ATC_WINDOW_LEN 10 #define XRANK_ATC_BUFFER_LEN 30 #define XRANK_ATC_DUP_DIV 0.25f #define XRANK_ATC_EXP 1.75f struct AtcHit_t { int m_iHitpos; WORD m_uQuerypos; }; AtcHit_t m_dAtcHits[XRANK_ATC_BUFFER_LEN]; ///< ATC hits ring buffer int m_iAtcHitStart; ///< hits start at ring buffer int m_iAtcHitCount; ///< hits amount in buffer CSphVector m_dAtcTerms; ///< per-word ATC CSphBitvec m_dAtcProcessedTerms; ///< temporary processed mask DWORD m_uAtcField; ///< currently processed field float m_dAtc[SPH_MAX_FIELDS]; ///< ATC per-field values bool m_bAtcHeadProcessed; ///< flag for hits from buffer start to window start bool m_bHaveAtc; ///< calculate ATC? bool m_bWantAtc; void UpdateATC ( bool bFlushField ); float TermTC ( int iTerm, bool bLeft ); public: RankerState_Expr_fn (); ~RankerState_Expr_fn (); bool Init ( int iFields, const int * pWeights, ExtRanker_c * pRanker, CSphString & sError, DWORD uFactorFlags ); void Update ( const ExtHit_t * pHlist ); DWORD Finalize ( const CSphMatch & tMatch ); bool IsTermSkipped ( int iTerm ); public: /// setup per-keyword data needed to compute the factors /// (namely IDFs, counts, masks etc) /// WARNING, CALLED EVEN BEFORE INIT()! void SetQwords ( const ExtQwordsHash_t & hQwords ) { m_dIDF.Resize ( m_iMaxQpos+1 ); // [MaxUniqQpos, MaxQpos] range will be all 0, but anyway m_dIDF.Fill ( 0.0f ); m_dTF.Resize ( m_iMaxQpos+1 ); m_dTF.Fill ( 0 ); m_dMinWindowCounts.Resize ( m_iMaxQpos+1 ); m_dMinWindowCounts.Fill ( 0 ); m_iQueryWordCount = 0; m_tKeywords.Init ( m_iMaxQpos+1 ); // will not be tracking dupes bool bGotExpanded = false; CSphVector dQueryPos; dQueryPos.Reserve ( m_iMaxQpos+1 ); hQwords.IterateStart(); while ( hQwords.IterateNext() ) { // tricky bit // for query_word_count, we only want to count keywords that are not (!) excluded by the query // that is, in (aa NOT bb) case, we want a value of 1, not 2 // there might be tail excluded terms these not affected MaxQpos ExtQword_t & dCur = hQwords.IterateGet(); const int iQueryPos = dCur.m_iQueryPos; if ( dCur.m_bExcluded ) continue; bool bQposUsed = m_tKeywords.BitGet ( iQueryPos ); bGotExpanded |= bQposUsed; m_iQueryWordCount += ( bQposUsed ? 0 : 1 ); // count only one term at that position m_tKeywords.BitSet ( iQueryPos ); // just to assert at early stage! m_dIDF [ iQueryPos ] += dCur.m_fIDF; m_dTF [ iQueryPos ]++; if ( !bQposUsed ) dQueryPos.Add ( (WORD)iQueryPos ); } // FIXME!!! average IDF for expanded terms (aot morphology or dict=keywords) if ( bGotExpanded ) ARRAY_FOREACH ( i, m_dTF ) { if ( m_dTF[i]>1 ) m_dIDF[i] /= m_dTF[i]; } m_dTF.Fill ( 0 ); // set next term position for current term in query (degenerates to +1 in the simplest case) dQueryPos.Sort(); m_dNextQueryPos.Resize ( m_iMaxQpos+1 ); m_dNextQueryPos.Fill ( (WORD)-1 ); // WORD_MAX filler for ( int i=0; i dTerms; dTerms.Reserve ( iMaxQpos ); pRoot->GetTerms ( hQwords, dTerms ); // reset excluded for all duplicates ARRAY_FOREACH ( i, dTerms ) { WORD uAtomPos = dTerms[i].m_uAtomPos; WORD uQpos = dTerms[i].m_uQueryPos; if ( uAtomPos!=uQpos ) { m_tHasMultiQpos.BitSet ( uAtomPos ); m_tHasMultiQpos.BitSet ( uQpos ); } m_tKeywords.BitSet ( uAtomPos ); m_tKeywords.BitSet ( uQpos ); m_dTermDupes[uAtomPos] = uQpos; // fill missed idf for dups if ( fabs ( m_dIDF[uAtomPos] )<=1e-6 ) m_dIDF[uAtomPos] = m_dIDF[uQpos]; } } /// finalize per-document factors that, well, need finalization void FinalizeDocFactors ( const CSphMatch & tMatch ) { m_uDocBM25 = tMatch.m_iWeight; for ( int i=0; i m_dMaxIDF[i] ) m_dMinIDF[i] = m_dMaxIDF[i] = 0; // must be FLT_MAX vs -FLT_MAX, aka no hits } m_uDocWordCount = sphBitCount ( m_uDocWordCount ); // compute real BM25 // with blackjack, and hookers, and field lengths, and parameters // // canonical idf = log ( (N-n+0.5) / (n+0.5) ) // sphinx idf = log ( (N-n+1) / n ) // and we also downscale our idf by 1/log(N+1) to map it into [-0.5, 0.5] range // compute document length float dl = 0; // OPTIMIZE? could precompute and store total dl in attrs, but at a storage cost CSphAttrLocator tLoc = m_tFieldLensLoc; if ( tLoc.m_iBitOffset>=0 ) for ( int i=0; iiGap ) ) { m_iMinGaps[iField] = iGap; m_iMinWindowWords = iWords; } } void UpdateMinGaps ( const ExtHit_t * pHlist ); void UpdateFreq ( WORD uQpos, DWORD uField ); private: virtual bool ExtraDataImpl ( ExtraData_e eType, void ** ppResult ); int GetMaxPackedLength(); BYTE * PackFactors(); }; /// extra expression ranker node types enum ExprRankerNode_e { // field level factors XRANK_LCS, XRANK_USER_WEIGHT, XRANK_HIT_COUNT, XRANK_WORD_COUNT, XRANK_TF_IDF, XRANK_MIN_IDF, XRANK_MAX_IDF, XRANK_SUM_IDF, XRANK_MIN_HIT_POS, XRANK_MIN_BEST_SPAN_POS, XRANK_EXACT_HIT, XRANK_EXACT_ORDER, XRANK_MAX_WINDOW_HITS, XRANK_MIN_GAPS, XRANK_LCCS, XRANK_WLCCS, XRANK_ATC, // document level factors XRANK_BM25, XRANK_MAX_LCS, XRANK_FIELD_MASK, XRANK_QUERY_WORD_COUNT, XRANK_DOC_WORD_COUNT, XRANK_BM25A, XRANK_BM25F, // field aggregation functions XRANK_SUM, XRANK_TOP }; /// generic field factor template < typename T > struct Expr_FieldFactor_c : public ISphExpr { const int * m_pIndex; const T * m_pData; Expr_FieldFactor_c ( const int * pIndex, const T * pData ) : m_pIndex ( pIndex ) , m_pData ( pData ) {} float Eval ( const CSphMatch & ) const { return (float) m_pData [ *m_pIndex ]; } int IntEval ( const CSphMatch & ) const { return (int) m_pData [ *m_pIndex ]; } }; /// bitmask field factor specialization template<> struct Expr_FieldFactor_c : public ISphExpr { const int * m_pIndex; const DWORD * m_pData; Expr_FieldFactor_c ( const int * pIndex, const DWORD * pData ) : m_pIndex ( pIndex ) , m_pData ( pData ) {} float Eval ( const CSphMatch & ) const { return (float)( (*m_pData) >> (*m_pIndex) ); } int IntEval ( const CSphMatch & ) const { return (int)( (*m_pData) >> (*m_pIndex) ); } }; /// generic per-document int factor struct Expr_IntPtr_c : public ISphExpr { DWORD * m_pVal; explicit Expr_IntPtr_c ( DWORD * pVal ) : m_pVal ( pVal ) {} float Eval ( const CSphMatch & ) const { return (float)*m_pVal; } int IntEval ( const CSphMatch & ) const { return (int)*m_pVal; } }; /// per-document field mask factor struct Expr_FieldMask_c : public ISphExpr { const CSphBitvec & m_tFieldMask; explicit Expr_FieldMask_c ( const CSphBitvec & tFieldMask ) : m_tFieldMask ( tFieldMask ) {} float Eval ( const CSphMatch & ) const { return (float)*m_tFieldMask.Begin(); } int IntEval ( const CSphMatch & ) const { return (int)*m_tFieldMask.Begin(); } }; /// bitvec field factor specialization template<> struct Expr_FieldFactor_c : public ISphExpr { const int * m_pIndex; const CSphBitvec & m_tField; Expr_FieldFactor_c ( const int * pIndex, const CSphBitvec & tField ) : m_pIndex ( pIndex ) , m_tField ( tField ) {} float Eval ( const CSphMatch & ) const { return (float)( m_tField.BitGet ( *m_pIndex ) ); } int IntEval ( const CSphMatch & ) const { return (int)( m_tField.BitGet ( *m_pIndex ) ); } }; /// generic per-document float factor struct Expr_FloatPtr_c : public ISphExpr { float * m_pVal; explicit Expr_FloatPtr_c ( float * pVal ) : m_pVal ( pVal ) {} float Eval ( const CSphMatch & ) const { return (float)*m_pVal; } int IntEval ( const CSphMatch & ) const { return (int)*m_pVal; } }; template < bool NEED_PACKEDFACTORS, bool HANDLE_DUPES > struct Expr_BM25F_T : public ISphExpr { RankerState_Expr_fn * m_pState; float m_fK1; float m_fB; float m_fWeightedAvgDocLen; CSphVector m_dWeights; ///< per field weights explicit Expr_BM25F_T ( RankerState_Expr_fn * pState, float k1, float b, ISphExpr * pFieldWeights ) { // bind k1, b m_pState = pState; m_fK1 = k1; m_fB = b; // bind weights m_dWeights.Resize ( pState->m_iFields ); m_dWeights.Fill ( 1 ); if ( pFieldWeights ) { Expr_MapArg_c * pMapArg = (Expr_MapArg_c*)pFieldWeights; CSphVector & dOpts = pMapArg->m_dValues; ARRAY_FOREACH ( i, dOpts ) { // FIXME? report errors if field was not found? if ( !dOpts[i].m_sValue.IsEmpty() ) continue; // weights must be int, not string CSphString & sField = dOpts[i].m_sKey; int iField = pState->m_pSchema->GetFieldIndex ( sField.cstr() ); if ( iField>=0 ) m_dWeights[iField] = dOpts[i].m_iValue; } } // compute weighted avgdl m_fWeightedAvgDocLen = 0; if ( m_pState->m_pFieldLens ) ARRAY_FOREACH ( i, m_dWeights ) m_fWeightedAvgDocLen += m_pState->m_pFieldLens[i] * m_dWeights[i]; else m_fWeightedAvgDocLen = 1.0f; m_fWeightedAvgDocLen /= m_pState->m_iTotalDocuments; } float Eval ( const CSphMatch & tMatch ) const { // compute document length // OPTIMIZE? could precompute and store total dl in attrs, but at a storage cost // OPTIMIZE? could at least share between multiple BM25F instances, if there are many float dl = 0; CSphAttrLocator tLoc = m_pState->m_tFieldLensLoc; if ( tLoc.m_iBitOffset>=0 ) for ( int i=0; im_iFields; i++ ) { dl += tMatch.GetAttr ( tLoc ) * m_dWeights[i]; tLoc.m_iBitOffset += 32; } // compute (the current instance of) BM25F float fRes = 0.0f; for ( int iWord=1; iWord<=m_pState->m_iMaxQpos; iWord++ ) { if ( m_pState->IsTermSkipped ( iWord ) ) continue; // compute weighted TF float tf = 0.0f; for ( int i=0; im_iFields; i++ ) tf += m_pState->m_dFieldTF [ iWord + i*(1+m_pState->m_iMaxQpos) ] * m_dWeights[i]; float idf = m_pState->m_dIDF[iWord]; // FIXME? zeroed out for dupes! fRes += tf / (tf + m_fK1*(1.0f - m_fB + m_fB*dl/m_fWeightedAvgDocLen)) * idf; } return fRes + 0.5f; // map to [0..1] range } }; /// function that sums sub-expressions over matched fields template < bool NEED_PACKEDFACTORS, bool HANDLE_DUPES > struct Expr_Sum_T : public ISphExpr { RankerState_Expr_fn * m_pState; ISphExpr * m_pArg; Expr_Sum_T ( RankerState_Expr_fn * pState, ISphExpr * pArg ) : m_pState ( pState ) , m_pArg ( pArg ) {} virtual ~Expr_Sum_T() { SafeRelease ( m_pArg ); } float Eval ( const CSphMatch & tMatch ) const { m_pState->m_iCurrentField = 0; float fRes = 0; const CSphBitvec & tFields = m_pState->m_tMatchedFields; int iBits = tFields.BitCount(); while ( iBits ) { if ( tFields.BitGet ( m_pState->m_iCurrentField ) ) { fRes += m_pArg->Eval ( tMatch ); iBits--; } m_pState->m_iCurrentField++; } return fRes; } int IntEval ( const CSphMatch & tMatch ) const { m_pState->m_iCurrentField = 0; int iRes = 0; const CSphBitvec & tFields = m_pState->m_tMatchedFields; int iBits = tFields.BitCount(); while ( iBits ) { if ( tFields.BitGet ( m_pState->m_iCurrentField ) ) { iRes += m_pArg->IntEval ( tMatch ); iBits--; } m_pState->m_iCurrentField++; } return iRes; } virtual void Command ( ESphExprCommand eCmd, void * pArg ) { assert ( m_pArg ); m_pArg->Command ( eCmd, pArg ); } }; /// aggregate max over matched fields template < bool NEED_PACKEDFACTORS, bool HANDLE_DUPES > struct Expr_Top_T : public ISphExpr { RankerState_Expr_fn * m_pState; ISphExpr * m_pArg; Expr_Top_T ( RankerState_Expr_fn * pState, ISphExpr * pArg ) : m_pState ( pState ) , m_pArg ( pArg ) {} virtual ~Expr_Top_T() { SafeRelease ( m_pArg ); } float Eval ( const CSphMatch & tMatch ) const { m_pState->m_iCurrentField = 0; float fRes = FLT_MIN; const CSphBitvec & tFields = m_pState->m_tMatchedFields; int iBits = tFields.BitCount(); while ( iBits ) { if ( tFields.BitGet ( m_pState->m_iCurrentField ) ) { fRes = Max ( fRes, m_pArg->Eval ( tMatch ) ); iBits--; } m_pState->m_iCurrentField++; } return fRes; } int IntEval ( const CSphMatch & tMatch ) const { m_pState->m_iCurrentField = 0; int iRes = INT_MIN; const CSphBitvec & tFields = m_pState->m_tMatchedFields; int iBits = tFields.BitCount(); while ( iBits ) { if ( tFields.BitGet ( m_pState->m_iCurrentField ) ) { iRes = Max ( iRes, m_pArg->IntEval ( tMatch ) ); iBits--; } m_pState->m_iCurrentField++; } return iRes; } virtual void Command ( ESphExprCommand eCmd, void * pArg ) { assert ( m_pArg ); m_pArg->Command ( eCmd, pArg ); } }; // FIXME! cut/pasted from sphinxexpr; remove dupe struct Expr_GetIntConst_c : public ISphExpr { int m_iValue; explicit Expr_GetIntConst_c ( int iValue ) : m_iValue ( iValue ) {} virtual float Eval ( const CSphMatch & ) const { return (float) m_iValue; } // no assert() here cause generic float Eval() needs to work even on int-evaluator tree virtual int IntEval ( const CSphMatch & ) const { return m_iValue; } virtual int64_t Int64Eval ( const CSphMatch & ) const { return m_iValue; } }; /// hook that exposes field-level factors, document-level factors, and matched field SUM() function to generic expressions template < bool NEED_PACKEDFACTORS, bool HANDLE_DUPES > class ExprRankerHook_T : public ISphExprHook { public: RankerState_Expr_fn * m_pState; const char * m_sCheckError; bool m_bCheckInFieldAggr; public: explicit ExprRankerHook_T ( RankerState_Expr_fn * pState ) : m_pState ( pState ) , m_sCheckError ( NULL ) , m_bCheckInFieldAggr ( false ) {} int IsKnownIdent ( const char * sIdent ) { // OPTIMIZE? hash this some nice long winter night? if ( !strcasecmp ( sIdent, "lcs" ) ) return XRANK_LCS; if ( !strcasecmp ( sIdent, "user_weight" ) ) return XRANK_USER_WEIGHT; if ( !strcasecmp ( sIdent, "hit_count" ) ) return XRANK_HIT_COUNT; if ( !strcasecmp ( sIdent, "word_count" ) ) return XRANK_WORD_COUNT; if ( !strcasecmp ( sIdent, "tf_idf" ) ) return XRANK_TF_IDF; if ( !strcasecmp ( sIdent, "min_idf" ) ) return XRANK_MIN_IDF; if ( !strcasecmp ( sIdent, "max_idf" ) ) return XRANK_MAX_IDF; if ( !strcasecmp ( sIdent, "sum_idf" ) ) return XRANK_SUM_IDF; if ( !strcasecmp ( sIdent, "min_hit_pos" ) ) return XRANK_MIN_HIT_POS; if ( !strcasecmp ( sIdent, "min_best_span_pos" ) ) return XRANK_MIN_BEST_SPAN_POS; if ( !strcasecmp ( sIdent, "exact_hit" ) ) return XRANK_EXACT_HIT; if ( !strcasecmp ( sIdent, "exact_order" ) ) return XRANK_EXACT_ORDER; if ( !strcasecmp ( sIdent, "bm25" ) ) return XRANK_BM25; if ( !strcasecmp ( sIdent, "max_lcs" ) ) return XRANK_MAX_LCS; if ( !strcasecmp ( sIdent, "field_mask" ) ) return XRANK_FIELD_MASK; if ( !strcasecmp ( sIdent, "query_word_count" ) ) return XRANK_QUERY_WORD_COUNT; if ( !strcasecmp ( sIdent, "doc_word_count" ) ) return XRANK_DOC_WORD_COUNT; if ( !strcasecmp ( sIdent, "min_gaps" ) ) return XRANK_MIN_GAPS; if ( !strcasecmp ( sIdent, "lccs" ) ) return XRANK_LCCS; if ( !strcasecmp ( sIdent, "wlccs" ) ) return XRANK_WLCCS; if ( !strcasecmp ( sIdent, "atc" ) ) return XRANK_ATC; return -1; } int IsKnownFunc ( const char * sFunc ) { if ( !strcasecmp ( sFunc, "sum" ) ) return XRANK_SUM; if ( !strcasecmp ( sFunc, "top" ) ) return XRANK_TOP; if ( !strcasecmp ( sFunc, "max_window_hits" ) ) return XRANK_MAX_WINDOW_HITS; if ( !strcasecmp ( sFunc, "bm25a" ) ) return XRANK_BM25A; if ( !strcasecmp ( sFunc, "bm25f" ) ) return XRANK_BM25F; return -1; } ISphExpr * CreateNode ( int iID, ISphExpr * pLeft, ESphEvalStage *, CSphString & ) { int * pCF = &m_pState->m_iCurrentField; // just a shortcut switch ( iID ) { case XRANK_LCS: return new Expr_FieldFactor_c ( pCF, m_pState->m_uLCS ); case XRANK_USER_WEIGHT: return new Expr_FieldFactor_c ( pCF, m_pState->m_pWeights ); case XRANK_HIT_COUNT: return new Expr_FieldFactor_c ( pCF, m_pState->m_uHitCount ); case XRANK_WORD_COUNT: return new Expr_FieldFactor_c ( pCF, m_pState->m_uWordCount ); case XRANK_TF_IDF: return new Expr_FieldFactor_c ( pCF, m_pState->m_dTFIDF ); case XRANK_MIN_IDF: return new Expr_FieldFactor_c ( pCF, m_pState->m_dMinIDF ); case XRANK_MAX_IDF: return new Expr_FieldFactor_c ( pCF, m_pState->m_dMaxIDF ); case XRANK_SUM_IDF: return new Expr_FieldFactor_c ( pCF, m_pState->m_dSumIDF ); case XRANK_MIN_HIT_POS: return new Expr_FieldFactor_c ( pCF, m_pState->m_iMinHitPos ); case XRANK_MIN_BEST_SPAN_POS: return new Expr_FieldFactor_c ( pCF, m_pState->m_iMinBestSpanPos ); case XRANK_EXACT_HIT: return new Expr_FieldFactor_c ( pCF, m_pState->m_tExactHit ); case XRANK_EXACT_ORDER: return new Expr_FieldFactor_c ( pCF, m_pState->m_tExactOrder ); case XRANK_MAX_WINDOW_HITS: { CSphMatch tDummy; m_pState->m_iWindowSize = pLeft->IntEval ( tDummy ); // must be constant; checked in GetReturnType() SafeRelease ( pLeft ); return new Expr_FieldFactor_c ( pCF, m_pState->m_iMaxWindowHits ); } case XRANK_MIN_GAPS: return new Expr_FieldFactor_c ( pCF, m_pState->m_iMinGaps ); case XRANK_LCCS: return new Expr_FieldFactor_c ( pCF, m_pState->m_dLCCS ); case XRANK_WLCCS: return new Expr_FieldFactor_c ( pCF, m_pState->m_dWLCCS ); case XRANK_ATC: m_pState->m_bWantAtc = true; return new Expr_FieldFactor_c ( pCF, m_pState->m_dAtc ); case XRANK_BM25: return new Expr_IntPtr_c ( &m_pState->m_uDocBM25 ); case XRANK_MAX_LCS: return new Expr_GetIntConst_c ( m_pState->m_iMaxLCS ); case XRANK_FIELD_MASK: return new Expr_FieldMask_c ( m_pState->m_tMatchedFields ); case XRANK_QUERY_WORD_COUNT: return new Expr_GetIntConst_c ( m_pState->m_iQueryWordCount ); case XRANK_DOC_WORD_COUNT: return new Expr_IntPtr_c ( &m_pState->m_uDocWordCount ); case XRANK_BM25A: { // exprs we'll evaluate here must be constant; that is checked in GetReturnType() // so having a dummy match with no data work alright assert ( pLeft->IsArglist() ); CSphMatch tDummy; m_pState->m_fParamK1 = pLeft->GetArg(0)->Eval ( tDummy ); m_pState->m_fParamB = pLeft->GetArg(1)->Eval ( tDummy ); m_pState->m_fParamK1 = Max ( m_pState->m_fParamK1, 0.001f ); m_pState->m_fParamB = Min ( Max ( m_pState->m_fParamB, 0.0f ), 1.0f ); SafeDelete ( pLeft ); return new Expr_FloatPtr_c ( &m_pState->m_fDocBM25A ); } case XRANK_BM25F: { assert ( pLeft->IsArglist() ); CSphMatch tDummy; float fK1 = pLeft->GetArg(0)->Eval ( tDummy ); float fB = pLeft->GetArg(1)->Eval ( tDummy ); fK1 = Max ( fK1, 0.001f ); fB = Min ( Max ( fB, 0.0f ), 1.0f ); ISphExpr * pRes = new Expr_BM25F_T ( m_pState, fK1, fB, pLeft->GetArg(2) ); SafeDelete ( pLeft ); return pRes; } case XRANK_SUM: return new Expr_Sum_T ( m_pState, pLeft ); case XRANK_TOP: return new Expr_Top_T ( m_pState, pLeft ); default: return NULL; } } ESphAttr GetIdentType ( int iID ) { switch ( iID ) { case XRANK_LCS: // field-level case XRANK_USER_WEIGHT: case XRANK_HIT_COUNT: case XRANK_WORD_COUNT: case XRANK_MIN_HIT_POS: case XRANK_MIN_BEST_SPAN_POS: case XRANK_EXACT_HIT: case XRANK_EXACT_ORDER: case XRANK_MAX_WINDOW_HITS: case XRANK_BM25: // doc-level case XRANK_MAX_LCS: case XRANK_FIELD_MASK: case XRANK_QUERY_WORD_COUNT: case XRANK_DOC_WORD_COUNT: case XRANK_MIN_GAPS: case XRANK_LCCS: return SPH_ATTR_INTEGER; case XRANK_TF_IDF: case XRANK_MIN_IDF: case XRANK_MAX_IDF: case XRANK_SUM_IDF: case XRANK_WLCCS: case XRANK_ATC: return SPH_ATTR_FLOAT; default: assert ( 0 ); return SPH_ATTR_INTEGER; } } /// helper to check argument types by a signature string (passed in sArgs) /// every character in the signature describes a type /// ? = any type /// i = integer /// I = integer constant /// f = float /// s = scalar (int/float) /// h = hash /// signature can also be preceded by "c:" modifier than means that all arguments must be constant bool CheckArgtypes ( const CSphVector & dArgs, const char * sFuncname, const char * sArgs, bool bAllConst, CSphString & sError ) { if ( sArgs[0]=='c' && sArgs[1]==':' ) { if ( !bAllConst ) { sError.SetSprintf ( "%s() requires constant arguments", sFuncname ); return false; } sArgs += 2; } int iLen = strlen ( sArgs ); if ( dArgs.GetLength()!=iLen ) { sError.SetSprintf ( "%s() requires %d argument(s), not %d", sFuncname, iLen, dArgs.GetLength() ); return false; } ARRAY_FOREACH ( i, dArgs ) { switch ( *sArgs++ ) { case '?': break; case 'i': if ( dArgs[i]!=SPH_ATTR_INTEGER ) { sError.SetSprintf ( "argument %d to %s() must be integer", i, sFuncname ); return false; } break; case 's': if ( dArgs[i]!=SPH_ATTR_INTEGER && dArgs[i]!=SPH_ATTR_FLOAT ) { sError.SetSprintf ( "argument %d to %s() must be scalar (integer or float)", i, sFuncname ); return false; } break; case 'h': if ( dArgs[i]!=SPH_ATTR_MAPARG ) { sError.SetSprintf ( "argument %d to %s() must be a map of constants", i, sFuncname ); return false; } break; default: assert ( 0 && "unknown signature code" ); break; } } // this is important! // other previous failed checks might have filled sError // and if anything else up the stack checks it, we need an empty message now sError = ""; return true; } ESphAttr GetReturnType ( int iID, const CSphVector & dArgs, bool bAllConst, CSphString & sError ) { switch ( iID ) { case XRANK_SUM: if ( !CheckArgtypes ( dArgs, "SUM", "?", bAllConst, sError ) ) return SPH_ATTR_NONE; return dArgs[0]; case XRANK_TOP: if ( !CheckArgtypes ( dArgs, "TOP", "?", bAllConst, sError ) ) return SPH_ATTR_NONE; return dArgs[0]; case XRANK_MAX_WINDOW_HITS: if ( !CheckArgtypes ( dArgs, "MAX_WINDOW_HITS", "c:i", bAllConst, sError ) ) return SPH_ATTR_NONE; return SPH_ATTR_INTEGER; case XRANK_BM25A: if ( !CheckArgtypes ( dArgs, "BM25A", "c:ss", bAllConst, sError ) ) return SPH_ATTR_NONE; return SPH_ATTR_FLOAT; case XRANK_BM25F: if ( !CheckArgtypes ( dArgs, "BM25F", "c:ss", bAllConst, sError ) ) if ( !CheckArgtypes ( dArgs, "BM25F", "c:ssh", bAllConst, sError ) ) return SPH_ATTR_NONE; return SPH_ATTR_FLOAT; default: sError.SetSprintf ( "internal error: unknown hook function (id=%d)", iID ); } return SPH_ATTR_NONE; } void CheckEnter ( int iID ) { if ( !m_sCheckError ) switch ( iID ) { case XRANK_LCS: case XRANK_USER_WEIGHT: case XRANK_HIT_COUNT: case XRANK_WORD_COUNT: case XRANK_TF_IDF: case XRANK_MIN_IDF: case XRANK_MAX_IDF: case XRANK_SUM_IDF: case XRANK_MIN_HIT_POS: case XRANK_MIN_BEST_SPAN_POS: case XRANK_EXACT_HIT: case XRANK_MAX_WINDOW_HITS: case XRANK_LCCS: case XRANK_WLCCS: if ( !m_bCheckInFieldAggr ) m_sCheckError = "field factors must only occur withing field aggregates in ranking expression"; break; case XRANK_SUM: case XRANK_TOP: if ( m_bCheckInFieldAggr ) m_sCheckError = "field aggregates can not be nested in ranking expression"; else m_bCheckInFieldAggr = true; break; default: assert ( iID>=0 ); return; } } void CheckExit ( int iID ) { if ( !m_sCheckError && ( iID==XRANK_SUM || iID==XRANK_TOP ) ) { assert ( m_bCheckInFieldAggr ); m_bCheckInFieldAggr = false; } } }; /// ctor template < bool NEED_PACKEDFACTORS, bool HANDLE_DUPES > RankerState_Expr_fn ::RankerState_Expr_fn () : m_pWeights ( NULL ) , m_sExpr ( NULL ) , m_pExpr ( NULL ) , m_iPoolMatchCapacity ( 0 ) , m_iMaxLCS ( 0 ) , m_iQueryWordCount ( 0 ) , m_iAtcHitStart ( 0 ) , m_iAtcHitCount ( 0 ) , m_uAtcField ( 0 ) , m_bAtcHeadProcessed ( false ) , m_bHaveAtc ( false ) , m_bWantAtc ( false ) {} /// dtor template < bool NEED_PACKEDFACTORS, bool HANDLE_DUPES > RankerState_Expr_fn ::~RankerState_Expr_fn () { SafeRelease ( m_pExpr ); } /// initialize ranker state template < bool NEED_PACKEDFACTORS, bool HANDLE_DUPES > bool RankerState_Expr_fn::Init ( int iFields, const int * pWeights, ExtRanker_c * pRanker, CSphString & sError, DWORD uFactorFlags ) { m_iFields = iFields; m_pWeights = pWeights; m_uDocBM25 = 0; m_tMatchedFields.Init ( iFields ); m_tExactHit.Init ( iFields ); m_tExactOrder.Init ( iFields ); m_iCurrentField = 0; m_iMaxQpos = pRanker->m_iMaxQpos; // already copied in SetQwords, but anyway m_iWindowSize = 1; m_iHaveMinWindow = 0; m_dMinWindowHits.Reserve ( Max ( m_iMaxQpos, 32 ) ); memset ( m_dLCCS, 0 , sizeof(m_dLCCS) ); memset ( m_dWLCCS, 0, sizeof(m_dWLCCS) ); m_iQueryPosLCCS = 0; m_iHitPosLCCS = 0; m_iLenLCCS = 0; m_fWeightLCCS = 0.0f; m_dAtcTerms.Resize ( m_iMaxQpos + 1 ); m_dAtcProcessedTerms.Init ( m_iMaxQpos + 1 ); m_bAtcHeadProcessed = false; ResetDocFactors(); // compute query level constants // max_lcs, aka m_iMaxLCS (for matchany ranker emulation) gets computed here // query_word_count, aka m_iQueryWordCount is set elsewhere (in SetQwordsIDF()) m_iMaxLCS = 0; for ( int i=0; im_iQwords; for ( int i=0; iGetAttrsCount(); i++ ) { if ( m_pSchema->GetAttr(i).m_eAttrType!=SPH_ATTR_TOKENCOUNT ) continue; m_tFieldLensLoc = m_pSchema->GetAttr(i).m_tLocator; break; } m_fAvgDocLen = 0.0f; m_pFieldLens = pRanker->GetIndex()->GetFieldLens(); if ( m_pFieldLens ) for ( int i=0; iGetIndex()->GetStats().m_iTotalDocuments; m_fAvgDocLen /= m_iTotalDocuments; m_fParamK1 = 1.2f; m_fParamB = 0.75f; // not in SetQwords, because we only get iFields here m_dFieldTF.Resize ( m_iFields*(m_iMaxQpos+1) ); m_dFieldTF.Fill ( 0 ); // parse expression bool bUsesWeight; ExprRankerHook_T tHook ( this ); m_pExpr = sphExprParse ( m_sExpr, *m_pSchema, &m_eExprType, &bUsesWeight, sError, NULL, SPH_COLLATION_DEFAULT, &tHook ); // FIXME!!! profile UDF here too if ( !m_pExpr ) return false; if ( m_eExprType!=SPH_ATTR_INTEGER && m_eExprType!=SPH_ATTR_FLOAT ) { sError = "ranking expression must evaluate to integer or float"; return false; } if ( bUsesWeight ) { sError = "ranking expression must not refer to WEIGHT()"; return false; } if ( tHook.m_sCheckError ) { sError = tHook.m_sCheckError; return false; } int iUniq = m_iMaxQpos; if_const ( HANDLE_DUPES ) { iUniq = 0; ARRAY_FOREACH ( i, m_dTermDupes ) iUniq += ( IsTermSkipped(i) ? 0 : 1 ); } m_iHaveMinWindow = iUniq; // we either have an ATC factor in the expression or packedfactors() without no_atc=1 if ( m_bWantAtc || ( uFactorFlags & SPH_FACTOR_CALC_ATC ) ) m_bHaveAtc = ( iUniq>1 ); // all seems ok return true; } /// process next hit, update factors template < bool NEED_PACKEDFACTORS, bool HANDLE_DUPES > void RankerState_Expr_fn::Update ( const ExtHit_t * pHlist ) { const DWORD uField = HITMAN::GetField ( pHlist->m_uHitpos ); const int iPos = HITMAN::GetPos ( pHlist->m_uHitpos ); const DWORD uPosWithField = HITMAN::GetPosWithField ( pHlist->m_uHitpos ); if_const ( !HANDLE_DUPES ) { // update LCS int iDelta = uPosWithField - pHlist->m_uQuerypos; if ( iDelta==m_iExpDelta ) { if ( (int)uPosWithField>m_iLastHitPos ) m_uCurLCS = (BYTE)( m_uCurLCS + pHlist->m_uWeight ); if ( HITMAN::IsEnd ( pHlist->m_uHitpos ) && (int)pHlist->m_uQuerypos==m_iMaxQpos && iPos==m_iMaxQpos ) m_tExactHit.BitSet ( uField ); } else { if ( (int)uPosWithField>m_iLastHitPos ) m_uCurLCS = BYTE(pHlist->m_uWeight); if ( iPos==1 && HITMAN::IsEnd ( pHlist->m_uHitpos ) && m_iMaxQpos==1 ) m_tExactHit.BitSet ( uField ); } if ( m_uCurLCS>m_uLCS[uField] ) { m_uLCS[uField] = m_uCurLCS; // for the first hit in current field just use current position as min_best_span_pos // else adjust for current lcs if ( !m_iMinBestSpanPos [ uField ] ) m_iMinBestSpanPos [ uField ] = iPos; else m_iMinBestSpanPos [ uField ] = iPos - m_uCurLCS + 1; } m_iExpDelta = iDelta + pHlist->m_uSpanlen - 1; m_iLastHitPos = uPosWithField; } else { // reset accumulated data from previous field if ( (DWORD)HITMAN::GetField ( m_uCurPos )!=uField ) { m_uCurPos = 0; m_uLcsTailPos = 0; m_uCurQposMask = 0; m_uCurLCS = 0; } if ( (DWORD)uPosWithField!=m_uCurPos ) { // next new and shiny hitpos in line // FIXME!? what do we do with longer spans? keep looking? reset? if ( m_uCurLCS<2 ) { m_uLcsTailPos = m_uCurPos; m_uLcsTailQposMask = m_uCurQposMask; m_uCurLCS = 1; } m_uCurQposMask = 0; m_uCurPos = uPosWithField; if ( m_uLCS [ uField ]m_uWeight ) { m_uLCS [ uField ] = BYTE ( pHlist->m_uWeight ); m_iMinBestSpanPos [ uField ] = iPos; m_uLastSpanStart = iPos; } } // add that qpos to current qpos mask (for the current hitpos) m_uCurQposMask |= ( 1UL << pHlist->m_uQuerypos ); // and check if that results in a better lcs match now int iDelta = ( m_uCurPos-m_uLcsTailPos ); if ( iDelta && iDelta<32 && ( m_uCurQposMask >> iDelta ) & m_uLcsTailQposMask ) { // cool, it matched! m_uLcsTailQposMask = ( 1UL << pHlist->m_uQuerypos ); // our lcs span now ends with a specific qpos m_uLcsTailPos = m_uCurPos; // and in a specific position m_uCurLCS = BYTE ( m_uCurLCS+pHlist->m_uWeight ); // and it's longer m_uCurQposMask = 0; // and we should avoid matching subsequent hits on the same hitpos // update per-field vector if ( m_uCurLCS>m_uLCS[uField] ) { m_uLCS[uField] = m_uCurLCS; m_iMinBestSpanPos[uField] = m_uLastSpanStart; } } if ( iDelta==m_iExpDelta ) { if ( HITMAN::IsEnd ( pHlist->m_uHitpos ) && (int)pHlist->m_uQuerypos==m_iMaxQpos && iPos==m_iMaxQpos ) m_tExactHit.BitSet ( uField ); } else { if ( iPos==1 && HITMAN::IsEnd ( pHlist->m_uHitpos ) && m_iMaxQpos==1 ) m_tExactHit.BitSet ( uField ); } m_iExpDelta = iDelta + pHlist->m_uSpanlen - 1; } bool bLetsKeepup = false; // update LCCS if ( m_iQueryPosLCCS==pHlist->m_uQuerypos && m_iHitPosLCCS==iPos ) { m_iLenLCCS++; m_fWeightLCCS += m_dIDF [ pHlist->m_uQuerypos ]; } else { if_const ( HANDLE_DUPES && m_iHitPosLCCS && iPos<=m_iHitPosLCCS && m_tHasMultiQpos.BitGet ( pHlist->m_uQuerypos ) ) { bLetsKeepup = true; } else { m_iLenLCCS = 1; m_fWeightLCCS = m_dIDF[pHlist->m_uQuerypos]; } } if ( !bLetsKeepup ) { WORD iNextQPos = m_dNextQueryPos[pHlist->m_uQuerypos]; m_iQueryPosLCCS = iNextQPos; m_iHitPosLCCS = iPos + pHlist->m_uSpanlen + iNextQPos - pHlist->m_uQuerypos - 1; } if ( m_dLCCS[uField]<=m_iLenLCCS ) // FIXME!!! check weight too or keep length and weight separate { m_dLCCS[uField] = m_iLenLCCS; m_dWLCCS[uField] = m_fWeightLCCS; } // update ATC if ( m_bHaveAtc ) { if ( m_uAtcField!=uField || m_iAtcHitCount==XRANK_ATC_BUFFER_LEN ) { UpdateATC ( m_uAtcField!=uField ); if ( m_uAtcField!=uField ) { m_uAtcField = uField; } if ( m_iAtcHitCount==XRANK_ATC_BUFFER_LEN ) // advance ring buffer { m_iAtcHitStart = ( m_iAtcHitStart + XRANK_ATC_WINDOW_LEN ) % XRANK_ATC_BUFFER_LEN; m_iAtcHitCount -= XRANK_ATC_WINDOW_LEN; } } assert ( m_iAtcHitStartm_uQuerypos; m_iAtcHitCount++; } // update other stuff m_tMatchedFields.BitSet ( uField ); // keywords can be duplicated in the query, so we need this extra check WORD uQpos = pHlist->m_uQuerypos; bool bUniq = m_tKeywords.BitGet ( pHlist->m_uQuerypos ); if_const ( HANDLE_DUPES && bUniq ) { uQpos = m_dTermDupes [ uQpos ]; bUniq = ( m_dTermsHit[uQpos]!=pHlist->m_uHitpos && m_dTermsHit[0]!=pHlist->m_uHitpos ); m_dTermsHit[uQpos] = pHlist->m_uHitpos; m_dTermsHit[0] = pHlist->m_uHitpos; } if ( bUniq ) { UpdateFreq ( uQpos, uField ); } // handle hit with multiple terms if ( pHlist->m_uSpanlen>1 ) { WORD uQposSpanned = pHlist->m_uQuerypos+1; DWORD uQposMask = ( pHlist->m_uQposMask>>1 ); while ( uQposMask!=0 ) { WORD uQposFixed = uQposSpanned; if ( ( uQposMask & 1 )==1 ) { bool bUniqSpanned = true; if_const ( HANDLE_DUPES ) { uQposFixed = m_dTermDupes[uQposFixed]; bUniqSpanned = ( m_dTermsHit[uQposFixed]!=pHlist->m_uHitpos ); m_dTermsHit[uQposFixed] = pHlist->m_uHitpos; } if ( bUniqSpanned ) UpdateFreq ( uQposFixed, uField ); } uQposSpanned++; uQposMask = ( uQposMask>>1 ); } } if ( !m_iMinHitPos[uField] ) m_iMinHitPos[uField] = iPos; // update hit window, max_window_hits factor if ( m_iWindowSize>1 ) { if ( m_dWindow.GetLength() ) { // sorted_remove_if ( _1 + winsize <= hitpos ) ) int i = 0; while ( im_uHitpos ) i++; for ( int j=0; jm_uHitpos ); m_iMaxWindowHits[uField] = Max ( m_iMaxWindowHits[uField], m_dWindow.GetLength() ); } else m_iMaxWindowHits[uField] = 1; // update exact_order factor if ( (int)uField!=m_iLastField ) { m_iLastQuerypos = 0; m_iExactOrderWords = 0; m_iLastField = (int)uField; } if ( pHlist->m_uQuerypos==m_iLastQuerypos+1 ) { if ( ++m_iExactOrderWords==m_iQueryWordCount ) m_tExactOrder.BitSet ( uField ); m_iLastQuerypos++; } // update min_gaps factor if ( bUniq && m_iHaveMinWindow>1 ) { uQpos = pHlist->m_uQuerypos; if_const ( HANDLE_DUPES ) uQpos = m_dTermDupes[uQpos]; switch ( m_iHaveMinWindow ) { // 2 keywords, special path case 2: if ( m_dMinWindowHits.GetLength() && HITMAN::GetField ( m_dMinWindowHits[0].m_uHitpos )!=(int)uField ) { m_iMinWindowWords = 0; m_dMinWindowHits.Resize ( 0 ); } if ( !m_dMinWindowHits.GetLength() ) { m_dMinWindowHits.Add() = *pHlist; // {} => {A} m_dMinWindowHits.Last().m_uQuerypos = uQpos; break; } assert ( m_dMinWindowHits.GetLength()==1 ); if ( uQpos==m_dMinWindowHits[0].m_uQuerypos ) m_dMinWindowHits[0].m_uHitpos = pHlist->m_uHitpos; else { UpdateGap ( uField, 2, HITMAN::GetPos ( pHlist->m_uHitpos ) - HITMAN::GetPos ( m_dMinWindowHits[0].m_uHitpos ) - 1 ); m_dMinWindowHits[0] = *pHlist; m_dMinWindowHits[0].m_uQuerypos = uQpos; } break; // 3 keywords, special path case 3: if ( m_dMinWindowHits.GetLength() && HITMAN::GetField ( m_dMinWindowHits.Last().m_uHitpos )!=(int)uField ) { m_iMinWindowWords = 0; m_dMinWindowHits.Resize ( 0 ); } // how many unique words are already there in the current candidate? switch ( m_dMinWindowHits.GetLength() ) { case 0: m_dMinWindowHits.Add() = *pHlist; // {} => {A} m_dMinWindowHits.Last().m_uQuerypos = uQpos; break; case 1: if ( m_dMinWindowHits[0].m_uQuerypos==uQpos ) m_dMinWindowHits[0] = *pHlist; // {A} + A2 => {A2} else { UpdateGap ( uField, 2, HITMAN::GetPos ( pHlist->m_uHitpos ) - HITMAN::GetPos ( m_dMinWindowHits[0].m_uHitpos ) - 1 ); m_dMinWindowHits.Add() = *pHlist; // {A} + B => {A,B} m_dMinWindowHits.Last().m_uQuerypos = uQpos; } break; case 2: if ( m_dMinWindowHits[0].m_uQuerypos==uQpos ) { UpdateGap ( uField, 2, HITMAN::GetPos ( pHlist->m_uHitpos ) - HITMAN::GetPos ( m_dMinWindowHits[1].m_uHitpos ) - 1 ); m_dMinWindowHits[0] = m_dMinWindowHits[1]; // {A,B} + A2 => {B,A2} m_dMinWindowHits[1] = *pHlist; m_dMinWindowHits[1].m_uQuerypos = uQpos; } else if ( m_dMinWindowHits[1].m_uQuerypos==uQpos ) { m_dMinWindowHits[1] = *pHlist; // {A,B} + B2 => {A,B2} m_dMinWindowHits[1].m_uQuerypos = uQpos; } else { // new {A,B,C} window! // handle, and then immediately reduce it to {B,C} UpdateGap ( uField, 3, HITMAN::GetPos ( pHlist->m_uHitpos ) - HITMAN::GetPos ( m_dMinWindowHits[0].m_uHitpos ) - 2 ); m_dMinWindowHits[0] = m_dMinWindowHits[1]; m_dMinWindowHits[1] = *pHlist; m_dMinWindowHits[1].m_uQuerypos = uQpos; } break; default: assert ( 0 && "min_gaps current window size not in 0..2 range; must not happen" ); } break; // slow generic update default: UpdateMinGaps ( pHlist ); break; } } } template < bool PF, bool HANDLE_DUPES > void RankerState_Expr_fn::UpdateFreq ( WORD uQpos, DWORD uField ) { float fIDF = m_dIDF [ uQpos ]; DWORD uHitPosMask = 1< m_dMaxIDF[uField] ) m_dMaxIDF[uField] = fIDF; m_uHitCount[uField]++; m_uWordCount[uField] |= uHitPosMask; m_uDocWordCount |= uHitPosMask; m_dTFIDF[uField] += fIDF; // avoid duplicate check for BM25A, BM25F though // (that sort of automatically accounts for qtf factor) m_dTF [ uQpos ]++; m_dFieldTF [ uField*(1+m_iMaxQpos) + uQpos ]++; } template < bool PF, bool HANDLE_DUPES > void RankerState_Expr_fn::UpdateMinGaps ( const ExtHit_t * pHlist ) { // update the minimum MW, aka matching window, for min_gaps and ymw factors // we keep a window with all the positions of all the matched words // we keep it left-minimal at all times, so that leftmost keyword only occurs once // thus, when a previously unseen keyword is added, the window is guaranteed to be minimal WORD uQpos = pHlist->m_uQuerypos; if_const ( HANDLE_DUPES ) uQpos = m_dTermDupes[uQpos]; // handle field switch const int iField = HITMAN::GetField ( pHlist->m_uHitpos ); if ( m_dMinWindowHits.GetLength() && HITMAN::GetField ( m_dMinWindowHits.Last().m_uHitpos )!=iField ) { m_dMinWindowHits.Resize ( 0 ); m_dMinWindowCounts.Fill ( 0 ); m_iMinWindowWords = 0; } // assert we are left-minimal assert ( m_dMinWindowHits.GetLength()==0 || m_dMinWindowCounts [ m_dMinWindowHits[0].m_uQuerypos ]==1 ); // another occurrence of the trailing word? // just update hitpos, effectively dumping the current occurrence if ( m_dMinWindowHits.GetLength() && m_dMinWindowHits.Last().m_uQuerypos==uQpos ) { m_dMinWindowHits.Last().m_uHitpos = pHlist->m_uHitpos; return; } // add that word LeanHit_t & t = m_dMinWindowHits.Add(); t.m_uQuerypos = uQpos; t.m_uHitpos = pHlist->m_uHitpos; int iWord = uQpos; m_dMinWindowCounts[iWord]++; // new, previously unseen keyword? just update the window size if ( m_dMinWindowCounts[iWord]==1 ) { m_iMinGaps[iField] = HITMAN::GetPos ( pHlist->m_uHitpos ) - HITMAN::GetPos ( m_dMinWindowHits[0].m_uHitpos ) - m_iMinWindowWords; m_iMinWindowWords++; return; } // check if we can shrink the left boundary if ( iWord!=m_dMinWindowHits[0].m_uQuerypos ) return; // yes, we can! // keep removing the leftmost keyword until it's unique (in the window) again assert ( m_dMinWindowCounts [ m_dMinWindowHits[0].m_uQuerypos ]==2 ); int iShrink = 0; while ( m_dMinWindowCounts [ m_dMinWindowHits [ iShrink ].m_uQuerypos ]!=1 ) { m_dMinWindowCounts [ m_dMinWindowHits [ iShrink ].m_uQuerypos ]--; iShrink++; } int iNewLen = m_dMinWindowHits.GetLength() - iShrink; memmove ( m_dMinWindowHits.Begin(), &m_dMinWindowHits[iShrink], iNewLen*sizeof(LeanHit_t) ); m_dMinWindowHits.Resize ( iNewLen ); int iNewGaps = HITMAN::GetPos ( pHlist->m_uHitpos ) - HITMAN::GetPos ( m_dMinWindowHits[0].m_uHitpos ) - m_iMinWindowWords + 1; m_iMinGaps[iField] = Min ( m_iMinGaps[iField], iNewGaps ); } template int RankerState_Expr_fn::GetMaxPackedLength() { return sizeof(DWORD)*( 8 + m_tExactHit.GetSize() + m_tExactOrder.GetSize() + m_iFields*15 + m_iMaxQpos*4 + m_dFieldTF.GetLength() ); } template < bool NEED_PACKEDFACTORS, bool HANDLE_DUPES > BYTE * RankerState_Expr_fn::PackFactors() { DWORD * pPackStart = (DWORD *)m_tFactorPool.Alloc(); DWORD * pPack = pPackStart; assert ( pPackStart ); // leave space for size pPack++; assert ( m_tMatchedFields.GetSize()==m_tExactHit.GetSize() && m_tExactHit.GetSize()==m_tExactOrder.GetSize() ); // document level factors *pPack++ = m_uDocBM25; *pPack++ = sphF2DW ( m_fDocBM25A ); *pPack++ = *m_tMatchedFields.Begin(); *pPack++ = m_uDocWordCount; // field level factors *pPack++ = (DWORD)m_iFields; // v.6 set these depends on number of fields for ( int i=0; i bool RankerState_Expr_fn::ExtraDataImpl ( ExtraData_e eType, void ** ppResult ) { if_const ( eType==EXTRA_SET_MVAPOOL || eType==EXTRA_SET_STRINGPOOL || NEED_PACKEDFACTORS ) { switch ( eType ) { case EXTRA_SET_MVAPOOL: m_pExpr->Command ( SPH_EXPR_SET_MVA_POOL, ppResult ); return true; case EXTRA_SET_STRINGPOOL: m_pExpr->Command ( SPH_EXPR_SET_STRING_POOL, ppResult ); return true; case EXTRA_SET_POOL_CAPACITY: m_iPoolMatchCapacity = *(int*)ppResult; m_iPoolMatchCapacity += ExtNode_i::MAX_DOCS; return true; case EXTRA_SET_MATCHPUSHED: m_tFactorPool.AddRef ( *(SphDocID_t*)ppResult ); return true; case EXTRA_SET_MATCHPOPPED: { const CSphTightVector & dReleased = *(CSphTightVector*)ppResult; ARRAY_FOREACH ( i, dReleased ) m_tFactorPool.Release ( dReleased[i] ); } return true; case EXTRA_GET_DATA_PACKEDFACTORS: *ppResult = m_tFactorPool.GetHashPtr(); return true; case EXTRA_GET_DATA_RANKER_STATE: { SphExtraDataRankerState_t * pState = (SphExtraDataRankerState_t *)ppResult; pState->m_iFields = m_iFields; pState->m_pSchema = m_pSchema; pState->m_pFieldLens = m_pFieldLens; pState->m_iTotalDocuments = m_iTotalDocuments; pState->m_tFieldLensLoc = m_tFieldLensLoc; pState->m_iMaxQpos = m_iMaxQpos; } return true; case EXTRA_GET_POOL_SIZE: if_const ( NEED_PACKEDFACTORS ) { *(int64_t*)ppResult = (int64_t)GetMaxPackedLength() * m_iPoolMatchCapacity; return true; } else return false; default: return false; } } else return false; } /// finish document processing, compute weight from factors template < bool NEED_PACKEDFACTORS, bool HANDLE_DUPES > DWORD RankerState_Expr_fn::Finalize ( const CSphMatch & tMatch ) { #ifndef NDEBUG // sanity check for ( int i=0; iIntEval ( tMatch ) : (DWORD)m_pExpr->Eval ( tMatch ); if_const ( HANDLE_DUPES ) { m_uCurPos = 0; m_uLcsTailPos = 0; m_uLcsTailQposMask = 0; m_uCurQposMask = 0; } // cleanup ResetDocFactors(); memset ( m_dLCCS, 0 , sizeof(m_dLCCS) ); memset ( m_dWLCCS, 0, sizeof(m_dWLCCS) ); m_iQueryPosLCCS = 0; m_iHitPosLCCS = 0; m_iLenLCCS = 0; m_fWeightLCCS = 0.0f; // done return uRes; } template < bool NEED_PACKEDFACTORS, bool HANDLE_DUPES > bool RankerState_Expr_fn::IsTermSkipped ( int iTerm ) { assert ( iTerm>=0 && iTerm float RankerState_Expr_fn::TermTC ( int iTerm, bool bLeft ) { // border case short-cut if ( ( bLeft && iTerm==m_iAtcHitStart ) || ( !bLeft && iTerm==m_iAtcHitStart+m_iAtcHitCount-1 ) ) return 0.0f; int iRing = iTerm % XRANK_ATC_BUFFER_LEN; int iHitpos = m_dAtcHits[iRing].m_iHitpos; WORD uQuerypos = m_dAtcHits[iRing].m_uQuerypos; m_dAtcProcessedTerms.Clear(); float fTC = 0.0f; // loop bounds for down \ up climbing int iStart, iEnd, iStep; if ( bLeft ) { iStart = iTerm - 1; iEnd = Max ( iStart - XRANK_ATC_WINDOW_LEN, m_iAtcHitStart-1 ); iStep = -1; } else { iStart = iTerm + 1; iEnd = Min ( iStart + XRANK_ATC_WINDOW_LEN, m_iAtcHitStart + m_iAtcHitCount ); iStep = 1; } int iFound = 0; for ( int i=iStart; i!=iEnd && iFound!=m_iMaxQpos; i+=iStep ) { iRing = i % XRANK_ATC_BUFFER_LEN; const AtcHit_t & tCur = m_dAtcHits[iRing]; bool bGotDup = ( uQuerypos==tCur.m_uQuerypos ); if ( m_dAtcProcessedTerms.BitGet ( tCur.m_uQuerypos ) || iHitpos==tCur.m_iHitpos ) continue; float fWeightedDist = (float)pow ( float ( abs ( iHitpos - tCur.m_iHitpos ) ), XRANK_ATC_EXP ); float fTermTC = ( m_dIDF[tCur.m_uQuerypos] / fWeightedDist ); if ( bGotDup ) fTermTC *= XRANK_ATC_DUP_DIV; fTC += fTermTC; m_dAtcProcessedTerms.BitSet ( tCur.m_uQuerypos ); iFound++; } return fTC; } template < bool NEED_PACKEDFACTORS, bool HANDLE_DUPES > void RankerState_Expr_fn::UpdateATC ( bool bFlushField ) { if ( !m_iAtcHitCount ) return; int iWindowStart = m_iAtcHitStart + XRANK_ATC_WINDOW_LEN; int iWindowEnd = Min ( iWindowStart + XRANK_ATC_WINDOW_LEN, m_iAtcHitStart+m_iAtcHitCount ); // border cases (hits: +below ATC window collected since start of buffer; +at the end of buffer and less then ATC window) if ( !m_bAtcHeadProcessed ) iWindowStart = m_iAtcHitStart; if ( bFlushField ) iWindowEnd = m_iAtcHitStart+m_iAtcHitCount; assert ( iWindowStart=m_iAtcHitStart && iWindowEnd<=m_iAtcHitStart+m_iAtcHitCount ); // per term ATC // sigma(t' E query) ( idf(t') \ left_deltapos(t, t')^z + idf (t') \ right_deltapos(t,t')^z ) * ( t==t' ? 0.25 : 1 ) for ( int iWinPos=iWindowStart; iWinPos class ExtRanker_Expr_T : public ExtRanker_T< RankerState_Expr_fn > { public: ExtRanker_Expr_T ( const XQQuery_t & tXQ, const ISphQwordSetup & tSetup, const char * sExpr, const CSphSchema & tSchema ) : ExtRanker_T< RankerState_Expr_fn > ( tXQ, tSetup ) { // tricky bit, we stash the pointer to expr here, but it will be parsed // somewhat later during InitState() call, when IDFs etc are computed this->m_tState.m_sExpr = sExpr; this->m_tState.m_pSchema = &tSchema; } void SetQwordsIDF ( const ExtQwordsHash_t & hQwords ) { ExtRanker_T< RankerState_Expr_fn >::SetQwordsIDF ( hQwords ); this->m_tState.m_iMaxQpos = this->m_iMaxQpos; this->m_tState.SetQwords ( hQwords ); } virtual int GetMatches () { if_const ( NEED_PACKEDFACTORS ) this->m_tState.FlushMatches (); return ExtRanker_T >::GetMatches (); } virtual void SetTermDupes ( const ExtQwordsHash_t & hQwords, int iMaxQpos ) { this->m_tState.SetTermDupes ( hQwords, iMaxQpos, this->m_pRoot ); } }; ////////////////////////////////////////////////////////////////////////// // EXPRESSION FACTORS EXPORT RANKER ////////////////////////////////////////////////////////////////////////// /// ranker state that computes BM25 as weight, but also all known factors for export purposes struct RankerState_Export_fn : public RankerState_Expr_fn<> { public: CSphOrderedHash < CSphString, SphDocID_t, IdentityHash_fn, 256 > m_hFactors; public: DWORD Finalize ( const CSphMatch & tMatch ) { // finalize factor computations FinalizeDocFactors ( tMatch ); // build document level factors // FIXME? should we build query level factors too? max_lcs, query_word_count, etc const int MAX_STR_LEN = 1024; CSphVector dVal; dVal.Resize ( MAX_STR_LEN ); snprintf ( dVal.Begin(), dVal.GetLength(), "bm25=%d, bm25a=%f, field_mask=%d, doc_word_count=%d", m_uDocBM25, m_fDocBM25A, *m_tMatchedFields.Begin(), m_uDocWordCount ); char sTmp[MAX_STR_LEN]; // build field level factors for ( int i=0; iIntEval ( tMatch ) : (DWORD)m_pExpr->Eval ( tMatch ); // cleanup and return! ResetDocFactors(); return uRes; } virtual bool ExtraDataImpl ( ExtraData_e eType, void ** ppResult ) { if ( eType==EXTRA_GET_DATA_RANKFACTORS ) *ppResult = &m_hFactors; return true; } }; /// export ranker that emits BM25 as the weight, but computes and export all the factors /// useful for research purposes, eg. exporting the data for machine learning class ExtRanker_Export_c : public ExtRanker_T { public: ExtRanker_Export_c ( const XQQuery_t & tXQ, const ISphQwordSetup & tSetup, const char * sExpr, const CSphSchema & tSchema ) : ExtRanker_T ( tXQ, tSetup ) { m_tState.m_sExpr = sExpr; m_tState.m_pSchema = &tSchema; } void SetQwordsIDF ( const ExtQwordsHash_t & hQwords ) { ExtRanker_T::SetQwordsIDF ( hQwords ); m_tState.m_iMaxQpos = m_iMaxQpos; m_tState.SetQwords ( hQwords ); } }; ////////////////////////////////////////////////////////////////////////// // RANKER FACTORY ////////////////////////////////////////////////////////////////////////// static void CheckQueryWord ( const char * szWord, CSphQueryResult * pResult, const CSphIndexSettings & tSettings ) { if ( ( !tSettings.m_iMinPrefixLen && !tSettings.m_iMinInfixLen ) || !szWord ) return; int iLen = strlen ( szWord ); bool bHeadStar = szWord[0]=='*'; bool bTailStar = szWord[iLen-1]=='*'; int iLenWOStars = iLen - ( bHeadStar ? 1 : 0 ) - ( bTailStar ? 1 : 0 ); if ( bHeadStar || bTailStar ) { if ( tSettings.m_iMinInfixLen > 0 && iLenWOStars < tSettings.m_iMinInfixLen ) pResult->m_sWarning.SetSprintf ( "Query word length is less than min infix length. word: '%s' ", szWord ); else if ( tSettings.m_iMinPrefixLen > 0 && iLenWOStars < tSettings.m_iMinPrefixLen ) pResult->m_sWarning.SetSprintf ( "Query word length is less than min prefix length. word: '%s' ", szWord ); } } static void CheckExtendedQuery ( const XQNode_t * pNode, CSphQueryResult * pResult, const CSphIndexSettings & tSettings ) { ARRAY_FOREACH ( i, pNode->m_dWords ) CheckQueryWord ( pNode->m_dWords[i].m_sWord.cstr(), pResult, tSettings ); ARRAY_FOREACH ( i, pNode->m_dChildren ) CheckExtendedQuery ( pNode->m_dChildren[i], pResult, tSettings ); } struct ExtQwordOrderbyQueryPos_t { bool IsLess ( const ExtQword_t * pA, const ExtQword_t * pB ) const { return pA->m_iQueryPosm_iQueryPos; } }; static bool HasQwordDupes ( XQNode_t * pNode, SmallStringHash_T & hQwords ) { ARRAY_FOREACH ( i, pNode->m_dChildren ) if ( HasQwordDupes ( pNode->m_dChildren[i], hQwords ) ) return true; ARRAY_FOREACH ( i, pNode->m_dWords ) if ( !hQwords.Add ( 1, pNode->m_dWords[i].m_sWord ) ) return true; return false; } static bool HasQwordDupes ( XQNode_t * pNode ) { SmallStringHash_T hQwords; return HasQwordDupes ( pNode, hQwords ); } ISphRanker * sphCreateRanker ( const XQQuery_t & tXQ, const CSphQuery * pQuery, CSphQueryResult * pResult, const ISphQwordSetup & tTermSetup, const CSphQueryContext & tCtx ) { // shortcut const CSphIndex * pIndex = tTermSetup.m_pIndex; // check the keywords CheckExtendedQuery ( tXQ.m_pRoot, pResult, pIndex->GetSettings() ); // fill payload mask DWORD uPayloadMask = 0; ARRAY_FOREACH ( i, pIndex->GetMatchSchema().m_dFields ) uPayloadMask |= pIndex->GetMatchSchema().m_dFields[i].m_bPayload << i; bool bGotDupes = HasQwordDupes ( tXQ.m_pRoot ); // setup eval-tree ExtRanker_c * pRanker = NULL; switch ( pQuery->m_eRanker ) { case SPH_RANK_PROXIMITY_BM25: if ( uPayloadMask ) pRanker = new ExtRanker_T < RankerState_ProximityPayload_fn > ( tXQ, tTermSetup ); else if ( tXQ.m_bSingleWord ) pRanker = new ExtRanker_WeightSum_c ( tXQ, tTermSetup ); else if ( bGotDupes ) pRanker = new ExtRanker_T < RankerState_Proximity_fn > ( tXQ, tTermSetup ); else pRanker = new ExtRanker_T < RankerState_Proximity_fn > ( tXQ, tTermSetup ); break; case SPH_RANK_BM25: pRanker = new ExtRanker_WeightSum_c ( tXQ, tTermSetup ); break; case SPH_RANK_NONE: pRanker = new ExtRanker_None_c ( tXQ, tTermSetup ); break; case SPH_RANK_WORDCOUNT: pRanker = new ExtRanker_T < RankerState_Wordcount_fn > ( tXQ, tTermSetup ); break; case SPH_RANK_PROXIMITY: if ( tXQ.m_bSingleWord ) pRanker = new ExtRanker_WeightSum_c<> ( tXQ, tTermSetup ); else if ( bGotDupes ) pRanker = new ExtRanker_T < RankerState_Proximity_fn > ( tXQ, tTermSetup ); else pRanker = new ExtRanker_T < RankerState_Proximity_fn > ( tXQ, tTermSetup ); break; case SPH_RANK_MATCHANY: pRanker = new ExtRanker_T < RankerState_MatchAny_fn > ( tXQ, tTermSetup ); break; case SPH_RANK_FIELDMASK: pRanker = new ExtRanker_T < RankerState_Fieldmask_fn > ( tXQ, tTermSetup ); break; case SPH_RANK_SPH04: pRanker = new ExtRanker_T < RankerState_ProximityBM25Exact_fn > ( tXQ, tTermSetup ); break; case SPH_RANK_EXPR: { // we need that mask in case these factors usage: // min_idf,max_idf,sum_idf,hit_count,word_count,doc_word_count,tf_idf,tf,field_tf // however ranker expression got parsed later at Init stage // FIXME!!! move QposMask initialization past Init tTermSetup.m_bSetQposMask = true; bool bNeedFactors = !!(tCtx.m_uPackedFactorFlags & SPH_FACTOR_ENABLE); if ( bNeedFactors && bGotDupes ) pRanker = new ExtRanker_Expr_T ( tXQ, tTermSetup, pQuery->m_sRankerExpr.cstr(), pIndex->GetMatchSchema() ); else if ( bNeedFactors && !bGotDupes ) pRanker = new ExtRanker_Expr_T ( tXQ, tTermSetup, pQuery->m_sRankerExpr.cstr(), pIndex->GetMatchSchema() ); else if ( !bNeedFactors && bGotDupes ) pRanker = new ExtRanker_Expr_T ( tXQ, tTermSetup, pQuery->m_sRankerExpr.cstr(), pIndex->GetMatchSchema() ); else if ( !bNeedFactors && !bGotDupes ) pRanker = new ExtRanker_Expr_T ( tXQ, tTermSetup, pQuery->m_sRankerExpr.cstr(), pIndex->GetMatchSchema() ); } break; case SPH_RANK_EXPORT: // TODO: replace Export ranker to Expression ranker to remove duplicated code tTermSetup.m_bSetQposMask = true; pRanker = new ExtRanker_Export_c ( tXQ, tTermSetup, pQuery->m_sRankerExpr.cstr(), pIndex->GetMatchSchema() ); break; default: pResult->m_sWarning.SetSprintf ( "unknown ranking mode %d; using default", (int)pQuery->m_eRanker ); if ( bGotDupes ) pRanker = new ExtRanker_T < RankerState_Proximity_fn > ( tXQ, tTermSetup ); else pRanker = new ExtRanker_T < RankerState_Proximity_fn > ( tXQ, tTermSetup ); break; case SPH_RANK_PLUGIN: { const PluginRanker_c * p = (const PluginRanker_c *) sphPluginGet ( PLUGIN_RANKER, pQuery->m_sUDRanker.cstr() ); // might be a case for query to distributed index if ( p ) { pRanker = new ExtRanker_T < RankerState_Plugin_fn > ( tXQ, tTermSetup ); pRanker->ExtraData ( EXTRA_SET_RANKER_PLUGIN, (void**)p ); pRanker->ExtraData ( EXTRA_SET_RANKER_PLUGIN_OPTS, (void**)pQuery->m_sUDRankerOpts.cstr() ); } else { // create default ranker in case of missed plugin pResult->m_sWarning.SetSprintf ( "unknown ranker plugin '%s'; using default", pQuery->m_sUDRanker.cstr() ); if ( bGotDupes ) pRanker = new ExtRanker_T < RankerState_Proximity_fn > ( tXQ, tTermSetup ); else pRanker = new ExtRanker_T < RankerState_Proximity_fn > ( tXQ, tTermSetup ); } } break; } assert ( pRanker ); pRanker->m_uPayloadMask = uPayloadMask; // setup IDFs ExtQwordsHash_t hQwords; int iMaxQpos = pRanker->GetQwords ( hQwords ); const int iQwords = hQwords.GetLength (); int64_t iTotalDocuments = pIndex->GetStats().m_iTotalDocuments; if ( tCtx.m_pLocalDocs ) iTotalDocuments = tCtx.m_iTotalDocs; CSphVector dWords; dWords.Reserve ( hQwords.GetLength() ); hQwords.IterateStart (); while ( hQwords.IterateNext() ) { ExtQword_t & tWord = hQwords.IterateGet (); int64_t iTermDocs = tWord.m_iDocs; // shared docs count if ( tCtx.m_pLocalDocs ) { int64_t * pDocs = (*tCtx.m_pLocalDocs)( tWord.m_sWord ); if ( pDocs ) iTermDocs = *pDocs; } // build IDF float fIDF = 0.0f; if ( pQuery->m_bGlobalIDF ) fIDF = pIndex->GetGlobalIDF ( tWord.m_sWord, iTermDocs, pQuery->m_bPlainIDF ); else if ( iTermDocs ) { // (word_docs > total_docs) case *is* occasionally possible // because of dupes, or delayed purging in RT, etc // FIXME? we don't expect over 4G docs per just 1 local index const int64_t iTotalClamped = Max ( iTotalDocuments, iTermDocs ); if ( !pQuery->m_bPlainIDF ) { // bm25 variant, idf = log((N-n+1)/n), as per Robertson et al // // idf \in [-log(N), log(N)] // weight \in [-NumWords*log(N), NumWords*log(N)] // we want weight \in [0, 1] range // we prescale idfs and get weight \in [-0.5, 0.5] range // then add 0.5 as our final step // // for the record, idf = log((N-n+0.5)/(n+0.5)) in the original paper // but our variant is a bit easier to compute, and has a better (symmetric) range float fLogTotal = logf ( float ( 1+iTotalClamped ) ); fIDF = logf ( float ( iTotalClamped-iTermDocs+1 ) / float ( iTermDocs ) ) / ( 2*fLogTotal ); } else { // plain variant, idf=log(N/n), as per Sparck-Jones // // idf \in [0, log(N)] // weight \in [0, NumWords*log(N)] // we prescale idfs and get weight in [0, 0.5] range // then add 0.5 as our final step float fLogTotal = logf ( float ( 1+iTotalClamped ) ); fIDF = logf ( float ( iTotalClamped ) / float ( iTermDocs ) ) / ( 2*fLogTotal ); } } // optionally normalize IDFs so that sum(TF*IDF) fits into [0, 1] if ( pQuery->m_bNormalizedTFIDF ) fIDF /= iQwords; tWord.m_fIDF = fIDF * tWord.m_fBoost; dWords.Add ( &tWord ); } dWords.Sort ( ExtQwordOrderbyQueryPos_t() ); ARRAY_FOREACH ( i, dWords ) { const ExtQword_t * pWord = dWords[i]; if ( !pWord->m_bExpanded ) pResult->AddStat ( pWord->m_sDictWord, pWord->m_iDocs, pWord->m_iHits ); } pRanker->m_iMaxQpos = iMaxQpos; pRanker->SetQwordsIDF ( hQwords ); if ( bGotDupes ) pRanker->SetTermDupes ( hQwords, iMaxQpos ); if ( !pRanker->InitState ( tCtx, pResult->m_sError ) ) SafeDelete ( pRanker ); return pRanker; } ////////////////////////////////////////////////////////////////////////// /// HIT MARKER ////////////////////////////////////////////////////////////////////////// void CSphHitMarker::Mark ( CSphVector & dMarked ) { if ( !m_pRoot ) return; const ExtHit_t * pHits = NULL; const ExtDoc_t * pDocs = NULL; pDocs = m_pRoot->GetDocsChunk(); if ( !pDocs ) return; for ( ;; ) { pHits = m_pRoot->GetHitsChunk ( pDocs ); if ( !pHits ) break; for ( ; pHits->m_uDocid!=DOCID_MAX; pHits++ ) { SphHitMark_t tMark; tMark.m_uPosition = HITMAN::GetPos ( pHits->m_uHitpos ); tMark.m_uSpan = pHits->m_uMatchlen; dMarked.Add ( tMark ); } } } CSphHitMarker::~CSphHitMarker () { SafeDelete ( m_pRoot ); } CSphHitMarker * CSphHitMarker::Create ( const XQNode_t * pRoot, const ISphQwordSetup & tSetup ) { ExtNode_i * pNode = NULL; if ( pRoot ) pNode = ExtNode_i::Create ( pRoot, tSetup ); if ( !pRoot || pNode ) { CSphHitMarker * pMarker = new CSphHitMarker; pMarker->m_pRoot = pNode; return pMarker; } return NULL; } ////////////////////////////////////////////////////////////////////////// // INTRA-BATCH CACHING ////////////////////////////////////////////////////////////////////////// /// container that does intra-batch query-sub-tree caching /// actually carries the cached data, NOT to be recreated frequently (see thin wrapper below) class NodeCacheContainer_t { private: friend class ExtNodeCached_t; friend class CSphQueryNodeCache; private: int m_iRefCount; bool m_StateOk; const ISphQwordSetup * m_pSetup; CSphVector m_Docs; CSphVector m_Hits; CSphVector m_InlineAttrs; int m_iAtomPos; // minimal position from original donor, used for shifting CSphQueryNodeCache * m_pNodeCache; public: NodeCacheContainer_t () : m_iRefCount ( 1 ) , m_StateOk ( true ) , m_pSetup ( NULL ) , m_iAtomPos ( 0 ) , m_pNodeCache ( NULL ) {} public: void Release() { if ( --m_iRefCount<=0 ) Invalidate(); } ExtNode_i * CreateCachedWrapper ( ExtNode_i* pChild, const XQNode_t * pRawChild, const ISphQwordSetup & tSetup ); private: bool WarmupCache ( ExtNode_i * pChild, int iQWords ); void Invalidate(); }; /// cached node wrapper to be injected into actual search trees /// (special container actually carries all the data and does the work, see below) class ExtNodeCached_t : public ExtNode_i { friend class NodeCacheContainer_t; NodeCacheContainer_t * m_pNode; ExtDoc_t * m_pHitDoc; ///< points to entry in m_dDocs which GetHitsChunk() currently emits hits for SphDocID_t m_uHitsOverFor; ///< there are no more hits for matches block starting with this ID CSphString * m_pWarning; int64_t m_iMaxTimer; ///< work until this timestamp int m_iHitIndex; ///< store the current position in m_Hits for GetHitsChunk() int m_iDocIndex; ///< store the current position in m_Docs for GetDocsChunk() ExtNode_i * m_pChild; ///< pointer to donor for the sake of AtomPos procession int m_iQwords; ///< number of tokens in parent query void StepForwardToHitsFor ( SphDocID_t uDocId ); // creation possible ONLY via NodeCacheContainer_t explicit ExtNodeCached_t ( NodeCacheContainer_t * pNode, ExtNode_i * pChild ) : m_pNode ( pNode ) , m_pHitDoc ( NULL ) , m_uHitsOverFor ( 0 ) , m_pWarning ( NULL ) , m_iMaxTimer ( 0 ) , m_iHitIndex ( 0 ) , m_iDocIndex ( 0 ) , m_pChild ( pChild ) , m_iQwords ( 0 ) { m_iAtomPos = pChild->m_iAtomPos; } public: virtual ~ExtNodeCached_t () { SafeDelete ( m_pChild ); SafeRelease ( m_pNode ); } virtual void Reset ( const ISphQwordSetup & tSetup ) { if ( m_pChild ) m_pChild->Reset ( tSetup ); m_iHitIndex = 0; m_iDocIndex = 0; m_uHitsOverFor = 0; m_pHitDoc = NULL; m_iMaxTimer = 0; m_iMaxTimer = tSetup.m_iMaxTimer; m_pWarning = tSetup.m_pWarning; } virtual void HintDocid ( SphDocID_t ) {} virtual const ExtDoc_t * GetDocsChunk(); virtual const ExtHit_t * GetHitsChunk ( const ExtDoc_t * pMatched ); virtual int GetQwords ( ExtQwordsHash_t & hQwords ) { if ( !m_pChild ) return -1; int iChildAtom = m_pChild->GetQwords ( hQwords ); if ( iChildAtom<0 ) return -1; return m_iAtomPos + iChildAtom; } virtual void SetQwordsIDF ( const ExtQwordsHash_t & hQwords ) { m_iQwords = hQwords.GetLength(); if ( m_pNode->m_pSetup ) { if ( m_pChild ) m_pChild->SetQwordsIDF ( hQwords ); m_pNode->WarmupCache ( m_pChild, m_iQwords ); } } virtual void GetTerms ( const ExtQwordsHash_t & hQwords, CSphVector & dTermDupes ) const { if ( m_pChild ) m_pChild->GetTerms ( hQwords, dTermDupes ); } virtual bool GotHitless () { return ( m_pChild ) ? m_pChild->GotHitless() : false; } virtual uint64_t GetWordID() const { if ( m_pChild ) return m_pChild->GetWordID(); else return 0; } }; ExtNode_i * NodeCacheContainer_t::CreateCachedWrapper ( ExtNode_i * pChild, const XQNode_t * pRawChild, const ISphQwordSetup & tSetup ) { if ( !m_StateOk ) return pChild; // wow! we have a virgin! if ( !m_Docs.GetLength() ) { m_iRefCount = pRawChild->GetCount(); m_pSetup = &tSetup; } return new ExtNodeCached_t ( this, pChild ); } bool NodeCacheContainer_t::WarmupCache ( ExtNode_i * pChild, int iQwords ) { assert ( pChild ); assert ( m_pSetup ); m_iAtomPos = pChild->m_iAtomPos; const ExtDoc_t * pChunk = pChild->GetDocsChunk(); int iStride = 0; if ( pChunk && pChunk->m_pDocinfo ) iStride = pChild->m_iStride; while ( pChunk ) { const ExtDoc_t * pChunkHits = pChunk; bool iHasDocs = false; for ( ; pChunk->m_uDocid!=DOCID_MAX; pChunk++ ) { m_Docs.Add ( *pChunk ); // exclude number or Qwords from FIDF m_Docs.Last().m_fTFIDF *= iQwords; m_pNodeCache->m_iMaxCachedDocs--; if ( iStride>0 ) { // since vector will relocate the data on resize, do NOT fill new m_pDocinfo right now int iLen = m_InlineAttrs.GetLength(); m_InlineAttrs.Resize ( iLen+iStride ); memcpy ( &m_InlineAttrs[iLen], pChunk->m_pDocinfo, iStride*sizeof(CSphRowitem) ); } iHasDocs = true; } const ExtHit_t * pHits = NULL; if ( iHasDocs ) { while ( ( pHits = pChild->GetHitsChunk ( pChunkHits ) )!=NULL ) { for ( ; pHits->m_uDocid!=DOCID_MAX; pHits++ ) { m_Hits.Add ( *pHits ); m_pNodeCache->m_iMaxCachedHits--; } } } // too many values, stop caching if ( m_pNodeCache->m_iMaxCachedDocs<0 || m_pNodeCache->m_iMaxCachedHits<0 ) { Invalidate (); pChild->Reset ( *m_pSetup ); m_pSetup = NULL; return false; } pChunk = pChild->GetDocsChunk(); } if ( iStride ) ARRAY_FOREACH ( i, m_Docs ) m_Docs[i].m_pDocinfo = &m_InlineAttrs[i*iStride]; m_Docs.Add().m_uDocid = DOCID_MAX; m_Hits.Add().m_uDocid = DOCID_MAX; pChild->Reset ( *m_pSetup ); m_pSetup = NULL; return true; } void NodeCacheContainer_t::Invalidate() { m_pNodeCache->m_iMaxCachedDocs += m_Docs.GetLength(); m_pNodeCache->m_iMaxCachedHits += m_Docs.GetLength(); m_Docs.Reset(); m_InlineAttrs.Reset(); m_Hits.Reset(); m_StateOk = false; } void ExtNodeCached_t::StepForwardToHitsFor ( SphDocID_t uDocId ) { assert ( m_pNode ); assert ( m_pNode->m_StateOk ); CSphVector & dHits = m_pNode->m_Hits; int iEnd = dHits.GetLength()-1; if ( m_iHitIndex>=iEnd ) return; if ( dHits[m_iHitIndex].m_uDocid==uDocId ) return; // binary search for lower (most left) bound of the subset of values int iHitIndex = m_iHitIndex; // http://blog.gamedeff.com/?p=12 while ( iEnd-iHitIndex>1 ) { if ( uDocIddHits[iEnd].m_uDocid ) { m_iHitIndex = -1; return; } int iMid = iHitIndex + (iEnd-iHitIndex)/2; if ( dHits[iMid].m_uDocid>=uDocId ) iEnd = iMid; else iHitIndex = iMid; } m_iHitIndex = iEnd; } const ExtDoc_t * ExtNodeCached_t::GetDocsChunk() { if ( !m_pNode || !m_pChild ) return NULL; if ( !m_pNode->m_StateOk ) return m_pChild->GetDocsChunk(); if ( m_iMaxTimer>0 && sphMicroTimer()>=m_iMaxTimer ) { if ( m_pWarning ) *m_pWarning = "query time exceeded max_query_time"; return NULL; } int iDoc = Min ( m_iDocIndex+MAX_DOCS-1, m_pNode->m_Docs.GetLength()-1 ) - m_iDocIndex; memcpy ( &m_dDocs[0], &m_pNode->m_Docs[m_iDocIndex], sizeof(ExtDoc_t)*iDoc ); m_iDocIndex += iDoc; // funny trick based on the formula of FIDF calculation. for ( int i=0; im_StateOk ) return m_pChild->GetHitsChunk ( pMatched ); if ( !pMatched ) return NULL; SphDocID_t uFirstMatch = pMatched->m_uDocid; // aim to the right document ExtDoc_t * pDoc = m_pHitDoc; m_pHitDoc = NULL; if ( !pDoc ) { // if we already emitted hits for this matches block, do not do that again if ( uFirstMatch==m_uHitsOverFor ) return NULL; // find match pDoc = m_dDocs; do { while ( pDoc->m_uDocid < pMatched->m_uDocid ) pDoc++; if ( pDoc->m_uDocid==DOCID_MAX ) { m_uHitsOverFor = uFirstMatch; return NULL; // matched docs block is over for me, gimme another one } while ( pMatched->m_uDocid < pDoc->m_uDocid ) pMatched++; if ( pMatched->m_uDocid==DOCID_MAX ) { m_uHitsOverFor = uFirstMatch; return NULL; // matched doc block did not yet begin for me, gimme another one } } while ( pDoc->m_uDocid!=pMatched->m_uDocid ); // setup hitlist reader StepForwardToHitsFor ( pDoc->m_uDocid ); } // hit emission int iHit = 0; while ( iHitm_Hits[m_iHitIndex]; if ( tCachedHit.m_uDocid==DOCID_MAX ) break; if ( tCachedHit.m_uDocid!=pDoc->m_uDocid ) { // no more hits; get next acceptable document pDoc++; do { while ( pDoc->m_uDocid < pMatched->m_uDocid ) pDoc++; if ( pDoc->m_uDocid==DOCID_MAX ) { pDoc = NULL; break; } // matched docs block is over for me, gimme another one while ( pMatched->m_uDocid < pDoc->m_uDocid ) pMatched++; if ( pMatched->m_uDocid==DOCID_MAX ) { pDoc = NULL; break; } // matched doc block did not yet begin for me, gimme another one } while ( pDoc->m_uDocid!=pMatched->m_uDocid ); if ( !pDoc ) break; assert ( pDoc->m_uDocid==pMatched->m_uDocid ); // setup hitlist reader StepForwardToHitsFor ( pDoc->m_uDocid ); continue; } m_iHitIndex++; m_dHits[iHit] = tCachedHit; m_dHits[iHit].m_uQuerypos = (WORD)( tCachedHit.m_uQuerypos + m_iAtomPos - m_pNode->m_iAtomPos ); iHit++; } m_pHitDoc = pDoc; if ( iHit==0 || iHit=0 && iHit0 && iMaxCachedHits>0 && iMaxCachedDocs>0 ) { m_pPool = new NodeCacheContainer_t [ iCells ]; for ( int i=0; iGetOrder() ].CreateCachedWrapper ( pChild, pRawChild, tSetup ); } // // $Id$ // sphinx-2.2.11-release/src/sphinxrt.h0000644000175000017500000000757612743402012016715 0ustar alexeyalexey// // $Id$ // // // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License. You should have // received a copy of the GPL license along with this program; if you // did not, you can find it at http://www.gnu.org/ // #ifndef _sphinxrt_ #define _sphinxrt_ #include "sphinx.h" #include "sphinxutils.h" #include "sphinxstem.h" struct CSphReconfigureSettings; struct CSphReconfigureSetup; /// RAM based updateable backend interface class ISphRtIndex : public CSphIndex { public: explicit ISphRtIndex ( const char * sIndexName, const char * sFileName ) : CSphIndex ( sIndexName, sFileName ) {} /// get internal schema (to use for Add calls) virtual const CSphSchema & GetInternalSchema () const { return m_tSchema; } /// insert/update document in current txn /// fails in case of two open txns to different indexes virtual bool AddDocument ( int iFields, const char ** ppFields, const CSphMatch & tDoc, bool bReplace, const CSphString & sTokenFilterOptions, const char ** ppStr, const CSphVector & dMvas, CSphString & sError, CSphString & sWarning ) = 0; /// insert/update document in current txn /// fails in case of two open txns to different indexes virtual bool AddDocument ( ISphHits * pHits, const CSphMatch & tDoc, const char ** ppStr, const CSphVector & dMvas, CSphString & sError, CSphString & sWarning ) = 0; /// delete document in current txn /// fails in case of two open txns to different indexes virtual bool DeleteDocument ( const SphDocID_t * pDocs, int iDocs, CSphString & sError ) = 0; /// commit pending changes virtual void Commit ( int * pDeleted=NULL ) = 0; /// undo pending changes virtual void RollBack () = 0; /// check and periodically flush RAM chunk to disk virtual void CheckRamFlush () = 0; /// forcibly flush RAM chunk to disk virtual void ForceRamFlush ( bool bPeriodic=false ) = 0; /// forcibly save RAM chunk as a new disk chunk virtual void ForceDiskChunk () = 0; /// attach a disk chunk to current index virtual bool AttachDiskIndex ( CSphIndex * pIndex, CSphString & sError ) = 0; /// truncate index (that is, kill all data) virtual bool Truncate ( CSphString & sError ) = 0; virtual void Optimize ( volatile bool * pForceTerminate, ThrottleState_t * pThrottle ) = 0; /// check settings vs current and return back tokenizer and dictionary in case of difference virtual bool IsSameSettings ( CSphReconfigureSettings & tSettings, CSphReconfigureSetup & tSetup, CSphString & sError ) const = 0; /// reconfigure index by using new tokenizer, dictionary and index settings /// current data got saved with current settings virtual void Reconfigure ( CSphReconfigureSetup & tSetup ) = 0; /// get disk chunk virtual CSphIndex * GetDiskChunk ( int iChunk ) = 0; }; /// initialize subsystem class CSphConfigSection; void sphRTInit ( const CSphConfigSection & hSearchd, bool bTestMode ); void sphRTConfigure ( const CSphConfigSection & hSearchd, bool bTestMode ); bool sphRTSchemaConfigure ( const CSphConfigSection & hIndex, CSphSchema * pSchema, CSphString * pError ); /// deinitialize subsystem void sphRTDone (); /// RT index factory ISphRtIndex * sphCreateIndexRT ( const CSphSchema & tSchema, const char * sIndexName, int64_t iRamSize, const char * sPath, bool bKeywordDict ); /// Get current txn index ISphRtIndex * sphGetCurrentIndexRT(); typedef void ProgressCallbackSimple_t (); ////////////////////////////////////////////////////////////////////////// enum ESphBinlogReplayFlags { SPH_REPLAY_ACCEPT_DESC_TIMESTAMP = 1, SPH_REPLAY_IGNORE_OPEN_ERROR = 2 }; /// replay stored binlog void sphReplayBinlog ( const SmallStringHash_T & hIndexes, DWORD uReplayFlags, ProgressCallbackSimple_t * pfnProgressCallback=NULL ); #endif // _sphinxrt_ // // $Id$ // sphinx-2.2.11-release/src/sphinxrt.cpp0000644000175000017500000113210712743402012017236 0ustar alexeyalexey// // $Id$ // // // Copyright (c) 2001-2016, Andrew Aksyonoff // Copyright (c) 2008-2016, Sphinx Technologies Inc // All rights reserved // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License. You should have // received a copy of the GPL license along with this program; if you // did not, you can find it at http://www.gnu.org/ // #include "sphinx.h" #include "sphinxint.h" #include "sphinxrt.h" #include "sphinxsearch.h" #include "sphinxutils.h" #include "sphinxjson.h" #include "sphinxplugin.h" #include #include #if USE_WINDOWS #include // for open(), close() #include #else #include #include #endif ////////////////////////////////////////////////////////////////////////// #define BINLOG_WRITE_BUFFER 256*1024 #define BINLOG_AUTO_FLUSH 1000000 #define RTDICT_CHECKPOINT_V3 1024 #define RTDICT_CHECKPOINT_V5 48 #define SPH_RT_DOUBLE_BUFFER_PERCENT 10 #if USE_64BIT #define WORDID_MAX U64C(0xffffffffffffffff) #else #define WORDID_MAX 0xffffffffUL #endif ////////////////////////////////////////////////////////////////////////// #ifndef NDEBUG #define Verify(_expr) assert(_expr) #else #define Verify(_expr) _expr #endif ////////////////////////////////////////////////////////////////////////// // GLOBALS ////////////////////////////////////////////////////////////////////////// /// publicly exposed binlog interface ISphBinlog * g_pBinlog = NULL; /// actual binlog implementation class RtBinlog_c; static RtBinlog_c * g_pRtBinlog = NULL; /// protection from concurrent changes during binlog replay static bool g_bRTChangesAllowed = false; ////////////////////////////////////////////////////////////////////////// // !COMMIT cleanup extern ref to sphinx.cpp extern void sphSortDocinfos ( DWORD * pBuf, int iCount, int iStride ); // !COMMIT yes i am when debugging #ifndef NDEBUG #define PARANOID 1 #endif ////////////////////////////////////////////////////////////////////////// // Variable Length Byte (VLB) encoding // store int variable in as much bytes as actually needed to represent it template < typename T, typename P > static inline void ZipT ( CSphVector < BYTE, P > * pOut, T uValue ) { do { BYTE bOut = (BYTE)( uValue & 0x7f ); uValue >>= 7; if ( uValue ) bOut |= 0x80; pOut->Add ( bOut ); } while ( uValue ); } #define SPH_MAX_KEYWORD_LEN (3*SPH_MAX_WORD_LEN+4) STATIC_ASSERT ( SPH_MAX_KEYWORD_LEN<255, MAX_KEYWORD_LEN_SHOULD_FITS_BYTE ); // Variable Length Byte (VLB) decoding template < typename T > static inline const BYTE * UnzipT ( T * pValue, const BYTE * pIn ) { T uValue = 0; BYTE bIn; int iOff = 0; do { bIn = *pIn++; uValue += ( T ( bIn & 0x7f ) ) << iOff; iOff += 7; } while ( bIn & 0x80 ); *pValue = uValue; return pIn; } #define ZipDword ZipT #define ZipQword ZipT #define UnzipDword UnzipT #define UnzipQword UnzipT #if USE_64BIT #define ZipDocid ZipQword #define ZipWordid ZipQword #define UnzipDocid UnzipQword #define UnzipWordid UnzipQword #else #define ZipDocid ZipDword #define ZipWordid ZipDword #define UnzipDocid UnzipDword #define UnzipWordid UnzipDword #endif ////////////////////////////////////////////////////////////////////////// struct CmpHitPlain_fn { inline bool IsLess ( const CSphWordHit & a, const CSphWordHit & b ) { return ( a.m_uWordID struct RtDoc_T { DOCID m_uDocID; ///< my document id DWORD m_uDocFields; ///< fields mask DWORD m_uHits; ///< hit count DWORD m_uHit; ///< either index into segment hits, or the only hit itself (if hit count is 1) }; template < typename WORDID=SphWordID_t > struct RtWord_T { union { WORDID m_uWordID; ///< my keyword id const BYTE * m_sWord; }; DWORD m_uDocs; ///< document count (for stats and/or BM25) DWORD m_uHits; ///< hit count (for stats and/or BM25) DWORD m_uDoc; ///< index into segment docs }; typedef RtDoc_T<> RtDoc_t; typedef RtWord_T<> RtWord_t; struct RtWordCheckpoint_t { union { SphWordID_t m_uWordID; const char * m_sWord; }; int m_iOffset; }; struct Slice_t { DWORD m_uOff; DWORD m_uLen; }; // More than just sorted vector. // OrderedHash is for fast (without sorting potentially big vector) inserts. class CSphKilllist : public ISphNoncopyable { private: static const int MAX_SMALL_SIZE = 512; CSphVector m_dLargeKlist; CSphOrderedHash < bool, SphDocID_t, IdentityHash_fn, MAX_SMALL_SIZE > m_hSmallKlist; CSphRwlock m_tLock; public: CSphKilllist() { m_tLock.Init(); } virtual ~CSphKilllist() { m_tLock.Done(); } void Flush ( CSphVector & dKlist ) { m_tLock.ReadLock(); bool bGotHash = ( m_hSmallKlist.GetLength()>0 ); if ( !bGotHash ) NakedCopy ( dKlist ); m_tLock.Unlock(); if ( !bGotHash ) return; m_tLock.WriteLock(); NakedFlush ( NULL, 0 ); NakedCopy ( dKlist ); m_tLock.Unlock(); } inline void Add ( SphDocID_t * pDocs, int iCount ) { if ( !iCount ) return; m_tLock.WriteLock(); if ( m_hSmallKlist.GetLength()+iCount>=MAX_SMALL_SIZE ) { NakedFlush ( pDocs, iCount ); } else { while ( iCount-- ) m_hSmallKlist.Add ( true, *pDocs++ ); } m_tLock.Unlock(); } bool Exists ( SphDocID_t uDoc ) { m_tLock.ReadLock(); bool bGot = ( m_hSmallKlist.Exists ( uDoc ) || m_dLargeKlist.BinarySearch ( uDoc )!=NULL ); m_tLock.Unlock(); return bGot; } void Reset ( SphDocID_t * pDocs, int iCount ) { m_tLock.WriteLock(); m_dLargeKlist.Reset(); m_hSmallKlist.Reset(); NakedFlush ( pDocs, iCount ); m_tLock.Unlock(); } void LoadFromFile ( const char * sFilename ); void SaveToFile ( const char * sFilename ); private: void NakedCopy ( CSphVector & dKlist ) { assert ( m_hSmallKlist.GetLength()==0 ); if ( !m_dLargeKlist.GetLength() ) return; int iOff = dKlist.GetLength(); dKlist.Resize ( m_dLargeKlist.GetLength()+iOff ); memcpy ( dKlist.Begin()+iOff, m_dLargeKlist.Begin(), sizeof(m_dLargeKlist[0]) * m_dLargeKlist.GetLength() ); } void NakedFlush ( SphDocID_t * pDocs, int iCount ) { if ( m_hSmallKlist.GetLength()==0 && iCount==0 ) return; m_dLargeKlist.Reserve ( m_dLargeKlist.GetLength()+m_hSmallKlist.GetLength()+iCount ); m_hSmallKlist.IterateStart(); while ( m_hSmallKlist.IterateNext() ) m_dLargeKlist.Add ( m_hSmallKlist.IterateGetKey() ); if ( pDocs && iCount ) { int iOff = m_dLargeKlist.GetLength(); m_dLargeKlist.Resize ( iOff+iCount ); memcpy ( m_dLargeKlist.Begin()+iOff, pDocs, sizeof(m_dLargeKlist[0]) * iCount ); } m_dLargeKlist.Uniq(); m_hSmallKlist.Reset(); } }; // is already id32<>id64 safe void CSphKilllist::LoadFromFile ( const char * sFilename ) { Reset ( NULL, 0 ); CSphString sName, sError; sName.SetSprintf ( "%s.kill", sFilename ); if ( !sphIsReadable ( sName.cstr(), &sError ) ) return; CSphAutoreader tKlistReader; if ( !tKlistReader.Open ( sName, sError ) ) return; // FIXME!!! got rid of locks here m_tLock.WriteLock(); m_dLargeKlist.Resize ( tKlistReader.GetDword() ); SphDocID_t uLastDocID = 0; ARRAY_FOREACH ( i, m_dLargeKlist ) { uLastDocID += ( SphDocID_t ) tKlistReader.UnzipOffset(); m_dLargeKlist[i] = uLastDocID; }; m_tLock.Unlock(); } void CSphKilllist::SaveToFile ( const char * sFilename ) { // FIXME!!! got rid of locks here m_tLock.WriteLock(); NakedFlush ( NULL, 0 ); CSphWriter tKlistWriter; CSphString sName, sError; sName.SetSprintf ( "%s.kill", sFilename ); tKlistWriter.OpenFile ( sName.cstr(), sError ); tKlistWriter.PutDword ( m_dLargeKlist.GetLength() ); SphDocID_t uLastDocID = 0; ARRAY_FOREACH ( i, m_dLargeKlist ) { tKlistWriter.ZipOffset ( m_dLargeKlist[i] - uLastDocID ); uLastDocID = ( SphDocID_t ) m_dLargeKlist[i]; }; m_tLock.Unlock(); tKlistWriter.CloseFile(); } struct KlistRefcounted_t { KlistRefcounted_t () : m_dKilled ( 0 ) , m_tRefCount ( 1 ) {} CSphFixedVector m_dKilled; CSphAtomic m_tRefCount; }; // this is what actually stores index data // RAM chunk consists of such segments struct RtSegment_t : ISphNoncopyable { protected: static const int KLIST_ACCUM_THRESH = 32; public: static CSphStaticMutex m_tSegmentSeq; static int m_iSegments; ///< age tag sequence generator (guarded by m_tSegmentSeq) int m_iTag; ///< segment age tag CSphTightVector m_dWords; CSphVector m_dWordCheckpoints; CSphTightVector m_dInfixFilterCP; CSphTightVector m_dDocs; CSphTightVector m_dHits; int m_iRows; ///< number of actually allocated rows int m_iAliveRows; ///< number of alive (non-killed) rows CSphTightVector m_dRows; ///< row data storage KlistRefcounted_t * m_pKlist; bool m_bTlsKlist; ///< whether to apply TLS K-list during merge (must only be used by writer during Commit()) CSphTightVector m_dStrings; ///< strings storage CSphTightVector m_dMvas; ///< MVAs storage CSphVector m_dKeywordCheckpoints; mutable CSphAtomic m_tRefCount; RtSegment_t () { m_tSegmentSeq.Lock (); m_iTag = m_iSegments++; m_tSegmentSeq.Unlock (); m_iRows = 0; m_iAliveRows = 0; m_bTlsKlist = false; m_dStrings.Add ( 0 ); // dummy zero offset m_dMvas.Add ( 0 ); // dummy zero offset m_pKlist = new KlistRefcounted_t(); } ~RtSegment_t () { SafeDelete ( m_pKlist ); } int64_t GetUsedRam () const { // FIXME! gonna break on vectors over 2GB return ( (int64_t)m_dWords.GetLimit() )*sizeof(m_dWords[0]) + ( (int64_t)m_dDocs.GetLimit() )*sizeof(m_dDocs[0]) + ( (int64_t)m_dHits.GetLimit() )*sizeof(m_dHits[0]) + ( (int64_t)m_dStrings.GetLimit() )*sizeof(m_dStrings[0]) + ( (int64_t)m_dMvas.GetLimit() )*sizeof(m_dMvas[0]) + ( (int64_t)m_dKeywordCheckpoints.GetLimit() )*sizeof(m_dKeywordCheckpoints[0])+ ( (int64_t)m_dRows.GetLimit() )*sizeof(m_dRows[0]) + ( (int64_t)m_dInfixFilterCP.GetLength()*sizeof(m_dInfixFilterCP[0]) ); } int GetMergeFactor () const { return m_iRows; } int GetStride () const { return ( m_dRows.GetLength() / m_iRows ); } const CSphFixedVector & GetKlist() const { return m_pKlist->m_dKilled; } const CSphRowitem * FindRow ( SphDocID_t uDocid ) const; const CSphRowitem * FindAliveRow ( SphDocID_t uDocid ) const; }; int RtSegment_t::m_iSegments = 0; CSphStaticMutex RtSegment_t::m_tSegmentSeq; const CSphRowitem * RtSegment_t::FindRow ( SphDocID_t uDocid ) const { // binary search through the rows int iStride = GetStride(); SphDocID_t uL = DOCINFO2ID ( m_dRows.Begin() ); SphDocID_t uR = DOCINFO2ID ( &m_dRows[m_dRows.GetLength()-iStride] ); if ( uDocid==uL ) return m_dRows.Begin(); if ( uDocid==uR ) return &m_dRows[m_dRows.GetLength()-iStride]; if ( uDocid