Solr自学笔记 2 —— Solr 查询,排序, 高亮

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Solr自学笔记 2 —— Solr 查询,排序, 高亮相关的知识,希望对你有一定的参考价值。

 

1.查询(Querying Data) --q 文档 fl 表示相应的属性
     1) 内容: 搜索过程是通过带q参数的GET HTTP请求select URL.同时可以通过传递表示可选择的请求参数的数字给请求处理器来控制相应的返回信息。(You can pass a number of optional request parameters to the request handler to control what information is returned
     下面f1参数来控制相应的返回的属性值:
     Solr Query Syntax (q参数的规则)地址: http://wiki.apache.org/solr/SolrQuerySyntax
    
     查询例子1:
     GET请求:http://localhost:8983/solr/collection1/select?q=*:*&fl=name,id&wt=json&fl=* 
     分析:q=*:* 表示 属性:属性值中包含的词
          fl=*  表示 查询的结果返回所有的属性值
     返回的内容:
          {
    "responseHeader": {
        "status": 0,
        "QTime": 1,
        "params": {
            "fl": [
                "name,id",
                "*"
            ],
            "q": "*:*",
            "wt": "json"
        }
    },
    "response": {
        "numFound": 2,
        "start": 0,
        "docs": [
            {
                "id": "SOLR1000",
                "name": "Solr, the Enterprise Search Server",
                "manu": "Apache Software Foundation",
                "cat": [
                    "software",
                    "search"
                ],
                "features": [
                    "Advanced Full-Text Search Capabilities using Lucene",
                    "Optimized for High Volume Web Traffic",
                    "Standards Based Open Interfaces - XML and HTTP",
                    "Comprehensive html Administration Interfaces",
                    "Scalability - Efficient Replication to other Solr Search Servers",
                    "Flexible and Adaptable with XML configuration and Schema",
                    "Good unicode support: héllo (hello with an accent over the e)"
                ],
                "price": 0,
                "price_c": "0,USD",
                "popularity": 10,
                "inStock": true,
                "incubationdate_dt": "2006-01-17T00:00:00Z",
                "_version_": 1546511824707387400
            },
            {
                "id": "3007WFP",
                "name": "Dell Widescreen UltraSharp 3007WFP",
                "manu": "Dell, Inc.",
                "manu_id_s": "dell",
                "cat": [
                    "electronics and computer1"
                ],
                "features": [
                    "30\" TFT active matrix LCD, 2560 x 1600, .25mm dot pitch, 700:1 contrast"
                ],
                "includes": "USB cable",
                "weight": 401.6,
                "price": 2199,
                "price_c": "2199,USD",
                "popularity": 6,
                "inStock": true,
                "store": "43.17614,-90.57341",
                "_version_": 1546511824826925000
            }
        ]
    }
}
 查询例子2:
     GET请求:http://localhost:8983/solr/collection1/select?q=Search&fl=name,id
&wt=json&fl=* 
     分析:q=Search 表示 所有属性值中必包含的这个词,不一定所有属性都包含,也可以为*。
          fl=*  表示 查询的结果返回所有的属性值
     返回的内容:
          {
    "responseHeader": {
        "status": 0,
        "QTime": 36,
        "params": {
            "fl": [
                "name,id",
                "*"
            ],
            "q": "Search",
            "wt": "json"
        }
    },
    "response": {
        "numFound": 1,
        "start": 0,
        "docs": [
            {
                "id": "SOLR1000",
                "name": "Solr, the Enterprise Search Server",
                "manu": "Apache Software Foundation",
                "cat": [
                    "software",
                    "search"
                ],
                "features": [
                    "Advanced Full-Text Search Capabilities using Lucene",
                    "Optimized for High Volume Web Traffic",
                    "Standards Based Open Interfaces - XML and HTTP",
                    "Comprehensive HTML Administration Interfaces",
                    "Scalability - Efficient Replication to other Solr Search Servers",
                    "Flexible and Adaptable with XML configuration and Schema",
                    "Good unicode support: h¨|llo (hello with an accent over the e)"
                ],
                "price": 0,
                "price_c": "0,USD",
                "popularity": 10,
                "inStock": true,
                "incubationdate_dt": "2006-01-17T00:00:00Z",
                "_version_": 1546511824707387400
            }
        ]
    }
}
 
 2. 排序(Sorting)--sort 属性
3.高亮 (Highlighting)
Hit highlighting returns relevant snippets of each returned document, and highlights terms from the query within those context snippets.
 
     返回的形式:这会导致高亮的部分会显示在返回值上相关的高亮的词语上包含在<em></em>(for emphasis) tags
     get请求URL:  http://localhost:8983/solr/collection1/select?q=Search&fl=name,id&wt=json
&hl=true&hl.fl=features   
     返回值:    
{
    "responseHeader": {
        "status": 0,
        "QTime": 46,
        "params": { //请求参数
            "fl": "name,id", //请求返回的属性值
            "q": "Search",    //关键词搜索
            "hl.fl": "features", //高亮所包含的关键词
            "wt": "json",     //返回的形式
            "hl": "true"      // 是否高亮
        }
    },
    "response": {
        "numFound": 1,
        "start": 0,
        "docs": [
            {
                "id": "SOLR1000",
                "name": "Solr, the Enterprise Search Server"
            }
        ]
    },
    "highlighting": {
        "SOLR1000": {
            "features": [
                "Advanced Full-Text <em>Search</em> Capabilities using Lucene"
            ]
        }
    }
}
 
 
 
 
 

以上是关于Solr自学笔记 2 —— Solr 查询,排序, 高亮的主要内容,如果未能解决你的问题,请参考以下文章

SOLR查询过滤结果中的自定义排序?

如何在 solr 查询中排序之前按分数限制

solr查询条件多响应时间

solr入门之权重排序方法初探之使用edismax改变权重

solr如何区间查询

Solr实践|Solr常用检索查询业务Demo