【发布时间】:2019-02-05 14:59:06
【问题描述】:
我一直在为电子商务系统实施 Elasticsearch 解决方案,在该系统中,我使用了“建议”一词来尝试创建类似“您是说……”的功能
对于拼写错误,它的效果非常好
例如,如果我搜索 hampster,那么它会返回提示正确的拼写 hamster,这正是我想要的
当我搜索 food 之类的内容时,问题出现了,它返回提示 fold,我不希望它这样做
我想要解决的是,如果 Elasticsearch 内置了一些东西,让我可以看到 food 是一个不需要建议的有效术语
不确定这是否有用,但这是我的查询和响应 (PHP)
Array
(
[suggest] => Array
(
[spell_check] => Array
(
[text] => food
[term] => Array
(
[field] => name
)
)
)
)
Array
(
[took] => 1
[timed_out] =>
[_shards] => Array
(
[total] => 5
[successful] => 5
[skipped] => 0
[failed] => 0
)
[hits] => Array
(
[total] => 0
[max_score] => 0
[hits] => Array
(
)
)
[suggest] => Array
(
[spell_check] => Array
(
[0] => Array
(
[text] => food
[offset] => 0
[length] => 4
[options] => Array
(
[0] => Array
(
[text] => fold
[score] => 0.75
[freq] => 1
)
[1] => Array
(
[text] => feed
[score] => 0.5
[freq] => 4
)
[2] => Array
(
[text] => four
[score] => 0.5
[freq] => 1
)
)
)
)
)
)
【问题讨论】:
-
信息不够,你应该显示一些代码。但我认为问题出在你的 sql 中。你应该更新 sql.检查此链接stackoverflow.com/a/14908166/4459647 您应该在搜索项目的末尾给出 %。
-
问题中没有提到 SQL - 它纯粹是 Elasticsearch。
标签: php elasticsearch