Solr匹配字符串以

Solr匹配字符串以,solr,Solr,我已将数据库中的数据导入Solr以进行查询 数据样本如下所示 NAMATJIRA,DRIVE,,WARAMANGA,ACT DOUGLAS WATERHOUSE,DRIVE,,DUNLOP,ACT WARDELL,DRIVE,,BARDEN RIDGE,NSW 在solr管理页面中,当我运行查询时 street_name:wa* AND street_name:drive* 我得到了上面所有的记录。有没有一种方法可以过滤,这样我只得到以WA开头的 更新:添加了架构信息 <field n

我已将数据库中的数据导入Solr以进行查询

数据样本如下所示

NAMATJIRA,DRIVE,,WARAMANGA,ACT
DOUGLAS WATERHOUSE,DRIVE,,DUNLOP,ACT
WARDELL,DRIVE,,BARDEN RIDGE,NSW
在solr管理页面中,当我运行查询时

street_name:wa* AND street_name:drive*
我得到了上面所有的记录。有没有一种方法可以过滤,这样我只得到以WA开头的

更新:添加了架构信息

<field name="street_name" type="text_general" indexed="true" stored="true"/>
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
      <analyzer type="index">
         <tokenizer class="solr.KeywordTokenizerFactory"/>    
       <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.KeywordTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
    </fieldType>

您用来分析该字段的类型将其标记为几个术语,因此

NAMATJIRA,DRIVE,,WARAMANGA,ACT
变成(一个包含多个术语的字段,然后可能也是小写等)

这就是查询匹配它的原因,因为其中一个值以“wa”开头


要解决这个问题,只需将字段的类型更改为使用关键字TokenizerFactory,它将所有内容保持为单个术语

向我们展示您的solr schemaChanged to KeywordTokenizerFactory(模式信息已更新,请参阅原始问题),但是,结果没有更改。您重新索引了吗?你需要
NAMATJIRA 
DRIVE
WARAMANGA
ACT