我正在尝试从索引文档的全文中生成搜索摘录。 我正在使用狮身人面像V2.02。 我的狮身人面像指数工作正常,常规结果没有问题。
我正在从磁盘加载文档,因此load_files
设置为 TRUE。 我已经尝试了文件的 Web 路径和直接 Linux 文件路径。
这是我的摘录代码:
$options = array( 'load_files' => TRUE );
$docs = array( /files/0/123/123.txt );
$words = 'gears';
$excerpts = $sphinxclient->BuildExcerpts( $docs, 'files', $words, $options );
这是用于生成摘录的狮身人面像文档。
BuildExcerpts
每次都返回 false,而不是返回摘录。 发生了什么事情? 我应该在常规查询的同时以某种方式执行它吗? 我一直在对从主查询返回的每个文档执行BuildExcerpts
。
上面的 BuildExcertps 代码是正确的。
问题是我的"文件"索引是分布式的,而狮身人面像BuildExcerpts
调用不喜欢这样。 似乎 BuildExcerpts 实际上只是引用该索引的配置,因此您必须引用一个实际索引,而不是 BuildExcerpts() 调用中的分布式索引。
例如:我将文件索引分为 5 个分片、files_0、files_1等。 使用"文件"作为我的索引会破坏构建摘录。 使用 files_0 或我的任何碎片都可以正常工作。
$options = array( 'load_files' => TRUE );
$docs = array( /files/0/123/123.txt );
$words = 'gears';
$excerpts = $sphinxclient->BuildExcerpts( $docs, 'files_0', $words, $options );