<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                **一、是否采用logstash單表導入,然后使用Elasticsearch多表關聯** *** 參考博主文章# [干貨 | Elasticsearch多表關聯設計指南](https://www.cnblogs.com/xiohao/p/12774882.html) 如果采用全部單表導入方案。 >1、一個是維護成本大,涉及十幾表。每張表的增刪改查都需要同步到es數據庫中,單這塊開發成本就很高。 2、ES?擅長的是檢索,而?MySQL?才擅長關系管理。通過logstash?同步關聯數據到ES時,通常會建議:先通過視圖對Mysql數據做好多表關聯,然后同步視圖數據到ES。 3、如果在es做關聯查詢,那么建立索引數據的時候要用嵌套文檔(Nested)存儲,很多場景下,使用嵌套文檔的復雜度在于索引階段對關聯關系的組織拼裝。而且復雜的多表關聯查詢用es實現起來很復雜,相關資料很少,學習成本高。 4、logstash同步數據是有分頁設置,配置后自動的分頁導入。另外如果到達千萬級別,億級別的數據導入就不在推薦單獨使用ogstash做同步了,應該考慮配合使用消息中間件kafka之類。 5、Nested&Join父子文選型必須考慮`性能問題`。 nested 類型檢索使得檢索效率慢幾倍,父子Join 類型檢索會使得檢索效率慢幾百倍。 **二、使用Elasticsearch實現同段和同句搜索** *** 參考博主文章# [使用Elasticsearch實現同段和同句搜索](https://elasticsearch.cn/article/13677) >1、同句搜索要求搜索多個關鍵詞時,返回的文章不只要包含關鍵詞,而且這些關鍵詞必須在同一句中。 同段搜素類似,只是范圍為同一段落。 2、同段、同句搜索,使用常用的term、match查詢,沒有找到辦法可以實現。SpanQuery常常應用在法律或專利的特定搜索。這些領域,常常提供同段 /同句搜索 。 3、bool查詢結合SpanQuery跨度查詢,實現復雜的組合查詢。 ![](http://cloud.ryloo.icu/b8cb59f10f295fe57c44bd1ce9116990) **三、涉及1對多關聯查詢時的優化方案** *** 場景:一條法律案例中涉及多個法律法規 >ES 擅長的是檢索,而 MySQL 才擅長關系管理。所以可以考慮二者結合,根據第一次查詢的結果,第二次查詢返回,使用 ES 多索引建立相同的別名,針對別名檢索到對應 ID 后再回 MySQL 查詢,業務層面通過關聯 ID join 出需要的數據。 **四、更改elasticsearch中索引的mapping** *** 參考博主文章# [更改elasticsearch中索引的mapping](https://www.cnblogs.com/sanduzxcvbnm/p/13140141.html) >首先,elasticsearch 并不支持修改mapping映射字段,無法直接修改,所以需要曲線救國。 **五、es-ik中文分詞不精確和不滿足法律法規的檢索需求** *** 需要完善自定義分詞庫,然后嘗試以下分詞: [# lawa](https://github.com/ShenDezhou/lawa) [# hlseg Analysis for Elasticsearch](https://github.com/HylandaOpen/elasticsearch-analysis-hlseg) [# tanford Core NLP Analyzer for Elasticsearch](https://github.com/godlockin/esStanfordNLPAnalyzer) **六、iptables開放端口號一段時間就失效了** >iptables -I INPUT 1 -p tcp --dport 5601 -j ACCEPT 一段時間后自動失效了 **七、logstash全量導入數據時出現服務器連接丟失,正在嘗試重新連接!** >清空索引數據,kill -9 port,重新導入,而不是刪除索引。 >保證mapping映射類型不用重新建一遍。 ``` POST law_advices_v1/_delete_by_query { "query":{ "match_all":{ } } } GET law_advices_v1/_mapping ``` **八、# [ES 搜索16 (自定義 _all 字段 copy_to關鍵字)](https://blog.csdn.net/qq_42383787/article/details/99948150)** >?copy_to 是吧全部字段的值拼接到一個字段里面了,你在單個字段上設置的 boost 肯定沒辦法起作用的; 如果你希望每個字段權重不同,你可以使用 boolQuery 的多個 should 語句; 每個語句里面使用 matchQuery 或者 multiMatchQuery 來進行匹配,這樣你每一個字段的權重都可以進行自定義。 **九、# ElasticSearch中keyword的屬性ignore_above詳解** >在[ElasticSearch](https://so.csdn.net/so/search?from=pc_blog_highlight&q=ElasticSearch)中keyword類型字段可以設置ignore_above屬性(默認是10) ,表示最大的字段值長度,超出這個長度的字段將不會被索引,但是會存儲。 **十、mysql數據庫tinyint類型mapping映射不匹配,導致數據導入是錯誤** >將mysql數據庫tinyint類型修改成smallint類型 **十一、mysql數據庫datetime類型數據導入,時間相差5小時** 參考博主文章# [ES時區問題](https://blog.csdn.net/zlfing/article/details/78529849) >目前全量導入未作處理,查詢時加上5小時。而后臺實時導入時會報錯,做特殊處理轉化成UTC格式。 >mysql數據庫datetime類型數據如果存在0000-00-00 00:00:00 這種數據,導入會報錯。 >除了datetime外,MySQL int類型要對應es long類型,mapping映射時要注意,都需要一一對應。 **十二、批量文檔更新** 參考博主文章# [Elasticsearch使用update_by_query](https://blog.csdn.net/feinifi/article/details/100542549) 更新多個文檔,index數組傳入。修改多個字段,source 用分號分隔字符串傳入。 ~~~ POST _updateByQuery { "index":["law_advices_v1", "law_indictments_v1"], "body": { "query": { "term": { "user_id": "421" } }, "script": { "source": "ctx._source.user_name=params.user_name;ctx._source.requirements_tags=params.requirements_tags", "params": { "user_name":"林小俠", "requirements_tags": "測試" } } } } ~~~ **十三、同句同段檢索遇到問題** >獲取中文分詞結果,用于同句同段的檢索。因自定義詞匯庫不完善和IK分詞器還不夠強大,按目前的實現方案,同句同段的查詢要先做分詞后再查詢(用戶點擊同句同段時查詢分詞結果,賦值到表單中) 跨度查詢里span_term,必須命中存入es映射的分詞詞匯,所以要做分詞處理后查詢,才能查出來,這方案除了精度問題外,可能還會有其他問題 - -|| 時間短促,ES研究不深,或有其他方案。后續優化該部分 **十四、kibana賬號密碼訪問出現forbidden** >更換elastic用戶即可登錄 **十五、logstash全量導入數據時,配置config、數據SQL、映射mapping請加上版本號** >可能存在從其他庫突然同步大量的數據過來,這時候為了不影響線上查詢,新建不同版本號的索引數據導入es,導入 成功后切換成新的版本數據即可不影響線上查詢。 >同時es檢索服務api也可以設置版本號 ![](http://cloud.ryloo.icu/3eea5325b4d88fa38879f3a1ffbd1cc3) ![](http://cloud.ryloo.icu/c84f18679e914616cdeeb924d7afc901) **十六、**[elasticsearch log4j 漏洞修復](https://cloud.tencent.com/developer/article/1919553) 參考博主文章 # [elasticsearch log4j 漏洞修復] (https://blog.csdn.net/weixin_43725548/article/details/121922264) 極牛網 # [核彈級漏洞 Apache Log4j2 席卷全球!漏洞詳情和修復建議看這里](https://baijiahao.baidu.com/s?id=1718750361348735829&wfr=spider&for=pc) >北京時間12月9號深夜,Apache Log4j2被曝出一個高危漏洞,攻擊者通過jndi注入攻擊的形式可以輕松遠程執行任何代碼。隨后官方緊急推出了2.15.0和2.15.0-rc1新版本修復,依然未能完全解決問題,現在已經更新到2.15.0-rc2。該漏洞被命名為Log4Shell,編號CVE-2021-44228,該漏洞CVSS評分達到了滿分10分,影響全球一大半的互聯網企業,包括百度、蘋果等企業都被爆出存在該漏洞,眾多媒體將這個漏洞形容成“史詩級”“核彈級”漏洞,可以說相當貼切。 ~~~ rpm -aq | grep elasticsearch sudo find /usr/local -name "*log4j-*.jar" ~~~ ![](http://cloud.ryloo.icu/173e7ab24e483fd0451f27b1e9b5d05d) ![](http://cloud.ryloo.icu/82bdc4daaae671075a971c6051eb0f76) ![](http://cloud.ryloo.icu/95134a3f139033ab92e7a5ed36b8a216) 找到對應的文件替換 ~~~ vim /usr/local/es/elasticsearch-7.6.2/config/jvm.options // 加入如下行 -Dlog4j2.formatMsgNoLookups=true ~~~ ![](http://cloud.ryloo.icu/72feadd1bfc9dd57cd98848b2c8491b8) 然后重啟elasticsearch服務生效 ![](http://cloud.ryloo.icu/0b748514bdb6f8a7f8674fc9d7058695) **十七、分句分段查詢時高亮無法顯示** >多字段高亮 使用`require_field_match`開啟多個字段高亮 ![](http://cloud.ryloo.icu/b7fd62867c82731aa0fbc69f70133d72)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看