Solr - 匹配以特定单词开头的句子

时间:2013-01-24 09:46:27

标签: java solr solr4

有关如何完成此操作的任何提示?

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

是否可以在不编写custom tokenizer的情况下执行此操作?

1 个答案:

答案 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(实际上只创建一个令牌,因为复制域值没有空格)来标记该复制域,然后对其进行通配符搜索。

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