Solr IS IN搜索可能吗?

时间:2016-10-31 22:43:26

标签: solr

我知道在像MySQL这样的RDB中这很难(也许是不可能的)。我想知道是否可以用Solr做到这一点。 这是我的任务:

我有一个Solr索引,其中包含一个名为parts的字段。它最多包含5个随机字符,如下所示:

12
123
22ac
...
2a
2b
ccc2
1122a
xx12
yy

如果parts字段中的所有元素都在搜索字词中,我需要返回文档。

例如,如果搜索字词为21ba,则应返回122a2b1122a,因为所有字母都在搜索词。 如何在Solr中做到这一点?

2 个答案:

答案 0 :(得分:1)

好吧,虽然它不合适,但确实可以实现,你可以使用Ngram Analyzer来分割每个关键字。一个例子如下:

 <analyzer>
  <tokenizer class="solr.NGramTokenizerFactory" minGramSize="1" maxGramSize="2" />
 </analyzer>

here中的详细资料。

答案 1 :(得分:1)

直接在$backdrop-color:#002559;//<-- I add in this. 中为部分字词编制索引。发出查询时,请使用与一个或多个查询字符匹配的Solr正则表达式:如果搜索字词为StrField,则查询将为21ba