elasticsearch ElasticSearch中的复合词处理-处理两种形式”;分裂的;及;加入;同样,elasticsearch,solr,lucene,elasticsearch,Solr,Lucene" /> elasticsearch ElasticSearch中的复合词处理-处理两种形式”;分裂的;及;加入;同样,elasticsearch,solr,lucene,elasticsearch,Solr,Lucene" />

elasticsearch ElasticSearch中的复合词处理-处理两种形式”;分裂的;及;加入;同样

elasticsearch ElasticSearch中的复合词处理-处理两种形式”;分裂的;及;加入;同样,elasticsearch,solr,lucene,elasticsearch,Solr,Lucene,我在我的项目中使用elasticsearch搜索产品。它工作得很好。目前,我面临一个复合词的问题,例如“body wash”和“bodywash”、“face wash”和“face wash”等。通过“body wash”和“bodywash”搜索会产生不同的结果。我需要一个技巧,使两种形式的关键字被视为相同的 是否有任何分析器或任何其他选项来执行此操作?我不可能收集所有这类复合词并将它们都插入索引中。我需要一个算法解决方案。有吗?请帮忙。我已经解决了我的问题。它的工作正如我所期望的,但有一个

我在我的项目中使用elasticsearch搜索产品。它工作得很好。目前,我面临一个复合词的问题,例如“body wash”和“bodywash”、“face wash”和“face wash”等。通过“body wash”和“bodywash”搜索会产生不同的结果。我需要一个技巧,使两种形式的关键字被视为相同的


是否有任何分析器或任何其他选项来执行此操作?我不可能收集所有这类复合词并将它们都插入索引中。我需要一个算法解决方案。有吗?请帮忙。

我已经解决了我的问题。它的工作正如我所期望的,但有一个条件是我需要手动创建同义词词典。
官方文件是

这一点应该小心。即使在英语中,这些复合词也不总是相同的,例如帧缓冲区和帧缓冲区、水上航行器和船艇-不是同义词。最好的方法是提供调整后的搜索,搜索两种变体(“可能是您正在寻找的…?”)。您如何用其他辩证法解决问题——“灰色”和“灰色”(含义并不总是相同)、“装甲”(决不指车辆)和“装甲”(可能指装甲车辆)?“最好的方法是提供可搜索两个变体的调整搜索”:是的,我正在搜索相同的。你的意思是我需要在索引中存储两种形式的单词并按任何形式搜索吗?搜索“帧缓冲区”是按两个关键字搜索。“帧缓冲区”“是一个关键词。您应该检查相邻关键字是否正在创建连接的现有索引项。下一步,步骤取决于您要采用的策略和相关性,例如,如果帧缓冲区搜索比帧缓冲区更相关,则最好使用它。谢谢但是这种方法的一个问题是,如果输入查询字符串是“framebuffer”,并且通过搜索(比如)没有找到结果,但是存在带有“frame buffer”的记录,那么我将如何从输入关键字中决定在何处断开单词,以尝试通过“frame buffer”进行另一次搜索?