Java Solr筛选器查询不使用';t为_s返回结果,但为_t返回结果
我是solr新手,我们正在使用solrj和v4.10。当我们尝试为字段项supp筛选查询(fq)时,它不会返回结果,但当我使用qf desc ngram desc en^10 des_txt^30和q作为desc en:test&test Pte.Ltd进行查询时。 我们正在逃离所有的特殊角色。我可以看到响应中返回了item\u supp\s 但是,当我添加fq item_supp_name_s:(test&test Pte.Ltd)时,它返回0响应,如果我将其更改为_t,它将返回结果 在data-config.xml中,我们有字段column=“supp”name=“item\u supp\s” 在schema.xml中,我们有字段name=“item\u supp\t”type=“text\u general” 和复制字段,我们已经将项目支持复制到描述、内存、txt、t、e和siJava Solr筛选器查询不使用';t为_s返回结果,但为_t返回结果,java,solr,solrj,Java,Solr,Solrj,我是solr新手,我们正在使用solrj和v4.10。当我们尝试为字段项supp筛选查询(fq)时,它不会返回结果,但当我使用qf desc ngram desc en^10 des_txt^30和q作为desc en:test&test Pte.Ltd进行查询时。 我们正在逃离所有的特殊角色。我可以看到响应中返回了item\u supp\s 但是,当我添加fq item_supp_name_s:(test&test Pte.Ltd)时,它返回0响应,如果我将其更改为_t,它将返回结果 在dat
我不确定字段和复制字段是否导致了问题。敬请告知那么该字段的内容是什么,您的实际查询是什么
\u s
是字符串
字段的默认前缀,并且只返回精确的命中率-其中查询和索引内容是相同的。正如Mats提到的,通常\u txt
字段是“文本”字段,\u s
字段是字符串字段。在Solr中,这两种场类型彼此非常不同。字符串字段按原样存储,搜索只会找到精确的匹配项(包括空格、标点符号和区分大小写)。另一方面,文本字段被标记化,并经过多次转换以允许更灵活的搜索匹配。更多信息请参见此处:嗨@MatsLindh谢谢您的帮助。我正在用转义字符串搜索。当使用准确的短语进行搜索时,它起作用了。谢谢。嗨@HectorCorrea谢谢您的详细解释。那么字段的内容是什么,您的实际查询是什么\u s
是字符串
字段的默认前缀,并且只返回精确的命中率-其中查询和索引内容是相同的。正如Mats提到的,通常\u txt
字段是“文本”字段,\u s
字段是字符串字段。在Solr中,这两种场类型彼此非常不同。字符串字段按原样存储,搜索只会找到精确的匹配项(包括空格、标点符号和区分大小写)。另一方面,文本字段被标记化,并经过多次转换以允许更灵活的搜索匹配。更多信息请参见此处:嗨@MatsLindh谢谢您的帮助。我正在用转义字符串搜索。当使用准确的短语进行搜索时,它起作用了。谢谢。嗨@HectorCorrea谢谢你的详细解释。