【发布时间】:2016-09-11 22:24:11
【问题描述】:
假设我有一句话:“比起他的Lamborghini Gallardo,约翰更喜欢把他的宠物lamb放在他的Lamborghini Huracan中”和我有一本包含“兰博基尼”、“兰博基尼 Gallardo”和“兰博基尼 Huracan”的字典。提取粗体词,实现词组“Lamborghini Gallardo”和“Lamborghini Huracan”作为词组匹配,以及其他部分匹配“Lamborghini”和“lamb”的好方法是什么?优先选择词组匹配而不是单个关键字。
弹性搜索提供完全匹配、匹配短语和部分匹配。确切的术语显然在这里不起作用,也不匹配短语,因为在这种情况下整个句子都被视为短语。如果我在句子中只有感兴趣的关键字,我相信部分匹配是合适的。通过以前的 SO 线程,我发现 proximity for relevance 似乎相关,但不确定这是否是“最佳选择”,因为需要设置阈值。或者即使有比弹性搜索更简单/更好的选择(这似乎更适合全文搜索而不是简单的关键字匹配到数据库)?
【问题讨论】:
标签: elasticsearch match keyword keyword-search