我使用ApacheSolr作为我的语义搜索引擎。在其中用户可以输入任何东西,我必须使用相关的结果使用单词进行检索。我想把字符串拆分成标记。
Example: "actorsfrommumbai" -> "actors from mumbai"
如何在solr中实现这个特性?
epggiuax1#
您可以尝试使用Ngram和EdgeNgram过滤器和solr中可用的标记器。因为它是一个单词,并且由于您不能在此处使用分隔符,因此只能使用这两个单词进行拆分。
8i9zcol22#
它看起来像你正在搜索分解-〉https://wiki.apache.org/solr/LanguageAnalysis#Decompounding这给你的可能性,搜索复合词的一部分.
3ks5zfa03#
在solr中有一种可能性,可以根据提供的字典来配置分析器进行分解。
<analyzer> <tokenizer class="solr.StandardTokenizerFactory"/> <filter class="solr.DictionaryCompoundWordTokenFilterFactory" dictionary="abc.txt"/> </analyzer>
abc.txt是字典。请注意,分析器在索引时和查询时都适用。
3条答案
按热度按时间epggiuax1#
您可以尝试使用Ngram和EdgeNgram过滤器和solr中可用的标记器。因为它是一个单词,并且由于您不能在此处使用分隔符,因此只能使用这两个单词进行拆分。
8i9zcol22#
它看起来像你正在搜索分解-〉https://wiki.apache.org/solr/LanguageAnalysis#Decompounding这给你的可能性,搜索复合词的一部分.
3ks5zfa03#
在solr中有一种可能性,可以根据提供的字典来配置分析器进行分解。
abc.txt是字典。
请注意,分析器在索引时和查询时都适用。