Solr 单字符通配符搜索获得意外结果
我正在使用solr查询具有单个字符的字段和通配符搜索 例如,我希望返回一个对象,其名称类似于Solr 单字符通配符搜索获得意外结果,solr,cassandra,Solr,Cassandra,我正在使用solr查询具有单个字符的字段和通配符搜索 例如,我希望返回一个对象,其名称类似于“A”、“AA”、“AB”、“BZ^A”、“AAB” 如果我创建一个查询q=name:a&sort=name+asc 我得到了一个意想不到的结果,“A”、“BZ^A”、“AA”等等 我也尝试了q=name:a*,结果是一样的 有没有办法获得“a”、“AA”、“AAB”、“AB”、“BZ^a”的预期排序结果 这是xml文件中的字段类型/名称信息 <schema name="solr_quickstar
“A”、“AA”、“AB”、“BZ^A”、“AAB”
如果我创建一个查询q=name:a&sort=name+asc
我得到了一个意想不到的结果,“A”、“BZ^A”、“AA”
等等
我也尝试了q=name:a*
,结果是一样的
有没有办法获得“a”、“AA”、“AAB”、“AB”、“BZ^a”
的预期排序结果
这是xml文件中的字段类型/名称信息
<schema name="solr_quickstart" version="1.1">
<types>
<fieldType name="text" class="solr.TextField">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory" />
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
</types>
<fields>
<field name="name" type="text" indexed="true" stored="true" />
</fields>
<defaultSearchField>name</defaultSearchField>
<uniqueKey>(name)</uniqueKey>
</schema>
名称
(姓名)
看一看类似的问题。您将无法对标记为多个术语的文本字段进行排序。在这种情况下,您仍然可以通过将analyzer更改为关键字analyzer来完成此操作。如果您仍然需要多个术语,则需要将字段复制到另一个字段。是否从schema.xml发布字段名的字段类型?我假设该字段已标记化。当对标记字段进行排序时,可能会发生一些有趣的事情。如果字段类型错误,那么应该是文本,我更新了帖子以反映这一点。不确定它是否会改变你的答案。