2009-04-08 4 views
0

Bin ein Neuling nach Lucene eine Arbeit auf einer Stadtsuche API mit Lucene. Wenn der Benutzer in San Francisco als Sucheingabe eingibt, sollte er Städte nur mit exakter Übereinstimmung und nicht San Jose/San Diego usw.Name der Stadt Abfrage

Wie soll ich Stadtnamen in Lucene indizieren und welche Lucene Analyse- und Abfrageklasse muss ich verwenden?

+0

Warum brauchen Sie Lucene für eine solche Suche? Gibt es einen bestimmten Grund, warum Sie sich entschieden haben, Lucene anstelle einer einfachen SQL-Abfrage zu verwenden? – itsadok

Antwort

2

Indexieren Sie Ihren Inhalt mit StandardAnalyzer. Und dann verwenden Sie PhraseQuery, um zu suchen. Verwenden Sie dazu einfach die Abfragezeichenfolge als "San Francisco" in Anführungszeichen.

0
<?php 
if(isset($_POST['submit']) && $_POST['submit']=='submit'){ 
    $city = $_POST['city']; 
    $query = "SELECT * FROM libreary WHERE city LIKE'".$city."'"; 
    $row = mysqli_query($con,$query); 
    $result = mysqli_num_rows($row); 
if($result>0){ 
    while($row1 = mysqli_fetch_array($row)){ 
     print_r($row1); 
    } 
} 
    $respon['Response'] = $response; 
    print_r(json_encode($respon)); 

} 
?> 
+1

Ich denke, es wäre hilfreicher das OP und weitere Besucher, wenn Sie einige Erklärungen für Ihre Absicht hinzufügen würden. – reporter