Volltextsuche

Hilfe zu OTRS Problemen aller Art
Post Reply
UweB
OTRS wizard
Posts: 102
Joined: 25 Oct 2011, 10:20
OTRS Version?: 3.10

Volltextsuche

Post by UweB » 15 Mar 2012, 09:59

Hallo,

über die Volltextsuche wird eine Ticketnummer eingegeben. Obwohl es diese Ticketnummer gibt, wird dieses Ticket über die Volltextsuche nicht gefunden?
Werden alle Tickets in der Volltextsuche durchsucht oder nur Tickets mit bestimmten Stati/Besitzer?

Danke und Gruß
Uwe
Echt: OTRS-Version 3.0.10 auf Windows
Test: OTRS-Version 3.2.1 auf Windows

jojo
Moderator
Posts: 14571
Joined: 26 Jan 2007, 14:50
OTRS Version?: Git Master
Contact:

Re: Volltextsuche

Post by jojo » 15 Mar 2012, 12:08

es werden nur die Artikel durchsucht
"Production": OTRS™ 6, STORM powered by OTRS
"Testing": ((OTRS Community Edition)) git Master

Never change Defaults.pm! :: Blog
Professional Services:: http://www.otrs.com :: enjoy@otrs.com :: Share your ideas

chfr
OTRS newbie
Posts: 41
Joined: 24 Feb 2010, 12:18
OTRS Version?: 3.2.3
Real Name: Christian

Re: Volltextsuche

Post by chfr » 15 Mar 2012, 12:41

Ich hatte das Problem gestern auch:
- Kollegin gibt Ticketnummer in der Volltextsuche ein => kein Ergebnis
- ich gebe diese Ticketnummer ein und erhalte ein Ergebnis

Und dies war schon öfter so!

Kann man dies durch Ändern von Ticket::SearchIndexModule auf "StaticDB" ändern? Das "Support Assessment" empfiehlt mir ja auch einen Wechsel auf "Static DB", obwohl wir nur ca. 13.000 Tickets / 66.000 Artikel haben.
Eigentlich heißt es ja in der Sysconfig "Runtime will do full-text searches on live data (it works fine for up to 50.000 tickets). "
V 4.0.9 unter CentOS 7 :D

fnold
OTRS newbie
Posts: 12
Joined: 16 Jul 2010, 23:35
OTRS Version?: 3.0.11

Re: Volltextsuche

Post by fnold » 18 Apr 2012, 22:17

Hallo zusammen,

wir haben bei unsere Installation (ca 120K Tickets, 411k Articles) die Suche schon längere Zeit erfolgreich auf Static geändert. Auch wir hatten genau das gleiche Problem wie chfr, dass die Volltextsuche nicht im Subject/Betreff sucht und daher manche Tickets, bei denen im Artikel keine Ticket# genannt wurde, nicht gefunden hat, was mehr als nur lästig war.
Daher haben wir

1. die Tabelle article_search um 2 Felder (Feldname: t_tn, Typ varchar(50), Feldname: t_title, Feldtyp: varchar(255)) zur zusätzlichen Speicherung der Ticketnummern und des Tickettitels erweitert

und

2. das Modul ~/Kernel/System/Ticket/ArticleSearchIndex/StaticDB.pm nach ~/Custom/Kernel/System/Ticket/ArticleSearchIndex/StaticDB.pm kopiert und geringfügig modifiziert, damit die beiden neuen Felder auch gefüllt und gesucht werden. Dies sind so wie ich mich erinnere nur drei Stellen, an denen der Code geändert werden muss. Zum einen beim Erzeugen des Index in SubArticleIndexBuild und zum anderen bei der Volltextsuche in sub _ArticleIndexQuerySQLExt

Änderung in SubArticleIndexBuild
statt: for my $Key (qw(From To Cc Subject)) {
nun: for my $Key (qw(From To Cc Subject Title TicketNumber)) {

und die Änderung im SQL-Statement:
# insert search index
$Self->{DBObject}->Do(
# SQL => 'INSERT INTO article_search (id, ticket_id, article_type_id, '
SQL => 'INSERT INTO article_search (id, ticket_id, t_tn, t_title, article_type_id, '
. 'article_sender_type_id, a_from, a_to, a_cc, a_subject, a_message_id, '
# . 'a_body, incoming_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)',
. 'a_body, incoming_time) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)',
Bind => [
# Aenderung Tickettitle und Ticketnummer mit im Article Searchindex speichern
# \$Article{ArticleID}, \$Article{TicketID}, \$Article{ArticleTypeID},
\$Article{ArticleID}, \$Article{TicketID}, \$Article{TicketNumber}, \$Article{Title}, \$Article{ArticleTypeID}, ......
],


Änderung 2 in sub _ArticleIndexQuerySQLExt:

my %FieldSQLMapFullText = (
From => 'art.a_from',
To => 'art.a_to',
Cc => 'art.a_cc',
Subject => 'art.a_subject',
Body => 'art.a_body',
# Start Aenderung
Fulltextsearch_TicketNumber => 'art.t_tn',
Fulltextsearch_Title => 'art.t_title',
# Ende Aenderung
);

----------------------------------------------------------------------------------

Ich hoffe, dass das einigermassen verständlich ist. Probiert's einfach auf einem Testsystem mal aus.
MfG
Florian Nold
Regards,
Florian
--------------------------------------------------------------
OTRS 3.1.11, ITSM 3.1.7, SLES 10SP4, MySQL (under VMware ESX 4) connected to LDAP for Agents and Customers.
(ab 3.Mai.2013: OTRS 3.2.6 ITSM 3.2.4, MySQL (under VMware ESX 4) connected to LDAP for Agents and Customers.

Post Reply