![](/img/trans.png)
[英]Using Full-Text-Search in order to find partial words by laravel query builder
[英]How to do full text search matching on partial Elasticsearch queries
我將Elasticsearch與Laravel結合使用,實現了所有功能,並且可以與簡單的匹配查詢一起使用,如上面的代碼中所示。
'body' => [
"query" => [
"bool" => [
"should" => [
["regexp" => [
"tags" => [
"value" => ".{2,8}" . $query . ".*",
]
],
],
["wildcard" => [
"tags" => [
"value" => "*" . $query . "*",
"boost" => 1.0,
"rewrite" => "constant_score"
]
]
]
]],
], "highlight" => [
"fields" => [
"tags" => ["type" => "plain"]
]
]
]
我收到了類似查詢“ java”的良好結果,同時收到了“ javascript”和“ nativjavascript”,但是問題在於接收短語結果。
我想輸入查詢“ java react”,並希望接收以下結果:“ java”,“ javascript”,“ javascript reactjs”,“ reactjs”,“ react”,“ nativjavascript”。
我對Laravel不熟悉,因此無法為您提供確切的語法,但可以告訴您該方法以及我如何在應用程序中解決此用例。
space
拆分搜索詞,在您使用java react
的情況下,應將其拆分為2個搜索詞java
and react
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.