0

关于如何做到这一点的任何提示?

我试过使用PatternTokenizerFactory,但它没有按预期工作。

是否可以在不编写的情况下做到这一点custom tokenizer

4

1 回答 1

1

您可以使用 KeyWordTokenizerFactory 标记有问题的字段,然后进行通配符搜索

http://solr.pl/en/2010/12/20/wildcard-queries-and-how-solr-handles-them/

前提是您没有执行任何其他不适用于上述 Tokenizer 的操作。

另一种方式是迂回方式。您可以使用以下技术(或其他一些技术)创建一个将其空间剥离的复制字段:-

SOLR中删除空格的正则表达式是什么

然后,您可以使用 WhiteSpaceTokenizer 标记该复制字段(本质上只创建一个标记,因为复制字段值没有空格),然后对其进行通配符搜索。

在某些情况下,第二种方法可能会失败(例如,“wor them”将匹配“worth*”后空格被剥离)

于 2013-01-26T05:21:23.663 回答