-
Eine andere Suchmaschine
Hallo zusammen,
wir haben ein Suchmaschinenskript entdeckt, dass wir gerne in Contao integrieren möchten. Der Grund ist, dass dieses die PDF-Indizierung beherrscht. Es handelt sich um eine PHP-Suchmaschine. Wie geht man das am besten an? Muss es ein Modul werden?
Vorerst sollen die Suchergebnisse in einem neuen Fenster angezeigt werden. Hier kommt die Idee einfach den Suchbegriff via Javascript zu übergeben. Allerdings hat die Suchmaschine eine Suggest-Funktion, die wir gerne nutzen würden. Ergo heißt das doch, dass irgendwas eingebaut werden muss.
Über ein paar Rechercheansätze wäre ich dankbar.
TA
-
Ich denke stark das sich hier ein eigenes Modul eignet. Ich weiß leider nicht wie die Suche arbeitet. Wahrscheinlich wird dann sogar ein eigener Indexer geschrieben werden müssen?
Wir haben SOLR im Einsatz, allerdings mit einer TYPO3 Installation. Vielleicht kommt das für euch auch in Frage. Hierfür würde es sogar schon eine Contao Integration geben.
-
Interessant... was muss der Webserver können, damit man das installieren kann? Bis jetzt haben wir nur Shared Webhosting.
Die Suchmaschine, die wir einsetzen möchten heißt Sphider-plus. Wir haben eine Testinstallation gemacht und sie funktioniert auf unserem Shared Hosting. Nun fragen wir uns eben, wie man diese am einfachsten integrieren kann. An sich würde auch Ergebnisseite in einem neuen Fenster erstmal die Wünsche erfüllen.
-
Naja, wenn Du es am laufen hast, dann feht Dir doch eigentlich nur das Suchfeld und ein passender Knopf dazu, oder? Das kannst Du zur Not auch mit einer PHP-Datei unter /templates einbinden. Dort müsstest Du dann auch den gewünschten Autocompleter anbinden.
Der Vorteil einer Contao-unabhängigen Lösung dürfte sein, dass es das System nicht belastet und man - wenn es mehr Ressourcen benötigt - mal eben schnell auf einen leistungsfähigeren Server ziehen kann. Der Nachteil dürfte sein, dass es zwei unabhängige Suchindizes geben dürfte (PDF und Website), die gemeinsam nicht durchsucht werden können.
Es gäbe auch Ansätze, mit denen man den Contao-Index befüllen könnte, die sind allerdings nicht ganz trivial. Es gäbe auch den Ansatz, so etwas wie ElasticSearch zu nutzen. Musst mal hier im Forum schauen, da gibt es bereits ein paar Themen.
-
Super-Tipp... ich finde gerade nur keine entsprechenden Post in Sachen Contao-Index (Suchindex) befüllen. Hast du mir ein paar Stichwörter?
-
-
Ah danke, aber das Thema kannte ich schon. Da gibts auch ein paar Fragen von mir. Es geht da aber nicht um das direkte Befüllen des Contao-Index oder meintest du das? Letztlich tut das dieses Extension natürlich.
-
Schreiben in die tl_search_index wäre ja mein Argument gewesen ... ;-)
-
Ok, ich sehe schon. Da muss ich unseren MySQL-Menschen anhauen sobald ich das Funktional mit Sphider-Plus gelöst habe.
Man darf dann nur nicht mehr mit dem Suchindex rumspielen.
-
Nun habe ich mal ein HTML-Modul gebaut. Das übergeben des Suchbegriffs funktioniert und die Ergebnisseite erscheint dann in einem neuen Fenster.
HTML-Code:
<form action="http://search.domain.com/search.php" method="get" id="search_form">
<div>
<label class="invisible" for="ctrl_keywords_33">Suchbegriffe</label>
<input type="text" value="" size="35" placeholder="Suchbegriff" id="query_t" name="query_t" class="ui-autocomplete-input" autocomplete="off" />
<input type="submit" value="Suche" id="t_search" class="sbmt submit" name="smt_button">
<input type="hidden" name="search" value="1" />
</div>
<input type="hidden" value="" name="up_advanced">
<input type="hidden" value="0" name="category">
<input type="hidden" value="0" name="catid">
<input type="hidden" value="" name="cat_sel0">
<input type="hidden" value="" name="cat_sel1">
<input type="hidden" value="" name="cat_sel2">
<input type="hidden" value="" name="cat_sel3">
<input type="hidden" value="" name="cat_sel4">
</form>
Die Autosuggest-Funktion habe ich wie in Sphider-Plus vorgegeben in den <head> via zusätzliche Head-Tags bei dem entsprechenden Seitenlayout eingebettet. Leider funktioniert das nicht. Kann das an dem externen PHP-Skript "suggest.php" liegen?
Das sieht etwas so aus:
HTML-Code:
<script>
$(function() {
$("#query_t").autocomplete({
source: "http://search.domain.com/include/suggest.php?media_only=0&amp;amp;type=and&amp;amp;catid=0&amp;amp;category=0&amp;amp;db=0&amp;amp;prefix=0",
minLength: 1,
select: function(event, ui) {
var item = ui.item;
console.log(item,ui)
if(item) {
$(this).val(item.value);
$(this.form).submit();
}
}
})
})
</script>
<script>
$(function() {
$("#query_m").autocomplete({
source: "http://search.domain.com/include/suggest.php?media_only=1&amp;amp;type=and&amp;amp;catid=0&amp;amp;category=0&amp;amp;db=0&amp;amp;prefix=0",
minLength: 1,
select: function(event, ui) {
var item = ui.item;
console.log(item,ui)
if(item) {
$(this).val(item.value);
$(this.form).submit();
}
}
})
})
</script>
Ich sehe jetzt irgendwie keinen Fehler. Kann so eine Konstruktion überhaupt funktionieren oder muss es anders eingebaut werden?
Ansonsten musste ich noch zwei jquery-Bibs einbinden. In meiner Contao-Installation waren jetzt nicht exakt die Gleichen. Also habe ich prophylaktisch einfach die Zusätzlichen eingebunden.
-
Umzug Entwicklerforum
Hallo nochmal,
ich habe diese Fragestellung nun doch einmal ins Entwickler-Forum gestellt. Mir ist eingefallen, dass es nun dort besser platziert sein könnte --> click… https://community.contao.org/de/showthread.php?57456-Einfaches-HTML-Modul-zur-Integration-einer-externen-Suchmaschine
Wenn euch trotzdem etwas einfällt, wäre das echt klasse. Ich bin mit meinem Latein am Ende.
Danke
T
-
-
Danke für den Tipp!
Die Lösung mit Sphider-Plus läuft. Ausschlusskriterium ist ib Celastic die PDF-Suche beherscht. Steht nicht eindeutig auf der Website. Ich habe mal nachgefragt... per E-Mail.
-
Ich habe vor Jahren einmal dorthin eine Anfrage gesendet.
Habe aber noch nie eine Antwort bekommen....
Weiß jemand was genaues darüber?
-
@Grossvater: Ich habe auch noch keine Antwort bekommen. Konkret habe ich nach PDF-Durchsuchung gefragt. Ich vermute, das beherscht diese Suchmaschine nicht.
-
Ich habe von Christoph gestern eine Anwort erhalten:
- PDF können (noch) nicht Indizieren werden
Gruß Kirsten
-
hm...
die nutzen ElasticSearch. Soweit ich weiss, kann ElasticSearch mit einem entsprechenden Plugin PDF Dokumente indizieren. Theoretisch sollte das also klappen.
Gruß Kester