国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

修改forge search方法,加入完全匹配標記,解決搜索是模糊搜索問題

sumory / 620人閱讀

摘要:行修改加入關鍵字,為時為完全匹配,為時為包含行修改加入關鍵字,為時為完全匹配,為時為包含行修改加入關鍵字,為時為完全匹配,為時為包含行修改加入關鍵字,為時為完全匹配,為時為包含添加行修改加入關鍵字,為時為完全匹配,為時為

viewer3d.js
15194行

</>復制代碼

  1. /**
  2. * 修改2019-8-6 加入perfectMatch關鍵字,
  3. * perfectMatch為true時為完全匹配,為false時為包含
  4. *
  5. */
  6. Model.prototype.search = function (text, onSuccessCallback, onErrorCallback, attributeNames,perfectMatch)
  7. {
  8. var pdb = this.getPropertyDb();
  9. if (!pdb) {
  10. onErrorCallback && onErrorCallback();
  11. return;
  12. }
  13. pdb.searchProperties(text, attributeNames, onSuccessCallback, onErrorCallback,perfectMatch);
  14. };

19173行

</>復制代碼

  1. /**
  2. * 修改2019-8-6 加入perfectMatch關鍵字,
  3. * perfectMatch為true時為完全匹配,為false時為包含
  4. *
  5. */
  6. Viewer3D.prototype.search = function (text, onSuccessCallback, onErrorCallback, attributeNames,perfectMatch)
  7. {
  8. this.searchText = text;
  9. if (this.model) {
  10. this.model.search(text, onSuccessCallback, onErrorCallback, attributeNames,perfectMatch);
  11. } else
  12. {
  13. if (onErrorCallback)
  14. onErrorCallback(_file_loaders_net_ErrorCodes__WEBPACK_IMPORTED_MODULE_6__["ErrorCodes"].BAD_DATA, "Search failed since model does not exist");
  15. }
  16. };

38881行

</>復制代碼

  1. /**
  2. * 修改2019-8-6 加入perfectMatch關鍵字,
  3. * perfectMatch為true時為完全匹配,為false時為包含
  4. *
  5. */
  6. PropDbLoader.prototype.searchProperties = function (searchText, attributeNames, onSuccess, onError,perfectMatch) {
  7. this.asyncPropertyOperation(
  8. {
  9. "operation": WORKER_SEARCH_PROPERTIES,
  10. "searchText": searchText,
  11. "attributeNames": attributeNames,
  12. "perfectMatch":perfectMatch
  13. },
  14. onSuccess, onError);
  15. };

lmvworker.js
35941行

</>復制代碼

  1. /**
  2. * 修改2019-8-6 加入perfectMatch關鍵字,
  3. * perfectMatch為true時為完全匹配,為false時為包含
  4. * @param loadContext
  5. */
  6. function doPropertySearch(loadContext) {
  7. var _this = loadContext.worker;
  8. // 添加
  9. var perfectMatch = loadContext.perfectMatch;
  10. var cacheEntry = _this.pdbCache && _this.pdbCache[loadContext.dbPath];
  11. if (cacheEntry && cacheEntry.pdb) {
  12. var searchText = loadContext.searchText;
  13. var result = cacheEntry.pdb.bruteForceSearch(searchText, loadContext.attributeNames,perfectMatch);
  14. _this.postMessage({ cbId: loadContext.cbId, result: result });
  15. }
  16. }

22754行

