Can';将analyzer与solr一起使用时的t排序
我正在尝试使用通配符搜索,它成功了,但排序却不行。 我的solr架构文件:Can';将analyzer与solr一起使用时的t排序,solr,Solr,我正在尝试使用通配符搜索,它成功了,但排序却不行。 我的solr架构文件: <?xml version="1.0" encoding="UTF-8" standalone="no"?> <schema name="addressByFilters" version="1.5"> <types> <fieldType class="org.apache.solr.schema.TextField" name="TextField"> <
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<schema name="addressByFilters" version="1.5">
<types>
<fieldType class="org.apache.solr.schema.TextField" name="TextField">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.ReversedWildcardFilterFactory" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
</types>
<fields>
<dynamicField indexed="true" multiValued="false" name="address*" type="TextField"/>
<field indexed="true" multiValued="false" name="address_code" stored="true" type="TextField"/>
</fields>
</schema>
我怎样才能修好它?非常感谢您使用不同的字段进行排序和搜索。当您遇到这样的情况时,这尤其有用,排序所需的处理与搜索所需的处理不同 在两个字段中获取相同的内容
<copyField source="address_code" dest="address_code_sort" />
创建两个字段,两个字段都使用不同的分析器,然后使用copyField将数据复制到另一个字段上。然后,您可以使用一个用于排序,另一个用于通配符搜索。
solr_query = ' { "q" : "address1:*Test\\ ace*", "sort" : "address_code asc", "start":"0", "useFieldCache":true }' limit 100;
<copyField source="address_code" dest="address_code_sort" />