我正在使用 sphinx 通过思想 sphinx 对 mysql 数据库进行全文搜索。
我想在向用户显示的结果中突出显示匹配的术语。
Shpinx 足够聪明,搜索“肉毒杆菌”将匹配“我喜欢将肉毒杆菌注射到我的眼睛”
我怎样才能让它告诉我“肉毒杆菌”与“肉毒杆菌中毒”相匹配?
我正在使用 sphinx 通过思想 sphinx 对 mysql 数据库进行全文搜索。
我想在向用户显示的结果中突出显示匹配的术语。
Shpinx 足够聪明,搜索“肉毒杆菌”将匹配“我喜欢将肉毒杆菌注射到我的眼睛”
我怎样才能让它告诉我“肉毒杆菌”与“肉毒杆菌中毒”相匹配?
首先,我在我的一个项目中大量使用 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 文档以充分使用这个非常高效的索引器
曼弗雷德