狮身人面像搜索返回匹配和周围的字符

时间:2017-07-27 20:11:57

标签: mysql sphinx

在Sphinx中(使用mysql连接),如何匹配一个术语并获得,比如说匹配前后的5个字符?

例如:一行包含this is a word in a sentence

当我查询:SELECT term FROM table WHERE MATCH('"word*"')

我希望看到is a word in a s返回。这可能吗?

编辑使用@ barryhunter下面的有用答案,现在试图找出如何将其纳入我的查询中:

SELECT field1,field2,SPHINX_SNIPPETS(field3,indexName, "word") as snippet FROM tableName

1 个答案:

答案 0 :(得分:3)

那是CALL SNIPPETS的目的。虽然它用文字计算,而不是字符。

http://sphinxsearch.com/docs/current/sphinxql-call-snippets.html

CALL SNIPPETS('this is a word in a sentance','index1','word', 2 AS around, 5 as limit_words);

会回来

  

...是......

中的

添加'' as chunk_separator不想要省略号

编辑要添加:那么如果要在搜索查询期间构建代码段(而不是单独的CALL查询),可以在初始选择中使用SNIPPET()函数 http://sphinxsearch.com/docs/current.html#sphinxql-select