On 1/16/2025 9:34 AM, Arne Vajhøj wrote:
Martin V has made an activate.com, see:
https://forum.vmssoftware.com/viewtopic.php?f=30&t=9345
Demo searching my Solr chess opening text database:
$ cre/dir [.zzz]
$ set def [.zzz]
$ python -m venv solrenv
$ @[.solrenv.bin]activate
(solrenv) $ python -m pip install solrpy
Collecting solrpy
Using cached solrpy-1.0.0.tar.gz (39 kB)
Collecting future
Using cached future-1.0.0-py3-none-any.whl (491 kB)
Collecting six
Using cached six-1.17.0-py2.py3-none-any.whl (11 kB)
Collecting pyyaml
Using cached
PyYAML-6.0.2-cp310-cp310-openvms_0_vmware__inc__vmware20_1.whl
Using legacy 'setup.py install' for solrpy, since package 'wheel' is not installed.
Installing collected packages: six, pyyaml, future, solrpy
WARNING: Value for scheme.scripts does not match. Please report this
to <
https://github.com/pypa/pip/issues/10151>
distutils: /DKA0/arne/zzz/solrenv/bin
sysconfig: /DKA0/arne/zzz/solrenv/scripts
WARNING: Additional context:
user = False
home = None
root = None
prefix = None
Running setup.py install for solrpy ... done
Successfully installed future-1.0.0 pyyaml-6.0.2 six-1.17.0 solrpy-1.0.0 WARNING: You are using pip version 21.2.3; however, version 24.3.1 is available.
You should consider upgrading via the
'/DKA0/arne/zzz/solrenv/bin/python.exe -m pip install --upgrade pip'
command.
(solrenv) $ type search.py
import solr
def dump(client, searchterm):
print('search for : %s' % (searchterm))
res = client.query(searchterm, df='alltext').results
for doc in res:
print(' %s - %s' % (doc['names'], doc['moves']))
client = solr.SolrConnection('
http://arnepc5:8888/solr/chessopening')
# all
dump(client, '*:*')
# one
dump(client, 'names:defense')
dump(client, 'moves:d4')
# dual
dump(client, 'alltext:defense')
dump(client, 'alltext:d4')
dump(client, 'defense') # default field
dump(client, 'd4') # default field
# boolean
dump(client, 'names:defense moves:d4') # implicit or
dump(client, 'names:defense AND moves:d4') # and
dump(client, 'names:defense NOT moves:d4') # not
dump(client, 'defense d4') # default field + implicit or
dump(client, 'defense AND d4') # default field + and
dump(client, 'defense NOT d4') # default field + not
# wildcard
dump(client, 'names:def*')
dump(client, 'moves:N*')
(solrenv) $ python search.py
search for : *:*
Spanish defense, Ruy Lopez - 1. e4, e5, 2. Nf3, Nc6, 3. Bb5,
French defense - 1. e4, e6, 2. d4, d5,
Sicilian defense - 1. e4, c5,
Queens gambit - 1. d4, d5, 2. c4,
Dutch defense - d4, f5,
Reti opening - Nf3, d5, 2. c4,
search for : names:defense
French defense - 1. e4, e6, 2. d4, d5,
Sicilian defense - 1. e4, c5,
Dutch defense - d4, f5,
Spanish defense, Ruy Lopez - 1. e4, e5, 2. Nf3, Nc6, 3. Bb5,
search for : moves:d4
Dutch defense - d4, f5,
Queens gambit - 1. d4, d5, 2. c4,
French defense - 1. e4, e6, 2. d4, d5,
search for : alltext:defense
Dutch defense - d4, f5,
Sicilian defense - 1. e4, c5,
French defense - 1. e4, e6, 2. d4, d5,
Spanish defense, Ruy Lopez - 1. e4, e5, 2. Nf3, Nc6, 3. Bb5,
search for : alltext:d4
Dutch defense - d4, f5,
Queens gambit - 1. d4, d5, 2. c4,
French defense - 1. e4, e6, 2. d4, d5,
search for : defense
Dutch defense - d4, f5,
Sicilian defense - 1. e4, c5,
French defense - 1. e4, e6, 2. d4, d5,
Spanish defense, Ruy Lopez - 1. e4, e5, 2. Nf3, Nc6, 3. Bb5,
search for : d4
Dutch defense - d4, f5,
Queens gambit - 1. d4, d5, 2. c4,
French defense - 1. e4, e6, 2. d4, d5,
search for : names:defense moves:d4
Dutch defense - d4, f5,
French defense - 1. e4, e6, 2. d4, d5,
Queens gambit - 1. d4, d5, 2. c4,
Sicilian defense - 1. e4, c5,
Spanish defense, Ruy Lopez - 1. e4, e5, 2. Nf3, Nc6, 3. Bb5,
search for : names:defense AND moves:d4
Dutch defense - d4, f5,
French defense - 1. e4, e6, 2. d4, d5,
search for : names:defense NOT moves:d4
Sicilian defense - 1. e4, c5,
Spanish defense, Ruy Lopez - 1. e4, e5, 2. Nf3, Nc6, 3. Bb5,
search for : defense d4
Dutch defense - d4, f5,
French defense - 1. e4, e6, 2. d4, d5,
Queens gambit - 1. d4, d5, 2. c4,
Sicilian defense - 1. e4, c5,
Spanish defense, Ruy Lopez - 1. e4, e5, 2. Nf3, Nc6, 3. Bb5,
search for : defense AND d4
Dutch defense - d4, f5,
French defense - 1. e4, e6, 2. d4, d5,
search for : defense NOT d4
Sicilian defense - 1. e4, c5,
Spanish defense, Ruy Lopez - 1. e4, e5, 2. Nf3, Nc6, 3. Bb5,
search for : names:def*
Spanish defense, Ruy Lopez - 1. e4, e5, 2. Nf3, Nc6, 3. Bb5,
French defense - 1. e4, e6, 2. d4, d5,
Sicilian defense - 1. e4, c5,
Dutch defense - d4, f5,
search for : moves:N*
Spanish defense, Ruy Lopez - 1. e4, e5, 2. Nf3, Nc6, 3. Bb5,
Reti opening - Nf3, d5, 2. c4,
Which is totally similar to:
C:\Work\Python>md zzz
C:\Work\Python>cd zzz
C:\Work\Python\zzz>\Python\Python311\python -m venv solrenv
C:\Work\Python\zzz>solrenv\Scripts\activate
(solrenv) C:\Work\Python\zzz>pip install solrpy
Collecting solrpy
Using cached solrpy-1.0.0.tar.gz (39 kB)
Preparing metadata (setup.py) ... done
Collecting future
Using cached future-1.0.0-py3-none-any.whl (491 kB)
Collecting six
Using cached six-1.17.0-py2.py3-none-any.whl (11 kB)
Collecting pyyaml
Using cached PyYAML-6.0.2-cp311-cp311-win_amd64.whl (161 kB)
Installing collected packages: six, pyyaml, future, solrpy
DEPRECATION: solrpy is being installed using the legacy 'setup.py
install' method, because it does not have a 'pyproject.toml' and the
'wheel' package is not installed. pip 23.1 will enforce this behaviour
change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at
https://github.com/pypa/pip/issues/8559
Running setup.py install for solrpy ... done
Successfully installed future-1.0.0 pyyaml-6.0.2 six-1.17.0 solrpy-1.0.0
[notice] A new release of pip available: 22.3.1 -> 24.3.1
[notice] To update, run: python.exe -m pip install --upgrade pip
(solrenv) C:\Work\Python\zzz>type search.py
import solr
def dump(client, searchterm):
print('search for : %s' % (searchterm))
res = client.query(searchterm, df='alltext').results
for doc in res:
print(' %s - %s' % (doc['names'], doc['moves']))
client = solr.SolrConnection('
http://localhost:8888/solr/chessopening')
# all
dump(client, '*:*')
# one
dump(client, 'names:defense')
dump(client, 'moves:d4')
# dual
dump(client, 'alltext:defense')
dump(client, 'alltext:d4')
dump(client, 'defense') # default field
dump(client, 'd4') # default field
# boolean
dump(client, 'names:defense moves:d4') # implicit or
dump(client, 'names:defense AND moves:d4') # and
dump(client, 'names:defense NOT moves:d4') # not
dump(client, 'defense d4') # default field + implicit or
dump(client, 'defense AND d4') # default field + and
dump(client, 'defense NOT d4') # default field + not
# wildcard
dump(client, 'names:def*')
dump(client, 'moves:N*')
(solrenv) C:\Work\Python\zzz>python search.py
search for : *:*
Spanish defense, Ruy Lopez - 1. e4, e5, 2. Nf3, Nc6, 3. Bb5,
French defense - 1. e4, e6, 2. d4, d5,
Sicilian defense - 1. e4, c5,
Queens gambit - 1. d4, d5, 2. c4,
Dutch defense - d4, f5,
Reti opening - Nf3, d5, 2. c4,
search for : names:defense
French defense - 1. e4, e6, 2. d4, d5,
Sicilian defense - 1. e4, c5,
Dutch defense - d4, f5,
Spanish defense, Ruy Lopez - 1. e4, e5, 2. Nf3, Nc6, 3. Bb5,
search for : moves:d4
Dutch defense - d4, f5,
Queens gambit - 1. d4, d5, 2. c4,
French defense - 1. e4, e6, 2. d4, d5,
search for : alltext:defense
Dutch defense - d4, f5,
Sicilian defense - 1. e4, c5,
French defense - 1. e4, e6, 2. d4, d5,
Spanish defense, Ruy Lopez - 1. e4, e5, 2. Nf3, Nc6, 3. Bb5,
search for : alltext:d4
Dutch defense - d4, f5,
Queens gambit - 1. d4, d5, 2. c4,
French defense - 1. e4, e6, 2. d4, d5,
search for : defense
Dutch defense - d4, f5,
Sicilian defense - 1. e4, c5,
French defense - 1. e4, e6, 2. d4, d5,
Spanish defense, Ruy Lopez - 1. e4, e5, 2. Nf3, Nc6, 3. Bb5,
search for : d4
Dutch defense - d4, f5,
Queens gambit - 1. d4, d5, 2. c4,
French defense - 1. e4, e6, 2. d4, d5,
search for : names:defense moves:d4
Dutch defense - d4, f5,
French defense - 1. e4, e6, 2. d4, d5,
Queens gambit - 1. d4, d5, 2. c4,
Sicilian defense - 1. e4, c5,
Spanish defense, Ruy Lopez - 1. e4, e5, 2. Nf3, Nc6, 3. Bb5,
search for : names:defense AND moves:d4
Dutch defense - d4, f5,
French defense - 1. e4, e6, 2. d4, d5,
search for : names:defense NOT moves:d4
Sicilian defense - 1. e4, c5,
Spanish defense, Ruy Lopez - 1. e4, e5, 2. Nf3, Nc6, 3. Bb5,
search for : defense d4
Dutch defense - d4, f5,
French defense - 1. e4, e6, 2. d4, d5,
Queens gambit - 1. d4, d5, 2. c4,
Sicilian defense - 1. e4, c5,
Spanish defense, Ruy Lopez - 1. e4, e5, 2. Nf3, Nc6, 3. Bb5,
search for : defense AND d4
Dutch defense - d4, f5,
French defense - 1. e4, e6, 2. d4, d5,
search for : defense NOT d4
Sicilian defense - 1. e4, c5,
Spanish defense, Ruy Lopez - 1. e4, e5, 2. Nf3, Nc6, 3. Bb5,
search for : names:def*
Spanish defense, Ruy Lopez - 1. e4, e5, 2. Nf3, Nc6, 3. Bb5,
French defense - 1. e4, e6, 2. d4, d5,
Sicilian defense - 1. e4, c5,
Dutch defense - d4, f5,
search for : moves:N*
Spanish defense, Ruy Lopez - 1. e4, e5, 2. Nf3, Nc6, 3. Bb5,
Reti opening - Nf3, d5, 2. c4,
Arne
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)