我正在使用基于Lucene的搜索引擎。
例如,我有一个像“name”这样的字段:“blue sky”
我可以搜索使用蓝色或天空,但不能使用蓝光。我认为蓝光是蓝色的一部分,为什么我不能搜索蓝光?
答案 0 :(得分:1)
您需要使用通配符(blu*
)或模糊搜索(blu~
)。更多信息here。
答案 1 :(得分:1)
或者,您可以定义一个特殊的映射来满足该需求。 例如,在elasticsearch中,您可以为该字段定义edgeNgram分析器。
WildcardQueries搜索比termQueries慢。您也可以使用PrefixQuery。