簡體   English   中英

如何使用全文本TNTSearch門面

[英]How use full text TNTSearch facade

我嘗試了TNTSearch,但結果僅適用於完整的單詞。 例如,短語Facilis dolorem給我記錄所有帶有facilisdolorem.單詞的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM