【发布时间】:2008-11-18 23:32:13
【问题描述】:
我正在使用sphinx通过think sphinx对mysql数据库进行全文搜索。
我想在向用户显示的结果中突出显示匹配的术语。
Sphinx 足够聪明,搜索“肉毒杆菌”会匹配“我喜欢将肉毒杆菌注射到我的眼睛”
如何让它告诉我“botulinum”与“botulism”匹配?
【问题讨论】:
我正在使用sphinx通过think sphinx对mysql数据库进行全文搜索。
我想在向用户显示的结果中突出显示匹配的术语。
Sphinx 足够聪明,搜索“肉毒杆菌”会匹配“我喜欢将肉毒杆菌注射到我的眼睛”
如何让它告诉我“botulinum”与“botulism”匹配?
【问题讨论】:
首先, 我在我的一个项目中大量使用 sphinx,但我没有使用 ThinkingSphinx,因为我们使用的配置文件非常复杂,我使用的是定制的 act_as_sphinx 插件。
从纯狮身人面像的角度回答您的问题:
sphinx 中有一个 BuildExcerpts api,用于获取带有下划线匹配的内容的摘录,请参阅http://www.sphinxsearch.com/docs/current.html#api-func-buildexcerpts。
认为 Sphinx 应该提供这个功能
要将肉毒杆菌与肉毒杆菌相匹配,您应该使用词干分析器编译 sphinx,也许波特算法可以回答您的问题:请参阅 http://www.sphinxsearch.com/docs/current.html#conf-morphology
希望这会有所帮助,我强烈建议您查看 sphinx 文档以充分使用这个非常高效的索引器
曼弗雷德
【讨论】: