Php 如何在Sphinx中的一个索引中使用多个源?
Sphinx配置文件提示它支持一个索引的多个源,我实际上如何指定它 以下是配置文件中的代码段:Php 如何在Sphinx中的一个索引中使用多个源?,php,mysql,search,configuration,sphinx,Php,Mysql,Search,Configuration,Sphinx,Sphinx配置文件提示它支持一个索引的多个源,我实际上如何指定它 以下是配置文件中的代码段: # document source(s) to index # multi-value, mandatory # document IDs must be globally unique across all sources source = src1 我已尝试使用以下格式进行设置: source = src1, src2 source = [src1, src2]
# document source(s) to index
# multi-value, mandatory
# document IDs must be globally unique across all sources
source = src1
我已尝试使用以下格式进行设置:
source = src1, src2
source = [src1, src2]
我也尝试过两次使用源变量,例如:
source = src1
source = src2
我怀疑我只是个傻瓜,因为我不确定配置文件中使用的语法。有什么想法吗
使用第二个代码段,我得到以下错误:
ERROR: index 'iwa': fulltext fields count mismatch (me=iwa_publications, in=iwa_events, myfields=3, infields=8).
这两个来源是iwa_事件和iwa_出版物。两者都有唯一的id列,并且两个源在单独索引时都可以工作。如果要同时搜索多个索引,必须在PHP代码中指定它们,而不是在配置文件中指定
只需在查询
方法中分离索引(请参阅):
根据法律,你可以。
第二个代码段是列出多个源的正确格式。请编辑您的问题,告诉我们您的实际问题是什么。问题发现:我误解了有多个来源的观点。看起来,在一个索引中确实可以使用多个源,但前提是它们在模式方面是相同的,正如文档中的这一行所示: “源架构必须相同才能存储在同一索引中。”
非常感谢你的帮助,简。误会是我的错是的。源模式必须相同;但您只需要相同数量的字段。
如果需要,您甚至可以使用同一字段两次。只需在所有查询中给字段相同的名称:
sql\u query=select id,catname为一,country为二,currency为三,language为四,从catalog
我希望只存储一个包含多个源的索引,根据配置文件,这似乎是受支持的。还是我大错特错了?:)完成,如果我最初的解释不够清楚,很抱歉。:)啊,我想我已经找到了它不起作用的原因:“源模式必须是相同的,才能存储在同一个索引中。”哎呀,完全错过了这一行!
$cl->Query ( "test query", "index1 index2" );