Wildcard search with multiple words using PHP SDK

Hi there,

We’re using a bucket containing restaurants. I’ve created an FTS index to search within this bucket using several properties of the restaurant, such as the name, city, and zipcode.

If I look for e.g. Thai restaurants using the Couchbase Console and the search query “*thai rest*” (without quotes) I get about 3000 results.

I am unsure how to get the same results using the PHP SDK.

Excerpt from PHP file:

$searchQuery = new SearchQuery('idx_search_company_name', SearchQuery::wildcard($searchText));
$result = $bucket->query($searchQuery);
var_dump($result); die();

Note that the index is named incorrectly (for now), we added the other properties later.

The result when executing this code is:

string(11) "\*thai rest*"
object(stdClass)#217 (4) {
  array(0) {
  array(3) {
  array(0) {
  array(3) {

If I search for restaurtants using the text ‘terdam’, I get the same results [restaurants from both Amsterdam and Rotterdam (and possibly others)], both using the SDK and console, so I am fairly certain I am using the right bucket and the wildcards themselves work.

How do I search for multiple words with wildcards using the PHP SDK?

Could you show the request you are doing via console?

I type in *thai rest* in the search bar. The resulting JSON in the advanced settings is:

  "explain": true,
  "fields": [
  "highlight": {},
  "query": {
    "query": "*thai rest*"

Thank you.

This is not wildcard search, this is query search, and you have to use \Couchbase\SearchQuery::queryString():

$searchQuery = new SearchQuery('idx_search_company_name', SearchQuery::queryString($searchText));

Thank you. I knew it had to be something simple I was overlooking. This works perfectly :slight_smile: