我已经在现有代码库中使用ElasticSearch几天了,所以一旦我知道自己在做什么,我希望答案很简单。当我用复合词搜索时,我希望扩展搜索以产生相同的结果,例如&#34;目击者&#34;,或者用空白分隔的组成单词,例如&#34;目击者&#34;。< / p>
例如,我有一个玩具车目录,包括&#34;救火车&#34;玩具和&#34;消防车&#34;玩具。我想确保如果有人搜索这些条款中的任何一个,结果将包括&#34;救火车&#34;和#34;消防车&#34;条目。
我首先尝试使用&#34; fuzziness&#34;一场比赛,希望&#34;消防车&#34;将被视为远离&#34; firetruck&#34;的一个变换,但这不起作用:ES模糊是单词,不会添加或删除空格字符作为有效转换。
我知道在生成查询之前我可以通过尝试通过将大词分成更小的单词以及将更小的单词加入更大的单词并将所有单词与字典进行检查来提出额外的搜索项来做一些暴力破解,但是当&#34;模糊&#34;和专有名称是任务的一部分。
看起来这正是ES应该做得很好的事情,而且我还没有找到合适的词汇来搜索解决方案。
谢谢大家。