将所有文本字段组合到一个可搜索字段中?

时间:2010-06-29 08:55:47

标签: sphinx

通常在他们的sphinx.conf文件中有这个查询:

sql_query = SELECT id,text_field1,text_field2,text_field3 FROM table_name

如果我将所有字段组合成一个可搜索的文本字段,会有很大差异吗?

sql_query = SELECT id, CONCAT(text_field1,text_field2,text_field3) as searchable_text FROM table_name

一方对另一方有什么好处?

谢谢!

2 个答案:

答案 0 :(得分:2)

我认为无论哪种方式都很好......但是,Sphinx能够将查询集中在某些领域(参见the extended query syntax examples)。如果将所有列合并到一个字段中,您将失去该能力。

你也失去了比某些领域更重的某些领域的能力。

答案 1 :(得分:0)

CONCAT(text_field1,text_field2,text_field3)错误 使用CONCAT(text_field1,'',text_field2,'',text_field3)

但最好让索引分开字段

搜索会返回相同的结果,但您可以根据需要选择一个列表

'@ text_field2 foo'