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

我正在使用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_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发布字段名的字段类型?我假设该字段已标记化。当对标记字段进行排序时,可能会发生一些有趣的事情。如果字段类型错误,那么应该是文本,我更新了帖子以反映这一点。不确定它是否会改变你的答案。