SolR WildCard使用关键字进行搜索

时间:2014-01-24 16:31:28

标签: solr

我在SolR中有一个要求,即用关键字搜索索引数据。例如,在谷歌。

假设我在下面有firstName + LastName + CampanyName +地址

的字段

,James Madison Stark Industries 1024 33rd St,Mahattan Newyork NY 07211

我将这些数据存储在名为“id”的字段中,在schema.xml中使用以下配置

<fieldType name="c_text" class="solr.TextField">
<analyzer type="index">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
</analyzer>

<analyzer type="query">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>

现在我的要求是在进行像

这样的查询时进入上面的字段

id: jam madi ID:*詹姆斯·斯塔克* ID:*麦迪逊* NY *

由于某种原因,它不起作用。请指教。

提前致谢!

1 个答案:

答案 0 :(得分:0)

您的方法和查询中存在多个错误。

  1. id:jam madi将运行如下查询:id:jam OR default:madi其中default是您架构中定义的默认字段。

  2. 前导通配符搜索在Solr

  3. 中默认不起作用
  4. 我认为查询id:*James*Stark*需要分为2个查询:id:*James* id:*Stark*(领先的通配符不起作用)