有关如何完成此操作的任何提示?
我已尝试使用PatternTokenizerFactory
,但它没有按预期工作。
是否可以在不编写custom tokenizer
的情况下执行此操作?
答案 0 :(得分:1)
您可以使用KeyWordTokenizerFactory对相关字段进行标记,然后执行通配符搜索
http://solr.pl/en/2010/12/20/wildcard-queries-and-how-solr-handles-them/
如果您没有进行任何其他与上述Tokenizer无关的操作。
另一种方式是迂回的方式。您可以使用以下技术(或其他一些技术)创建一个将其空间剥离的复制域: -
What is the regular expression to remove spaces in SOLR
然后,您可以使用WhiteSpaceTokenizer(实际上只创建一个令牌,因为复制域值没有空格)来标记该复制域,然后对其进行通配符搜索。
在某些情况下,第二种方法可能会失败(例如,“删除它们”将在空格被剥离后匹配“值*”)