簡體   English   中英

獅身人面像搜索-新手

[英]Sphinx search - newbie

我已經設法讓Sphinx運行來索引具有以下內容的表:emp_id,emp_name,emp_department,emp_gender,emp_join_date,emp_notes

在emp_gender為“ male”的情況下,如何使用Sphinx返回結果?

<?php
include ('sphinxapi.php');
$cl = new SphinxClient();
$cl->SetServer( "SPHINX2", 3312 );
$cl->SetMatchMode( SPH_MATCH_EXTENDED);
$result = $cl->Query( "male","sphinx_search");
?>

上面的代碼在包括emp_notes字段和emp_gender字段在內的任何地方返回male。 請提供有關如何定位列的建議。 像@emp_gender男性這樣的工作嗎? 它沒有返回預期的結果

您必須像這樣使用字段搜索運算符

$cl->Query( "@emp_gender male", "sphinx_search" );

諸如性別之類的信息最好存儲在屬性中。 您可以將SQL查詢更改為smth。 像這樣:

select if(emp_getnder = 'male', 1, 0) as gender,..... 

然后,您可以將“性別”字段用作整數屬性:

sql_attr_uint = gender

在您的應用中:

$cl->setFilter('gender', array(1)); //select only male
$cl->Query("", "sphinx_search");

該解決方案比按字段進行篩選要快得多,而且靈活得多,因為篩選器和查詢是分開的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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