1

3 つのフィールドがあり、そのうちの 2 つは配列で、1 つは名前フィールドです。これらのレコードを zend lucene インデックスから検索する方法。

code:

$name = $_POST ['name'];

$emails = $_POST ['email']; // this is a array

$xId = $_POST ['xId']; // this also an array

$index = new Zend_Search_Lucene ( 'test-index' );
4

1 に答える 1

2

これを試して

$name = $_POST ['name'];

$emails = $_POST ['email']; // this is a array

$xIds = $_POST ['xId']; // this also an array

// Making array as string
$emailIds = '';
foreach($emails as $email) {
    $emailIds .= $email . " ";
}

// Making array as string
$xIdsString = '';
foreach ($xIds as $xId) {
    $xIdsString .= $xId . " ";
}

// Create a new index object
$index = new Zend_Search_Lucene ( 'test-index' );

// Here we are going to search over multiple fields. 
// we are just creating the string for right now
$name_query     = "name:($lastName)";
$emails_query   = "emails:($emailIds)";
$xIds_query     = "xIds:($xIdsString)";

// Parse the query
$query = Zend_Search_Lucene_Search_QueryParser::parse("$name_query $emails_query $xIds_query");

$hits  = $index->find($query);
print_r($hits);
于 2012-05-01T05:24:27.063 に答える