我有一个问题:在我的数据库中我有一个表,其中包含一个带有JSON字符串的字段,如: 字段"描述"
{
solve_what: "Add project problem",
solve_where: "In project CRUD",
shortname: "Add error"
}
我如何全文搜索此字符串?例如,我需要查找所有记录,其中包含" 项目"在description.solve_what中。在我的sphinx.conf中我有
sql_attr_json = description
P.S.Mb我可以用elasticSearch做到这一点吗?
答案 0 :(得分:0)
我刚刚在这里回答了一个非常类似的问题: http://sphinxsearch.com/forum/view.html?id=13861
注意此时不支持将它们提取为FIELDs - 所以'全文'不能在json元素中搜索文本。
(要做到这一点,必须使用mysql字符串操作函数 创建一个新列以作为普通字段进行索引。类似的东西:
SELECT id,SUBSTR(json_column, LOCATE('“tag”:“',json_column)+7, LOCATE('“',json_column,LOCATE('”tag“:”',json_column)+7)-LOCATE('“tag”:“', json_column)-7)AS标签,......
很乱,但应该有用......)
代码未经测试。