term精确搜索与match分词搜索

  1. POST /shop/_doc/_search
  2. {
  3. "query": {
  4. "term": {
  5. "desc": "慕课网"
  6. }
  7. }
  8. }
  9. 对比
  10. {
  11. "query": {
  12. "match": {
  13. "desc": "慕课网"
  14. }
  15. }
  16. }
  • 注:match会对慕课网先进行分词(其实就是全文检索),在查询,而term则不会,直接把慕课网作为一个整的词汇去搜索。
  • head 可视化操作对比:
    DSL搜索 - term/match - 图1
    DSL搜索 - term/match - 图2

    terms 多个词语匹配检索

    相当于是tag标签查询,比如慕课网的一些课程会打上前端/后端/大数据/就业课这样的标签,可以完全匹配做类似标签的查询 ```shell POST /shop/_doc/_search { “query”: {
    1. "terms": {
    2. "desc": ["慕课网", "学习", "骚年"]
    3. }
    } }

```