0

我已经导入了一个 csv 文件,其中包含一个字段“地址”,其中包含多个单词,中间有空格”,例如地址包含“23 delhi ST KANGAROO POINT”、“23/50 BANGALORE ST KANGAROO POINT”等。

我想用“23”、“23 del”、“23/50”、“23/50 banga”等进行搜索。在 managed.schema 文件中,我添加了

<field name="Address" type="text_general" indexed="true" stored="true"/>
<field name="Suburb" type="text_general" indexed="true"    stored="true"/>
<field name="StreetNo" type="text_general" indexed="true" stored="true"/>
<field name="HouseNo" type="text_general" indexed="false" stored="false"/>

其中 Suburb、StreetNo、HouseNo 是其他字段。我可以使用“23”“del”等进行搜索,但不能在两者之间使用空格。我正在使用 Solr6.4。

我正在使用默认的 text_general 类型配置。

<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
   <analyzer type="index">
        <tokenizer class="solr.StandardTokenizerFactory" />
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />           
        <filter class="solr.LowerCaseFilterFactory" />
   </analyzer>
   <analyzer type="query">
        <tokenizer class="solr.StandardTokenizerFactory" />
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
        <filter class="solr.LowerCaseFilterFactory" />
    </analyzer>
</fieldType>

此外,更改架构后,我是否需要重新导入 csv 文件或一切都会自动处理?

4

0 回答 0