Bugzilla – Attachment 22232 Details for
Bug 10271
An index containing ns or nb does not work
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 10271 - An index containing ns or nb does not work
Bug-10271---An-index-containing-ns-or-nb-does-not-.patch (text/plain), 3.92 KB, created by
Kyle M Hall (khall)
on 2013-10-21 23:25:22 UTC
(
hide
)
Description:
Bug 10271 - An index containing ns or nb does not work
Filename:
MIME Type:
Creator:
Kyle M Hall (khall)
Created:
2013-10-21 23:25:22 UTC
Size:
3.92 KB
patch
obsolete
>From bbea529aebdecc26857cc1707f4c0366ff3d5ce8 Mon Sep 17 00:00:00 2001 >From: Fridolyn SOMERS <fridolyn.somers@biblibre.com> >Date: Fri, 17 May 2013 14:03:37 +0200 >Subject: [PATCH] Bug 10271 - An index containing ns or nb does not work > >When an index does not contain a structure part, the structure "wrdl" is automatically added and a structure is mandatory to build search query (to convert ':' into '='). >But the code that tests that the structure is not already defined looks in entire index string : > $index =~ /(st-|phr|ext|wrdl|nb|ns)/ >It should look for a comma followed by a structure and in the case of "nb" and "ns" look for an exact match. >The consequence is that an index containing ns or nb or phr or etc does not work. > >This patch modifies the regexp for this part and other parts looking at structures into index. > >Test plan : >- Desactivate all searching sysprefs. >- Create a new index called "ansa" number 8999 into bib1.att, ccl.properties and records.abs >- Index a biblio with a value on this index, ie "VALUE" >- Perform a search on this index by editing url : http://<server>/cgi-bin/koha/catalogue/search.pl?idx=ansa&q=VALUE >=> Without patch, the search does not work. The PQF query is "@and ansa: VALUE" >=> With patch, the search works. The PQF query is "@attr 1=8999 VALUE"; >- Perform same test with an index containing a structure ie "aphra" >- Set QueryAutoTruncate syspref to automatically >=> Check * is added to operand : PQF query is "@attr 1=8999 @attr 4=6 @attr 5=1 VALUE" >- You may check stopwords removal but this feature is obsolete > >Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com> > >Comment: as far as I can test, this works. Small tab error reported >by koha-qa, fixed in a followup. > >This kind of patch is difficult to test without explicit instructions, >not everyone knows how to check what kind of PQF search is used. >I don't know. But I can test search results. > >Test: >1) Deactivate search sysprefs >QueryAutoTruncate = only if * is added >QueryFuzzy = Don't try >QueryStemming = Don't try >QueryWeightFields = Disable >UseQueryParser = Do not try > >2) Create new index 'ansa' >bib1.att : att 8999 ansa >ccl.properties : ansa 1=8999 >records.abs : melm 999 ansa:w,ansa:p > >1) and 2) from comment 3 on Bug > >3) In the undestanding that index refers to field 999, >edited default framework, made 999a visible on editor > >4) Edit sample record, add 'VALUE' to 999a, save, reindex > >5) Search with /cgi-bin/koha/catalogue/search.pl?idx=ansa&q=VALUE >No results > >6) Apply patch, repeat search >Got results > >That's all I can test. If not enough for QA, then this >must wait until further and explicit test instructions > >Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> >--- > C4/Search.pm | 6 +++--- > 1 files changed, 3 insertions(+), 3 deletions(-) > >diff --git a/C4/Search.pm b/C4/Search.pm >index 04e4918..3d15b55 100644 >--- a/C4/Search.pm >+++ b/C4/Search.pm >@@ -751,7 +751,7 @@ sub _remove_stopwords { > my @stopwords_removed; > > # phrase and exact-qualified indexes shouldn't have stopwords removed >- if ( $index !~ m/phr|ext/ ) { >+ if ( $index !~ m/,(phr|ext)/ ) { > > # remove stopwords from operand : parse all stopwords & remove them (case insensitive) > # we use IsAlpha unicode definition, to deal correctly with diacritics. >@@ -1387,7 +1387,7 @@ sub buildQuery { > > # Set default structure attribute (word list) > my $struct_attr = q{}; >- unless ( $indexes_set || !$index || $index =~ /(st-|phr|ext|wrdl|nb|ns)/ ) { >+ unless ( $indexes_set || !$index || $index =~ /,(st-|phr|ext|wrdl)/ || $index =~ /^(nb|ns)$/ ) { > $struct_attr = ",wrdl"; > } > >@@ -1405,7 +1405,7 @@ sub buildQuery { > } > > if ($auto_truncation){ >- unless ( $index =~ /(st-|phr|ext)/ ) { >+ unless ( $index =~ /,(st-|phr|ext)/ ) { > #FIXME only valid with LTR scripts > $operand=join(" ",map{ > (index($_,"*")>0?"$_":"$_*") >-- >1.7.2.5
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 10271
:
18191
|
21297
|
21298
| 22232 |
22233