如何使用 elasticsearch 创建通用搜索引擎?

How to create generic search engine using elasticsearch?

我们正在为医学界创建搜索引擎,它可以从 mongoDB 中提取记录。数据库有来自不同医学界的记录,如医生、实验员、病理学家、专家等。我们想根据姓名、地点、设备、距离时间(如果我们有位置)来提取结果。 我们使用 Elasticsearch 作为搜索引擎。

更新: 我认为这不是具体的回答。我按照 Dennis Ich 的指示浏览了文档。我已经根据要求使用完成了搜索索引 自动建议、过滤器 - ngram、模糊...

我遇到了突出显示选项的问题。这是我的代码:

Blockquote

curl -XGET http://localhost:9200/hospital/hospitals/_search?pretty -d '{
  "query" : {
    "fuzzy" : {
        "_all" : "orthopadic"
      }
  },
  "highlight": {
    "fields" : {
        "*" : {
        "pre_tags" : ["<p>"],
        "post_tags" : ["</p>"], 
        "fragment_size" : 18
        }
    }
  }
}'

输出:

Blockquote

{
  "took" : 459,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "failed" : 0
  },
  "hits" : {
    "total" : 64,
    "max_score" : 1.8097699,
    "hits" : [ {
      "_index" : "hospital",
      "_type" : "hospitals",
      "_id" : "105",
      "_score" : 1.8097699,
      "_source" : {
        "reviews" : "283",
        "name" : "Sohandas Udbalker M Vzsuoxhmkvfgijxzzjh",
        "specialization" : "Orthopaedic",
        "recommendation" : "146",
        "seniority" : "24",
        "likes" : "218",
        "online_participation" : "58",
        "online_booking" : "810",
        "tracking_system" : "60",
        "follow_up" : "53",
        "consultation_point" : "52",
        "online_prescription" : "29",
        "patient_count" : "61",
        "health_expense" : "94",
        "location" : "bangalore"
      },
      "highlight" : {
        "_all" : [ "Vzsuoxhmkvfgijxzzjh <p>Orthopaedic</p> 146" ]
      }

我想突出显示特定字段。取的是分片号,具体字段怎么高亮

要创建通用搜索引擎,您必须满足以下要求 1)全文搜索——不仅 return 包含确切关键字的文档的能力。 2)集群——将数据分布在不同的节点上。 3)水平可扩展性——通过添加更多节点来增加集群容量的能力。 4)自动完成