"I don't get any results with "has "(inflections). Why?"
Wildcard patterns on strings are literal, exact. There is no automatic
natural language processing.
You could try a regular expression match:
q=/ ha(s|ve) /
Or, just use OR:
q=*has* OR *have*
Or, use a <copyField> of the package name to a text field and than you can
use simple keywords:
q=package_name_text:(has OR have)
Is PackageName a "string" field?
Or, maybe best, use an update processor to populate a Boolean field to
indicate whether the has/have pattern is seen in the package name. A simple
JavaScript script with a StatelessScriptUpdateProcessor could do this in
just a couple of lines and make the query much faster.
For question 1.b the two queries seem identical - was that the case?
There is no "*:" feature to query all fields in Solr - although the
LucidWorks Search query parser does support that feature.
-- Jack Krupansky
-----Original Message-----
From: Mysurf Mail
Sent: Monday, June 24, 2013 7:26 AM
To: solr-user@lucene.apache.org
Subject: Need assistance in defining search urls
Now, each doc looks like this (i generated random user text in the freetext
columns in the DB)
<doc> <str name="PackageName">We have located the ship.</str> <arr name=
"CatalogVendorPartNum"> <str>d1771fc0-d3c2-472d-aa33-4bf5d1b79992</str> <str
b2986a4f-9687-404c-8d45-57b073d900f7</str> <str>
a99cf760-d78e-493f-a827-585d11a765f3</str> <str>
ba349832-c655-4a02-a552-d5b76b45d58c</str> <str>
35e86a61-eba8-49f4-95af-8915bd9561ac</str> <str>
6d8eb7d9-b417-4bda-b544-16bc26ab1d85</str> <str>
31453eff-be19-4193-950f-fffcea70ef9e</str> <str>
08e27e4f-3d07-4ede-a01d-4fdea3f7ddb0</str> <str>
79a19a3f-3f1b-486f-9a84-3fb40c41e9c7</str> <str>
b34c6f78-75b1-42f1-8ec7-e03d874497df</str> </arr> <float name="score">
1.7437795</float></doc> <doc>
My searches are :
(PackageName is deined as default search)
1. I try to search for any package that name has the word "have" or "had"
or "has"
2. I try to search for any package that consists
d1771fc0-d3c2-472d-aa33-4bf5d1b79992
Therefore I use this searches
1.
http://localhost:8983/solr/vault/select?q=*have*&fl=PackageName%2Cscore&defType=edismax&stopwords=true&lowercaseOperators=true
questions :
1.a. even if i display all results, I dont get any results with "has "
(inflections). Why?
1.b. what is the difference between
*have*<http://localhost:8983/solr/vault/select?q=*have*&fl=PackageName%2Cscore&defType=edismax&stopwords=true&lowercaseOperators=true>
and
have<http://localhost:8983/solr/vault/select?q=*have*&fl=PackageName%2Cscore&defType=edismax&stopwords=true&lowercaseOperators=true>.
the score is differnt.
2.
http://localhost:8983/solr/vault/select?q=*:d1771fc0-d3c2-472d-aa33-4bf5d1b79992&fl=PackageName,score&defType=edismax&stopwords=true&lowercaseOperators=true&start=0&rows=300
Questions:
2.a. I get no result. even though i search it on all fields. (*) and it
appears in
2.b. If I want to search on more than one field i.e. packageName &
description, what is the best way to do it?
define all as default?
Thanks,