Hi, can Manticore support connecting to SQL Server on a Windows box that has no mySQL? If it is possible, then is there documentation available on how to modify manticore.conf file to connect to SQL Server? Thank you.
no that is not possible
Manticore works as a server handling incoming connections
However you could access the Manticore search daemon itself not only with MySQL client but and via HTTP REST interface with plain curl as described at the manual
Wonder if you mean ‘indexing’ from a SQL Server source database?
That should be possible as indexer
can use odbc for connecting to a database source
https://manual.manticoresearch.com/Fetching%20from%20databases
never used odbc_dsn
so dont know how easy it to setup
You can’t connect to searchd
using SQL Server protocol to run queries.
Can use various protocols to accessing the daemon even if you don’t have mysql-client, eg can use the old API interface, or the more recent HTTP based interface.
Indeed, that is what I had meant: ‘indexing’ from a SQL Server source db. I was able to do that with odbc_dsn. Thanks for the help! For sending queries to the Manticore server, I used MySQL client plugin in Visual Studio from a NuGet package. The queries worked with MySQLConnection() in C#. It did not work with a SphinxQL connection - it was truncating strings.
It was pretty easy to set up in the .conf file, after configuration and pointing an ODBC connection to the SQL Server database from control panel.
Sample syntax in the .conf file:
source mysource
{
type = odbc
odbc_dsn = DSN=DARIUS-LAPTOP;
sql_query = \
SELECT NationalIDNumber,JobTitle \
FROM AdventureWorks2022.HumanResources.Employee # Your SQL query to fetch data
sql_field_string = NationalIDNumber # Example of defining a full-text field
sql_field_string = JobTitle # Another full-text field
}
index myindex3
{
source = mysource # Reference to the source defined above
charset_type = utf-8
min_infix_len = 3 # for infix indexing, helpful in auto-complete
path = C:\Manticore\indexes\myindex3 # Index files location
# Other index settings as needed
}
searchd
{
listen = 9312 # Port for Manticore API
listen = 9306:mysql41 # Port for SQL-like queries
log = C:\Manticore/var/log/manticore/searchd.log
query_log = C:\Manticore/var/log/manticore/query.log
pid_file = C:\Manticore/var/run/manticore/searchd.pid
read_timeout = C:\Manticore/var/log/manticore/read.log
client_timeout = C:\Manticore/var/log/manticore/client.log
query_log_format = sphinxql
}