</>復制代碼

  1. /**
  2. * Searches the property database for a string.
  3. * 修改2019-8-6 加入perfectMatch關鍵字,
  4. * perfectMatch為true時為完全匹配,為false時為包含
  5. *
  6. *
  7. * @returns Array of ids.
  8. */
  9. this.bruteForceSearch = function (searchText, attributeNames,perfectMatch) {
  10. var searchList = this.getSearchTerms(searchText);
  11. if (searchList.length === 0)
  12. return [];
  13. //For each search word, find matching IDs
  14. var results = [];
  15. for (var k = 0; k < searchList.length; k++) {
  16. var result = [];
  17. //Find all values that match the search text
  18. var matching_vals = [];
  19. for (var i = 0, iEnd = _valuesOffsets.length; i < iEnd; i++) {
  20. var val = this.getValueAt(i);
  21. if (val === null)
  22. continue;
  23. // 原方法
  24. // if (val.toString().toLowerCase().indexOf(searchList[k]) !== -1){
  25. //
  26. // matching_vals.push(i);
  27. // }
  28. //此處修改
  29. if(perfectMatch){
  30. if (val.toString().toLowerCase() === searchList[k] ){
  31. matching_vals.push(i);
  32. }
  33. }else{
  34. if (val.toString().toLowerCase().indexOf(searchList[k]) !== -1){
  35. matching_vals.push(i);
  36. }
  37. }
  38. }
  39. if (matching_vals.length === 0) {
  40. results.push(result);
  41. continue;
  42. }
  43. // values should be sorted at this point, but it doesn"t hurt making sure they are.
  44. matching_vals.sort(function (a, b) {
  45. return a - b;
  46. });
  47. this.enumObjects(function (id) {
  48. _this.enumObjectProperties(id, function (attrId, valId) {
  49. // skip hidden attributes
  50. var isHidden = _this.attributeHidden(attrId);
  51. if (isHidden) {
  52. return;
  53. }
  54. var iFound = Object(_common_SearchUtils__WEBPACK_IMPORTED_MODULE_1__["binarySearch"])(matching_vals, valId);
  55. if (iFound !== -1) {
  56. //Check attribute name in case a restriction is passed in
  57. if (attributeNames && attributeNames.length && attributeNames.indexOf(_attrs[attrId][0]) === -1)
  58. return;
  59. result.push(id);
  60. return true;
  61. }
  62. });
  63. });
  64. results.push(result);
  65. }
  66. if (results.length === 1) {
  67. return results[0];
  68. }
  69. //If each search term resulted in hits, compute the intersection of the sets
  70. var map = {};
  71. var hits = results[0];
  72. for (var i = 0; i < hits.length; i++) {
  73. map[hits[i]] = 1;}
  74. for (var j = 1; j < results.length; j++) {
  75. hits = results[j];
  76. var mapint = {};
  77. for (var i = 0; i < hits.length; i++) {
  78. if (map[hits[i]] === 1)
  79. mapint[hits[i]] = 1;
  80. }
  81. map = mapint;
  82. }
  83. var result = [];
  84. for (var k in map) {
  85. result.push(parseInt(k));
  86. }
  87. return result;
  88. };

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/106456.html

相關文章

  • 前端做模糊搜索

    摘要:到目前為止我們只實現了搜索功能,按更優的體驗來講,在搜索結果中,要優先把相連匹配的放在首位,如關鍵字,要把結果放到前面。 我們先看一下效果圖:showImg(https://segmentfault.com/img/remote/1460000015486183?w=199&h=107); 這是搜索關鍵字cfg時,會自動匹配到config方法 同樣,我們再看另一個例子 showImg(...

    shadowbook 評論0 收藏0
  • Lucene介紹與應用

    摘要:創建用來對查詢語句進行詞法分析和語言處理。調用對查詢語法樹進行搜索,得到結果。代碼中用到了分詞器,是第三方實現的分詞器,繼承自的類,針對中文文本進行處理的分詞器。 Lucene介紹與應用 GitHub地址:https://github.com/yizuoliang... 一、全文檢索介紹 1.數據結構 結構化數據: 指具有固定格式 或限定長度的數據; 例如:數據庫中的數據、元數據…...

    genedna 評論0 收藏0
  • 深度學習在美團點評的應用

    摘要:基于深度學習的語義匹配語義匹配技術,在信息檢索搜索引擎中有著重要的地位,在結果召回精準排序等環節發揮著重要作用。在美團點評業務中主要起著兩方面作用。 寫在前面美團點評這兩年在深度學習方面進行了一些探索,其中在自然語言處理領域,我們將深度學習技術應用于文本分析、語義匹配、搜索引擎的排序模型等;在計算機視覺領域,我們將其應用于文字識別、目標檢測、圖像分類、圖像質量排序等。下面我們就以語義匹配、圖...

    DirtyMind 評論0 收藏0
  • Lucene就這么容易

    摘要:就其本身而言,是當前以及最近幾年最受歡迎的免費信息檢索程序庫。這樣完全和數據庫進行了隔離。當一個文檔出現在了搜索結果中,這就意味著該文檔與用戶給定的查詢語句是相匹配的。 showImg(https://segmentfault.com/img/bVbuifx?w=258&h=258);公眾號閱讀https://mp.weixin.qq.com/s/M3... Lucene [TOC] ...

    894974231 評論0 收藏0
  • Elastic Search快速上手(4):細節補充

    摘要:前綴部分必須完全匹配。搜索建議搜索建議功能,需要配合程序,在向中存入文檔時,就需要通過分詞等方式,指定搜索建議字段的內容。注意,高亮的結果在返回時單獨存放,并不是將數據做了改變。的官方文檔是最好的參考資料,介紹很全面。 模糊搜索 可以進行模糊搜索: GET job/type1/_search { query:{ fuzzy:{ title:{ v...

    JohnLui 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<