[英]How to use Laravel Scout & TNTSearch in combination with relational databases?
[英]How use full text TNTSearch facade
我嘗試了TNTSearch,但結果僅適用於完整的單詞。 例如,短語Facilis dolorem
給我記錄所有帶有facilis
或dolorem.
單詞的dolorem.
如何在Laravel中使用TNTSearch進行搜索?
LIKE %lore%
如果鍵入lore,
則不會獲得中間有lore
字樣的記錄。
您應該通過docs中提到的配置啟用模糊搜索:
'tntsearch' => [
'storage' => storage_path(), //place where the index files will be stored
'fuzziness' => env('TNTSEARCH_FUZZINESS', false),
'fuzzy' => [
'prefix_length' => 2,
'max_expansions' => 50,
'distance' => 2
],
]
即。 如果這是您的配置,請將.env中的TNTSEARCH_FUZZINESS變量設置為true,則應獲得期望的結果。
另外,如果您已經創建了看起來像您的索引,則必須重新索引內容,以使模糊性發揮作用。
我的同樣的問題沒有解決,最后使用了其他好的替代方法: laravel-scout-mysql-driver嘗試一下,但是完全可以回答您的問題:您必須在查詢中使用*lore*
。 有關查詢的更多文檔: 布爾全文本搜索
我遇到了這個問題,並通過在config\\scout.php
添加'asYouType' => false,
解決了這個問題。 我的代碼是:
'tntsearch' => [
'storage' => storage_path(), //place where the index files will be stored
'fuzziness' => true,
'fuzzy' => [
'prefix_length' => 2,
'max_expansions' => 50,
'distance' => 2
],
'asYouType' => false,
],
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.