0

我在 Sphinx 索引中有一个字符串字段“extra_data”,其中包含逗号分隔格式的数据(例如“绿色”、“红色”、“绿色、红色”……)。我需要选择查找行: 1. extra_data 是'green' 2. or extra_data 是'red' 3. or extra_data 是空的

所以我可以写查询:

SELECT id FROM sphinx WHERE MATCH('@extra_data (^green$|^red$))')

但是我应该如何编写查询来找到空的 extra_data ('') 呢?

4

1 回答 1

1

狮身人面像没有“索引”任何内容。它索引单词:)

所以你必须安排空是一个可以被索引的词。

例如对于数据库支持的索引..

sql_query = SELECT id,title, ... , IF(extra_data='','_empty',extra_data) AS extra_data FROM mytable ... 

然后可以做

... WHERE MATCH('@extra_data (^green$|^red$|_empty)')
于 2015-02-02T13:02:11.203 回答